課程設(shè)計(jì)(論文)基于VHDL的時(shí)分復(fù)接器設(shè)計(jì)_第1頁
課程設(shè)計(jì)(論文)基于VHDL的時(shí)分復(fù)接器設(shè)計(jì)_第2頁
課程設(shè)計(jì)(論文)基于VHDL的時(shí)分復(fù)接器設(shè)計(jì)_第3頁
課程設(shè)計(jì)(論文)基于VHDL的時(shí)分復(fù)接器設(shè)計(jì)_第4頁
課程設(shè)計(jì)(論文)基于VHDL的時(shí)分復(fù)接器設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、創(chuàng)新學(xué)分設(shè)計(jì)說明書創(chuàng)新學(xué)分設(shè)計(jì)題目: 基于vhdl的時(shí)分復(fù)接器設(shè)計(jì) 學(xué) 院 名 稱: 信息工程學(xué)院 專業(yè): 通信工程 班級: 090421 學(xué)號: 09042130 姓名: 評分: 指導(dǎo)教師: 20 12 年 5 月 17 日目 錄一、時(shí)分多路復(fù)用(tdm)原理4二、時(shí)分多路復(fù)用信號的產(chǎn)生模型6三、各功能模塊的vhdl建模與程序設(shè)計(jì) 71、分頻器及分頻器的vhdl源程序 72、內(nèi)碼控制器93、譯碼器及其vhdl描述 94、時(shí)序發(fā)生器及其vhdl描述105、count32計(jì)數(shù)器的vhdl描述 126、nand0_1非門的vhdl描述 137、內(nèi)碼產(chǎn)生器和內(nèi)碼控制器及其vhdl描述 138、輸出電

2、路及三態(tài)門vhdl描述16三四路復(fù)用器系統(tǒng)的vhdl總程序及仿真17四心得體會21五、附錄(子模塊仿真圖)22六、參考文獻(xiàn)24引 言在數(shù)字通信中,為了擴(kuò)大傳輸容量和提高傳輸效率,通常需要將若干個(gè)低速數(shù)字碼流按一定格式合并成一個(gè)高速數(shù)據(jù)碼流,以便在高速寬帶信道中傳輸。數(shù)字復(fù)接就是依據(jù)時(shí)分復(fù)用基本原理完成數(shù)碼合并的一種技術(shù),并且是數(shù)字通信中的一項(xiàng)基礎(chǔ)技術(shù)。當(dāng)今社會是數(shù)字話的社會,數(shù)字集成電路應(yīng)用廣泛。而在以往的pdh 復(fù)接電路中,系統(tǒng)的許多部分采用的是模擬電路,依次有很大的局限性。隨著微電子技術(shù)的發(fā)展,出現(xiàn)了現(xiàn)場可編輯邏輯器件(pld),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場可編程門陣列(fpga)和復(fù)雜可編程

3、邏輯器件(cpld)。本文就是用硬件描述語言等軟件與技術(shù)來實(shí)現(xiàn)一個(gè)基于cpld/fpga 的簡單數(shù)字同步復(fù)接系統(tǒng)的設(shè)計(jì)。在通信系統(tǒng)中,為了提高信道的利用率,使多路信號在同一條信道上傳輸時(shí)互相不產(chǎn)生干擾的方式叫做多路復(fù)用。在數(shù)字通信系統(tǒng)中主要采用時(shí)分多路復(fù)用(tdm)方式,把時(shí)間劃分為若干時(shí)隙,讓多路數(shù)字信號的每一路占用不同的時(shí)隙,即多路信號在不同的時(shí)間內(nèi)被傳送,各路信號在時(shí)域中互不重疊。關(guān)鍵詞:數(shù)碼合并 時(shí)分多路 cpla/fpga 復(fù)用 設(shè)計(jì) 一時(shí)分多路復(fù)用(tdm)原理時(shí)分多路復(fù)用(tdm)是按傳輸信號的時(shí)間進(jìn)行分割的,它使不同的信號在不同的時(shí)間內(nèi)傳送,將整個(gè)傳輸時(shí)間分為許多時(shí)間間隔,每個(gè)

