HDB3編碼器的設(shè)計(jì)_第1頁
HDB3編碼器的設(shè)計(jì)_第2頁
HDB3編碼器的設(shè)計(jì)_第3頁
HDB3編碼器的設(shè)計(jì)_第4頁
HDB3編碼器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南文理學(xué)院課程設(shè)計(jì)報(bào)告 課程名稱: 編碼器設(shè)計(jì) 系 部: 電氣與信息工程學(xué)院 專業(yè)班級(jí): 學(xué)生姓名: 指導(dǎo)教師: 完成時(shí)間: 報(bào)告成績: 評(píng)閱意見: 評(píng)閱教師 日期 目目 錄錄 目 錄.1 一、系統(tǒng)設(shè)計(jì).2 1.1 課題目標(biāo)及總體方案.2 1.2hdb3 碼簡介 .3 1.2.1 數(shù)字基帶信號(hào).3 1.2.2 nrz,ami,hdb3 碼之間的對(duì)應(yīng)關(guān)系.3 1.2.3 hdb3 碼的編碼規(guī)則.4 二、軟件模塊設(shè)計(jì).5 2.1 quartus 簡介.5 2.2整體系統(tǒng)實(shí)現(xiàn)方法.5 2.3插“v”模塊的實(shí)現(xiàn) .6 2.4 插“b”模塊的實(shí)現(xiàn).7 2.5單雙極性變換模塊的實(shí)現(xiàn).8 三、實(shí)驗(yàn)結(jié)果及討

2、論.10 四、心得體會(huì).11 五、參考文獻(xiàn).12 六、附 錄.13 6.1 實(shí)驗(yàn)源程序及注釋.13 一一、 系系統(tǒng)統(tǒng) 設(shè)設(shè)計(jì)計(jì) 1.11.1 課題目標(biāo)及總體方案課題目標(biāo)及總體方案 數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分。在數(shù)字通信中,有些場合可 不經(jīng)過載波調(diào)制和解調(diào)過程,而對(duì)基帶信號(hào)進(jìn)行直接傳輸。采用 ami 碼的信號(hào)交替反轉(zhuǎn), 有可能出現(xiàn)四連零現(xiàn)象,這不利于接收端的定時(shí)信號(hào)提取。而 hdb3 碼因其無直流成份、 低頻成份少和連 0 個(gè)數(shù)最多不超過三個(gè)等特點(diǎn),而對(duì)定時(shí)信號(hào)的恢復(fù)十分有利。針對(duì)數(shù) 字基帶傳輸系統(tǒng)中 hdb3 信號(hào)的特點(diǎn),采用基于 cpldfpga 的 verilog hd

3、l 語言,在 quartus的環(huán)境中,實(shí)現(xiàn) hdb3 數(shù)字基帶信號(hào)的編碼器設(shè)計(jì)。 總體設(shè)計(jì)流程圖如下圖 1: 仿真不通過 回顧 veriloghdl 語言設(shè)計(jì) 分析 hdb3 碼編碼器功能 確定設(shè)計(jì)方案 應(yīng)用 vhdl 進(jìn)行編程 對(duì)系統(tǒng)仿真測試、選擇合 適芯片并定義管腳 系統(tǒng)功能的硬件測 試 調(diào)試達(dá)到要求、完成 設(shè)計(jì) 圖圖 1 1 總體設(shè)計(jì)流程圖總體設(shè)計(jì)流程圖 1.21.2 hdb3hdb3 碼簡介碼簡介 1.2.1 數(shù)字基帶信號(hào)數(shù)字基帶信號(hào) 數(shù)字基帶信號(hào)的傳輸是數(shù)字通信系統(tǒng)的重要組成部分之一。在數(shù)字通信中,有些場 合可不經(jīng)過載波調(diào)制和解調(diào)過程,而對(duì)基帶信號(hào)進(jìn)行直接傳輸。為使基帶信號(hào)能適合在

