0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-30 09:28 ? 次閱讀

1 引言

脈沖編碼調(diào)制(Pulse Code Modulation,簡稱PCM)是一種概念簡單、理論完善的編碼系統(tǒng),其最大特征是把連續(xù)的輸入信號變換成在時間和振幅上都是離散量,然后再變換為代碼傳輸。信息數(shù)字信號,在遠(yuǎn)距離再生中繼傳輸中不積累噪聲,從而提高了通信系統(tǒng)的有效性、可靠性和保密性。利用現(xiàn)場可編程門陣列(FPGA)和VHDL 語言實現(xiàn)了PCM碼的解調(diào),這樣在不改變硬件電路的情況下,能夠適應(yīng)PCM碼傳輸速率和幀結(jié)構(gòu)變化,從而正確解調(diào)數(shù)據(jù)。

2 硬件電路設(shè)計

圖1給出基于FPGA的硬件電路。其中,圖1(a)為FPGA配置模塊;圖1(b)為信號收發(fā)模塊及PCM碼接收模塊。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

該系統(tǒng)設(shè)計中FPGA選取Xilinx公司的Spartan系列XC2S50器件。該器件有4種工作模式,分別為主串模式、從串模式、邊界掃描和從并模式。將M0,M1,M2接地,使其工作在主串模式下。FPGA由存儲在片內(nèi)RAM中的程序設(shè)置其工作狀態(tài),工作時需要編程設(shè)置片內(nèi)的RAM。用戶可根據(jù)不同的配置模式,采用相應(yīng)的編程方式。上電時,F(xiàn)PGA將EPROM中的數(shù)據(jù)寫入片內(nèi)編程RAM,配置完成后,F(xiàn)PGA進(jìn)人工作狀態(tài)。掉電后,F(xiàn)PGA內(nèi)部邏輯消失,恢復(fù)成白片。因此,F(xiàn)PGA能夠反復(fù)使用且無需專用的編程器,采用通用EPROM,PROM編程器即可實現(xiàn)。當(dāng)需要修改FPGA功能時,只需換一片EPROM。同一FPGA根據(jù)不同的編程數(shù)據(jù)能夠產(chǎn)生不同的電路功能。該系統(tǒng)在發(fā)送方接收到請求信號后則開始發(fā)送數(shù)據(jù)。PCM碼解調(diào)模塊在移位脈沖同步下接收數(shù)據(jù),并將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)存人FIFO中。每接收到一次請求脈沖發(fā)送一幀數(shù)據(jù),每幀數(shù)據(jù)以146FH為結(jié)束標(biāo)志字,EB90為子幀同步字,當(dāng)PCM碼解調(diào)模塊檢測到幀尾后停止解調(diào),并停止向FIFO寫人數(shù)據(jù)。PCM碼解調(diào)模塊由硬件描述語言編寫并集成于FPGA中。

3 PCM碼解調(diào)程序模塊

圖2給出PCM碼幀格式。其中N為子幀中的字?jǐn)?shù),最大值為1 024;Z為一幀所含子幀個數(shù),最大值為256。子幀同步字字長為16~32 bit,字長度為4~16 bit。在遙測系統(tǒng)中,依照PCM碼幀格式,將所要測控的參數(shù)放在格柵中自定義位,同時定義子幀同步字和字長。當(dāng)發(fā)送請求信號,同步接收一幀數(shù)據(jù),即使一幀數(shù)據(jù)接收錯誤,也不影響下一幀數(shù)據(jù)解調(diào)的正確性,進(jìn)一步減小誤碼率。檢測子幀同步字時,先找到一個子幀同步字后,每隔N個字節(jié)判斷移位數(shù)據(jù)是否為子幀同步字,對每一個子幀都進(jìn)行判斷,即使第一次誤判,或當(dāng)PCM發(fā)送中斷后再重發(fā),也不會影響后續(xù)正確解調(diào)數(shù)據(jù)??筛鶕?jù)子幀同步字、幀尾標(biāo)志字和請求信號的順序由該解調(diào)數(shù)據(jù)模塊進(jìn)行自我糾正,從而大大降低了誤碼率。圖3為PCM碼解調(diào)程序模塊圖。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