4、時(shí)間片被一路信號占用。tdm就是通過在時(shí)間上交叉發(fā)送每一路信號的一部分來實(shí)現(xiàn)一條電路傳送多路信號的。電路上的每一短暫時(shí)刻只有一路信號存在。因數(shù)字信號是有限個(gè)離散值,所以tdm技術(shù)廣泛應(yīng)用于數(shù)字通信系統(tǒng)。圖1.1是時(shí)分多路復(fù)用的原理框圖,發(fā)送端的各路話音信號經(jīng)低通濾波器將帶寬限制在3400hz 以內(nèi),然后加到勻速旋轉(zhuǎn)的電子開關(guān)k1上,依次接通各路信號,它相當(dāng)于對各路信號按一定的時(shí)間間隙進(jìn)行抽樣。k1旋轉(zhuǎn)一周的時(shí)間為一個(gè)抽樣周期t,這樣就做到了對每一路信號每隔周期t時(shí)間抽樣一次,此時(shí)間周期稱為1幀長。發(fā)送端電子開關(guān)k1不僅起到抽樣作用,同時(shí)還起到復(fù)用和合路的作用。合路后的抽樣信號送到編碼器進(jìn)行量化

5、和編碼,然后,將信號碼流送往信道。在接收端,將各分路信號碼進(jìn)行統(tǒng)一譯碼,還原后的信號由分路開關(guān)k2依次接通各分路,在各分路中經(jīng)低通濾波器將重建的話音信號送往收端用戶。時(shí)分多路復(fù)用的關(guān)鍵是同步,為了保證正常通信,必須確保收發(fā)旋轉(zhuǎn)開關(guān)嚴(yán)格同頻同相,同頻是指旋轉(zhuǎn)開關(guān)的旋轉(zhuǎn)速度要完全相同,同相是指當(dāng)發(fā)端旋轉(zhuǎn)開關(guān)k1連接第一路信號時(shí),收端旋轉(zhuǎn)開關(guān)k2也必須連接在第一路信號上。根據(jù)國際電報(bào)電話咨詢委員會(ccitt)建議,目前tdm采用兩種標(biāo)準(zhǔn)系列:一種是歐洲和我們國家所采用的30路系列,即由32個(gè)話路組成一個(gè)pcm基群,如圖1.2所示;另一種是北美和日本等國所采用的24路體系,即由24個(gè)話路組成一個(gè)pc

6、m基群。s3(t)s1(t)si(t)s2(t)s3(t)s2(t)s1(t)n21k1k2n21低通濾 波 器pcm編碼信道pcm解碼低通濾 波 器低通濾 波 器低通濾 波 器低通濾 波 器si(t)低通濾 波 器圖1.1時(shí)分多路復(fù)用原理框圖f0ts0ts1f00tfts2ts16ts30ts31125us 圖1.2 pcm30/ 32 路基群系統(tǒng)的幀結(jié)構(gòu)在pcm30/32系統(tǒng)中,抽樣頻率為8khz,抽樣周期ts=1/8000=125us,被稱為一個(gè)幀周期。每個(gè)抽樣值用8比特表示,所占用的時(shí)間tc=125/32=3.9us,被稱為一個(gè)路時(shí)隙。每個(gè)比特所占用的時(shí)間為tb=3.9/8=0.488

7、us,總碼速率為fb=1/0.488=2048kb/s。圖1.3給出了pcm30/ 32 路(基群)路制式幀結(jié)構(gòu),從圖中可以看出1 個(gè)復(fù)幀中有16 個(gè)子幀( 編號為f0,f1, ,f15) ,其中f0,f2,,f14 為偶幀,f1,f3, ,f15 為奇幀,一幀分為32個(gè)路時(shí)隙,分別用ts0 ts31 表示,其中ts0 作為幀同步時(shí)隙,用來傳送幀同步碼組和幀失步對告碼,ts16 用來傳送復(fù)幀同步信號,復(fù)幀失步對告及各路信道信號,另外30 路時(shí)隙用來傳送30 路話音信號,每個(gè)時(shí)隙可以插入8 位二進(jìn)制信息碼( 即每時(shí)隙含8 b 信息碼,由pcm 編碼器完成),以上的幀構(gòu)成pcm30/ 32 路基群