4、基帶信道中傳輸,通常要經(jīng)過基帶信號(hào)變化,這種變化過程事實(shí)上就是編碼過程。于是, 出現(xiàn)了各種各樣常用碼型。不同碼型有不同的特點(diǎn)和不同的用途。 作為傳輸用的基帶信號(hào)歸納起來有如下要求:1 希望將原始信息符號(hào)編制成適合與 傳輸用的碼型;2 對(duì)所選碼型的電波形,希望它適宜在信道中傳輸。可進(jìn)行基帶傳輸?shù)?碼型較多。 1、ami 碼 ami 碼稱為傳號(hào)交替反轉(zhuǎn)碼。其編碼規(guī)則為代碼中的 0 仍為傳輸碼 0,而把代碼中 1 交替地變化為傳輸碼的+1-1+1-1, 、 、 、 。 舉例如下。 消息代碼:0 1 1 1 0 0 1 0 、 、 、 ami 碼:0 +1 -1 +1 0 0 -1 0 、 、 、或

5、0 -1 +1 -1 0 0 +1 0 、 、 、 ami 碼的特點(diǎn): (1) 無直流成分且低頻成分很小,因而在信道傳輸中不易造成信號(hào)失真。 (2) 編碼電路簡單,便于觀察誤碼狀況。 (3) 由于它可能出現(xiàn)長的連 0 串,因而不利于接受端的定時(shí)信號(hào)的提取。 2、hdb3 碼 這種碼型在數(shù)字通信中用得很多,hdb3 碼是 ami 碼的改進(jìn)型,稱為三階高密度雙 極性碼。它克服了 ami 碼的長連 0 傳現(xiàn)象。 1.2.2 nrz,ami,hdb3 碼之間的對(duì)應(yīng)關(guān)系碼之間的對(duì)應(yīng)關(guān)系 假設(shè)信息碼為 0000 0110 0001 0000,對(duì)應(yīng)的 nrz 碼、ami 碼,hdb3 碼如下圖 2 所示。

6、1.2.3 hdb3 碼的編碼規(guī)則碼的編碼規(guī)則 hdb3 碼的編碼規(guī)則: (1)將消息代碼變換成 ami 碼; (2)檢查 ami 碼中的連 0 情況,當(dāng)無 4 個(gè)以上的連 0 傳時(shí),則保持 ami 的形式不變; 若出現(xiàn) 4 個(gè)或 4 個(gè)以上連 0 時(shí),則將 1 后的第 4 個(gè) 0 變?yōu)榕c前一非 0 符號(hào)(+1 或- 1)同極性的符號(hào),用 v 表示(+1 記為+v,-1 記為-v (3)檢查相鄰 v 符號(hào)間的非 0 符號(hào)的個(gè)數(shù)是否為偶數(shù),若為偶數(shù),則再將當(dāng)前的 v 符 號(hào)的前一非 0 符號(hào)后的第 1 個(gè) 0 變?yōu)?b 或-b 符號(hào),且 b 的極性與前一非 0 符號(hào)的極 性相反,并使后面的非 0

7、 符號(hào)從 v 符號(hào)開始再交替變化。 舉例如下: 代碼 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 hdb3 碼 +1 0 -1 0 +1 -1 0 0 0 -1 0 +1 -1 +1 0 0 +1 -1 v、b -v +b +v hdb3 碼的特點(diǎn)如下: (1) 基帶信號(hào)無直流成分,且只有很小的低頻成分; (2) 連 0 串符號(hào)最多只有 3 個(gè),利于定時(shí)信息的提取; (3)不受信源統(tǒng)計(jì)特性的影響。 圖圖 2 hdb3 波形圖波形圖 二二、 軟軟件件模模塊塊設(shè)設(shè)計(jì)計(jì) 2.12.1 quartusquartus 簡介簡介 quartus ii 是 altera 公司的綜

8、合性 pld/fpga 開發(fā)軟件,支持原理圖、 vhdl、veriloghdl 以及 ahdl(altera hardware description language)等多種設(shè)計(jì)輸入 形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 pld 設(shè)計(jì) 流程。 quartus ii 可以在 xp、linux 以及 unix 上使用,除了可以使用 tcl 腳本完成設(shè)計(jì)流程 外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易 學(xué)易用等特點(diǎn)。 quartus ii 支持 altera 的 ip 核,包含了 lpm/megafunction 宏功能模塊庫,使用

