版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 光纖通信系統(tǒng)5b6b碼譯碼的設計與仿真中文摘要在電力系統(tǒng)通信中,數字光纖通信由于其本身的優(yōu)點得到越來越廣泛的應用。在數字光纖通信系統(tǒng)中,從電端機傳輸過來的電信號均要結合數字光纖通信傳輸的特點經過線路碼型的轉換。通過線路碼型的轉變平衡數字碼流中的“0”和“1”碼字,從而避免碼流中出現長“0”或者長“1”的現象。在數字光纖通信系統(tǒng)中比較常用的線路碼型就是mbnb碼型,mbnb線路碼型的最大優(yōu)點是最大相同碼元連碼數少、定時信息豐富、且有簡單成熟的誤碼監(jiān)測與碼組同步的方法。5b6b碼編碼是將自己編寫的數據按照一定的規(guī)律,編成6b碼流后輸出;而譯碼則是將傳輸到接收機的6b碼流,翻譯成5b碼流后輸出。5
2、b6b碼譯碼的過程是編碼的逆過程,本文主要涉及到的是譯碼的過程,譯碼部分由序列產生模塊、緩沖模塊以及譯碼模塊構成。這篇論文重要介紹了光纖通信系統(tǒng)的優(yōu)缺點,組成以及發(fā)展趨勢;常見的線路碼型;quartus2軟件的介紹;5b6b碼的譯碼原理和設計,最后對程序以及電路譯碼的仿真,最終得到正確的結果。關鍵詞:5b6b碼譯碼;fpga;vhdl 語言;quartus2 軟件;波形仿真5b6b code decoding of optical fiber communication system design and simulation abstractin power system communica
3、tion, digital optical fiber communication because of its advantages to get itself more and more widely used. in the digital optical fiber communication system, from the electric machine transmission to come over to the electrical signals to combine the characteristics of the digital optical fiber co
4、mmunication transmission via the line type conversion. through balance the digital stream line type 0 and 1 in the code word, thus avoiding stream in 0 or 1 long. are frequently used in the digital optical fiber communication system in the line type is mbnb type, the biggest advantage of this type i
5、s the same biggest mbnb line element even less yards, timing, abundant information, simple and mature method of error monitoring and synchronization code group.5b6b code coding is to write your own data, according to certain rules into after 6b stream output; the decoding is 6b stream will be transm
6、itted to the receiver, after translated into 5b stream output. 5b6b code decoding is the process of the inverse process of coding, this paper mainly involves is the process of decoding, decoding part produced by sequence module and buffer module and decoding module. this paper the advantages and dis
7、advantages of important optical fiber communication system are introduced, the composition and development trend; common line type; the introduction of quartus2 software; 5b6b code decoding principle and design, finally, the decoding process and circuit simulation, finally get the correct result. ke
8、y word:5b6b decoding; fpga; vhdl language; quartus2 software; waveform simulation目錄第一章 光纖通信系統(tǒng)11.1光纖通信的優(yōu)點與缺點11.2光纖通信系統(tǒng)的組成21.3光纖通信的發(fā)展趨勢2第二章 光纖通信中的線路編碼42.1線路擾碼42.2mbnb碼52.3插入碼5第三章 quartus2 軟件的簡單介紹63.1 創(chuàng)建工程文件63.2 設計輸入63.3 設計項目編譯73.4 項目的仿真73.5 編程下載7第四章 5b6b碼譯碼94.1 5b6b碼譯碼原理94.2 5b6b碼譯碼的設計104.3 譯碼電路的電路模塊劃
9、分104.3.1序列產生模塊114.3.2譯碼模塊114.4 5b6b碼譯碼的vhdl程序設計124.4.1 序列產生模塊的設計與仿真124.4.2 緩沖電路模塊的設計與仿真154.4.3 譯碼模塊的設計與仿真174.4.4 頂層原理圖的設計與仿真204.5禁碼的還原224.6 5b6b碼譯碼設計與仿真總結23第五章 結束語24參考文獻25致謝26附錄1:圖表目錄i附錄2:5b6b碼碼碼表ii附錄3:序列產生模塊make_6b代碼iii附錄4:緩沖電路的程序代碼iv附錄5:譯碼模塊decode_change6bto5b代碼iv 第一章 光纖通信系統(tǒng) 高錕博士在1966年提出了光纖通信,此后光纖
10、通信的迅速發(fā)展遠遠超出了人們的想象,并且以其獨特的優(yōu)點掀起了通信領域的革命性改革。無論人們是在玩電腦,打電話還是在購物,我們無時無刻都在使用著光纖通信技術,即我們每次通過電子設備進行的遠距離通信,就是在使用光纖通信技術。從光纖通信系統(tǒng)的鏈路上來看,光纖是指光發(fā)射機與光接收機之間的強大鏈路,并且它有著強大的運載信息能力,在目前看來,我們對帶寬日益增長的需求,除了光纖通信系統(tǒng)以外,再也沒有其他的途徑可以滿足我們這一需求了1。1.1光纖通信的優(yōu)點與缺點沒有好的光源以及理想的傳輸煤質這兩大因素曾嚴重地阻礙了光纖通信向實用化的方向發(fā)展,在目前看來,這些因素都得到了非常圓滿的解決。1982年后光纖通信的迅
11、速發(fā)展促進了光纖產業(yè)化應用,因此光纖的需求量呈現了指數規(guī)律的增長趨勢。光纖在世界各國的各個領域都得到廣泛應用,它也成為了高質量的信息傳輸的重要手段。在光纖通信系統(tǒng)中,載波的光波頻率要比電波頻率高,但是對于傳輸介質的光纖又比同軸電纜或者波導管的損要低,所以相對于電纜通信來說,光纖通信有以下優(yōu)點: 抗電磁干擾性能很好 泄漏小,保密性能很好 重量比較輕,體積也很小 頻帶很寬,傳輸的容量比較大 節(jié)約材料,有利于資源合理利用 損耗小,誤碼率小,中繼距離長, 事情都是有利有弊的,光纖通信有很多的優(yōu)點,但是也存在著一些弊端,如下: 抗拉強度比較低。在抗拉強度方面,光纖的抗拉強度要遠大于鋼的。光纖在的生產過程
12、的中,表面會多多少少存在一些微型的裂痕,為了保護光纖可以增加涂覆層,或者增加一些特殊的抗拉元件。 光纖連接比較困難。在光纖的連接上,必須使兩根光纖的纖芯特別細,并且要加上石英,因為石英的熔點很高,這樣才能使得光纖的連接損耗小,所以總體來說,光纖的連接還是很困難的2。1.2光纖通信系統(tǒng)的組成光纖通信系統(tǒng)的組成有光發(fā)射機、光纖和光接收機,每個部分如下圖所示。光發(fā)射機光接收機光纖信道光源光耦合器光檢測器光解調器光耦合器光調制器圖1光纖通信系統(tǒng)的組成 光發(fā)射機主要由光源、光耦合器以及光調制器組成。光發(fā)射機主要負責將電信號轉換為光載波并且還要通過光耦合器注入到光纖信道中。光源采用與光纖通信信道兼容的發(fā)光
13、管或者是激光器。光調制器主要用來完成由光載波到光信號的調制。光耦合器利用微透鏡,以它最大的效率將光信號注入到光纖信道中。光纖起著光信號通道的作用。光纖將光信號沒有變化的從光發(fā)射機傳送到光接收機中去。光纖的衰減系數決定了長途光纖通信系統(tǒng)的中繼器或者放大器的間距。光纖通信系統(tǒng)的傳輸距離和傳輸速率主要受光纖的色散系數來限制。光接收機主要由光解調器、光檢測器以及光耦合器組成。光接收機主要負責將光纖輸出端接受到的光信號變換成原來的電信號。光解調器主要是利用直接光強度調制技術,通過判決電路來辨別光檢測器所產生的電信號幅值是比特“0”或者是“1”,來完成對光的解調。光檢測器主要是用來實現光電轉換的。光耦合器
14、則是將接收到的光信號集合至光檢測器3。1.3光纖通信的發(fā)展趨勢隨著現代科技技術的進步,電信的改革及電信市場對外的全方面開放,再一次地呈現了光纖通信蓬勃發(fā)展的新新局面,以下介紹的就是光纖通信領域中的幾個主要的發(fā)展趨勢:1、向超高速系統(tǒng)的方向發(fā)展網絡容量的需求以及提高傳輸速率一直以來都是在過去20多年的電信發(fā)展史上的一對非常主要的矛盾。每當傳輸速率提高時,傳輸每比特的成本就會下降,所以說高比特率的經濟效益會按照一定的指數規(guī)律來增長。2、 向超大容量wdm系統(tǒng)的演進 波分復用的好處是: 光纖的帶寬資源,可以擴大傳輸的容量; 長距離傳輸時可以通過節(jié)約光纖來降低成本; 引進寬帶新業(yè)務,與電調制方式以及信
15、號速率無關;3、 實現了光聯網波分復用系統(tǒng)的基礎是點到點的通信,所以在一定程度上來說,其靈活性以及它的可靠性還不夠完善。光聯網的好處有: 實現了網絡的透明性; 實現了網絡快速恢復; 實現了網絡的擴展性; 實現了超大容量的光網絡; 實現了網絡的可重塑性,以提高靈活性;4、 新型光纖隨著ip業(yè)務量的增長而增長傳統(tǒng)的g.652單模光纖不能夠適應長距離超高速傳送網絡的發(fā)展需要了,因此需要開發(fā)出新型的光纖。而在此時電信網正向下一代可持續(xù)發(fā)展的方向努力發(fā)展著,新一代的非零色散光纖的設計思路是在1550窗口工作波長區(qū)具有合適的較低色散,可以不需要色散的補償來支持長距離的傳輸4。第二章 光纖通信中的線路編碼
16、光纖通信系統(tǒng)中,從輸出端輸出來的都是雙極性碼。然而光源是不可以發(fā)射出負的光脈沖的,所以碼型的變換在這種情況下是非常重要的。在光纖通信系統(tǒng)中,“無光脈沖”表示“0”碼,“有光脈沖”表示“1”碼,它采用的都是二電平碼,這種碼也存在著以下問題: 在隨機的碼流中,極易出現長串連碼,即長連“0”碼和長連“1”碼,這樣會帶來位同步信息的丟失,會造成定時誤差。 不能進行在線的誤碼檢測,而且也適合于長距離通信。 因此在光纖通信系統(tǒng)中線路碼型的傳輸透明性很重要的,具體的要求如下: 為了減小隨機波動,必須限制信號的帶寬,減小高低頻分量,以此來提高靈敏度。 給光接收機足夠的定時信息,保證定時信息足夠豐富。 合理地減
17、小冗余度。線路編碼是數字光發(fā)射機中的重要組成部分,其主要是將電端機輸出的代碼按照光纖通信系統(tǒng)的基本要求來進行碼型的相關變換。在光纖通信系統(tǒng)中,常用的線路碼型有:擾碼,mbnb碼以及插入碼5。2.1線路擾碼 線路擾碼就是對輸入的二進制序列進行轉換,這樣這個二進制序列就會接近隨機的序列。然后再接收端再將擾碼解擾還原,因此保證了信息傳輸的透明度。在系統(tǒng)光發(fā)射機的調制器前面可以增加一個擾碼器,這樣做的目的是保證傳輸的透明性,以此來將原始的二進制碼序列進行一些簡單的變換,讓其基本上接近于隨機序列。如:擾碼前序列:1100000011000擾碼后序列:1101110110011 m序列可以用來實現擾碼器,
18、在發(fā)射端產生m序列,然后將m序列與信息序列做模二加的運算,這樣輸出來的就是經過加擾的隨機序列了。解擾器在使用相同的擾碼序列與接收到的序列做模二加運算,用來恢復原始的信息。擾碼也有它的一些缺點:不能控制連續(xù)碼的出現;不能在線誤碼檢測;不能夠解決隨機波動。2.2mbnb碼該碼型又稱為塊碼、分組碼以及字母平衡型碼等等。在一般情況下都是nm。將輸入的二進制碼每mb分成一組作為一個碼字,將輸入的碼字在相同的時間間隔內,根據一定的編碼規(guī)則,將其變換成nb一組的新碼字,最后以不歸零或歸零格式傳輸這些新碼流,此新碼就是mbmb碼。m,n都為正整數,且多數用n=m+1這種形式,經過一些變換,線路碼速率就會相比原
19、二進制碼率提高了n/m倍。常見的有1b2b,2b3b,3b4b,4b5b,5b6b碼,8b9b等,其中5b6b碼在高次群光纖通信系統(tǒng)中用得比較頻繁。mbnb碼的編碼原理以最簡單的1b2b碼(曼徹斯特碼)即將原碼中的“0”碼變換為“01”碼,將“1”碼變成“10”碼6。2.3插入碼 插入碼是將原始輸入的二進制碼按照每m比特一組進行分組操作,然后在每組碼的后面插入一個碼字,組成一組新的線路碼型長度為m+1,插入碼根據其插入碼字的規(guī)律不同可以分為以下幾種碼型:mb1c碼、mb1h碼以及mb1p碼7。 第三章 quartus2 軟件的簡單介紹quartus2是美國altera公司研制的第四代有關pld
20、的開發(fā)軟件,這款軟件是適合單芯片可編程系統(tǒng)(sopc)的最全面的設計環(huán)境。quartus2軟件所支持的器件有很多,如max3000a、max 7000b、max 7000s、max7000ae、max2、mercury、cyclone、cyclone 2、stratix2、stratix gx、stratix、flex6000、flex10k、flex10ka以及flex0ke等。quartus2軟件包的編程器可以提供功能強大的設計處理,因為它是整個系統(tǒng)的主要部分,設計者可以通過增加一定的約束條件來提高芯片的利用率。quautus2軟件有它自帶的仿真器與綜合器,這些可以用來完成從設計輸入到硬件
21、配置的整個設計過程。它可以支持altera的ip核,并且含有一些宏功能模塊庫8。quartus2軟件的項目設計過程可以劃分為下面幾個步驟:設計流程如下圖所示 輸入電路 創(chuàng)建新工程 項目編譯 項目仿真 編程下載 圖2 項目設計過程的步驟3.1 創(chuàng)建工程文件在quartus2軟件上創(chuàng)建一個新的工程。所謂工程就是你的設計的描述、設置、數據以及輸出的整個集合,此軟件會將這些存儲在不同類型文件集中放在同一個文件夾下,所以要創(chuàng)建一個工程。創(chuàng)建一個新的工程步驟如下: 打開quartus2軟件,點擊“file”,選擇“new project wizard”; 在新彈出的窗口中分別鍵入新工程的工作路徑、項目名稱
22、以及實體名稱,且項目名稱和實體名稱要一致; 然后用鼠標點擊下方的“finish”按鈕即可完成對新工程的創(chuàng)建。3.2 設計輸入 在設計輸入之前還有重要的一步是電路的設計部分,在整個系統(tǒng)的設計之前首先必須進行的是方案的論證、系統(tǒng)的設計以及fpga芯片的選擇等等。一般來說采用的設計方案都是自頂向下的,即將整個系統(tǒng)劃分為若干個小模塊,然后再每個模塊劃分為下一個層次的小模塊,直到直接可以調用元件庫里的元件。設計輸入是將所設計的電路按照開發(fā)系統(tǒng)要求的形式表達出來的過程9。設計輸入有如下三種方式: 原理圖輸入方式。這種方式非常適合于對各部分電路都很熟悉的設計。 硬件描述語言輸入方式。硬件描述語言就是用文本方
23、式描述出來的設計,硬件描述語言有abel、ahdl、vhdl、verilog等。 波形輸入方式。 一般常用的設計輸入方式是和,我的本次設計采用的是原理圖輸入的方式。3.3 設計項目編譯 打開“processing”菜單,點擊“start compilation”即可執(zhí)行項目的編譯功能,編譯器將運行預先指定的各個模塊的功能。編譯成功后,編譯器將會產生相應的輸出文件。如果有錯誤出現,編譯器將停止編譯,并會相應的給出錯誤的信息欄,用鼠標點擊“error”的信息條,一般下可以指出錯誤的地方,以便修改,直至所有的錯誤均消除后,系統(tǒng)就會彈出編譯成功的窗口10。3.4 項目的仿真仿真檢查綜合結果是否與原先要
24、設計的項目功能是否一致。項目的編譯成功,需要做的就是對每個模塊的功能進行仿真測試,來查看設計的結果是否滿足原先設計的基本要求。仿真分為功能仿真、時序仿真以及波形仿真。功能仿真僅僅測試設計的邏輯功能;而時序仿真首先要測試邏輯的功能,而且還要測試有關設計的一些目標器件;波形仿真是在波形編輯器中將設計的邏輯功能用波形圖的形式顯示,通過查看波形圖來檢查設計的邏輯功能是否符合設計的要求。波形仿真的步驟包括新建波形文件、設置波形仿真器、插入仿真節(jié)點、編輯輸入波形、運行仿真器、檢查輸出波形是否符合設計要求等。3.5 編程下載編程下載之前必須把下載線將計算機與硬件連接好,然后打開電源: 打開編程窗口和配置文件
25、。選擇toolpromgrammer,彈出編程窗口。注意核對一下下載路徑與文件名,如果此文件沒有出現或者出錯,需要手動來選擇配置文件。最后單擊start按鈕,進入下載操作。 設置編程器。 器件編程就是編譯和波形仿真正確后,quartus2將生成的如.pof和.sof等編程數據文件通過下載電纜載到預先選擇的fpga芯片中。下載成功后,該fpga芯片就會執(zhí)行設計文件描述的功能。器件編程的步驟可以分為:編程硬件連接、編程文件的產生、運行編程操作。器件編程操作成功后,查看fpga功能與設計文件描述的功能是否一致即可。第四章 5b6b碼譯碼4.1 5b6b碼譯碼原理 5b6b碼譯碼是編碼過程的逆過程,也
26、就是將發(fā)送端送來的已變換的6b信號碼流,按照每6比特分為一組,然后讀出5b碼流。5b6b碼譯碼簡單的講就是將6b的數據怎樣變成是5b的數據。5b6b碼譯碼的實現的方法主要有兩種:一種是用集成電路來實現,另一種是用碼表類實現。我用的是第二種方法實現的。5b6b碼線路碼型編碼是將二進制數據流每5bit劃分為個字組,然后在相同時間段內按一個確定的規(guī)律編碼為6bit碼組代替原5bit碼組輸出。原5bit二進制碼組有25共32種不同組合,而6bit二進制碼組有26共64種不同組合。所以不可能是一一對應的映射。為了使“0”碼“1”碼出現的機會相同,為了減小直流漂移和避免出現長連“0”和長連“1”的碼組,必
27、須要進行碼組的變換。為解決這個問題,必須要進行6b的碼表設計。而其它的碼組作為不允許使用的碼組和禁用碼組,如6b碼流“011000000110”、“111111”、“000000”前者是由于使用了不允許使用的碼組而造成的;后者是由于使用了禁止碼組。有了碼表,就可以按照碼表進行設計了。6bit碼組的64種組合中碼組數字和wds值分布情況是:wds0的碼組有c63 =20個 wds2的碼組有c62 + c64=30個wds4的碼組有c61 +c65 =12個 wds6的碼組有c60 +c66 =2個選擇6bit碼組的原則是使線路碼型的功率譜密度中無直流分量,最大相同碼元連碼和小,定時信息豐富,編碼
28、器、譯碼器和判決電路簡單且造價低廉等等。因為根據線路傳輸要求,應盡量選擇游程差值小的碼組11。據此原則選擇6bit碼組的方法為:d4、d6的6bit碼組舍去(共14種),作為禁止碼組(或稱“禁字”)處理。d0、d2的六位碼組都有取舍,并且取兩種編碼模式:一種模式是d0、2,稱模式i;另一種模式是d0、2,稱模式ii。當采用模式i編碼時,遇到d2的碼組后,后面編碼就自動轉換到模式ii,在模式ii編碼中遇到d2的碼組時編碼又自動轉到模式i。碼表見附表。碼表設計是有一定的原則的: “0”碼和“1”碼出現的機會相同; 減少相同符號連續(xù)數的數量; 選取d值較小的碼組。mb碼字變換到nb碼字都是按照預先設
29、定的碼表進行的,碼表的不同將會產生不同的線路碼。它的線路碼速只比原始碼速增加百分之二十,但是變換以及逆變換電路并不復雜。5b6b碼線路碼型也有一定的缺點,主要是:有誤碼擴散,即當傳輸線路碼中發(fā)生一個誤碼后,在譯碼變換為原信源碼時會產生幾個誤碼,使平均誤碼劣化,其可視為對接收靈敏度造成一定的功率損失12。4.2 5b6b碼譯碼的設計5b6b碼譯碼就是5b6b編碼過程的逆過程,它包含了序列產生模塊、緩存電路和譯碼電路模塊,與編碼相似。根據fpga系統(tǒng)開發(fā)的設計步驟,把5b6b碼的譯碼電路分成若干模塊。由fpga的主要設計方法。自頂向下的設計原則,可以將5b6b碼的譯碼電路的功能行為用原理框圖表示出
30、來。進而可以設計出各功能模塊。6b碼組5b碼組譯碼的輸出譯碼的輸入譯碼原理圖如下所示: 緩存電路譯碼電路序列產生模塊本地時鐘輸入時鐘變頻器圖3譯碼原理圖譯碼器的工作原理:同本地脈沖的驅動下,通過時鐘變頻器產生5b碼和6b碼所需要的時鐘脈沖,輸入的碼流通過序列產生模塊和緩存電路模塊產生6b碼組,再通過譯碼電路,譯碼成相應的5b碼組,這樣就可以完成了5b6b碼碼組的還原,輸出即可13。該模塊的功能是將序列產生模塊產生的序列進行譯碼。譯碼的方法是通過調用碼表來實現的。即把碼表當成是一種映射條件,輸入幾位得就調用幾次。如輸入24位的就需要調用4次。4.3 譯碼電路的電路模塊劃分由上面的提到的譯碼電路的
31、原理框圖,在設計時,結合實際和vhdl語言的描述特性,可把譯碼電路劃分為以下模塊。它們分別是:序列產生模塊、緩沖模塊、譯碼模塊和頂層模塊。以下是這四個模塊的設計思路以及相關的編寫程序。4.3.1序列產生模塊 序列產生模塊是由按鍵cout控制的,當cout為0時清零,cout為2時輸出序列一個24位的序列,因為在設計時采用的是循環(huán)技術,它可以避免信號的重疊和覆蓋 ,所以可以產生所需要的目標序列:6b序列。cout按鍵的值可以控制輸出的序列值,數據經過編碼過后將變成是六位的序列。在quartus2軟件下5b6b碼譯碼將采用由頂到下的設計方法,譯碼是比較復雜,模式的轉換容易出錯,所以我們一定要注意模
32、式的轉換,然后還有禁碼的簡單處理。禁碼的處理可以見后面一節(jié)。4.3.2譯碼模塊 譯碼模塊的作用主要是負責輸入的并行碼組的譯碼。依然采用本地時鐘作為其工作時鐘。這個譯碼模塊是整個5b6b碼譯碼設計的核心部分。在整個譯碼過程中,當然還要解決很多的問題,主要要解決的問題有:監(jiān)視和禁碼處理問題,時序同步問題等14。在6b碼中,在本設計中我選擇的是其中的46個碼組,在碼表的每種模式下都有一些禁碼,所謂禁碼就是出現而沒有采用的碼組。根據光纖通信實際情況來看,本設計用“重傳”的方法來解決這一問題或者根據禁字還原表來確定其信源碼。譯碼過程可以采用case語句來表達。在線路傳輸時,注入一定數量的冗余碼,冗余碼是
33、按照一定的規(guī)律計算出來的。在接收端,在對6b數據進行計算,比較二次計算得來的冗余碼,看是否相同。如果相同,則傳輸無錯誤;不同則傳輸有錯誤。譯碼過程用vhdl語言描述:如case a is when 011000 = q q q= 00001;4.4 5b6b碼譯碼的vhdl程序設計之前提到的模塊劃分,是為了進一步了解5b6b碼譯碼模塊設計的過程。在具體的實際設計時,一個大模塊中可以在劃分為若干小模塊。為了使代碼變得簡單點,把串并轉換和并串轉換可以合并為一個模塊,可根據實際需要再設計模塊。4.4.1 序列產生模塊的設計與仿真該模塊的主要功能是產生一個24位的序列。當按鍵cout=0時,make_
34、6b模塊清零,輸出是24位的全零;當cout=1、2、3、4、5、6、9、10時,分別輸出一份是24位的序列;當cout=7時輸出高阻態(tài)值;當cout=8時,輸出禁碼“111111111111111111111111”。編譯成功,經過封裝后創(chuàng)建的元件make_6b邏輯框圖 圖4 make_6b封裝后的框圖 該元件圖是可以方便后期的頂層文件設計。仿真成功后,仿真圖形如下: 在make_6b模塊中,當cout=0時,清零了這一模塊,從圖中可以看出輸出decode_ymin是一個24位的零值仿真之后的圖形如下:圖5 make_6b cout=0時產生的仿真圖下圖為make_6b cout=2時的仿真
35、圖,當cout=2時輸出值為“100110011001100110011001”。由下圖的仿真結果可以看出是仿真正確的。圖6 make_6b cout=2時產生的仿真圖下圖為make_6b cout=5時仿真圖,當cout=2時輸出值為“101010101010101010101010”。由下圖的仿真結果可以看出是仿真正確的。圖7 make_6b cout=5時產生的仿真圖 下圖為make_6b cout=8禁碼時產生的仿真圖,為了在模擬序列光纖傳輸時受到干擾,所以變成是禁碼。當cout=8時,將輸出禁碼“111111111111111111111111”。從輸出仿真圖形可以看出仿真結果是正確
36、的。圖8 make_6b cout=8時產生的仿真圖 由以上幾個波形仿真可以看出make_6b模塊的vhdl程序設計是正確的。此模塊的vhdl代碼可以參見附錄。4.4.2 緩沖電路模塊的設計與仿真 緩沖電路的作用是等序列產生電路序列產生好了以后,在進行輸出譯碼。在序列產生模塊make_6b和譯碼模塊decode_change6bto5b之間,起到一定的速度緩沖作用。需要通過按鍵set來操作.如當set=1時使能。程序的流程圖如下:等于1 set不等于1 decodein 高阻態(tài)圖9 緩沖電路huanchong_cir流程圖編譯成功,經過封裝后創(chuàng)建的元件huanchong_cir邏輯圖圖10 h
37、uanchong_cir框圖仿真成功后,仿真圖形如下: 下圖為huanchong_cir模塊中 set=0時的仿真圖。當set=0時低電平將不輸出輸入值,而輸出一個高組態(tài)值,即一組隨機值。從圖中我們可以看出仿真結果是正確的。圖11 huanchong_cir reset=0時仿真圖 下圖為 huanchong_cir模塊中的 set=1時的仿真圖。當set=1時,高電平有效,把輸入傳給輸出,從圖中我們可以看出仿真結果是正確的。圖12 huanchong_cir set=1時仿真圖 由以上幾個波形仿真可以看出huanchong_cir 模塊的vhdl程序設計是正確的,此模塊的vhdl代碼可以參見
38、附錄。4.4.3 譯碼模塊的設計與仿真該模塊的功能是將序列產生模塊產生的序列進行譯碼。譯碼的方法是通過調用碼表來實現的。即把碼表當成是函數,輸入幾位得就調用幾次。如輸入24位的就需要調用4次15。這樣可以簡化代碼。子程序不可像進程那樣可以從其他進程中進行賦值操作,而只能調用后進行端口映射;函數的return的數字類型不能加寬度。decode_change6bto5b程序清零賦值給decode_output ,而不能給decode_ymout因為進程里面必須是中間信號,而不可是外部引腳。程序的流程圖如下:decodein24位decodeout20位譯碼圖13譯碼decode_change6bt
39、o5b流程圖編譯成功,經過封裝過后創(chuàng)建的元件decode_change6bto5b邏輯框圖圖14 decode_change6bto5b邏輯框圖 仿真成功后,仿真圖形如下: 下圖為decode_change6bto5b 模塊中,reset=0時仿真圖。當reset=0時將復位,直接在輸出端口decode_ymout輸出20為的零值。從圖中的仿真結果可以看出仿真是正確的。圖15 decode_change6bto5b reset=0時仿真圖 下圖為decode_change6bto5b 模塊中,reset=1時仿真圖。6b碼為“101010101010101010101010”,通過譯碼模塊,輸
40、出的5b碼流為“10101101011010110101”,通過查詢碼表可以看出此仿真結果是正確的。圖16 decode_change6bto5b reset=1時仿真圖(無禁碼) 下圖decode_change6bto5b模塊是禁碼時的仿真,輸出結果為“00000000001010110101”為正確結果。圖17 decode_change6bto5b禁碼時仿真圖 由以上幾個波形仿真可以看出decode_change6bto5b這一模塊的vhdl程序設計是正確的。此模塊的vhdl代碼可以參見附錄。4.4.4 頂層原理圖的設計與仿真其實頂層文件的設計可以用各模塊的實體連接電路圖來實現。這樣做的
41、好處是方便易懂易實現,也可以直接通過vhdl語言的描敘來完成。頂層原理圖的流程圖如下: make_6bhuanchong_cirdecode_change6bto5b圖18 頂層文件_decode流程圖 整個5b6b碼碼碼的譯碼變換頂層文件原理圖如下圖所示:圖19 頂層文件的原理圖編譯成功后,仿真圖形如下: 下圖為_decode頂層模塊中 ,cout=0時的清零仿真圖。圖 20_decode cout=0清零仿真圖 下圖為_decode模塊中cout=5時,輸入6b碼“101010101010101010101010”無禁碼輸入時的仿真圖。當沒有禁碼輸入時,就可以根據前面設計的碼表來進行譯碼。
42、輸出的5b碼流為“1010110101101011010110101”,經查碼表可以看出譯碼結果是正確的。即整個系統(tǒng)的譯碼仿真圖是正確的。圖21 _decode 無禁碼輸入時仿真圖 下圖為禁碼時的輸入,cout=8時的輸入為禁碼,6b輸入的碼流為“111111111111111111111111”5b的輸出碼流為“000000000000000000000000”經驗證該仿真結果是正確的。圖22 _decode 輸入禁碼時的仿真圖 由以上幾個波形仿真可以看出_decode模塊的vhdl程序設計是正確的,到此時,整個5b6b碼的譯碼仿真就結束了。此模塊的vhdl代碼可以參見附錄。4.5禁碼的還原編碼的碼表出來以后,就要考慮進一步確定譯碼的方案了。在6b碼64種線路碼中,大部分在碼表中都已經有了對應的解碼信息,可以直接解碼。在碼表中沒有定義的禁碼如何來尋找它們的譯碼呢?理想的情況下是不可能出現禁碼的,但是實際的信息傳輸過程中,是有可能出現禁字的。所以在這種情況下,得依靠建立禁字還原表來將禁字與信源碼對應起來。建立禁字還原表可以分為三個步驟來進行:(1) 根據禁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人房屋租賃定金協議及租賃合同終止補償條款2篇
- 2025年廣東高州市鑒龍水務建設投資集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025版企業(yè)員工股權激勵協議(限制性股權實施)3篇
- 2025年度個人反擔保財產保全執(zhí)行實施合同
- 2025年全球及中國雙相抽提修復系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國商用卡車機電開關行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年度二零二五年度高端個人雇傭員工勞動合同標準化范本4篇
- 探索現代青年教育的創(chuàng)新之路
- 2024食品行業(yè)食品安全風險評估與管控合同模板3篇
- 小學數學教育中的個性化學習與自主學習結合實踐
- 高考日語基礎歸納總結與練習(一輪復習)
- 《預防犯罪》課件
- 【企業(yè)作業(yè)成本在上海汽車集團中的應用研究案例7300字(論文)】
- 高中物理答題卡模板
- 化學用語專項訓練
- 芳香植物與芳香療法講解課件
- 不孕癥診斷、治療新進展課件
- 學校食堂食品質量控制方案
- 天津2021公需課量子信息技術答案
- 切實加強領導干部的作風建設課件
評論
0/150
提交評論