3.1 移位脈沖產(chǎn)生程序

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

系統(tǒng)設(shè)計要求移位脈沖頻率為80 kHz,對時鐘脈沖進(jìn)行40分頻。移位脈沖產(chǎn)生程序仿真圖如圖4所示。其中,bitt為位同步移位脈沖。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

3.2 字節(jié)同步信號產(chǎn)生程序

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

設(shè)b為一個標(biāo)志位,當(dāng)b為‘1’時,表示檢測到請求信號的上升沿且尚未結(jié)束一幀傳輸,該進(jìn)程的byte為字節(jié)同步信號,用來標(biāo)志一個字節(jié)接收完畢。字節(jié)同步信號產(chǎn)生程序仿真圖如圖5所示。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

3.3 并行數(shù)據(jù)輸出及幀尾檢測程序

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

并行數(shù)據(jù)在字節(jié)同步信號byte的上升沿輸出,outdata為并行數(shù)據(jù)輸出端,同時將并行數(shù)據(jù)賦值給幀尾標(biāo)志tail的低8位,將tail的低8位給其高8位,當(dāng)tail的值為146F時,即表示一幀結(jié)束。并行數(shù)據(jù)輸出及幀尾檢測程序仿真圖見圖6。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

4 調(diào)試結(jié)果

所發(fā)送數(shù)據(jù)是以00H為起始遞增的一串?dāng)?shù)據(jù),該數(shù)據(jù)字長200,結(jié)尾以146F為標(biāo)記。調(diào)試過程中,南示波器觀察波形,可以看到請求信號的頻率及脈寬、移位脈沖的頻率均符合要求,解調(diào)出的并行數(shù)據(jù)與數(shù)據(jù)源的數(shù)據(jù)相吻合。圖7和圖8分別給出移位脈沖電壓up波形和輸出最低位電壓ud波形。

實現(xiàn)PCM碼解調(diào)系統(tǒng)的VHDL程序模塊設(shè)計

5 結(jié)語