9、戶可 以充分利用成熟的模塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方 eda 工具的 良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方 eda 工具。 此外,quartus ii 通過和 dsp builder 工具與 matlab/simulink 相結(jié)合,可以方便地實(shí) 現(xiàn)各種 dsp 應(yīng)用系統(tǒng);支持 altera 的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌 入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 maxplus ii 作為 altera 的上一代 pld 設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛 的應(yīng)用。目前 altera 已經(jīng)停止了對(duì) maxpl

10、us ii 的更新支持,quartus ii 與之相比不僅僅是 支持器件類型的豐富和圖形界面的改變。altera 在 quartus ii 中包含了許多諸如 signaltap ii、chip editor 和 rtl viewer 的設(shè)計(jì)輔助工具,集成了 sopc 和 hardcopy 設(shè)計(jì)流程,并 且繼承了 maxplus ii 友好的圖形界面及簡便的使用方法。 altera quartus ii 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易 用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。 2.22.2 整體系統(tǒng)實(shí)現(xiàn)方法整體系統(tǒng)實(shí)現(xiàn)方法 hdb3 碼編碼器模型如圖 3 所示:

11、hdb3 碼 代碼輸入 輸輸入 插 “v” 插 “b” 單/雙極性 變換 整個(gè) hdb3 編碼器主要包含 3 個(gè)功能部分:插“v” 、插“b”和單極性碼轉(zhuǎn)變成雙極 性碼。各部分之間采用同步時(shí)鐘作用,并且?guī)в幸粋€(gè)異步的復(fù)位(清零)端口。下面將 詳細(xì)介紹各個(gè)部分的設(shè)計(jì)流程。 除以上 3 個(gè)編碼功能模塊外,還有頂層主函數(shù)模塊(包含分頻)及信號(hào)產(chǎn)生模塊(本程 序選用 m 序列) ,在此不再贅述,詳見附錄源程序。 2.32.3 插插“v v”模塊的實(shí)現(xiàn)模塊的實(shí)現(xiàn) 插“v”模塊的功能實(shí)際上就是對(duì)消息代碼里的四連 0 串的檢測即當(dāng)出現(xiàn)四個(gè)連 0 串的時(shí) 候,把第四個(gè)“0”變換成為符號(hào)“v” (“v”可以是邏

12、輯“1”高電平) ,而在其他 情況下,則保持消息代碼的原樣輸出。同時(shí)為了減少后面工作的麻煩,在進(jìn)行插“v”時(shí), 用“11”標(biāo)識(shí)它, “1”用“01”標(biāo)識(shí), “0”用“00”標(biāo)識(shí)。 插“v”符號(hào)的設(shè)計(jì)思想很簡單:首先判斷輸入的代碼是什么(用一個(gè)條件語句判斷) ,如果輸入的是“0”碼,則接著判斷這是第幾個(gè)“0”碼,則把這一位碼元變換成為 “v”碼。在其他條件下,讓原代碼照常輸出。插“v”模塊的程序框圖如圖 4 所示。 圖圖 3 3 hdb3hdb3 碼編碼器模型碼編碼器模型 2.42.4 插插“b b”模塊的實(shí)現(xiàn)模塊的實(shí)現(xiàn) 插“b”模塊的功能是保證附加“v”符號(hào)后的序列不破壞“極性交替反轉(zhuǎn)”造成的

13、無直 流特性,即當(dāng)相鄰“v”符號(hào)之間有偶數(shù)個(gè)非 0 符號(hào)的時(shí)候,把后一小段的第 1 個(gè)“0” 變換成一個(gè)非破壞符號(hào)“b”符號(hào)。插“b”模塊的程序框圖如圖 5。 圖圖 4 4 插插“v”“v”模塊的程序框圖模塊的程序框圖 2.52.5單雙極性變換模塊的實(shí)現(xiàn)單雙極性變換模塊的實(shí)現(xiàn) 根據(jù) hdb3 的編碼規(guī)則,我們可以知道, “v”的極性是正負(fù)交替的,余下的“1”和 “b”看成一體且是正負(fù)交替的,同時(shí)滿足“v”的極性與前面的非零碼極性一致。由此 我們可以將其分別進(jìn)行極性變換來實(shí)現(xiàn)。從前面的程序知道, “v” 、 “b” 、 “1”已經(jīng)分別 用雙相碼“11” 、 “10” 、 “01”標(biāo)識(shí), “0”用

