




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄1. VHDL語言概述12. HDB3碼介紹22.1 AMI碼22.2 HDB3碼22.3 HDB3編碼規(guī)則33. 用VHDL語言設(shè)計(jì)HDB3編碼器53.1 HDB3編碼器實(shí)現(xiàn)的基本原理53.2 HDB3編碼器的設(shè)計(jì)過程63.2.1 插“V”模塊的實(shí)現(xiàn)63.2.2 插“B”模塊的實(shí)現(xiàn)73.2.3 單極性變雙極性的實(shí)現(xiàn)83.3 HDB3編碼仿真調(diào)試93.4 生成模塊105. 課設(shè)心得11參考文獻(xiàn)12附錄A13本科生課程設(shè)計(jì)成績評定表151. VHDL語言概述VHDL的全名是very-high-speed integrated circuit hardware description lang
2、uage,誕生與1982年。1987年底VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE發(fā)布了HDL標(biāo)準(zhǔn)版本后,各EDA公司相繼推出了自己的VHDL實(shí)際環(huán)境,或宣布自己的程序可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修正,從更高的抽象層次和系統(tǒng)描述能力擴(kuò)展VHDL的內(nèi)容。現(xiàn)在,VHDL和VERILOG作為IEEE的工業(yè)硬件描述語言,又得到了眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件
3、特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。162. HDB3碼介紹數(shù)字基帶信號的傳輸是數(shù)字通信系統(tǒng)的重要組成部分之一。在數(shù)字通信中,有些場合可不經(jīng)過載波調(diào)制和解調(diào)過程,而對基帶信號進(jìn)行直接傳輸。為使基帶信號能適合在基帶信道
4、中傳輸,通常要經(jīng)過基帶信號變化,這種變化過程事實(shí)上就是編碼過程。于是,出現(xiàn)了各種各樣常用碼型。不同碼型有不同的特點(diǎn)和不同的用途。作為傳輸用的基帶信號歸納起來有如下要求:1 希望將原始信息符號編制成適合與傳輸用的碼型;2 對所選碼型的電波形,希望它適宜在信道中傳輸。可進(jìn)行基帶傳輸?shù)拇a型較多。2.1 AMI碼AMI碼稱為傳號交替反轉(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 、或0 -1 +1 -1 0 0 +1 0 、AMI碼的特點(diǎn):(1)
5、無直流成分且低頻成分很小,因而在信道傳輸中不易造成信號失真。(2)編碼電路簡單,便于觀察誤碼狀況。(3)由于它可能出現(xiàn)長的連0串,因而不利于接受端的定時(shí)信號的提取。2.2 HDB3碼這種碼型在數(shù)字通信中用得很多,HDB3碼是AMI碼的改進(jìn)型,稱為三階高密度雙極性碼。它克服了AMI碼的長連0傳現(xiàn)象。NRZ,AMI,HDB3碼之間的對應(yīng)關(guān)系:假設(shè)信息碼為0000 0110 0001 0000,對應(yīng)的NRZ碼、AMI碼,HDB3碼如圖所示。圖 1 NRZ ,AMI,HDB3碼型圖分析表現(xiàn),AMI碼及HDB3碼的功率譜不含有離散譜fS成份(fS1/TS,等于位同步信號頻率)。在通信的終端需將他們譯碼為
6、NRZ碼才能送給數(shù)字終端機(jī)或數(shù)/模轉(zhuǎn)換電路。在做譯碼時(shí)必須提供位同步信號。工程上,一般將AMI或HDB3碼數(shù)字信號進(jìn)行整流處理,得到占空比為0.5的單極性歸零碼(RZ|0.5TS)。由于整流后的AMI,HDB3碼中含有離散譜fS,故可用一選頻網(wǎng)絡(luò)得到頻率為fS的正弦波,經(jīng)整形、限幅、放大處理后即可得到位同步信號。2.3 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符號(+1或-1)同極性的符號,用V表示(+1記為+V,-1記為-V(3)檢查相鄰V符號間
7、的非0符號的個(gè)數(shù)是否為偶數(shù),若為偶數(shù),則再將當(dāng)前的V符號的前一非0符號后的第1個(gè)0變?yōu)?B或-B符號,且B的極性與前一非0符號的極性相反,并使后面的非0符號從V符號開始再交替變化。HDB3碼的特點(diǎn)如下:(1)基帶信號無直流成分,且只有很小的低頻成分;(2)連0串符號最多只有3個(gè),利于定時(shí)信息的提??;(3)不受信源統(tǒng)計(jì)特性的影響。HDB3編碼舉例如下:圖 2 HDB3編碼實(shí)例3. 用VHDL語言設(shè)計(jì)HDB3編碼器設(shè)計(jì)要求:掌握HDB3碼的編碼原理,設(shè)計(jì)通信系統(tǒng)框圖,畫出實(shí)現(xiàn)電路原理圖,編寫VHDL語言程序,上機(jī)調(diào)試、仿真,記錄實(shí)驗(yàn)結(jié)果波形,對實(shí)驗(yàn)結(jié)果進(jìn)行分析。3.1 HDB3編碼器實(shí)現(xiàn)的基本原理
8、從編碼規(guī)則來分析,這個(gè)設(shè)計(jì)的難點(diǎn)之一是如何判決是否應(yīng)該插“B”,因?yàn)檫@涉及到由現(xiàn)在事件的狀態(tài)決定過去事件狀態(tài)的問題。按照實(shí)時(shí)信號處理的理論,這是沒辦法實(shí)現(xiàn)的。但在實(shí)際的電路中,可以考慮用寄存器的方法,首先把信碼寄存在寄存器里,同時(shí)設(shè)置一個(gè)計(jì)數(shù)器計(jì)數(shù)兩個(gè)“V”之間“1”的個(gè)數(shù),經(jīng)過4個(gè)碼元時(shí)間后,由一個(gè)判偶電路來給寄存器發(fā)送是否插“B”的判決信號,從而實(shí)現(xiàn)插“B”功能。不過,信號處理的順序不能像編碼規(guī)則那樣:首先把代碼串變換成為AMI碼,完成插“V”、插“B”工作之后,其后的“+1”和“-1”的極性還要依據(jù)編碼規(guī)則的規(guī)定變換。這樣做需要大量的寄存器,同時(shí)電路結(jié)構(gòu)也變的復(fù)雜。若把信號處理的順序變換
9、一下:首先完成插“V”工作,接著執(zhí)行插“B”功能。最后實(shí)現(xiàn)單極性變雙極性的信號輸出。這樣做的好處是:輸入進(jìn)來的信號和插“V”、插“B”功能電路中處理的信號都是單極性信號,且需要的寄存器的數(shù)目可以少很多。另外,如何準(zhǔn)確識別電路中的“1”、“V”和“B”。因?yàn)椤癡”和“B”符號是人為標(biāo)識的符號,但在電路中最終的表現(xiàn)形式還是邏輯電平“1”。解決的方法是利用了雙相碼,將其用二進(jìn)制碼去取代。例如代碼: 1 1 0 0 1 0雙相碼 10 10 01 01 10 01 這樣就可以識別電路中的“1”、“V”、“B”。也可以人為地加入一個(gè)標(biāo)識符(其最終目的也是選擇輸出“1”的極性)??刂埔粋€(gè)選擇開關(guān),使輸出“
10、1”的極性能按照編碼規(guī)則進(jìn)行變化。3.2 HDB3編碼器的設(shè)計(jì)過程圖 3 HDB3編碼設(shè)計(jì)流程整個(gè)HDB3編碼器包含3個(gè)功能部分:插“V”、插“B”和單極性碼轉(zhuǎn)變成雙極性碼。下面將詳細(xì)介紹各個(gè)部分的設(shè)計(jì)流程、編寫的源程序模擬仿真的波形圖。3.2.1 插“V”模塊的實(shí)現(xiàn)(1)插“V”模塊的建模插“V”模塊的功能實(shí)際上就是對消息代碼里的四連0串的檢測即當(dāng)出現(xiàn)四個(gè)連0串的時(shí)候,把第四個(gè)“0”變換成為符號“V”(即將其置“1”,先不考慮符號問題),而在其他情況下,則保持消息代碼的原樣輸出。插“V”符號的設(shè)計(jì)思想很簡單:首先判斷輸入的代碼是什么(用一個(gè)條件語句判斷),如果輸入的是“0”碼,則接著判斷這是
11、第幾個(gè)“0”碼,則把這一位碼元變換成為“V”碼。在其他條件下,讓原代碼照常輸出。(2) 插”V”模塊的程序設(shè)計(jì)如前考慮,插”V”模塊須加入一個(gè)變量enjudge,用來作為插”V”符號的標(biāo)志。在進(jìn)程(process)中,通過if語句完成插”V”功能。假設(shè)輸入一串代碼,根據(jù)設(shè)計(jì)思想,輸入代碼與插入”V”符號之后的關(guān)系如下:代碼 : 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0插V后:1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 1圖 4 插“V”流程圖3.2.2 插“B”模塊的實(shí)現(xiàn)插“B”模塊的功能是保證附加“V”符號后的序列不破壞“極性交替反轉(zhuǎn)”造成的無直流特性,
12、即當(dāng)相鄰“V”符號之間有偶數(shù)個(gè)非0符號的時(shí)候,把后一小段的第1個(gè)“0”變換成一個(gè)非破壞符號“B”符號。插“B”模塊是這個(gè)設(shè)計(jì)遇到的第一個(gè)難點(diǎn),因?yàn)樗婕暗揭粋€(gè)由現(xiàn)在事件的狀態(tài)決定過去狀態(tài)的的問題。其中還有如何確定是“1”,還是“V”的問題。處理難點(diǎn)的思路是:首先把碼元(經(jīng)插“V”處理過的)放入一個(gè)4位的移位寄存器里,在同步時(shí)鐘的作用下,同時(shí)進(jìn)行是否插“B”的判決,等到碼元從寄存器里出來的時(shí)候,就可以決定是應(yīng)該變換成“B”符號,還是照原碼輸出。要進(jìn)行插“B”判決,首先要知道哪一個(gè)是“V”,此時(shí)之前的插“V”判斷符號起了作用(enjudge)。由于標(biāo)志量與輸出量有延時(shí),此時(shí)加了一個(gè)記錄“V”位置的
13、計(jì)數(shù)器,插“V”后開始計(jì)數(shù),用以記錄“V”。再有奇偶判斷標(biāo)志(parity)決定是否插“B”。在進(jìn)程中利用if語句判斷輸出極性與符號。圖 5 插“B”流程圖3.2.3 單極性變雙極性的實(shí)現(xiàn)根據(jù)HDB3的編碼規(guī)則,我們可以知道,“V”的極性是正負(fù)交替的,余下的“1”和“B”看成一體且是正負(fù)交替的,同時(shí)滿足“V”的極性與前面的非零碼極性一致。由此我們可以將其分別進(jìn)行極性變換來實(shí)現(xiàn)。根據(jù)編碼規(guī)則,“B”符號的極性與前一非零符號相反,“V”極性符號與前一非零符號一致。因此將“V”單獨(dú)拿出來進(jìn)行極性變換,余下的“1”和“B”看成一體進(jìn)行正負(fù)交替,這樣就完成了HDB3的編碼。這個(gè)部分遇到的難點(diǎn)在于:在Ma
14、x plus軟件仿真過程中,它無法識別“-1”,在它的波形仿真中只有“1”和“0”。因此在這里采用了雙相碼來分別表示“-1”、“+1”、“0”程序中所定義的“00”、“01”、“11”代表0、+1、-1,從而達(dá)到設(shè)計(jì)所需結(jié)果。3.3 HDB3編碼仿真調(diào)試全“1”碼輸入:圖 6 “+1”和“-1”交替此時(shí)為全“1”碼輸入。不存在插“V”插“B”的判斷,輸出結(jié)果為“01”“11”的交替即雙極性碼的“+1”“-1”的交替,由此可指此部分的程序運(yùn)行符合要求。全“0”碼輸入:圖 7 “B00V”輸出由于是全“0”碼輸入,奇偶判斷符的結(jié)果都是偶,輸出結(jié)果為“B00V”,“B”極性與前面的非零符號相反,“V
15、”與對應(yīng)的“B”符號相同,可驗(yàn)證程序運(yùn)行符合要求。輸入碼隨機(jī):一路信碼經(jīng)過插V補(bǔ)B后的輸出波形仿真圖,輸出相對與輸入延時(shí)了5個(gè)脈沖周期。data_out表示二位二進(jìn)制碼輸出,默認(rèn)01為+1,11位-1。CLOCK為時(shí)鐘脈沖信號。圖 8 HDB3碼輸出輸入為:1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0輸出為:11 01 11 01 11 01 11 0 0 11 01 0 0 01 11 01 11 0 0 0 01此時(shí)的輸出符合HDB3編碼規(guī)則,可驗(yàn)證程序整體符合要求,輸出正確。3.4 生成模塊利用Max plus本身的功能,將運(yùn)行正確的VHDL程序保存
16、,并生成模塊,保存頂層文件,得到hdb3_coding1.gcf文件。圖 9 生成模塊添加波形仿真文件驗(yàn)證模塊功能:圖 10 模塊波形輸出根據(jù)波形輸入為:1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1輸出為:11 0 0 0 11 01 0 0 01 00 11 01 11 0 0 11 01 11編碼輸出正確,符合HDB3編碼,驗(yàn)證得模塊文件符合要求,此次課程設(shè)計(jì)成功。5. 課設(shè)心得通過一步步有條不紊的分析和思考,更重要的是在設(shè)計(jì)中,根據(jù)實(shí)際情況,對設(shè)計(jì)初期的思想做不斷完善和改進(jìn),因?yàn)樵谠O(shè)計(jì)之前的思路,只能說是一個(gè)大體的方向,很多時(shí)候,實(shí)際的操作和設(shè)計(jì)要細(xì)致和復(fù)雜的多
17、,或者原來的想法根本就行不通,得從實(shí)際設(shè)計(jì)的角度一步步來完成了這樣一個(gè)系統(tǒng)設(shè)計(jì)。通過這次課程設(shè)計(jì),讓我學(xué)到了很多知識,也獲得很多體會(huì),這是自己將平日學(xué)的理論知識應(yīng)用到實(shí)際操作中的一次很好的實(shí)踐。才明白:實(shí)際操作和設(shè)計(jì),并不是像學(xué)習(xí)理論知識那么簡單,會(huì)理論不等于就會(huì)應(yīng)用,很多都是經(jīng)驗(yàn)的東西,需要在自己的努力設(shè)計(jì)中才能慢慢體會(huì)到,設(shè)計(jì)多了,才會(huì)經(jīng)驗(yàn)中找到設(shè)計(jì)自如的感覺。就像我,對于VHDL語言,開始也沒有什么太大的感覺,看書的時(shí)候,很清楚明白它的設(shè)計(jì)結(jié)構(gòu)和流程是什么樣的,但是一旦拋開書本,開始自己編程序的時(shí)候,不是這里忘了定義,就是那里忘了結(jié)構(gòu)方式;但是,到了現(xiàn)在,在不斷實(shí)踐編程中,程序設(shè)計(jì)的流程
18、和一些要注意的地方,我都記得很清楚,能很容易的編寫一段簡單的程序了,也不用看書本幫忙了,這些都是光靠看書本得不到的經(jīng)驗(yàn),是我最大的收獲。雖然說,整個(gè)系統(tǒng)還存在很多不足,但是,我也并不感到有太多的遺憾,因?yàn)槊鎸ψ约喝齻€(gè)月的辛勤勞動(dòng)的成果,心里更多的還是萬分喜悅!不足之處總是有的,這些就是自己今后需要努力的地方,只要不斷的朝著自己的目標(biāo)的努力,很快就會(huì)有解決的那一天!附錄A基于VHDL語言HDB3編碼程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hdb3_coding is por
19、t( data_in :in std_logic; clock :in std_logic; data_out :out std_logic_vector(1 downto 0);end hdb3_coding;architecture rtl of hdb3_coding is signal reg :std_logic_vector(3 downto 0); signal parity :std_logic; -記錄破壞點(diǎn)間1碼個(gè)數(shù)的奇偶性 signal judge_v :std_logic; -判斷是否有破壞符 signal grant_cnt:std_logic; -允許開始計(jì)算破壞點(diǎn)
20、間的1碼個(gè)數(shù) signal last_sign:std_logic; -上一輸出的符號 signal v_cnt :std_logic_vector(2 downto 0);-v點(diǎn)位置跟蹤計(jì)數(shù)器 begin process(clock) - 移位寄存器 ,插V begin if rising_edge(clock) then if data_in='0' and reg(3 downto 1)="000" then reg<=('1' & reg(3 downto 1); judge_v<='1' gran
21、t_cnt<='1' else reg<=data_in & reg(3 downto 1); judge_v<='0' grant_cnt<='0' end if; end if; end process; process(clock) -計(jì)數(shù) begin if rising_edge(clock) then if grant_cnt='1' and data_in='0' then parity<='0' elsif grant_cnt='1' and data_in='1' then parity<='1' elsif data_in='1' then parity<=not parity; end if; end if; end process; process(clock) -V點(diǎn)跟蹤 begin if rising_edge(clock) then if judge_v='1' then v_cnt<="000" elsif v_cnt="111" then v_cnt<=v_cnt;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國男士襯衫行業(yè)發(fā)展分析及競爭格局與發(fā)展趨勢預(yù)測報(bào)告
- 2025至2030中國電子汽缸鎖憑證行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國田園綜合體行業(yè)發(fā)展規(guī)模及前景規(guī)劃研究報(bào)告
- 2025至2030中國現(xiàn)代化養(yǎng)豬場行業(yè)市場發(fā)展分析及發(fā)展前景策略與投資報(bào)告
- 2025至2030中國物聯(lián)網(wǎng)云平臺行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 《護(hù)理交接班制度》考試試題(附答案)
- 學(xué)生情緒管理教育心理學(xué)的實(shí)踐
- 教育App在家庭學(xué)習(xí)場景的創(chuàng)新
- 班干部培訓(xùn)總結(jié)
- 學(xué)習(xí)動(dòng)機(jī)與教師激勵(lì)制度的設(shè)計(jì)
- 信念的力量課件
- 金蟬的養(yǎng)殖管理
- 大海(張雨生)原版五線譜鋼琴譜正譜樂譜
- 有限空間作業(yè)實(shí)操評分標(biāo)準(zhǔn)
- 規(guī)劃展覽館方案-南京軍區(qū)軍史館布展總體方案
- 精品案例-LTE負(fù)荷均衡優(yōu)化案例
- (完整版)煤礦主扇司機(jī)考試卷(含答案)
- 雙柏縣工業(yè)用大麻開發(fā)種植實(shí)施計(jì)劃方案
- 租賃房屋交接清單
- 吊頂檢驗(yàn)報(bào)告(共5頁)
- (完整版)10KV電力線路施工組織設(shè)計(jì)方案
評論
0/150
提交評論