王麗娟,李錦明,杜東海
(中北大學電子測試國家重點實驗室,儀器科學與動態(tài)測試教育部重點實驗室,太原030051)
基于FPGA的SFP光纖通信控制器的研究與設計*
王麗娟*,李錦明,杜東海
(中北大學電子測試國家重點實驗室,儀器科學與動態(tài)測試教育部重點實驗室,太原030051)
針對高速數(shù)據(jù)存儲器對光纖數(shù)據(jù)高速率、大容量的要求,設計了一種SFP(Small Form Pluggable)熱插拔小封裝模塊高速光模塊控制器。該設計采用Spartan-6 FPGA為核心控制器、高速串行技術為支撐,進行了接口電路的設計,且重點介紹了控制器的自定義協(xié)議的設計和仿真。通過分析集成比特誤碼率測試儀器(IBERT)測試和Chipscope抓取的數(shù)據(jù),驗證了光纖數(shù)據(jù)能夠以不低于1 Gbit/s的速率進行數(shù)據(jù)存儲。結果表明該設計具有封裝小,可移植性強等優(yōu)點,在某高速數(shù)據(jù)存儲器中已得到了成功應用。
光纖通信;高速串行; FPGA;SFP光模塊;高速數(shù)據(jù)存儲
在光纖通信領域,光模塊作為光纖通信的關鍵器件,小型封裝可熱插拔SFP(Small Form Pluggable)光模塊體積小,支持熱插拔,且提供了簡單的模塊運行使用和參數(shù)監(jiān)測手段,所以SFP光模塊成為研究人員的熱選,最新的光模塊速率已經達到10 Gbit/s及以上,且正在朝低噪聲、低誤碼率、遠距離傳輸方向發(fā)展。
國內外研究控制光模塊多選用光纖收發(fā)器與FPGA技術相結合的方案,為了速度的提升,多選用高端FPGA芯片,然而高端的控制平臺導致不理想的可擴展性、維護性,使得SFP的開發(fā)相對滯后,阻礙了其的廣泛使用。
考慮到速率與后期維護使用的平衡,本文采用較易開發(fā)的Spartan-6 FPGA為控制核心,基于其內部非常高效的高速串行收發(fā)器IP硬核模塊對SFP接口電路進行了大量的冗余設計,且其高效的自定義協(xié)議的實現(xiàn)也提高了模塊的集成度。系統(tǒng)具有易于維護,市場適應性強等優(yōu)勢。
項目來源:國家自然科學基金項目(61335008)
收稿日期:2015-08-17修改日期:2015-09-17
1.1高速光模塊SFP構造原理
SFP光模塊主要是為高速光纖通信鏈路中提供高速穩(wěn)定的光電/電光轉換功能的模塊,其主要由光電發(fā)射部分和光電接收兩大部分組成;光電發(fā)射部分則是用于將高速電信號轉化為高速光信號;而光電接收部分則是實現(xiàn)與發(fā)射部分互逆的一個過程,主要用于將高速光信號轉換為高速電信號,圖1為光電發(fā)射部分示意圖,圖2為光電接收部分示意圖。
圖1 光模塊發(fā)射部分示意圖
圖2 光模塊接收部分示意圖
光模塊部分激光器內部流通過的正向電流超過了一定閾值電流后它才能發(fā)出激光;APC單元是通過檢測背光二極管產生的光電流平均值來實現(xiàn)閉環(huán)控制的,用于實現(xiàn)偏置電流平穩(wěn)進而達到穩(wěn)定輸出光功率的目的;TEC溫度控制電路是通過利用溫度對激光波長的一種反饋控制電路。光電接收部分APD/PIN主要用于對一定波長范圍內的入射光進行光電轉化。
在本設計中,控制芯片選用xilinx的Spartan-6系列中的SLX100T型號的FPGA,內含101261個邏輯單元,184 304個邏輯的單元,并且含有692個分離RAM和4824個塊RAM,其中8個內嵌IP硬核高速串行收發(fā)器足夠本設計使用。為了保證配置成功的幾率和靈活的配置方式,設計了兼容SPI 和BPI的配置芯片掛載方式,支持串行和并行數(shù)據(jù)的傳輸。
2.1接口電路設計
因SFP光電模塊屬于高速精密器件,其工作頻率非常高,為使SFP能正常工作,它要求供電電壓的精度保證在±5%以內,供電電流需在300 mA以上,其用于濾波的電感的直流等效阻抗應該小于1 Ω,供電電源所產生的浪涌電流必須小于30 mA,并且電源還必須使用專有的濾波網絡,為此對于該部分電路設計務必非常嚴謹,圖3為SFP模塊的接口電路原理圖。因本設計中選定的FPGA芯片內部集成的高速串行收發(fā)器,并且被分配在了兩個不同的BANK(Bank123和Bank101)中,本設計的SFP光電模塊被設計在Bank123中,并指定其占用編號為0的高速串行收發(fā)器。
圖3 SFP接口電路
VCCT是用于為SFP模塊的發(fā)送部分供電的引腳;VCCR是用于為SFP模塊的接收部分供電的引腳;TD-/+是發(fā)射部分的差分信號輸入引腳,進行電路設計時傳輸鏈路上應該采用交流耦合方式,同時布線時應該保證差分傳輸線上的等效阻抗為100 Ω,其傳輸鏈路上的差分信號擺幅應該保持在500 mV~2 400 mV范圍內;RD-/+為接收部分差分信號輸出引腳,在進行電路設計時也必須和TD-/+一樣也應該采用交流耦合方式,同時布線時也應該保證差分傳輸線上的等效阻抗為100 Ω,其傳輸鏈路上的差分信號擺幅應該保持在370 mV~2 400 mV范圍內;Mod_Def1即是SFP模塊內部I2C模塊的時鐘線引腳;Mod_Def2即是SFP模塊內部I2 C模塊的數(shù)據(jù)線引腳;TX_Fault:開集/漏極輸出引腳,激光器失效時該引腳表現(xiàn)為高電平,當SFP模塊正常工作時該引腳表現(xiàn)為低電平(<0.8 V);TX_Disable:SFP模塊發(fā)送關斷使能輸入引腳,當SFP模塊關斷時該引腳表現(xiàn)為高電平(2 V~3.3 V),當該引腳懸空時其等價于關斷模式,當SFP模塊正常工作時該引腳表現(xiàn)為低電平(<0.8 V);LOS:開集/漏極輸出引腳,當SFP模塊的輸入光功率低于最差接收光功率時該引腳表現(xiàn)為高電平用于報警提示。
其光纖通路用到的FPGA內部的高速串行收發(fā)器對于外部參考時鐘的要求時鐘頻率的誤差應該穩(wěn)定在10×10-6(Parts Per Million)以內,并且要求時鐘必須有極低的抖動水平(皮秒(ps)級別),其參考時鐘為125 MHz的高速時鐘,最終選擇了ICS公司的高性能時鐘芯片ICS8440241I,ICS8440241I芯片產生的時鐘經過一個差分對輸出(Q0/NQ0),并且在差分傳輸線上采用了交流耦合方式,可進一步降低時鐘上的高頻干擾,布板時要求交流耦合電容必須盡可能靠近時鐘輸出引腳;該芯片的輸出時鐘范圍為122.5 MHz~170 MHz,并且當采用外部25 MHz晶振用于產生125 MHz時鐘時,其相位抖動僅有0.32 ps,其誤差穩(wěn)定在3×10-6以內,可以滿足SFP模塊的時鐘設計要求。
3.1SFP光纖鏈路高速串行收發(fā)器例化
Spartan-6系列的FPGA集成了非常高效的高速串行收發(fā)器IP硬核模塊,該模塊需要利用高速串行收發(fā)器作為底層物理基礎,且本設計中不考慮采用現(xiàn)成的接口協(xié)議,所以在此部分對于FPGA底層物理實現(xiàn)只通過IP核生成向導調用一個不帶任何協(xié)議的裸收發(fā)器,也即只包含了基本的物理編碼子層(PCS)和物理介質介入子層(PMA)的收發(fā)器,對于通信協(xié)議將采用自定義的方式實現(xiàn),圖4為一個裸收發(fā)器的示意圖,并將該裸收發(fā)器封裝后使其和上層協(xié)議控制之間通過GMII接口方式進行數(shù)據(jù)和命令的交互。
圖4 SFP光纖鏈路高速串行收發(fā)器
3.2SFP光纖鏈路通信協(xié)議定制
本設計中,光纖有效數(shù)據(jù)的傳輸速率即有效載荷速率設定為 1 Gbit/s,故選擇傳輸線的速率為1.25 Gbit/s,則剩余的20%載荷可用于幀頭、幀尾以及空閑標志的開銷。因為光纖傳輸時數(shù)據(jù)傳輸?shù)膬蓚€終端肯定會使用不同的振蕩器來驅動各自的收發(fā)器,所以必須考慮時鐘修正的問題,所以在定制數(shù)據(jù)幀長度時必須折衷其與時鐘修正的矛盾。
為折衷數(shù)據(jù)幀和時鐘修正之間的矛盾,就必須計算二者之間各自的界限,然后在二者之間選取一個中間值。本設計中的數(shù)據(jù)有效載荷要求為1 Gbit/s,總的帶寬為1.25 Gbit/s,假如選擇的數(shù)據(jù)幀中有效載荷為2 048 byte,假設協(xié)議字符序列開銷為10 byte(幀頭:2 byte,幀尾:2 byte,空閑標志:6 byte),則數(shù)據(jù)流中協(xié)議開銷率為10/2 058,約為5%,考慮到數(shù)據(jù)傳輸帶寬,設計要求所能承受的開銷為10%,所以就可以將數(shù)據(jù)幀縮小20倍;然而在進行時鐘修正時,則需要數(shù)據(jù)幀越小越好,假設系統(tǒng)要求高速串行收發(fā)器的參考時鐘精度要達到20×10-6,若將收發(fā)器的時鐘對齊符號設置為2個符號寬的空閑標志字符序列,則時鐘則最多每隔49 999(1 000 000/20-1=49 999)個字符符號必須進行一次時鐘修正。所以,空閑標志字符之間的距離應該小于這個數(shù)值,一般情況下要求其值小于最大空閑標志字符距離的1/3,本課題中選擇1/24作為最大空閑標志字符距離,即數(shù)據(jù)包長度約為2 083 byte,本課題選擇協(xié)議包長度為2 058 byte,而剩余的則全部填充空閑標志序列字符。至此,一個定制的通信協(xié)議就已建立。在本模塊中,發(fā)送器主要負責在傳輸鏈路中的高速串行數(shù)據(jù)流中插入足夠多的空閑標志序列字符,而接收器則負責從接收的高速串行數(shù)據(jù)流中剔除所有的空閑標志序列字符、幀頭序列字符和幀尾序列字符。最后,在接口處添加一些自定義的邏輯后再啟動8 byte/10 byte的高速串行收發(fā)器就可以完成整個協(xié)議了,圖5顯示了自定義協(xié)議的基本設置。
圖5 自定義協(xié)議格式
4.1光纖通信接口模塊仿真
協(xié)議定制好之后,遵照協(xié)議編寫控制程序,然后建立測試文件利用Modelsim仿真工具對該模塊進行波形仿真,仿真波形如圖6所示。
經過向導調用高速串行IP硬核和在IP硬核基礎上架構自定義的通信協(xié)議后,建立專門的測試文件(該測試文件的傳輸數(shù)據(jù)是連續(xù)遞增的數(shù)據(jù))。通過圖6可以看出,gmii_txd的發(fā)出數(shù)據(jù)遵循了自定義的協(xié)議包格式(0xfd 0xbc構成IDLE序列:K29.7 K28.5;0xbc 0xbc構成協(xié)議包SF序列:K28.5 K28.5;緊接之后的即是連續(xù)遞增的數(shù)據(jù)。),同時顯示器數(shù)據(jù)接收端也準確接收到所發(fā)送出的數(shù)據(jù)。對于高速串行接收端,通過將顯示器接收的數(shù)據(jù)傳遞給接收仿真激勵,然后再經過仿真?zhèn)鬟f給gmii_rxd,通過上圖可以看出數(shù)據(jù)也是按自定協(xié)議包格式接收的,故該模塊實現(xiàn)了SFP光模塊鏈路的正常通信。
圖6 SFP模塊仿真圖
4.2光纖鏈路測試
Spartan-6系列的FPGA中集成了非常高效的高速串行收發(fā)器IP硬核模塊,為了更簡潔的使用SFP模塊,通過自己定制協(xié)議的方式和其他模塊進行數(shù)據(jù)的交流;本設計使用了集成比特誤碼率測試儀器IBERT(Integrated Bit Error Ratio Tester)作為進行高速串行信號質量測試的輔助工具。首先在FPGA內部產生一個連續(xù)的數(shù)據(jù)流,通過SFP收發(fā)器經回環(huán)光纖線收發(fā)。測試時,先測試該模塊的高速串行收發(fā)器是否能夠正常工作,此步是通過示波器繪制出鏈路工作時的眼圖,通過眼圖觀測眼圖達到測試的目的;其次,通過光模塊的回環(huán)后,在FPGA內部通過對比發(fā)送和接受數(shù)據(jù)并通關過相應的指示燈進行標識的方式,進而驗證整個課題數(shù)據(jù)源前端的工作準確度和正確性。為保證測試平臺中的光纖回環(huán)通暢、SFP收發(fā)器以及SFP接口能正常工作,首先對光纖鏈路利用IBERT進行遠端回環(huán)測試。理論上在誤碼率保持在 10-10~10-12時,通信距離可以達到10 km及以上,通過圖7可以看出,該模塊的傳輸速率被正確鎖定,在回環(huán)光纖線為5 m時,模塊高速通信在傳輸數(shù)據(jù)量達到TB級別時,其比特誤碼計數(shù)仍然保持為0。所以該模塊能夠達到設計要求,可以進行下一步測試。
數(shù)據(jù)鏈路正常工作后,按照課題設計的自定義協(xié)議包在FPGA內部組織高速數(shù)據(jù)流,然后發(fā)送給高速串行收發(fā)器,之后數(shù)據(jù)流經光纖回環(huán)后,再由收發(fā)器接收后存儲到內部的FIFO,圖8是通過Chipscope所抓取的數(shù)據(jù)圖,從該圖中可以看出協(xié)議包被正確的傳送至高速串行收發(fā)器的用戶數(shù)據(jù)接口(gmii_txd),之后數(shù)據(jù)又被正確的接收并且通過收發(fā)器另一個用戶數(shù)據(jù)接口(gmii_rxd)傳輸?shù)紽IFO中,故該模塊能夠以規(guī)定的協(xié)議進行數(shù)據(jù)包的傳輸。
圖7 光纖鏈遠端回環(huán)測試
圖8 光纖鏈路數(shù)據(jù)傳輸Chipscope觀測圖
本文基于 Xilinx公司的Spartan6系列的FPGA,搭建了SFP光纖通信的硬件平臺,通過調用FPGA內部的IP硬核GTP收發(fā)器,完成了SFP光電模塊的用戶接口設計,有效地進行海量數(shù)據(jù)的傳輸,并且最大限度地減少了誤碼率的發(fā)生,避免數(shù)據(jù)的丟失,并成功地應用到某高速數(shù)據(jù)存儲器中,并將高速的數(shù)據(jù)經過以太網傳至PC機,驗證了該模塊以不低于1 Gbit/s的光纖數(shù)據(jù)能夠進行高速存儲,在此光纖模塊的設計所使用的FPGA成本低,功能強,光纖模塊體積小成本低,整個系統(tǒng)的可移植性強,很好地兼容中低端高速存儲器,應用前景廣闊。
[1] 周東杰,都磊.基于FPGA的新型SFP光模塊檢測系統(tǒng)[J].計算機系統(tǒng)應用,2013,22(4):161-163.
[2] 白勝月.基于FPGA的光纖傳輸系統(tǒng)的設計與實現(xiàn)[J].電子質量,2012(2):29-37.
[3] 王妮.基于SFP光模塊控制系統(tǒng)的設計和實現(xiàn)[J].光器件,2010(9):36-38
[4] Parklin N,Bartur M,Nesset D,et al.Gigabit SFP Transceiver with Integrated Optical Timedomain Reflectometer for Ethernet Access Services[D].IET Conference Publications,2013:161-163
[5] 張莉,夏振中,秦艷,等.10 Gbit/s SFP+短距離光模塊的溫度補償技術[J].光通信研究,2015(1):31-34.
[6] Pereira R C,Combo A,Correia M,et al.Ultra High-Frequency Data Acquisition AMC Module for Highperformance Applications[J].Fusion Engineering and Design,2013,8(6):1409-1413.
[7] 王增福.高速串行傳輸關鍵技術的研究與設計[D].西安:西安電子科技大學,2012.
[8] 唐興,唐寧.光纖通道8B/10B編碼的ASIC研究與設計[J].電子器件,2011,34(2):210-214.
[9] 張杰.一種高速數(shù)據(jù)存儲方法的研究[D].中國科學技術大學,2013.
[10]瞿鑫,吳云峰,李華棟,等.基于FPGA的千兆以太網數(shù)據(jù)傳輸?shù)脑O計與實現(xiàn)[J].電子器件,2014,37(4):662-664.
[11]Ibala C S C.Arsha K K.Predicting and Controlling FPGA Device Hat Using System Monitor and IBERT(Internal Bit Error Ratio Tester),United States:IEEComputer Society,2009:370-374.
[12]孫科林,周維超,吳欽章.基于FPGA的高速串行光纖圖像傳輸檢測平臺[J].光電技術應用,2012,33(2):283-285.
[13]胡慶紅.SFP光收發(fā)模塊測試平臺的研究與設計[D].武漢:武漢理工大學,2013.
王麗娟(1989-)女,漢族,山西運城人,中北大學儀器與電子學院,碩士在讀,電路與系統(tǒng)專業(yè),wlj_lab@sina.com;
李錦明(1971-),男,漢族,重慶墊江人,中北大學儀器與電子學院,博士,副教授,主要從事電路設計及性能測試等相關領域等方面的教學與科研工作,ljm_lab@sina.com。
The Research and Design of SFP Optical Fiber Communication Controller Based on FPGA*
WANG Lijuan*,LI Jinming,DU Donghai
(National Key Laboratory for Electronic Measurement Technology,Key Laboratory of Instrumentation Science&Dynamic Measurement of Ministry Education,North University of China,Taiyuan 030051,China)
Aiming at the requirement of high speed data storage to optical data with high speed and large capacity,a new SFP(small form pluggable)hot swap small package module with high speed optical module is designed.The design adopted spartan-6 FPGA as the core controller,high-speed serial technology as technical support,accomplished the hardware design of interface circuit and focused on the design and Simulation of the custom protocol of the controller.It is verified that the optical data package is correctly transmitted to user data interface of the highspeed serial transceiver with the speed rate more than 1 Gbit/s through test of the integration of the bit error rate test instrument(IBERT)and data captured by Chipscope.The results show that the design has the advantages of small package,wide portability,etc.and it has been successfully applied in a high speed data storage.
optical fiber communication;high-speed serial;fpga;sfp optical module;high speed data storage
TN919.34
A
1005-9490(2016)03-0605-06
EEACC:6260;6150C10.3969/j.issn.1005-9490.2016.03.021