14、“00”標(biāo)識(shí),所以通過以下的程序可以很容 易實(shí)現(xiàn)。如下圖 6 為實(shí)現(xiàn)極性變換功能的流程圖。 圖圖 5 5 插插“b”“b”模塊的程序框圖模塊的程序框圖 “01”:標(biāo)識(shí)為+1; “11”:標(biāo)識(shí)為-1; “b”符號(hào)的極性與前一非零符號(hào)相反, “v”極性符號(hào)與前一非零符號(hào)一致。因此將 “v”單獨(dú)拿出來進(jìn)行極性變換(由前面已知“v”已經(jīng)由“11”標(biāo)識(shí),所以很好與其他 的代碼區(qū)別) ,余下的“1”和“b”看成一體進(jìn)行正負(fù)交替,這樣就完成了 hdb3 的編碼。 圖圖 6 6 實(shí)現(xiàn)極性變換功能的流程圖實(shí)現(xiàn)極性變換功能的流程圖 三三、 實(shí)實(shí)驗(yàn)驗(yàn)結(jié)結(jié)果果及及討討論論 經(jīng)過多次的排查和修改,以及總結(jié),使用編譯器編

15、譯,編譯器提示編譯文件正確,再下 載到 epm240t100c5 芯片中進(jìn)行調(diào)試,示波器顯示波形與仿真波形一致,達(dá)到了本次課 設(shè)設(shè)計(jì)的目標(biāo)。 quartus 軟件仿真波形如下圖 7: 輸出為 4 位,高 2 位為符號(hào)位(01=+1 11=-1 00=0) ,低 2 位為數(shù)值位(00=0 01=1 11=v 10=b) 上圖中 code_out 是十進(jìn)制顯示,例如“7” ,即“0111” ,實(shí)則“+v” 。 圖圖 7 7 系統(tǒng)仿真波形圖系統(tǒng)仿真波形圖 四四、 心心得得體體會(huì)會(huì) 分頻的時(shí)候分的盡量大一些,我們的是 2 的 8 次方分頻,導(dǎo)致的結(jié)果是仿真的時(shí)候 需要設(shè)定很大的時(shí)間,也就導(dǎo)致了仿真時(shí)間

16、的加長。 此次專業(yè)綜合課程設(shè)計(jì),讓我受益匪淺。課設(shè)之初,我們認(rèn)真查找、學(xué)習(xí)了關(guān)于 hdb3 編譯碼和 quartus 軟件的資料和文獻(xiàn)作為課程設(shè)計(jì)的知識(shí)儲(chǔ)備。經(jīng)過自己的努力, 在老師耐心細(xì)致的指導(dǎo)和同學(xué)的幫助下,我順利完成了課程設(shè)計(jì),也掌握了專業(yè)綜合系 統(tǒng)設(shè)計(jì)的基本方法,達(dá)到了預(yù)期的目的。 本次課程設(shè)計(jì)是為了培養(yǎng)我們的動(dòng)手能力,學(xué)好專業(yè)知識(shí),光滿足于課本是不夠的。 正所謂“紙上得來終覺淺,絕知此事要躬行” ,實(shí)踐才能出真知。我體會(huì)到成功就是在不 斷摸索著前進(jìn)中實(shí)現(xiàn)的,遇到問題我們不能灰心、煩躁,甚至放棄,而要靜下心來仔細(xì) 思考,分部檢查,找出最終的原因進(jìn)行改正,這樣才會(huì)有進(jìn)步,才會(huì)一步步向自己