8、系統(tǒng)。 圖1.3 pcm30/ 32 路(基群)路制式幀結(jié)構(gòu)二時(shí)分多路復(fù)用信號的產(chǎn)生模型1、模型 多路復(fù)用信號的產(chǎn)生模型如圖2.1所示.它包括了分頻器、內(nèi)碼控制器、內(nèi)碼產(chǎn)生器、時(shí)序信號發(fā)生器及復(fù)用輸出電路等功能模塊。晶振輸出信號送給分頻器分頻后得到低頻信號作為內(nèi)碼產(chǎn)生器的時(shí)鐘信號;每個(gè)內(nèi)碼產(chǎn)生器用于產(chǎn)生8位數(shù)據(jù)碼且為串行輸出,作為內(nèi)部分路數(shù)據(jù)信號,其串行數(shù)據(jù)碼輸出受到時(shí)序信號的控制;時(shí)序發(fā)生器的功能是產(chǎn)生四路寬度為8位數(shù)據(jù)碼寬度的時(shí)序信號,每路時(shí)序信號的相對相位延遲按規(guī)定順序?yàn)?位數(shù)據(jù)碼寬度:輸出電路的功能是將四路分路碼組合成一路完整的復(fù)用信號。復(fù)用信號輸出時(shí)鐘分頻器內(nèi)碼控制器內(nèi)碼產(chǎn)生器內(nèi)碼產(chǎn)

9、生器內(nèi)碼產(chǎn)生器內(nèi)碼產(chǎn)生器輸出電路時(shí)序發(fā)生器 圖2.1 四路復(fù)用器的vhdl建??驁D三、各功能模塊的vhdl建模與程序設(shè)計(jì)1、分頻器及分頻器的vhdl源程序:分頻器實(shí)際是一個(gè)4位二進(jìn)制計(jì)數(shù)器,其作用是將晶體振蕩電路產(chǎn)生的方波信號進(jìn)行分頻,其16分頗輸出端作為內(nèi)碼控制器的控制輸入端,其vhdl建模符號如圖3.1所示。圖中,clk為時(shí)鐘信號輸入:a- d為四位二進(jìn)制分頻輸出.分別表示16,8,4,2分頻輸出。圖3.1 分頻器的vhdl建模符號分頻器的vhdl源程序:library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigne

10、d.all; entity count16 is -實(shí)體名 port(clk:in std_logic; d,c,b,a:out std_logic); -端口設(shè)置end count16;architecture rtl of count16 is signal count_4:std_logic_vector(3 downto 0);beginprocess(clk) -進(jìn)程敏感信號begin if(clkevent and clk=1) then -時(shí)鐘上升沿觸發(fā) if(count_4=1111) then count_4=0000;elsecount_4=count_4+1;end if

11、;end if;end process;d=count_4(0); -最低位從d輸出c=count_4(1); -次低位從c輸出b=count_4(2); -此高位從b輸出a=count_4(3); -最高位從a輸出end rtl;上述程序在quartusii7.2的時(shí)序仿真波形如圖3.2所示 圖3.2分頻器的時(shí)序仿真波形圖中a表示16分頻輸出,b表示8分頻輸出,c表示4分頻輸出,d表示2分頻輸出。2、內(nèi)碼控制器內(nèi)碼控制器實(shí)際也是一個(gè)分頻器,一個(gè)輸出端口輸出三位并行信號(圖2.1中只畫出信號走向)作為內(nèi)碼產(chǎn)生器的地址控制端(選擇輸入端),另一輸出端作為時(shí)序產(chǎn)生器的控制端.內(nèi)碼控制器對內(nèi)碼產(chǎn)生器

12、的控制表現(xiàn)為內(nèi)碼控制器的內(nèi)碼產(chǎn)生器應(yīng)循環(huán)并依次輸出從“000, 001”一直到“111。這樣,內(nèi)碼產(chǎn)生器每個(gè)時(shí)鐘節(jié)拍輸出一位碼,通過輸出電路送到合路信道上,最終形成路串行碼流。3、譯碼器及其vhdl描述 時(shí)序發(fā)生器用于產(chǎn)生四路寬度為8位數(shù)據(jù)碼寬度的時(shí)序信號。具體實(shí)現(xiàn)是將內(nèi)碼控制器的二分頻端(即128khz時(shí)鐘輸出端)通過一個(gè)32分頻器,其二分頻和四分頻輸出端作為2/4譯碼器的控制端,2/4譯碼器的四個(gè)輸出端,經(jīng)過反相器后便得出本設(shè)計(jì)所要求的四路時(shí)序譯碼器的建模流程圖如圖3.3所示。分頻器的兩位輸出 f2&f1f2&f1=00f2&f1=01f2&f1=10f2&f1=11輸出=1110輸出=1

13、101輸出=1011輸出=0111 圖3.3 譯碼器的vhdl建模流程圖其vhdl的描述程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yimaqi is -譯碼器實(shí)體名port(f2,f1:in std_logic; y3,y2,y1,y0:out std_logic);end yimaqi;architecture rtl of yimaqi issignal indata:std_logic_vector(1 downto 0);signal y:std_logic_

