李欣,管紹軍,胡曉天
(哈爾濱理工大學(xué) 測(cè)控技術(shù)與儀器黑龍江省高校重點(diǎn)實(shí)驗(yàn)室,黑龍江 哈爾濱 150080)
光纖收發(fā)器與FPGA技術(shù)相結(jié)合的方案是現(xiàn)在光纖通信系統(tǒng)的主流解決方案。目前,在超高速光纖通信中還多采用專用的ASIC芯片,但最近各FPGA廠商也相繼推出了40Gbps、4x10Gbps、100Gbps 和 10x10Gbps 等 FPGA 芯片 ,使基于FPGA超高速光纖通信的實(shí)現(xiàn)成為可能。FPGA的可編程特性,具有ASIC芯片無(wú)法比擬的優(yōu)越性。所以基于FPGA的光纖通信有很大的現(xiàn)實(shí)意義。
光纖通信系統(tǒng)主要由位同步時(shí)鐘提取模塊、8B/10B編解碼器模塊和NRZI編解器模塊組成,主要功能框圖如圖1所示。數(shù)據(jù)經(jīng)8B/10編碼后,能在很大程度上平衡位流中0與1的個(gè)數(shù),而NRZI編碼又做了進(jìn)一步的平衡,主要是為了使信號(hào)狀態(tài)變化趨于頻繁以便位同步時(shí)鐘提取模塊更好、更快的提取出位同步時(shí)鐘。編碼后的信號(hào)為L(zhǎng)VTTL電平信號(hào),先經(jīng)電平轉(zhuǎn)換模塊轉(zhuǎn)換為PECL電平信號(hào),再由光發(fā)送接收模塊轉(zhuǎn)換為光信號(hào)送入光纖傳輸介質(zhì)。經(jīng)光纖傳輸后,在接收端先經(jīng)光發(fā)送接收模塊把光信號(hào)轉(zhuǎn)換為PECL電平信號(hào),再由電平轉(zhuǎn)換模塊把PECL電平信號(hào)轉(zhuǎn)換為L(zhǎng)VTTL電平信號(hào),同時(shí)位同步時(shí)鐘提取模塊提取出同步時(shí)鐘,為解碼模塊提供參考時(shí)鐘。最后,接收到的數(shù)據(jù)經(jīng)解碼后數(shù)據(jù)輸出。
圖1 光纖通信系統(tǒng)結(jié)構(gòu)Fig.1 Fiber communication system block schematic diagram
在數(shù)字通信系統(tǒng)中,任何消息都是通過(guò)一連串的碼元序列傳送的,所以接收時(shí)需要知道每個(gè)碼元的起止時(shí)刻,以便在恰當(dāng)?shù)臅r(shí)候取樣判決。這就要求接收端必須提供一個(gè)位定時(shí)脈沖序列,該序列的重復(fù)頻率與碼元速率相同,相位與最佳取樣判決時(shí)刻一致。這種提取定時(shí)脈沖序列的過(guò)程稱為位同步。同步性能的好壞直接影響通信系統(tǒng)的性能,出現(xiàn)同步誤差或失去同步就會(huì)導(dǎo)致通信系統(tǒng)性能下降或通信中斷。
提取位同步信號(hào)有多種方法,其中最常用的是數(shù)字鎖相法。其基本原理[1]是:在接收端利用鑒相器比較接收碼元和本地產(chǎn)生的位同步信號(hào)的相位,若兩者相位不一致(超前或滯后),鑒相器就產(chǎn)生誤差信號(hào)去調(diào)整位同步信號(hào)的相位,直至獲得準(zhǔn)確的位同步信號(hào)為止。本設(shè)計(jì)采用數(shù)字鎖相法提取位同步時(shí)鐘,主要由鑒相器、分頻器和相位選擇調(diào)整模塊等幾大部分組成。其功能框圖如圖2所示。
圖2 位同步時(shí)鐘提取功能框圖Fig.2 Extraction of bit synchronization signal block schematic diagram
CLK_local是利用FPGA內(nèi)部的鎖相環(huán)倍頻后得到的高穩(wěn)定度、高頻時(shí)鐘。CLK1是CLK_local經(jīng)N次分頻后得到的,分頻系數(shù)N要求滿足分頻后的時(shí)鐘CLK1等于所要提取出的位同步時(shí)鐘R_clk。Din為接收到的碼元。Valid為超前、滯后鑒相器的使能輸出,Up_Down為超前、滯后鑒相器的比較輸出,Valid為邏輯0時(shí)關(guān)閉模增/減計(jì)數(shù)器,Valid為邏輯1時(shí)開(kāi)啟模增/減計(jì)數(shù)器,如果位同步時(shí)鐘滯后時(shí)Up_Down的輸出為邏輯0,使模增/減計(jì)數(shù)器進(jìn)行減計(jì)數(shù),如果位同步時(shí)鐘超前時(shí)Up_Down的輸出為值為邏輯1,使模增/減計(jì)數(shù)器進(jìn)行增計(jì)數(shù)。
接收到的碼元經(jīng)超前、滯后鑒相器后,如果位同步時(shí)鐘滯后則計(jì)數(shù)器減計(jì)數(shù),從而通過(guò)多路選擇器后減少一個(gè)單位的延遲,反之如果位同步時(shí)鐘超前則計(jì)數(shù)器進(jìn)行增計(jì)數(shù),從而通過(guò)多路選擇器后增加一個(gè)單位的延遲。
8B/10B編碼(以下簡(jiǎn)稱8B/10B)作為一種高性能的串行數(shù)據(jù)編碼標(biāo)準(zhǔn),其基本思想就是將一個(gè)字節(jié)寬度的數(shù)據(jù)經(jīng)過(guò)映射機(jī)制(Mapping Rule)轉(zhuǎn)化為10為寬度的字符,但是平衡了位流中0與1的個(gè)數(shù),也就是所謂的直流平衡特性。同時(shí)規(guī)定位流中0或1的游程長(zhǎng)度(Run Length)的最大值不能大于5,以使得傳輸過(guò)程保持足夠高的信號(hào)變換頻率,這樣不僅確保了時(shí)鐘恢復(fù)也使得信息流的直流頻譜分量為零或近乎為零,而正是這些特性使得8B/10B編碼特別適合光纖等介質(zhì)的連接和信息傳輸。
如圖3所示,通信適配接口的輸入由一個(gè)字節(jié)的數(shù)據(jù)(ABCDEFGH)、一個(gè)控制信號(hào)(Z)以及一個(gè)時(shí)鐘信號(hào)組成,其中時(shí)鐘采樣以字節(jié)為單位??刂菩盘?hào)Z是數(shù)據(jù)信號(hào)或控制信號(hào)的標(biāo)示位。輸入數(shù)據(jù)ABCDEFGH被分成兩部分,其中ABCDE經(jīng)5B/6B編碼生成6比特字符abcdei,而FGH經(jīng)3B/4B編碼得到fghj,最后組合輸出得到10比特的傳輸字符abcdeifghj。
圖3 8B/10B編碼模塊圖Fig.3 8B/10B encoding block schematic diagram
從編碼的種類看,直流平衡8B/10B編碼可分為數(shù)據(jù)字符編碼和控制字符編碼兩種,但是從編碼的組成看,它又可分為3B/4B編碼、5B/6B編碼兩部分。根據(jù)圖3 8B/10B編碼模塊圖將編碼器設(shè)計(jì)劃分為3個(gè)模塊:3B/4B編碼模塊、5B/6B編碼模塊和Dispartity運(yùn)算模塊?;赩erilog語(yǔ)言的8B/10B編碼模塊圖,如圖4所示。
圖4 8B/10B編碼模塊圖Fig.4 8B/10B encoding logic diagram
datain[8:0]為編碼數(shù)據(jù)輸入引腳。datain[4:0]為5位5B/6B編碼數(shù)據(jù)輸入端,即為ABCDE,其中E為最高位,分別用ai、bi、ci、di和 ei表示每一位。 datain[7:5]為 3 位 3B/4B 編碼數(shù)據(jù)輸入端,即FGH,其中H為最高位,分別用fi、gi和hi表示每一位。datain[8]為控制字符編碼標(biāo)示位,用ki表示,ki為1表示為控制字符編碼,為0表示為數(shù)據(jù)字符編碼。dispin為8B/10B編碼前的RD輸入引腳;dispout為8B/10B編碼后的RD輸出引腳。dataout[9:0]為編碼數(shù)據(jù)輸出引腳。dataout[5:0]為8B/10B編碼后5B/6B編碼模塊對(duì)應(yīng)輸出引腳。dataout[6:9]為8B/10B編碼后3B/4B編碼模塊對(duì)應(yīng)輸出引腳。
8B10B編碼器ModelSim仿真波形如圖5所示。其中datain、dispin、dispout和 dataout分別為圖 4編碼模塊圖對(duì)應(yīng)的信號(hào)。 仿真時(shí)選取了 D31.2 (RD+)、D31.0 (RD-)、D28.0(RD+)和 K28.0(RD+)作為仿真輸入信號(hào)。
圖5 8B/10B編碼器仿真波形圖Fig.5 8B/10B encoder simulation wave
NRZI(Non-Return to Zero Inverted不歸零反轉(zhuǎn))編碼是在數(shù)據(jù)位1時(shí)發(fā)生跳變,為0時(shí)保持不變的一種編碼。在光線通信中,由于光纖固有的特性,信號(hào)長(zhǎng)時(shí)間的置0或置1容易造成數(shù)據(jù)傳輸錯(cuò)誤,應(yīng)當(dāng)盡量避免這種情況發(fā)生,NRZI編碼能夠很好地解決這一問(wèn)題。前面的8B/10B編碼已經(jīng)在很大程度上緩解了這個(gè)問(wèn)題,但為了進(jìn)一步提高數(shù)據(jù)傳輸質(zhì)量,在8B/10B編碼的基礎(chǔ)上加入一級(jí)NRZI編碼。
NRZI的編碼規(guī)則是:數(shù)據(jù)位為1時(shí)發(fā)生跳變,為0時(shí)保持當(dāng)前狀態(tài)。圖6為本設(shè)計(jì)采用的NRZI編碼電路。其中,DFF為D觸發(fā)器,XOR為異或門;data_in為數(shù)據(jù)信號(hào)輸入端,數(shù)據(jù)來(lái)自編碼后的8B/10B碼;clock為NRZI編碼時(shí)鐘,clock時(shí)鐘頻率為data_in碼元速率的2倍頻 (由FPGA倍頻電路實(shí)現(xiàn));NRZI_data為NRZI編碼器輸出。
圖6 NRZI編碼電路Fig.6 NRZI encoding logic diagram
下面以一具體實(shí)例說(shuō)明NRZI的編碼過(guò)程。8B/10B碼D30.0(011110 0100)和 D7.1(111000 0100)編碼后的波形圖如圖7所示。經(jīng)NRZI編碼后信號(hào)狀態(tài)變化更加頻繁,這些狀態(tài)變化使得接收器能夠持續(xù)地與輸入信號(hào)向相適應(yīng),這樣就保證了發(fā)送設(shè)備和接收設(shè)備之間的同步。由于8B/10B碼的有效編碼中都至少有4位“1”,從而保證了傳輸?shù)男盘?hào)至少發(fā)生4此跳變,以利于接收端的時(shí)鐘提取。
圖7 NRZI編碼波形Fig.7 NRZI encoding wave
NRZI編碼器ModelSim仿真波形如圖8所示。data_in輸入數(shù)據(jù)分別為D30.0和D7.1。
圖8 NRZI編碼器仿真波形圖Fig.8 NRZI encoding simulation wave
NRZI解碼器設(shè)計(jì)是NRZI編碼器的逆過(guò)程。圖9為本設(shè)計(jì)采用的NRZI解碼電路。其中,DFF為D觸發(fā)器,XOR為異或門。NRZI_data為信號(hào)輸入端,數(shù)據(jù)來(lái)自經(jīng)光纖傳輸?shù)腘RZI碼;clock時(shí)鐘頻率同編碼起時(shí)鐘頻率,即為NRZI_data碼元速率的2倍 (由FPGA倍頻電路實(shí)現(xiàn));data_out為解碼器輸出。
圖9 NRZI解碼電路Fig.9 NRZI decoding logic diagram
NRZI解碼器ModelSim仿真波形如圖10所示。NRZI_data輸入數(shù)據(jù)分別為D30.0和D7.1編碼后的數(shù)據(jù)。
圖10 NRZI解碼器仿真波形圖Fig.10 NRZI decoding simulation wave
文中主要用Verilog語(yǔ)言編寫了位同步時(shí)鐘提取模塊、8B/10B編解碼模塊、NRZI編解碼模塊等來(lái)實(shí)現(xiàn)光纖通信。8B/10B編碼很好地平衡了位流中0和1的個(gè)數(shù),特別適合光纖介質(zhì)的信息傳輸;NRZI編碼使信號(hào)的狀態(tài)變化更加頻繁,進(jìn)一步增強(qiáng)了發(fā)送設(shè)備與接收設(shè)備的可同步性;位同步時(shí)鐘提取使得發(fā)送設(shè)備與接收設(shè)備保持同步,同時(shí)為接收端解碼器提供可靠的時(shí)鐘參考。這幾大模塊相輔相成,共同維持光纖通信系統(tǒng)可靠、高效的運(yùn)行。
[1]袁冰,來(lái)新泉,葉強(qiáng).一種高速串行數(shù)據(jù)發(fā)送器芯片的設(shè)計(jì)[J].電路與系統(tǒng)學(xué)報(bào),2008,13(2):79-82.
YUAN bing,LAI Xin-quan,YE Qiang.A high-speed serial data transmitter chip design[J].Circuits and Systems,2008,13(2):79-82.
[2]Fukaishi M,Nakamura K,Heiuchi H,et al.A 20-Gb/s CMOS Multichannel transmitter and receiver chip set for ultra-highresolution digital displays[J].IEEE Journal of Solid-State Circuits,2000,35(11):1611-1618.
[3]LI Jun,WANG Wei.PCI Express Interface Design and Verification Based on Spartan-6 FPGA[R].Nanjing, China,2010.
[4]齊亮.基于FPGA的光纖通信系統(tǒng)偏振模色散自適應(yīng)均衡器的設(shè)計(jì)[J].電路與系統(tǒng)學(xué)報(bào),2011,13(2):2-3.
YI Liang.Design of adaptive equalizer based on FPGA for pmd in optical fiber communication system[J].Circuits and Systems,2011,13(2):2-3.
[5]Tanabe A,Umetani M,F(xiàn)ujiwara I,et al.0.18-um CMOS 10-Gb/s multiplexer/demultiplexer ICs using current mode logic with tolerance to threshold voltage fluctuation [J].IEEE Journal of Solid-State Circuits,2001,36(6):988-996.
[6]XU Jia-mou,LI Xu-wen,JIA Ke-bin.The Research and Implementation of Interacing Based on PCI Express[C]//ICEMI’09 9th International Conference on Electronic Measurement&Instrument,2009.
[7]杭觀榮,康小錄.美國(guó)AEHF軍事通信衛(wèi)星推進(jìn)系統(tǒng)及其在首發(fā)星上的應(yīng)用[J].火箭推進(jìn),2011(6):1-8.
HANG Guan-rong,KANG Xiao-lu.Propulsion system of USA AEHF military communication satellite and its application on AEHF-1 satellite[J].Journal of Rocket Propulsion,2011(6):1-8.