通信原理課程設(shè)計(jì)______基于FPGA的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā).doc_第1頁(yè)
通信原理課程設(shè)計(jì)______基于FPGA的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā).doc_第2頁(yè)
通信原理課程設(shè)計(jì)______基于FPGA的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā).doc_第3頁(yè)
通信原理課程設(shè)計(jì)______基于FPGA的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā).doc_第4頁(yè)
通信原理課程設(shè)計(jì)______基于FPGA的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā).doc_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

通信系統(tǒng)課程設(shè)計(jì)基于fpga的時(shí)分多路數(shù)字基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā) 指導(dǎo)老師:戴慧潔 武衛(wèi)華 班級(jí):通信102班 組長(zhǎng): 組員:2013年7月5日通信系統(tǒng)課程設(shè)計(jì)目錄1.通信系統(tǒng)課程設(shè)計(jì)目的、內(nèi)容、要求1.1 課程設(shè)計(jì)目的1.2 課程設(shè)計(jì)內(nèi)容1.3 課程設(shè)計(jì)要求2.通信系統(tǒng)課程設(shè)計(jì)選題及小組劃分2.1課程設(shè)計(jì)選題2.2 小組劃分3.通信系統(tǒng)課程設(shè)計(jì)系統(tǒng)框圖及各模塊參數(shù)指標(biāo)3.1 系統(tǒng)框圖3.2 各模塊參數(shù)指標(biāo)4. 通信系統(tǒng)課程設(shè)計(jì)各模塊原理與思路4.1 pcm編譯碼4.2 hdb3編譯碼4.3 一次群時(shí)分復(fù)用與分接4.4 同步5.通信系統(tǒng)課程設(shè)計(jì)各模塊編程與波形仿真(含代碼)5.1 pcm編譯碼5.2 hdb3編譯碼5.3 一次群時(shí)分復(fù)用與分接5.4 同步6. 通信系統(tǒng)課程設(shè)計(jì)心得體會(huì)1.通信系統(tǒng)課程設(shè)計(jì)目的、內(nèi)容、要求及相關(guān)工具1.1 課程設(shè)計(jì)目的 通信系統(tǒng)課程設(shè)計(jì)是一門(mén)綜合設(shè)計(jì)性實(shí)踐課程。使大家在綜合已學(xué)現(xiàn)代通信系統(tǒng)理論知識(shí)的基礎(chǔ)上,借助可編程邏輯器件及eda技術(shù)的靈活性和可編程性,充分發(fā)揮自主創(chuàng)新意識(shí),在規(guī)定時(shí)間內(nèi)完成符合實(shí)際需求的通信系統(tǒng)電路設(shè)計(jì)與調(diào)試任務(wù)。本次課程設(shè)計(jì)選題為數(shù)字基帶傳輸系統(tǒng)。數(shù)字通信系統(tǒng)是利用數(shù)字信號(hào)來(lái)傳輸信息的通信系統(tǒng),傳輸?shù)膶?duì)象通常是二元數(shù)字信息,它可能來(lái)自計(jì)算機(jī)等其他數(shù)字設(shè)備的各種數(shù)字代碼,也可能來(lái)自數(shù)字電話終端的脈沖編碼,其包括數(shù)字基帶傳輸和數(shù)字頻帶傳輸。數(shù)字基帶傳輸就是不經(jīng)過(guò)調(diào)制而直接傳送的方式,即發(fā)送端不使用調(diào)制器,接收端也不使用解調(diào)器。和頻帶傳輸相比,基帶傳輸?shù)膬?yōu)點(diǎn)是:設(shè)備簡(jiǎn)單,易做成“一機(jī)多速率”,適應(yīng)性強(qiáng)。而對(duì)于時(shí)分多路技術(shù),其具有十分優(yōu)越的特點(diǎn)。其便于實(shí)現(xiàn)數(shù)字通信,易于制造,適于采用集成電路實(shí)現(xiàn),成本較低,因此在數(shù)字信號(hào)傳輸中得到了廣泛的應(yīng)用。它不僅能夠提高大家對(duì)所學(xué)理論知識(shí)的理解能力,更重要的是能夠提高和挖掘大家對(duì)所學(xué)知識(shí)的實(shí)際運(yùn)用能力,為將來(lái)進(jìn)入社會(huì)從事相關(guān)工作奠定較好的“能力”基礎(chǔ)。 1.2 課程設(shè)計(jì)內(nèi)容(可選)a)時(shí)分多路數(shù)字電話基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)b)時(shí)分多路數(shù)字電話基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)1.3 課程設(shè)計(jì)要求a)64kb/s的a律pcm數(shù)字話音編譯碼器的開(kāi)發(fā)設(shè)計(jì)b)pcm 30/32一次群時(shí)分復(fù)接與分接器的開(kāi)發(fā)設(shè)計(jì)c)數(shù)字基帶編碼hdb3編譯碼器的開(kāi)發(fā)設(shè)計(jì)d)正交相對(duì)四相移相鍵控qdpsk調(diào)制器的開(kāi)發(fā)設(shè)計(jì)(可選)e)同步(幀、位、載波同步(可選)電路的開(kāi)發(fā)設(shè)計(jì)根據(jù)給定的設(shè)計(jì)指標(biāo),要求能綜合運(yùn)用通信原理理論所學(xué)知識(shí),借助可編程邏輯器件,靈活使用eda開(kāi)發(fā)工具平臺(tái)quartus,獨(dú)立進(jìn)行時(shí)分多路數(shù)字電話基帶傳輸系統(tǒng)初步方案設(shè)計(jì)、單元電路設(shè)計(jì)、vhdl程序設(shè)計(jì)、程序調(diào)試等工作。附 工具 : quartus 6.0 、 fpga 、 vhdl語(yǔ)言本次課程設(shè)計(jì)使用的軟件是eda開(kāi)發(fā)工具平臺(tái)quartus6.0,quartus 是altera公司提供的可編程邏輯器件的集成開(kāi)發(fā)軟件,可編程邏輯器件開(kāi)發(fā)的所有過(guò)程為:設(shè)計(jì)輸入、綜合、布局和布線、驗(yàn)證和仿真以及可編程邏輯器件的編程或配置。使用的芯片是ep1c6q240c8。vhdl的全名是very-high-speed integrated circuit hardware description language,vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。fpga(fieldprogrammable gate array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。2課程設(shè)計(jì)選題、小組劃分 2.1選題:時(shí)分多路數(shù)字電話基帶傳輸系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā) 2.2 模塊劃分(a) 負(fù)責(zé) 64kb/s的a律pcm數(shù)字話音編碼器的開(kāi)發(fā)設(shè)計(jì)(b)負(fù)責(zé) 64kb/s的a律pcm數(shù)字話音譯碼器的開(kāi)發(fā)設(shè)計(jì) ( c)負(fù)責(zé) 數(shù)字基帶編碼hdb3編碼器的開(kāi)發(fā)設(shè)計(jì) ( d) 負(fù)責(zé) 數(shù)字基帶編碼hdb3譯碼器的開(kāi)發(fā)設(shè)計(jì)(e) 負(fù)責(zé) pcm 30/32一次群時(shí)分復(fù)接器的開(kāi)發(fā)設(shè)計(jì)(f)負(fù)責(zé) pcm 30/32一次群時(shí)分分接器的開(kāi)發(fā)設(shè)計(jì)(g) 負(fù)責(zé) 同步(幀、位同步)電路的開(kāi)發(fā)設(shè)計(jì)3. 通信系統(tǒng)課程設(shè)計(jì)系統(tǒng)框圖及各模塊技術(shù)指標(biāo)3.1系統(tǒng)框圖pcm時(shí)分復(fù)用數(shù)字基帶傳輸,是各路信號(hào)在同一信道上占有不同的時(shí)間間隙進(jìn)行通信。它把模擬信號(hào)通過(guò)抽樣、量化、編碼轉(zhuǎn)變?yōu)閿?shù)字信號(hào),這些都靠編碼器來(lái)實(shí)現(xiàn),然后在位同步和幀同步信號(hào)的控制下通過(guò)復(fù)接器實(shí)現(xiàn)復(fù)接,復(fù)接后的信號(hào)通過(guò)信道傳輸,分接器在同步信號(hào)的作用下把接收到的信號(hào)進(jìn)行分路,分路后的信號(hào)通過(guò)pcm譯碼、低通濾波器還原出輸入的模擬語(yǔ)音信號(hào)。同步技術(shù)是時(shí)分復(fù)用數(shù)字通信的又一個(gè)重要特點(diǎn)。 位同步是最基本的同步,是實(shí)現(xiàn)幀同步的前提。它的基本含義是收、發(fā)兩端機(jī)的時(shí)鐘頻率必須同頻、同相,這樣接收端才能正確判斷和接收發(fā)送端送來(lái)的每一個(gè)碼元。幀同步是為了保證收、發(fā)各對(duì)應(yīng)的話路在時(shí)間上保持一致,這樣接收端就能正確接收發(fā)送端送來(lái)的每一個(gè)話路信號(hào)。 圖3.1 時(shí)分多路數(shù)字基帶傳輸系統(tǒng)框圖3.2各模塊技術(shù)指標(biāo)3.2.1 pcm編碼器參數(shù)指標(biāo)(符合itu-t g.711建議) (1)pcm編碼器輸入信號(hào)為: 一個(gè)13位邏輯矢量的均勻量化值:d0,d1d12其中:d0為極性位,取值范圍在-4096+4096之間;一個(gè)占空比為1/32的8k/s的取樣時(shí)鐘信號(hào);一個(gè)占空比為50%的2.048mb/s的合路時(shí)鐘信號(hào); (2)pcm編碼器輸出信號(hào)為: 一個(gè)8位邏輯矢量的13折線非均勻量化值:c0,c1c7其中:c0為極性位.c0=1為正,c0=0為負(fù);一個(gè)占空比為1/32的8k/s的取樣時(shí)鐘信號(hào);一個(gè)占空比為50%的2.048mb/s的合路時(shí)鐘信號(hào);(3) pcm編碼規(guī)則 圖3.2.1 pcm編碼規(guī)則3.2.2 pcm譯碼器參數(shù)指標(biāo)(符合itu-t g.711建議)(1)pcm譯碼器輸入信號(hào)為: 一個(gè)8位邏輯矢量的13折線非均勻量化值:c0,c1c7其中:c0為極性位.c0=1為正,c0=0為負(fù);一個(gè)占空比為1/32的8k/s的取樣時(shí)鐘信號(hào);一個(gè)占空比為50%的2.048kb/s的合路時(shí)鐘信號(hào); (2)pcm譯碼器輸出信號(hào)為: 一個(gè)13位邏輯矢量的均勻量化值:d0,d1d12其中:d0為極性位,取值范圍在-4096+4096之間;一個(gè)占空比為1/32的8k/s的取樣時(shí)鐘信號(hào);一個(gè)占空比為50%的2.048mb/s的合路時(shí)鐘信號(hào);(3)pcm譯碼規(guī)則 圖 3.2.2 pcm譯碼規(guī)則3.2.3 hdb3編碼器參數(shù)指標(biāo) (符合itu-t g.703建議) (1)hdb3編碼器輸入信號(hào)為: 一路串行2.048mb/s合路數(shù)據(jù)流 一路2.048mb/s位同步時(shí)鐘脈沖(2)hdb3編碼器輸出信號(hào)為: 一路串行2.048mb/s合路hdb3編碼的正極性數(shù)據(jù)流h+ 一路串行2.048mb/s合路hdb3編碼的負(fù)極性數(shù)據(jù)流h- 一路2.048mb/s位同步時(shí)鐘脈沖3.2.4 hdb3譯碼器參數(shù)指標(biāo) (符合itu-t g.703建議)(1)hdb3譯碼器輸入信號(hào)為: 一路串行2.048mb/s合路hdb3編碼的正極性數(shù)據(jù)流h+ 一路串行2.048mb/s合路hdb3編碼的負(fù)極性數(shù)據(jù)流h- 一路2.048mb/s位同步時(shí)鐘脈沖(2)hdb3譯碼器輸出信號(hào)為: 一路串行2.048mb/s合路數(shù)據(jù)流 一路2.048mb/s位同步時(shí)鐘脈沖3.2.5 一次群時(shí)分復(fù)接器參數(shù)指標(biāo)()(1)一次群時(shí)分復(fù)接器輸入信號(hào)為: 一個(gè)8位數(shù)據(jù)總線d7d0 一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào);(2)一次群時(shí)分復(fù)接器輸出信號(hào)為: 一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào) 一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào) 一個(gè)5位時(shí)隙地址總線信號(hào)3.2.6 一次群時(shí)分接器參數(shù)指標(biāo)(1)一次群時(shí)分分接器輸入信號(hào)為: 一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào) 一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)(2)一次群時(shí)分分接器輸出信號(hào)為: 一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào) 一個(gè)30位邏輯矢量時(shí)隙脈沖信號(hào) 一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)3.2.6相關(guān)幀結(jié)構(gòu)圖3.2.7 同步的參數(shù)指標(biāo) 同步主要是進(jìn)行幀同步與位同步,具體設(shè)計(jì)體現(xiàn)在一次群時(shí) 分分接器設(shè)計(jì),還有提供各模塊的時(shí)鐘。4 通信系統(tǒng)課程設(shè)計(jì)各模塊原理與思路4.1pcm編碼器原理4.1.1 pcm編碼器分析脈沖編碼調(diào)制(pcm,pulse code modulation)在通信系統(tǒng)中完成將語(yǔ)音信號(hào)數(shù)字化功能。是一種對(duì)模擬信號(hào)數(shù)字化的取樣技術(shù),將模擬信號(hào)變換為數(shù)字信號(hào)的編碼方式,特別是對(duì)于音頻信號(hào)。pcm 對(duì)信號(hào)每秒鐘取樣 8000 次;每次取樣為8個(gè)位,總共64kbps。pcm的實(shí)現(xiàn)主要包括三個(gè)步驟完成:抽樣、量化、編碼。分別完成時(shí)間上離散、幅度上離散、及量化信號(hào)的二進(jìn)制表示。根據(jù)ccitt的建議,為改善小信號(hào)量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為a律和律方式,本設(shè)計(jì)采用了a律方式。 在13折線法中,無(wú)論輸入信號(hào)是正是負(fù),均按8段折線(8個(gè)段落)進(jìn)行編碼。若用8位折疊二進(jìn)制碼來(lái)表示輸入信號(hào)的抽樣量化值,其中用第一位表示量化值的極性,其余七位(第二位至第八位)則表示抽樣量化值的絕對(duì)大小。具體的做法是:用第二至第四位表示段落碼,它的8種可能狀態(tài)來(lái)分別代表8個(gè)段落的起點(diǎn)電平。其它四位表示段內(nèi)碼,它的16種可能狀態(tài)來(lái)分別代表每一段落的16個(gè)均勻劃分的量化級(jí)。這樣處理的結(jié)果,8個(gè)段落被劃分成128個(gè)量化級(jí)。段落碼和8個(gè)段落之間的關(guān)系如表1所示;段內(nèi)碼與16個(gè)量化級(jí)之間的關(guān)系見(jiàn)表4.1.2所示。4.1.2pcm編碼規(guī)則表1 段落碼 表2 段內(nèi)碼段落序號(hào)段落碼段落范圍量化間隔段內(nèi)碼量化間隔段內(nèi)碼81112048-40961511117011171101024-2048141110601106101512-1024131101501015100256-512121100401004011128-25611101130011301064-12810101020010200132-64910011000110000-328100000000 4.1.3流程圖如下 圖 4.1.3 pcm編碼器流程圖4.2 pcm譯碼器原理4.2.1 pcm譯碼分析pcm譯碼是pcm編碼的逆過(guò)程。通過(guò)對(duì)pcm編碼的分析,可以進(jìn)行8位pcm編碼到13位a率13折線的轉(zhuǎn)換,具體轉(zhuǎn)換見(jiàn)下譯碼規(guī)則圖。其中注意,在譯碼時(shí)的13位碼是對(duì)應(yīng)段的中間值,既所得的編碼應(yīng)加上對(duì)應(yīng)段量化值的一半。4.2.2 pcm譯碼規(guī)則 圖 4.2.2 pcm譯碼規(guī)則4.2.3流程圖如下 圖 4.2.3 pcm譯碼流程圖4.3 hdb3編碼器原理4.3.1 hdb3編碼規(guī)則分析: 1)對(duì)輸入為1碼元交替翻轉(zhuǎn)編碼,即依次在h+和h-端口輸出1 2)對(duì)輸入為0碼元同時(shí)在h+和h-端口輸出0 3)當(dāng)連續(xù)輸入4個(gè)0碼元,且與上一個(gè)連續(xù)0碼元之間1碼元為 奇數(shù)個(gè)時(shí),第四個(gè)0碼元改為1碼元,且與之前1碼元的最后一 個(gè)1碼元同極性,即:在同端口輸出 4)當(dāng)連續(xù)輸入4個(gè)0碼元,且與上一個(gè)連續(xù)4個(gè)0碼元之間1碼 元為偶數(shù)個(gè)時(shí),第一個(gè)0碼元改為1碼元,與之前1碼元的最 后一個(gè)1碼元反極性,即:在不同端口輸出,第四個(gè)0碼元改為 1碼元,且與之前1碼元的最后一個(gè)1碼元同極性,即:在同端 口輸出 4.3.2hdb3編碼vhdl語(yǔ)言設(shè)計(jì) 1)逐位處理輸入輸出數(shù)據(jù),即:每輸入一比特?cái)?shù)據(jù)就判斷處理, 并在h+和h-端口同時(shí)輸出一位比特脈沖. 2)為了能修改含本時(shí)鐘之前4個(gè)時(shí)鐘周期的輸出比特,建立一 個(gè)4位移位寄存器保存輸入數(shù)據(jù)temp;3)輸出“1”時(shí),確定下次1碼元輸出端口的確定,即極性是+ 或-;每輸入一個(gè)“1”,極性反轉(zhuǎn)一次,記錄信息county; 4)檢測(cè)當(dāng)前是否為連續(xù)“0000”,記當(dāng)前零個(gè)數(shù)count0; 5)記錄兩個(gè)連續(xù)“0000”之前連續(xù)1的個(gè)數(shù)記數(shù)count1,(即 奇偶數(shù))。 6)更新“b00v”“000v”時(shí),更新信息count0,count1,county;4.3.3流程圖如下:源碼100001000011000000001hdb3碼+1000+1-1000-1+1-1+100-1+100-1+1h+100010000010100010001h-0000010001010001000104.4 hdb3譯碼器原理 4.4.1hdb3譯碼規(guī)則分析 將編碼修改過(guò)的0碼元恢復(fù),并將雙極性交替1脈沖改為單 極性1脈沖 4.4.2 hdb3譯碼vhdl語(yǔ)言設(shè)計(jì) 對(duì)輸入的h+和h-分別設(shè)立一個(gè)五級(jí)緩存移位寄存器,每一拍 都判斷是否存在10001,或1001x;若存在分別改成10000, 或0000x。再將h+和h-相或輸出。 4.4.3流程圖如下:4.5 一次群時(shí)分復(fù)接器原理 復(fù)接器的功能是將30路pcm信號(hào)與幀同步和勤務(wù)信號(hào)綜合成一路2.048mb/s的串行合路輸出,并包括生成時(shí)隙地址信號(hào)。其中主要包括多路數(shù)據(jù)選擇器,串并轉(zhuǎn)換器,計(jì)數(shù)器等。4.6 一次群時(shí)分分接器原理 分接器的功能是將32路合路的2.048mb/s的信號(hào)分成32路64k/s的分路信號(hào),同時(shí)生成32路時(shí)隙脈沖。其中主要是幀同步與位同步的捕捉與確定。4.7 同步模塊原理 在數(shù)字通信系統(tǒng)中,同步包括載波同步,碼元同步(位同步),群同步(幀同步),網(wǎng)同步四種,本課程設(shè)計(jì)主要用到幀同步與位同步。 1)幀同步是為接收信號(hào)而使給定數(shù)字信道的接收端與發(fā)送端的相應(yīng)信道對(duì)齊的過(guò)程,幀同步碼有集中插入和分散插入兩種插入方法,此課程設(shè)計(jì)中主要研究集中插入幀同步法,詳細(xì)設(shè)計(jì)可見(jiàn)一次群時(shí)分分接。 2)位同步是為了在準(zhǔn)確的時(shí)刻對(duì)接收碼元進(jìn)行判決,以及對(duì)接收碼元能量正確積分,它是從接收碼元的起止時(shí)刻產(chǎn)生一個(gè)碼元同步脈沖序列。位同步可分為外同步法和自同步法。外同步法是一種利用輔助信息同步的方法,需要在信號(hào)中另外加入包含碼元定時(shí)信息的導(dǎo)頻或數(shù)據(jù)序列。自同步法不需要輔助同步信息,直接從信息碼元中提取出碼元定時(shí)信息,這種方法要求在信息碼元序列中含有碼元定時(shí)信息,在此課程設(shè)計(jì)中,用數(shù)字鎖相環(huán)法實(shí)現(xiàn)碼元的自同步。位同步原理圖:相位比較pcc數(shù)字濾波dle受控分頻dcodata_inphaseerrorinsertsignalreducesignalclk_estclk5通信系統(tǒng)課程設(shè)計(jì)各模塊編程與上機(jī)實(shí)現(xiàn)5.1 pcm編碼程序與仿真圖-pcm編碼,符合itu-t g.711建議-一個(gè)輸入為13位邏輯矢量的均勻量化值,一個(gè)8000hz占空比為1/32的取樣脈沖-輸出為八位邏輯矢量的a律pcm編碼,和一個(gè)8000hz的時(shí)鐘-雖然設(shè)計(jì)要求輸入輸出2.048mb/s時(shí)鐘,個(gè)人覺(jué)得用不上,故舍去了-quartus軟件是以下標(biāo)大的位為高位,所以十三位輸入采用d(12)為符號(hào)位library ieee;-程序調(diào)用的庫(kù)是ieee庫(kù)use ieee.std_logic_1164.all;-定義了std_logic,std_logic_vector類(lèi)型entity pcmencode is port(clkin :in std_logic;-輸入時(shí)鐘8000hz d :in std_logic_vector(12 downto 0);-std_logic_vector全拼standard_logic標(biāo)準(zhǔn)邏輯矢量 c :out std_logic_vector(7 downto 0); clkout:out std_logic );end pcmencode;architecture behavior of pcmencode isbeginprocess(clkin,d)beginif clkinevent and clkin=1 then if d(11)=1 then c=d(12)&1&1&1&d(10)&d(9)&d(8)&d(7); elsif d(10)=1 then c=d(12)&1&1&0&d(9)&d(8)&d(7)&d(6); elsif d(9)=1 then c=d(12)&1&0&1&d(8)&d(7)&d(6)&d(5); elsif d(8)=1 then c=d(12)&1&0&0&d(7)&d(6)&d(5)&d(4); elsif d(7)=1 then c=d(12)&0&1&1&d(6)&d(5)&d(4)&d(3); elsif d(6)=1 then c=d(12)&0&1&0&d(5)&d(4)&d(3)&d(2); elsif d(5)=1 then c=d(12)&0&0&1&d(4)&d(3)&d(2)&d(1); else c=d(12)&0&0&0&d(4)&d(3)&d(2)&d(1); end if;end if;end process;clkout=clkin;end behavior;仿真圖:5.2 pcm譯碼程序與仿真圖-pcm譯碼-輸入a律八位pcm編碼,占空比為1/32的8000hz的去取樣時(shí)鐘-輸出為十三位邏輯矢量均勻量化值,占空比為1/32的8000hz的去取樣時(shí)鐘library ieee;use ieee.std_logic_1164.all;entity pcmdecode isport( clkin:in std_logic; c:in std_logic_vector(7 downto 0); d:out std_logic_vector(12 downto 0); clkout:out std_logic); end pcmdecode;architecture behavior of pcmdecode issignal temp:std_logic_vector(2 downto 0);begin temp ddddddddd=null; end case; end if; end process; clkout=clkin;end behavior;仿真圖:5.3 hdb3編碼器程序與仿真圖-hdb3編碼-輸入2.048mb/s數(shù)據(jù)流,占空比為50%的2.048mhz的去取樣時(shí)鐘-輸出為兩路雙極性2.048mb/s數(shù)據(jù)流,占空比為50%的2.048mhz的去取樣時(shí)鐘library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std;use ieee.std_logic_arith;entity hdbnecode isport(clkin:in std_logic; datain:in std_logic; dataouthh:out std_logic; dataouthl:out std_logic; clkout:out std_logic); end hdbnecode;architecture behavior of hdbnecode isbegin process(clkin)variable count0,count1:integer:=0 ;variable county:boolean;variable temp:std_logic_vector(3 downto 0);beginif clkinevent and clkin=0 then if datain=1 then-輸入為1時(shí)處理4位寄存器 count0:=0; temp(0):=datain; count1:=count1+1; if temp(3)=0 then-首位0 處理 輸出 dataouthh=0; dataouthl=0; else if county then-首位1處理 輸出 dataouthh=1; dataouthl=0; county:=not county; else dataouthh=0; dataouthl=1; county:=not county; end if; end if;else temp(0):=datain;-輸入為0時(shí)處理4位寄存器 count0:=count0+1; if count0=4 then-檢測(cè)到0000,處理 4位寄存器 count0:=0; count1:=(count1 rem 2);-兩個(gè)四連零 間 1 的 奇偶 if count1=1 then-兩個(gè)四連零 間 1 的 奇偶 count1:=0; temp:=0001; dataouthh=0;dataouthl=0;county:=not county;else count1:=0; -兩個(gè)四連零 間 1 的 偶 temp:=1001; if county then dataouthh=1; dataouthl=0; else dataouthh=0; dataouthl=1; end if; end if; else if temp(3)=0 then-未檢測(cè)到0000 處理輸出 dataouthh=0; dataouthl=0; else if county then dataouthh=1; dataouthl=0; county:=not county; else dataouthh=0; dataouthl=1; county:=not county; end if; end if; end if; end if; end if;temp(3 downto 1):= temp(2 downto 0);end process;clkout=clkin;end behavior;仿真圖:5.4 hdb3譯碼器程序與仿真圖-輸入為兩路雙極性2.048mb/s數(shù)據(jù)流,占空比為50%的2.048mhz的去取樣時(shí)鐘-輸出為一路單極性2.048mb/s數(shù)據(jù)流,占空比為50%的2.048mhz的去取樣時(shí)鐘library ieee;use ieee.std_logic_1164.all;entity hdbdecode isport( clkin:in std_logic; datainhh:in std_logic; datainhl:in std_logic; dataout:out std_logic; clkout:out std_logic); end hdbdecode;architecture behavior of hdbdecode is signal hh,hl:std_logic_vector(4 downto 0); signal temp:std_logic;begin ahh:process(clkin) variable temphh:std_logic_vector(4 downto 0); begin if clkinevent and clkin=0 then temphh(0):=datainhh; if temphh=10001 then temphh:=10000; elsif (temphh=10010 or temphh=10011) then temphh:=0000&datainhh; end if; end if; hh=temphh; temphh(4 downto 1):=temphh(3 downto 0); end process; ahl:process(clkin) variable temphl:std_logic_vector(4 downto 0); begin if clkinevent and clkin=0 then temphl(0):=datainhl; if temphl=10001 then temphl:=10000; elsif (temphl=10010 or temphl=10011) then temphl:=0000&datainhl; end if; end if; hl=temphl; temphl(4 downto 1):=temphl(3 downto 0); end process; emp=(hh(4)or hl(4); dataout=temp; clkout=clkin;end behavior; 仿真圖:5.5 一次群復(fù)接器程序與仿真圖-時(shí)分復(fù)接器-輸入一個(gè)8位數(shù)據(jù)總線(即30路pcm話音并行數(shù)據(jù)共用總線),-輸入一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)-輸出一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào);一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)-一個(gè)5位時(shí)隙地址總線信號(hào)(即30路pcm話音并行地址總線)-(其說(shuō)明當(dāng)前輸入的數(shù)據(jù)總線上是哪個(gè)時(shí)隙數(shù)據(jù))-此程序要特別注意器件的選擇,該程序選擇cyclone系列ep1c6q240c8時(shí)得到所期望的結(jié)果-若選用其他器件譬如stratix ii系列的器件會(huì)丟失第一路信息library ieee;-程序所調(diào)用的庫(kù)是ieee庫(kù)use ieee.std_logic_1164.all;-定義了std_logic,std_logic_vector類(lèi)型use ieee.std_logic_unsigned.all;-用到基于std_logic,std_logic_vector類(lèi)型的-無(wú)符號(hào)的算術(shù)運(yùn)算entity fujieqi isport (clkin: in std_logic; datain: in std_logic_vector(7 downto 0);-30路語(yǔ)音信號(hào)輸入 dataout:out std_logic; -輸出串行數(shù)據(jù)流 ads:out std_logic_vector(4 downto 0);-五位時(shí)隙總線信號(hào) clkout:out std_logic);-輸出時(shí)鐘end fujieqi;architecture behav of fujieqi isshared variable tscount:std_logic_vector(8 downto 0);-時(shí)隙計(jì)數(shù)器shared variable bitcount:std_logic_vector(2 downto 0);-位計(jì)數(shù)器beginp1:process(clkin)-位時(shí)鐘和時(shí)隙計(jì)數(shù)beginif clkinevent and clkin=1 then if bitcount=111 then bitcount:=000; tscount:=tscount+1; else bitcount:=bitcount+1; end if;end if;end process p1;p2:process(clkin)variable regester:std_logic_vector(7 downto 0);-定義一個(gè)內(nèi)部的寄存器,-用于寄存輸入的八位數(shù)據(jù)variable temp:std_logic_vector(7 downto 0);-定義一個(gè)中間變量,用于數(shù)據(jù)的串行輸出beginif clkinevent and clkin=1 then ads=tscount(4 downto 0);-記錄當(dāng)前輸出的是第幾路信號(hào) if bitcount=000 then if tscount(5 downto 0)=000000 then regester:=10011011; -雙幀計(jì)數(shù)為0時(shí)傳幀同碼 elsif tscount(5 downto 0)=100000 then regester:=11111111; -雙幀計(jì)數(shù)為32時(shí)傳勤務(wù)信息 elsif tscount=000010000 then regester:=00001111; -復(fù)幀計(jì)數(shù)為16時(shí)傳復(fù)幀同步碼 elsif tscount(4 downto 0)=10000 then regester:=11111111; -除f0幀外,每幀的第16時(shí)隙都傳信令信息 else regester:=datain; -不滿足以上條件時(shí)傳語(yǔ)音信號(hào) end if; temp:=regester; -并串轉(zhuǎn)換 dataout=temp(7);-時(shí)隙的第一個(gè)時(shí)鐘上升沿輸出最高位 else temp(7 downto 1):=temp(6 downto 0);-右移 dataout=temp(7);-接著發(fā)其他位 end if;end if;clkout=clkin;-輸出時(shí)鐘end process p2;end behav;仿真圖:5.6一次群分接器程序與仿真圖-時(shí)分分接程序-同步碼捕獲三次后方確認(rèn)同步完成,若失步三次后重新捕獲-輸入一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào),一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)-輸出一個(gè)一次群串行合路數(shù)據(jù)流2.048mb/s信號(hào),一個(gè)30位邏輯矢量時(shí)隙脈沖信號(hào)(每位對(duì)應(yīng)一路時(shí)隙脈沖)-一個(gè)一次群串行位同步時(shí)鐘2.048mb/s信號(hào)-輸出串行數(shù)據(jù)流分別于a1a31相與即可得到各路話音信號(hào)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenjieqi isport(datain,clkin:in std_logic;-輸入2.048mb/s的合路數(shù)據(jù)流,輸入-串行位同步時(shí)鐘2.048mb/s a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31:out std_logic;-輸出30位邏輯矢量時(shí)隙脈沖信號(hào),與dataout相與的結(jié)果就是所選擇的一路語(yǔ)音-輸出 clkout,dataout:out std_logic);-輸出串行數(shù)據(jù)流和輸出時(shí)鐘end fenjieqi;architecture behave of fenjieqi issignal regester,singlecount:std_logic_vector(7 downto 0):=00000000;-regester為八位移位寄存器用于捕獲同步碼,singlecount為單幀計(jì)數(shù)器signal doublecount:std_logic_vector(8 downto 0):=000000000;-雙幀計(jì)數(shù)器以位為單位signal catch:std_logic:=0;-同步碼捕捉狀態(tài)標(biāo)志0表捕捉態(tài),1表示同步態(tài)signal syncount,lostcount:std_logic_vector(1 downto 0):=00;-同步計(jì)數(shù)器以位為單位-與失步計(jì)數(shù)器beginp1:process(clkin)-利用移位寄存器暫存當(dāng)前輸入碼,敏感信號(hào)為時(shí)鐘上升沿-即當(dāng)時(shí)鐘上升沿到達(dá)時(shí)該進(jìn)程執(zhí)行一次beginif clkinevent and clkin=1 then-時(shí)鐘上升沿有效暫存輸入數(shù)據(jù) regester=regester(6 downto 0)&datain;end if;end process p1;p2:process(clkin)-同步碼捕捉,同步保持比較beginif clkinevent and clkin=0 then-時(shí)鐘下降沿有效驗(yàn)證是否為同步碼-及驗(yàn)證落后于暫存剛好半個(gè)時(shí)鐘周期,敏感信號(hào)為時(shí)鐘下降沿,即時(shí)鐘下降沿到達(dá)一次程序執(zhí)行一次 doublecount=doublecount+1; singlecount=doublecount(7 downto 0)+1;-借用雙幀第八位單幀計(jì)數(shù) if catch=0 then -catch為0時(shí)為捕捉態(tài) if syncount=00 then if regester=10011011 then syncount=syncount+1;doublecount=000000111; -表示第一次捕捉到同步碼,將其次數(shù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論