基于FPGA的PCM碼解調(diào)電路VHDL程序模塊設(shè)計,可使電路在發(fā)出請求脈沖后,在移位脈沖的作用下,同步接收PCM數(shù)據(jù),并輸出8位并行數(shù)據(jù),在幀尾處結(jié)束解調(diào)。通過仿真及最終電路調(diào)試驗證了該系統(tǒng)設(shè)計能夠?qū)崿F(xiàn)PCM碼解調(diào)系統(tǒng)功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603664
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    817

    瀏覽量

    128151
  • PMC
    PMC
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    14912
收藏 人收藏

    評論

    相關(guān)推薦

    【求助】利用simulink設(shè)計和仿真PCM的產(chǎn)生及解調(diào)系統(tǒng)

    利用simulink設(shè)計和仿真PCM的產(chǎn)生及解調(diào)系統(tǒng),并總結(jié)參數(shù)變化對系統(tǒng)輸出的影響。謝謝!
    發(fā)表于 05-13 20:45

    FPGA的VHDL程序基本結(jié)構(gòu)是怎樣的?FPGA的VHDL程序設(shè)計單元關(guān)系圖

    包體又屬于公用設(shè)計單元,即它們是被其他程序模塊調(diào)用的。庫則是一批程序包的集合。圖 2-1 所示為 VHDL 程序設(shè)計單元之間的關(guān)系。圖 2-1 VH
    發(fā)表于 09-07 09:11

    基于VHDL方式實現(xiàn)了QPSK數(shù)字調(diào)制解調(diào)電路的設(shè)計

    本文基于VHDL方式實現(xiàn)了QPSK數(shù)字調(diào)制解調(diào)電路的設(shè)計,通過QuartusII軟件建模對程序進(jìn)行仿真,并通過引腳鎖定,下載到FPGA芯片EP1K30TC144—3中,軟件仿真和硬件驗
    發(fā)表于 12-18 06:03

    如何利用FPGA和VHDL語言實現(xiàn)PCM解調(diào)

    利用現(xiàn)場可編程門陣列(FPGA)和VHDL 語言實現(xiàn)PCM解調(diào),這樣在不改變硬件電路的情況下,能夠適應(yīng)
    發(fā)表于 05-07 06:58

    可編程GOLDVHDL實現(xiàn)

    論文討論的是基于VHDL 實現(xiàn)系統(tǒng)編程平衡GOLD 邏輯電路設(shè)計,給出周期與相位可編程平衡GOLD 生成電路設(shè)計方案。該方案由最長線性
    發(fā)表于 06-13 10:30 ?26次下載

    VHDL實現(xiàn)PCM解調(diào)程序模塊設(shè)計

    依據(jù)VHDL程序設(shè)計出針對現(xiàn)場可編程門陣列(FPGA)的脈沖編碼調(diào)制(PCM解調(diào)電路。解調(diào)數(shù)
    發(fā)表于 12-21 10:12 ?76次下載

    基于VHDL的QPSK調(diào)制解調(diào)系統(tǒng)設(shè)計與仿真

    文中詳細(xì)介紹了QPSK技術(shù)的工作原理和QPSK調(diào)制、解調(diào)系統(tǒng)設(shè)計方案,并通過VHDL語言編寫調(diào)制解調(diào)程序和QuartusII軟件建模對
    發(fā)表于 06-08 17:47 ?92次下載
    基于<b class='flag-5'>VHDL</b>的QPSK調(diào)制<b class='flag-5'>解調(diào)</b><b class='flag-5'>系統(tǒng)</b>設(shè)計與仿真

    DS1302程序模塊C程序講解

    DS1302程序模塊C程序講解,很好的資料下載吧。
    發(fā)表于 01-13 15:57 ?26次下載

    DSP之 FSK調(diào)制與解調(diào)VHDL程序及仿真教程

    DSP之 FSK調(diào)制與解調(diào)VHDL程序及仿真教程,很好的DSP自學(xué)資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-15 17:37 ?12次下載

    DSP之PSK調(diào)制與解調(diào)VHDL程序及仿真教程

    DSP之 PSK調(diào)制與解調(diào)VHDL程序及仿真教程,很好的DSP自學(xué)資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-15 17:42 ?15次下載

    DSP之MPSK調(diào)制與解調(diào)VHDL程序與仿真

    DSP之MPSK調(diào)制與解調(diào)VHDL程序與仿真,很好的DSP自學(xué)資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-15 17:42 ?4次下載

    微軟發(fā)布開源框架驅(qū)動程序模塊新框架

    為了方便開發(fā)人員為Windows編寫驅(qū)動程序,微軟昨天發(fā)布了一個開源框架驅(qū)動程序模塊框架(DMF)。這個新框架將允許開發(fā)人員編寫簡單和結(jié)構(gòu)化的Windows驅(qū)動程序框架(WDF)驅(qū)動程序
    發(fā)表于 08-22 11:37 ?1147次閱讀

    FSK的調(diào)制與解調(diào)VHDL程序和仿真說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FSK的調(diào)制與解調(diào)VHDL程序和仿真說明。
    發(fā)表于 12-18 16:44 ?23次下載
    FSK的調(diào)制與<b class='flag-5'>解調(diào)</b>的<b class='flag-5'>VHDL</b><b class='flag-5'>程序</b>和仿真說明

    使用VHDL硬件描述語言實現(xiàn)基帶發(fā)生器的程序設(shè)計與仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用VHDL硬件描述語言實現(xiàn)基帶發(fā)生器的程序設(shè)計與仿真免費下載。
    發(fā)表于 01-20 13:44 ?16次下載
    使用<b class='flag-5'>VHDL</b>硬件描述語言<b class='flag-5'>實現(xiàn)</b>基帶<b class='flag-5'>碼</b>發(fā)生器的<b class='flag-5'>程序</b>設(shè)計與仿真

    DPSK調(diào)制解調(diào)實驗心得

    DPSK調(diào)制解調(diào)電路程序主要由基帶信號生成模塊pcm.v)、絕對轉(zhuǎn)相對
    的頭像 發(fā)表于 03-30 09:26 ?2513次閱讀