【正文】
第 63 頁(yè) 共 63 頁(yè)摘 要本設(shè)計(jì)實(shí)現(xiàn)多路數(shù)據(jù)時(shí)分復(fù)用和解復(fù)用系統(tǒng)。設(shè)計(jì)分為發(fā)端和收端,以FPGA作為主控核心。發(fā)端系統(tǒng)有三路并行數(shù)據(jù)輸入:A/D轉(zhuǎn)換數(shù)據(jù),撥碼開(kāi)關(guān)1路和撥碼開(kāi)關(guān)2路。這三路數(shù)據(jù)在FPGA的控制下作為串行碼分時(shí)輸出。發(fā)端FPGA包括分頻模塊、復(fù)用模塊和電壓顯示模塊。在收端,串行數(shù)據(jù)進(jìn)入FPGA,并由FPGA提取位時(shí)鐘,識(shí)別幀同步并解復(fù)用發(fā)端打包的三路碼。收端的FPGA包括數(shù)字鎖相環(huán)模塊、解復(fù)用模塊和電壓顯示模塊。發(fā)端FPGA輸入有三路8bit數(shù)據(jù):第一路為A/D數(shù)據(jù)、第二路和第三路是撥碼開(kāi)關(guān)產(chǎn)生的數(shù)據(jù),另外插入一路巴克碼。這四路碼組成一幀,由FPGA對(duì)其時(shí)分復(fù)用。A/D輸入端的模擬信號(hào)的電壓值通過(guò)FPGA處理,顯示在數(shù)碼管上。在收端,F(xiàn)PGA首先提取位同步,然后識(shí)別幀同步,一旦識(shí)別出幀同步,F(xiàn)PGA分別解復(fù)用三路數(shù)據(jù)。本文詳細(xì)闡述了此系統(tǒng)的設(shè)計(jì)方法,制作過(guò)程以及制作過(guò)程中的問(wèn)題。設(shè)計(jì)者的工作包括:系統(tǒng)各部分電路元件的確定、確定系統(tǒng)框圖、畫(huà)出系統(tǒng)原理圖、根據(jù)原理圖設(shè)計(jì)FPGA的RTL代碼、綜合、仿真RTL代碼、設(shè)計(jì)PCB板和在線調(diào)試FPGA功能。關(guān)鍵字:數(shù)字鎖相環(huán);幀同步;時(shí)分復(fù)用;Verilog HDL語(yǔ)言;串行A/D變換;AbstractThe system is designed for data multiplexed and demultiplexed. It is based on TDM. The system includes the transmitter and the receiver. They are implemented mainly by FPGA. There are three inputs in the transmission system: data from A/D converter, DIP1 and DIP2. The three channels are out serially and timedivisional under the FPGA’s control. The FPGA in the transmitter is divided into four modules which are frequency divider, Barker generator, data multiplexer and voltage display. Voltage display is used for processing the data converted by ADC and sending it to the LED. The serial data are serial shifted into the FPGA in the receiver. Bitsynchronize and framesynchronize are both picked up, and then demultiplex. The FPGA in the receiver is divided into three modules which are digital PLL, data demultiplexer and voltage display. The transmitter will multiplex four ways of 8bit parallel data. The first way is ADC data, the second and the third way is generated by dipkey. The other is Barker code used for frame synchronizing. The receiver will maintain the bit synchronizing, recognize one frame and demultiplex three ways data. The essay will discuss the design progress, the programming idea and some problems. Works have to be done by the designer are: Specify all system ponents, Make system specification, Draw system schematics, Write RTL code according the schematics, Synthesis and simulate the RTL code, Design the PCBs, Validate the functions of the FPGA online.Keywords: DPLL。 Framesynchronize。 TDM。 Verilog HDL。 Serial A/D convert。目 錄引言 11 數(shù)字復(fù)接系統(tǒng)簡(jiǎn)介 12 數(shù)字復(fù)接方法及方式 2 數(shù)字復(fù)接的方法 2 數(shù)字復(fù)接的方式 23 系統(tǒng)原理和各模塊設(shè)計(jì) 2 系統(tǒng)原理及框圖 2 發(fā)端系統(tǒng)設(shè)計(jì) 3 收端系統(tǒng)設(shè)計(jì) 5 FPGA的設(shè)計(jì)流程 7 設(shè)計(jì)輸入 7 設(shè)計(jì)綜合 8 仿真驗(yàn)證 8 設(shè)計(jì)實(shí)現(xiàn) 8 時(shí)序分析 8 發(fā)端FPGA設(shè)計(jì) 9 分頻模塊 10 復(fù)接模塊 11 顯示模塊 12 編譯與仿真 14 收端FPGA設(shè)計(jì) 15 數(shù)字鎖相模塊 16 解復(fù)用模塊 17 顯示模塊 18 編譯與仿真 18 數(shù)字鎖相環(huán)原理及設(shè)計(jì) 19 串行A/D工作原理 21 并行D/A的工作原理 22 Altera Flex10K10介紹 234 系統(tǒng)調(diào)試 285 QuartusII軟件及Verilog語(yǔ)言簡(jiǎn)介 28 QuartusII軟件簡(jiǎn)介 28 Verilog語(yǔ)言簡(jiǎn)介 306 結(jié)論 31謝辭 32參考文獻(xiàn) 33附錄 34引言數(shù)字復(fù)接、分接技術(shù)發(fā)展到80年代已經(jīng)趨于成熟,形成了完善的EI、TI系列。它使得多路低速信號(hào)可以在高速信道中傳輸,同時(shí)提高信道的利用率。PLD/FPGA是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。可以毫不夸張的講,PLD/FPGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡(jiǎn)單的74電路,都可以用PLD/FPGA來(lái)實(shí)現(xiàn)。PLD/FPGA如同一張白紙或是一堆積木,工程師可以通過(guò)傳統(tǒng)的原理圖輸入法,或是硬件描述語(yǔ)言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過(guò)軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性。在PCB完成以后,還可以利用PLD/FPGA的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用PLD/FPGA來(lái)開(kāi)發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。PLD/FPGA的這些優(yōu)點(diǎn)使得PLD/FPGA技術(shù)在90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語(yǔ)言的進(jìn)步。本設(shè)計(jì)主要利用了FPGA及Verilog HDL語(yǔ)言來(lái)設(shè)計(jì)數(shù)字復(fù)、接分接系統(tǒng)。1 數(shù)字復(fù)接系統(tǒng)簡(jiǎn)介在數(shù)字通信網(wǎng)中,為了擴(kuò)大傳輸容量和提高傳輸效率常常需要把若干個(gè)低速數(shù)字信號(hào)合并成為一個(gè)高速數(shù)字信號(hào),然后再通過(guò)高速信道傳輸,這就是所謂的數(shù)字復(fù)接技術(shù)。數(shù)字復(fù)接是一種已經(jīng)非常成熟的技術(shù),廣泛地應(yīng)用于無(wú)線通信、光通信和微波接力通信。圖11 數(shù)字復(fù)接系統(tǒng)方框圖如圖11所示,數(shù)字復(fù)接系統(tǒng)包括數(shù)字復(fù)接器(digital multiplexer)和數(shù)字分接器(digital demultiplexer)兩部分。數(shù)字復(fù)接器是把兩個(gè)或多個(gè)低速的支路數(shù)字信號(hào)按照時(shí)分復(fù)用方式合并成為一路高速的合路數(shù)字信號(hào)的設(shè)備;數(shù)字分接器是把合路數(shù)字信號(hào)分解為原來(lái)的支路數(shù)字信號(hào)的設(shè)備。數(shù)字復(fù)接器是由定時(shí)、調(diào)整和復(fù)接單元所組成;數(shù)字分接器是由同步、定時(shí)、分接和恢復(fù)單元所組成。定時(shí)單元給設(shè)備提供統(tǒng)一的基準(zhǔn)時(shí)間信號(hào),同步單元給分接器提供與復(fù)接器基準(zhǔn)時(shí)間同步的時(shí)間信號(hào),調(diào)整單元負(fù)責(zé)同步輸入的各支路信號(hào)?;謴?fù)單元與調(diào)整單元相對(duì),負(fù)責(zé)把分接出來(lái)的各支路信號(hào)復(fù)原。2 數(shù)字復(fù)接方法及方式 數(shù)字復(fù)接的方法數(shù)字復(fù)接的方法主要有按位復(fù)接、按字復(fù)接和按幀復(fù)接三種。(1)按位復(fù)接按位復(fù)接的方法是每次只復(fù)接每一個(gè)支路的一位碼。復(fù)接后,碼序列中的第一位表示第一路中的第一位碼;第二位表示第二路的第一位碼;以此類(lèi)推,第N位表示第N路的第一位碼。這N位碼形成第一時(shí)隙。同樣,第二時(shí)隙是有每路的第二位碼復(fù)接而成。這種復(fù)接方法的特點(diǎn)是設(shè)備簡(jiǎn)單、只需小容量存儲(chǔ),易于實(shí)現(xiàn)。(2)按字復(fù)接按字復(fù)接就是每次復(fù)接支路的一個(gè)字或字節(jié)。復(fù)接后的碼順序是每個(gè)時(shí)隙為一路n位碼。它的特點(diǎn)是利于多路合成和處理,但要求有較大的存儲(chǔ)容量,使得電路較為復(fù)雜。(3)按幀復(fù)接這種方法是每次復(fù)接一個(gè)之路的一幀數(shù)碼,它的特點(diǎn)是復(fù)接時(shí)不破壞原來(lái)的幀結(jié)構(gòu),有利于交換,但要求有更大的存儲(chǔ)容量。 數(shù)字復(fù)接的方式按照復(fù)接時(shí)各低速信號(hào)的情況,復(fù)接方式可分為同步復(fù)接、異步復(fù)接與準(zhǔn)同步復(fù)接。(1)同步復(fù)接同步復(fù)接被復(fù)接的各個(gè)支路信號(hào)在時(shí)間上是完全同步的。在實(shí)際應(yīng)用中,由于各個(gè)支路信號(hào)到達(dá)的時(shí)間不一樣,造成支路間的碼位相位不同,使得信息不能被正確復(fù)接。因此需要對(duì)支路進(jìn)行相位調(diào)整。在復(fù)接時(shí),要插入幀同步碼及其它的業(yè)務(wù)碼。(2)異步復(fù)接將沒(méi)有統(tǒng)一標(biāo)稱(chēng)頻率的不同支路數(shù)字信號(hào)進(jìn)行復(fù)接的方式成為異步復(fù)接。在數(shù)字通信中廣泛采用這種復(fù)接方式。(3)準(zhǔn)同步復(fù)接準(zhǔn)同步復(fù)接是指參與復(fù)接的各個(gè)低速信號(hào)使用各自的時(shí)鐘,但各支路的時(shí)鐘需要在一定的容差范圍內(nèi)。準(zhǔn)同步復(fù)接實(shí)際上是在同步復(fù)接的基礎(chǔ)上增加了碼速調(diào)整功能。3 系統(tǒng)原理和各模塊設(shè)計(jì) 系統(tǒng)原理及框圖首先介紹系統(tǒng)的工作過(guò)程。此數(shù)字通信系統(tǒng)分為發(fā)端和收端兩部分。在發(fā)端,F(xiàn)PGA對(duì)A/D變換數(shù)據(jù)、DIP1數(shù)據(jù)和DIP2數(shù)據(jù)插入幀同步碼,形成一幀,對(duì)此幀按位時(shí)分復(fù)用并串行發(fā)送出去。同時(shí),A/D輸入端的模擬電壓值將通過(guò)FPGA的處理,顯示在七段數(shù)碼管上。在收端,F(xiàn)PGA首先從串行碼中提取位時(shí)鐘,然后識(shí)別幀同步。當(dāng)識(shí)別出幀同步后,F(xiàn)PGA解復(fù)用三路并行碼,分別將這三路并行碼送到后面的D/A變換器、LED1和LED2。同時(shí),第一路并行碼通過(guò)FPGA的處理,顯示到七段數(shù)碼管上。傳輸幀結(jié)構(gòu)如圖31所示:圖31 傳輸幀結(jié)構(gòu)總系統(tǒng)框圖如圖32所示:圖32 總系統(tǒng)框圖 發(fā)端系統(tǒng)設(shè)計(jì)圖33是發(fā)端系統(tǒng)方框圖圖33 發(fā)端系統(tǒng)方框圖如圖33所示,發(fā)端有三路信號(hào):A/D變換信號(hào)、撥碼開(kāi)關(guān)1和撥碼開(kāi)關(guān)2產(chǎn)生的8位信碼。A/D變換的信碼經(jīng)過(guò)FPGA處理顯示到七段譯碼管上,它代表變換前模擬信號(hào)的電壓值。由于三路信號(hào)都是靜態(tài)信號(hào),因此輸入不用進(jìn)行碼速變換和碼速調(diào)整。輸出信號(hào)的碼速率為256Kbps。發(fā)端電路在做PCB時(shí)需要單層布線,因此將發(fā)端系統(tǒng)板做成三塊小板,分為三個(gè)圖,分別是發(fā)端主圖、A/D變換圖和LED顯示圖。發(fā)端主圖如34所示,以發(fā)端FPGA為核心,其它功能塊逐一實(shí)現(xiàn)。為了FPGA運(yùn)行的穩(wěn)定,要在其周?chē)尤?個(gè)濾波電容。撥碼開(kāi)關(guān)與排阻共同構(gòu)成八位信碼,分別接到FPGA的8個(gè)I/O端口。復(fù)位電路是系統(tǒng)正常運(yùn)行的必要部分,它由按鍵開(kāi)關(guān),電解電容和電阻構(gòu)成。主圖板與AD變換板、LED顯示板之間用插針和電線連接。這些插針和電線將為A/D變換板和LED顯示板提供電源和通信路徑。此外,F(xiàn)PGA還需要配置電路。配置電路在開(kāi)機(jī)時(shí)將配置文件載入到FPGA中,F(xiàn)PGA才可以工作。配置電路由上拉電阻和插座組成,其中,五個(gè)端口接到FPGA五個(gè)配置引腳,他們是:DATA0、nSTATUS、nCONFIG、CONF_DONE與DCLK。圖34發(fā)端主圖原理圖A/D變換圖如圖35所示,要說(shuō)明的是,這里沒(méi)有采用并行A/D,而是采用了串行A/D,這樣可以節(jié)省FPGA的管腳。我使用的ADC型號(hào)是TLC549。TLC549轉(zhuǎn)換輸入端模擬量為數(shù)字量,為FPGA提供串行數(shù)據(jù)。這塊板的電源由主圖板提供,電源端接到主圖板的電源端。在做PCB時(shí),這片電容應(yīng)靠近芯片的VCC與GND。TLC549的模擬輸入量有電位器分壓和外部輸入,通過(guò)單刀雙擲開(kāi)關(guān)選擇。外部輸入的模擬量可以是信號(hào)源輸出,音頻輸入等。圖35 A/D變換圖LED顯示圖如圖36所示,我用五位LED顯示模擬電壓值。這五位LED由一位獨(dú)立LED和一個(gè)四LED組組成。這五個(gè)LED采用掃描方式顯示。掃描顯示是LED顯示的常用方法。通過(guò)五個(gè)PNP管控制五個(gè)LED分時(shí)發(fā)光,時(shí)隙為32ms。在此時(shí)隙下,人眼不會(huì)察覺(jué)到LED分別點(diǎn)亮,而是同時(shí)在亮。此法不僅節(jié)省七段譯碼驅(qū)動(dòng)芯片和FPGA的管腳,而且節(jié)約電能。小數(shù)點(diǎn)的位置固定不變,因此只需將獨(dú)立LED的小數(shù)點(diǎn)設(shè)計(jì)為常亮。LED數(shù)碼管采用共陽(yáng)極,公共端接PNP發(fā)射極,PNP集電極接電源,PNP的導(dǎo)通由FPGA控制。七段譯碼芯片采用DM74LS47,它是一片驅(qū)動(dòng)共陽(yáng)極LED數(shù)碼管的芯片。同樣。圖36 LED顯示圖 收端系統(tǒng)設(shè)計(jì)收端系統(tǒng)框圖如圖37所示:圖37 收端系統(tǒng)框圖收端系統(tǒng)分為兩部分:收端主圖和D/A變換圖。收端主圖如圖38所示,與發(fā)端主圖有相似之處。收端FPGA同樣需要加入濾波電容,復(fù)位電路和配置電路。解復(fù)用后的第二路與第三路數(shù)據(jù)通過(guò)兩組8個(gè)LED燈反映出來(lái)。另外,為周邊板提供電源和數(shù)據(jù)接口的插針也要設(shè)計(jì)出來(lái)。如果將各模塊直接用線連起來(lái)會(huì)很復(fù)雜,因此采用網(wǎng)標(biāo)的連接方式。圖38 收端主圖D/A變換圖如圖39所示,采用的D/A芯片是DAC0830。它受控于FPGA的DAC_STROBE端口,負(fù)責(zé)將第一路碼轉(zhuǎn)換為模擬信號(hào)并輸出到外部接口。圖39 D/A變換圖 FPGA的設(shè)計(jì)流程電路的原理圖畫(huà)好后,便可以根據(jù)各模塊的特點(diǎn),性能和限制條件來(lái)設(shè)計(jì)FPGA了。FPGA設(shè)計(jì)分為設(shè)計(jì)輸入、綜合、功能仿真(前仿真)、實(shí)現(xiàn)、時(shí)序仿真(后仿真)、配置下載等六個(gè)步驟,設(shè)計(jì)流程如圖310所示。