14、vector(3 downto 0); beginindatayyyyy=xxxx;end case;end process;y3=y(3); -第4路譯碼輸出y2=y(2); -第3路譯碼輸出y1=y(1); -第2路譯碼輸出y0b,out2=in1); -例化u2:count32 port map(x1=in1,d=in2,e=in3); -例化u3:yimaqi port map(f1=in2,f2=in3,y0=in4,y1=in5,y2=in6,y3=in7); -例化u4:nand0_1 port map(x2=in4,out2=s0); -例化u5:nand0_1 port ma

15、p(x2=in5,out2=s1); -例化u6:nand0_1 port map(x2=in6,out2=s2); -例化u7:nand0_1 port map(x2=in7,out2=s3); -例化end architecture sx1;時(shí)序發(fā)生器的仿真波形及相位關(guān)系如圖3.6所示圖3.6時(shí)序發(fā)生器的仿真波形及相位關(guān)系5、count32計(jì)數(shù)器的vhdl描述程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count32 is -計(jì)數(shù)器實(shí)體名port(x1:in std_l

16、ogic;e,d,c,b,a:out std_logic);end count32;architecture rtl of count32 issignal count_5:std_logic_vector(4 downto 0); beginprocess(x1)beginif(x1event and x1=1) thenif(count_5=11111)thencount_5=00000;elsecount_5=count_5+1;end if;end if;end process;a=count_5(0); -取第1位輸出b=count_5(1); -取第2位輸出c=count_5(2)

17、; -取第3位輸出d=count_5(3); -取第4位輸出e=count_5(4); -取第5位輸出end rtl;6、nand0_1非門的vhdl描述程序:library ieee;use ieee.std_logic_1164.all;entity nand0_1 isport(x2:in std_logic;out2:out std_logic);end nand0_1;architecture nand_0 of nand0_1 is beginout2in0_8,d6=in0_7,d5=in0_6,d4=in0_5,d3=in0_4, -例化d2=in0_3,d1=in0_2,d0

18、=in0_1,d=k3,c=k2,b=k1,y=i0); -例化u2:tri_gate0 port map(din0=i0,en=sx0,dout0=out0); -例化end architecture nm0;內(nèi)碼控制器vhdl描述:library ieee;use ieee.std_logic_1164.all;entity mux8_0 is -8位并行轉(zhuǎn)一路串行碼控制器實(shí)體名port(d7,d6,d5,d4,d3,d2,d1,d0:in std_logic;d,c,b:in std_logic;y:out std_logic);end mux8_0;architecture rtl o

19、f mux8_0 is signal sel:std_logic_vector(2 downto 0);beginsel=d&c&b;with sel selecty=d0 when 000, d1 when 001, d2 when 010, d3 when 011, d4 when 100, d5 when 101, d6 when 110, d7 when 111, 0 when others;end rtl;8、輸出電路及三態(tài)門vhdl描述在時(shí)序發(fā)生器產(chǎn)生的四路時(shí)序信號的控制下(時(shí)序與內(nèi)碼相與),按順序依次將四路數(shù)據(jù)碼接入同一通道,形成了一路串行碼,從而完成了四路數(shù)據(jù)碼的復(fù)用。實(shí)現(xiàn)的關(guān)