17、的目 標(biāo)靠近,才會(huì)取得自己所要追求的成功。另外,我要感謝學(xué)院給了我這次學(xué)習(xí)和研究的 機(jī)會(huì),我還要感謝王立老師的悉心輔導(dǎo)和同學(xué)的幫助,我學(xué)到了很多東西,感受頗深。 有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐, 就沒有弄不懂的知識(shí),解決不了的問題。除此之外,我也發(fā)現(xiàn)了自己的不足,語言表達(dá) 能力還不夠強(qiáng),編程能力還不足,有些預(yù)先的想法都未能實(shí)現(xiàn)。我相信通過查閱相關(guān)資 料,不斷開闊眼界,并在以后的實(shí)踐中不斷磨練自己,能力一定會(huì)有提高。 五五、 參參考考文文獻(xiàn)獻(xiàn) ll 通信原理.樊昌信,曹麗娜.國防工業(yè)出版社,2007 22 altera cpld maxii240_5

18、70 學(xué)習(xí)板使用指南 33 段吉海,黃智偉.基于 cpld/fpga 的數(shù)字通信系統(tǒng)建模與設(shè)計(jì).電子工業(yè)出版社, 2004 44 肖明波譯.通信系統(tǒng)仿真原理與無線應(yīng)用.機(jī)械工業(yè)出版社.2005 六六、 附附 錄錄 6.16.1 實(shí)驗(yàn)源程序及注釋實(shí)驗(yàn)源程序及注釋 /v 模塊程序 輸出與輸入之間關(guān)系 :01=1 11=v 00=0 module insert_v(clk,code_in,code_out); input clk,code_in; output code_out; reg 1:0 code_out; reg 2:0 count=0; /記錄 0 的個(gè)數(shù) always(posedge

19、clk) begin if(code_in=0) begin count=count+1; if(count=3) /連續(xù)出現(xiàn) 4 個(gè) 0,輸出為 v,并清零 count begin code_out=b11; count=0; end else code_out=b00; end else if(code_in=1) begin code_out=b01; count=0; end else code_out=b00; end endmodule /b 模塊程序 輸出與輸入之間關(guān)系 :00=0 01=1 11=v 10=b module insert_b(clk,code_in,code_o

20、ut); input clk; input 1:0 code_in; /b 模塊的輸入為 v 模塊的輸出 output 1:0 code_out; /b 模塊的輸出為兩位 reg 1:0 code_out; reg count=0; /count 記錄兩次 000v 之間 1 的個(gè)數(shù)的奇偶,若為奇數(shù)個(gè),不變,否則變 為 b00v reg 1:0 s1=0,s2=0,s3=0; /移位寄存器 reg firstv=0; /表示是否出現(xiàn)了 000v always(posedge clk ) begin s1=code_in; /每次在時(shí)鐘上升沿的時(shí)候以為移位寄存器移一位 s2=s1; s3=s2;

21、 if(code_in=b00) /輸入為 0,輸出不變 code_out=s3; else if(code_in=b01) /輸入為 1,輸出不變,奇偶改變 begin count=count+1; code_out=s3; end else if(code_in=b11) /輸入為 v begin if(firstv=0) /判斷之前是否出現(xiàn)了 000v begin firstv=1; /沒出現(xiàn),則輸出不變,并記錄此次 v code_out=s3; end else begin /之前出現(xiàn)了 000v,判斷出現(xiàn) 1 的奇偶性 if(count=0) code_out=b10; /1 的個(gè)數(shù)

22、為偶數(shù),輸出 b,否則輸出不變 else begin count=0; code_out=s3; end end end else code_out=b00; end endmodule /單雙極性變換模塊:01=+1 11=-1 00=0 module polarity(clk,code_in,code_out); input clk; input 1:0 code_in; /輸入為 b 模塊的輸出 output 3:0 code_out; /輸出為 4 位,高兩位表示極性 reg 3:0 code_out; reg flag; /判斷是否需要極性轉(zhuǎn)換 always(posedge clk)

23、 begin if(code_in=b00) /輸入為 0 碼時(shí),則輸出信號(hào)為 0000 code_out=2b00,code_in; else if(code_in=b11) /輸入為 v 時(shí),flag 不變,即極性不變 begin if(flag=1) code_out=2b11,code_in; else code_out=2b01,code_in; end else if(code_in=b01|code_in=b10) /輸入為 1 或 b 碼時(shí),flag3 取反,即極性改變 begin if(flag=1) begin code_out=2b01,code_in; flag=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論