新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的光纖通信系統(tǒng)的設計與實現

基于FPGA的光纖通信系統(tǒng)的設計與實現

作者: 時間:2012-06-25 來源:網絡 收藏

3.2 編碼器設計
從編碼的種類看,直流平衡8B/10B編碼可分為數據字符編碼和控制字符編碼兩種,但是從編碼的組成看,它又可分為3B/4B編碼、5B/6B編碼兩部分。根據圖3 8B/10B編碼模塊圖將編碼器設計劃分為3個模塊:3B/4B編碼模塊、5B/6B編碼模塊和Dispartity運算模塊?;赩erilog語言的8B/10B編碼模塊圖,如圖4所示。

本文引用地址:http://m.butianyuan.cn/article/190204.htm

j.JPG


datain[8:0]為編碼數據輸入引腳。datain[4:0]為5位5B/6B編碼數據輸入端,即為ABCDE,其中E為最高位,分別用ai、bi、ci、di和ei表示每一位。datain[7:5]為3位3B/4B編碼數據輸入端,即FGH,其中H為最高位,分別用fi、gi和hi表示每一位。datain[8]為控制字符編碼標示位,用ki表示,ki為1表示為控制字符編碼,為0表示為數據字符編碼。dispin為8B/10B編碼前的RD輸入引腳;dispout為8B/10B編碼后的RD輸出引腳。dataout[9:0]為編碼數據輸出引腳。dataout[5:0]為8B/10B編碼后5B/6B編碼模塊對應輸出引腳。dataout[6:9]為
8B/10B編碼后3B/4B編碼模塊對應輸出引腳。

a.JPG


8B10B編碼器ModelSim仿真波形如圖5所示。其中datain、dispin、dispout和dataout分別為圖4編碼模塊圖對應的信號。仿真時選取了D31.2(RD+)、D31.0(RD-)、D28.0(RD+)和K28.0(RD+)作為仿真輸入信號。

4 NRZI編/解碼的實現
NRZI(Non-Return to Zero Inverted不歸零反轉)編碼是在數據位1時發(fā)生跳變,為0時保持不變的一種編碼。在光線通信中,由于光纖固有的特性,信號長時間的置0或置1容易造成數據傳輸錯誤,應當盡量避免這種情況發(fā)生,NRZI編碼能夠很好地解決這一問題。前面的8B/10B編碼已經在很大程度上緩解了這個問題,但為了進一步提高數據傳輸質量,在8B/10B編碼的基礎上加入一級NRZI編碼。
4.1 NISEI編碼器設計
NRZI的編碼規(guī)則是:數據位為1時發(fā)生跳變,為0時保持當前狀態(tài)。圖6為本設計采用的NRZI編碼電路。其中,DFF為D觸發(fā)器,XOR為異或門;data_in為數據信號輸入端,數據來自編碼后的8B/10B碼;clock為NRZI編碼時鐘,clock時鐘頻率為data_in碼元速率的2倍頻(由倍頻電路實現);NRZI_data為NRZI編碼器輸出。

b.JPG


下面以一具體實例說明NRZI的編碼過程。8B/10B碼D30.0(011110 0100)和D7.1(111000 0100)編碼后的波形圖如圖7所示。經NRZI編碼后信號狀態(tài)變化更加頻繁,這些狀態(tài)變化使得接收器能夠持續(xù)地與輸入信號向相適應,這樣就保證了發(fā)送設備和接收設備之間的同步。由于8B/10B碼的有效編碼中都至少有4位“1”,從而保證了傳輸的信號至少發(fā)生4此跳變,以利于接收端的時鐘提取。

c.JPG



評論


相關推薦

技術專區(qū)

關閉