20、鍵是三態(tài)與門的利用,就是當(dāng)時(shí)序信號的上升沿到來,并且在高電平持續(xù)時(shí)間內(nèi)。相應(yīng)的八位碼以y0, y1,y2, y3, y4, y5, y6, y7的順序依次輸出,而在其他情況下則以高阻的形態(tài)出現(xiàn),當(dāng)經(jīng)過一個(gè)時(shí)序周期(即32個(gè)碼元)后,就輸出了一幀串行碼.從而實(shí)現(xiàn)了四路數(shù)據(jù)碼元的復(fù)用。其中三態(tài)門的建模如圖3.8所示圖3.8 三態(tài)門的vhdl建模符號三態(tài)門的vhdl描述程序如下: library ieee;use ieee.std_logic_1164.all;entity tri_gate0 is -三態(tài)門實(shí)體名port(din0,en:in std_logic; dout0:out std_lo

21、gic);end tri_gate0;architecture zas of tri_gate0 isbegindout0a0,in0_2=a1,in0_3=a2, -以下為例化語句 in0_4=a3,in0_5=a4,in0_6=a5,in0_7=a6,in0_8=a7, k3=w3,k2=w2,k1=w1,sx0=w4,out0=w15);m2:neimacs0 port map(in0_1=b0,in0_2=b1,in0_3=b2,in0_4=b3,in0_5=b4, in0_6=b5,in0_7=b6,in0_8=b7,k3=w3,k2=w2,k1=w1, sx0=w5,out0=w1

22、4);m3:neimacs0 port map(in0_1=c0,in0_2=c1,in0_3=c2,in0_4=c3,in0_5=c4, in0_6=c5,in0_7=c6,in0_8=c7,k3=w3,k2=w2,k1=w1, sx0=w6,out0=w13);m4:neimacs0 port map(in0_1=d0,in0_2=d1,in0_3=d2,in0_4=d3,in0_5=d4, in0_6=d5,in0_7=d6,in0_8=d7,k3=w3,k2=w2,k1=w1, sx0=w7,out0=w12);m5:shixusuccessful port map(b=clk,s3=

23、w7,s2=w6,s1=w5,s0=w4);m6:count16 port map(clk=clk,d=w1,c=w2,b=w3);m7:men port map(in1=w7,out1=s3);m8:men port map(in1=w6,out1=s2);m9:men port map(in1=w5,out1=s1);m10:men port map(in1=w4,out1=s0);m11:andmen port map(in1=w12,in2=w13,in3=w14,in4=w15,outp=w16);m12:djhlatch port map(d=w16,ena=ena,q1=fuji

24、out);end ff;以下為部分子模塊程序library ieee;use ieee.std_logic_1164.all;entity men is -實(shí)體“men”port(in1:in std_logic; out1:out std_logic);end men;architecture one of men isbeginout1=in1; -輸入信號直接送給輸出端end one;為了既能實(shí)現(xiàn)三態(tài)門功能,又能便于驅(qū)動后續(xù)電路,將三態(tài).“z”改為“1,再在后面加一個(gè)四與門.則可將四路分路信號合成一路信號。library ieee;use ieee.std_logic_1164.all;

25、entity andmen is -四與門實(shí)體名port(in1,in2,in3,in4:in std_logic; outp:out std_logic);end andmen;architecture one of andmen isbeginoutp=in1 and in2 and in3 and in4; -“與”運(yùn)算end one;在仿真波形中可能出現(xiàn)毛刺,所以我們增加了一個(gè)d觸發(fā)器,將前面輸出的合路信號經(jīng)過d觸發(fā)器后,就能消除毛刺。library ieee;use ieee.std_logic_1164.all;entity djhlatch is -d觸發(fā)器實(shí)體名port(d,e

26、na:in std_logic; q1:out std_logic);end entity djhlatch;architecture one of djhlatch issignal sig_save:std_logic;beginprocess(d,ena) -進(jìn)程敏感信號beginif ena=1 then sig_save=d;end if;q1=sig_save;end process;end architecture one; 四路同步復(fù)接器系統(tǒng)模塊的時(shí)序仿真波形如圖3.1所示。圖中的s0, s1, s2, s3分別表示不同相位的四路時(shí)序信號,每路時(shí)序信號的高電平持續(xù)時(shí)間剛好包含8

27、個(gè)clk(時(shí)鐘)周期,且在信號時(shí)序控制過程中。時(shí)序信號的高電平有效。在圖3.1的波形示例中,第1, 2,3, 4路分路碼在時(shí)間上分別對應(yīng)第1, 2, 3, 4路時(shí)序信號的高電平持續(xù)時(shí)間,從圖可看出第1路分路碼為11110010,第2路分路碼為10101010,第3路分路碼為00000000,第4路分路碼為111111111.一幀復(fù)用信號序列為11110010101010100000000011111111.則其時(shí)序仿真可以說明,該復(fù)接器示例的建模與程序設(shè)計(jì)是正確的。仿真結(jié)果:圖3.10四路同步復(fù)接器輸出信號的時(shí)序仿真波形圖四心得體會經(jīng)過將近兩周多的時(shí)間,我們終于完成了這次創(chuàng)新學(xué)分設(shè)計(jì);從起初的查閱資料、重新學(xué)習(xí)使用quartus軟件,到編輯各個(gè)模塊的子程序并進(jìn)行仿真調(diào)試,每一個(gè)細(xì)節(jié)的成功都會給我們帶來一番欣喜。通過本次做基于vhdl的時(shí)分復(fù)接器的設(shè)計(jì),進(jìn)一步熟悉了vhd

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論