基于FPGA的高速光纖通信基帶板的設(shè)計(jì)
作者 袁行猛 徐蘭天 中國(guó)電子科技集團(tuán)公司第四十一研究所(安徽 蚌埠 233010)
本文引用地址:http://www.ex-cimer.com/article/201806/382305.htm*基金項(xiàng)目:中國(guó)電科技術(shù)創(chuàng)新基金項(xiàng)目《微波毫米波大帶寬大規(guī)模MIMO測(cè)試技術(shù)研究》
袁行猛(1988-),男,助理工程師,研究方向:信號(hào)與信息處理。
摘要:基于FPGA ( Field Programmable Gate Array)的高速光纖傳輸系統(tǒng)設(shè)計(jì)出高速光纖通信基帶板。該基帶板使用Xilinx公司的Virtex-6系列芯片,使用FPGA中自帶的Aurora光口協(xié)議的IP核進(jìn)行例化和設(shè)計(jì),并選用了具有高速數(shù)據(jù)傳輸通信性能的光模塊進(jìn)行數(shù)據(jù)傳輸,實(shí)際測(cè)試驗(yàn)證了本設(shè)計(jì)工作可靠性,其功能完善能與更高的控制系統(tǒng)形成靈活對(duì)接。該基于FPGA的高速光纖通信基帶板是以創(chuàng)新基金項(xiàng)目為依托進(jìn)行的設(shè)計(jì),具體的設(shè)計(jì)成果能為從事采用FPGA開發(fā)光口的高速數(shù)據(jù)傳輸方面的工程人員提供較好的實(shí)用指導(dǎo)價(jià)值。
0 引言
隨著現(xiàn)代通信的發(fā)展,未來(lái)通信無(wú)論是有線通還是無(wú)線通信對(duì)數(shù)據(jù)的處理能力和數(shù)據(jù)的傳輸通信速率的要求都會(huì)越來(lái)越高,從現(xiàn)在的5G通信的要求中就能明確看到這個(gè)要求,所以尋求一種高速、穩(wěn)定、可靠的通信方式成為現(xiàn)在的主要技術(shù)。光纖通信具有傳輸速度快、損耗低、容量大、占用帶寬低、抗電磁干擾的優(yōu)點(diǎn),非常適用于高速數(shù)據(jù)傳輸[1]。隨著現(xiàn)在Xilinx的FPGA芯片的快速發(fā)展,處理能力與功能日益增強(qiáng),本設(shè)計(jì)選用Xilinx公司的Virtex6系列芯片,設(shè)計(jì)出具有4通道光口收發(fā),每個(gè)通道速率高達(dá)6.25 Gb/s的基帶板卡,最終此基帶板總速率能達(dá)到4*6.25 Gb/s。本設(shè)計(jì)利用這兩個(gè)部分優(yōu)勢(shì),依附于實(shí)際的項(xiàng)目背景設(shè)計(jì)開發(fā)出高速光纖數(shù)據(jù)傳輸基帶板。最終驗(yàn)證測(cè)試本設(shè)計(jì)的可靠與實(shí)用性,滿足項(xiàng)目的需求。
1 硬件架構(gòu)設(shè)計(jì)
根據(jù)本次項(xiàng)目設(shè)計(jì)需求,本設(shè)計(jì)的目標(biāo)是設(shè)計(jì)出基于FPGA的傳輸速率高達(dá)6.25 Gb/s的光纖數(shù)據(jù)通信板卡,該板卡上集成高性能FPGA和DSP,板卡能通過(guò)預(yù)留主控接口實(shí)現(xiàn)與上位機(jī)之間的通信,并通過(guò)DSP進(jìn)行數(shù)據(jù)的收發(fā),F(xiàn)PGA與DSP之間的速率通過(guò)FIFO進(jìn)行匹配,最終由FPGA控制光口的通信以及數(shù)據(jù)的整理功能。由于本設(shè)計(jì)的速率和處理能力要求高,經(jīng)過(guò)分析仿真,采用2個(gè)FPGA和2個(gè)DSP的組合處理架構(gòu),因此板卡硬件設(shè)計(jì)采用PCB+FPG(2)+DSP(2)+光模塊(4)的架構(gòu),并且預(yù)留出相應(yīng)的接插件、主控、調(diào)試等接口,設(shè)計(jì)的基礎(chǔ)架構(gòu)如圖1所示,詳細(xì)設(shè)計(jì)的架構(gòu)如圖2所示。
在板卡設(shè)計(jì)中選取的FPGA是Xilinx公司的XC6VSX315T-2FF1156型號(hào)作為主控芯片用來(lái)控制光纖接口的主要功能,主要完成光收發(fā)模塊的使能控制、光傳輸?shù)逆溌饭芾硪约皵?shù)據(jù)的傳輸。XC6VSX315T包含49200個(gè)Slices和25344 Block RAM,18個(gè)用戶I/O,可以滿足FPGA外圍電路設(shè)計(jì)和后期擴(kuò)展與增強(qiáng)功能的設(shè)計(jì)[2]。設(shè)計(jì)中要求的光口傳輸速率是6.25 Gb/s,XC6VSX315T共有5組20個(gè)GTX數(shù)據(jù)收發(fā)接口,GTX通道的傳輸速率最快可達(dá)6.6 Gb/s,滿足技術(shù)指標(biāo)中的信號(hào)傳輸速率的要求[3]。光收發(fā)模塊選用標(biāo)準(zhǔn)的成熟光收發(fā)模塊,該模塊最高傳輸速度可達(dá)4*6.25 Gb/s。整個(gè)板卡選用特定芯片完成主控與基帶板之間的數(shù)據(jù)交互,從而來(lái)控制板卡的主要功能。
2 軟件架構(gòu)設(shè)計(jì)
本次設(shè)計(jì)基于FPGA的高速光纖通信基帶板卡時(shí)就采用了Verilog硬件描述語(yǔ)言來(lái)作為設(shè)計(jì)語(yǔ)言,Verilog語(yǔ)言因其容易操作、簡(jiǎn)單易讀、穩(wěn)定可靠等優(yōu)越點(diǎn),在電子自動(dòng)化設(shè)計(jì)(EDA)技術(shù)的迅猛發(fā)展中成為主流語(yǔ)言,也是目前使用最為廣泛的硬件描述語(yǔ)言。因此,在本設(shè)計(jì)中,采用標(biāo)準(zhǔn)的FPGA邏輯設(shè)計(jì)的基本方式,模塊化相應(yīng)的功能,根據(jù)功能進(jìn)行模塊劃分,設(shè)計(jì)中總體分成一個(gè)頂層模塊和三個(gè)子模塊。頂層模塊主要調(diào)用各子模塊和設(shè)計(jì)數(shù)據(jù)接口,三個(gè)子模塊為全局時(shí)鐘管理模塊、數(shù)據(jù)控制與整理模塊和Aurora 8B10B IP核的調(diào)用模塊。本次光口數(shù)據(jù)傳輸過(guò)程中使用的協(xié)議是Xilinx公司提供的一種免費(fèi)的數(shù)據(jù)鏈路層協(xié)議——Aurora協(xié)議,該協(xié)議已經(jīng)驗(yàn)證是穩(wěn)定可靠的傳輸協(xié)議,已得到實(shí)際應(yīng)用,該協(xié)議核內(nèi)部封裝了高速串行數(shù)據(jù)接口硬核,可編程邏輯器件通過(guò)綁定GTX通道進(jìn)行數(shù)據(jù)的收發(fā)交互。單個(gè)GTX通道的數(shù)據(jù)傳輸速率可達(dá)G bit級(jí)別,根據(jù)不同的需求可以實(shí)現(xiàn)多個(gè)通道的組合使用,從而可實(shí)現(xiàn)幾十G bit,甚至上百G bit速率的數(shù)據(jù)傳輸。因此,本次設(shè)計(jì)中FPGA邏輯設(shè)計(jì)的核心模塊就采用了Aurora 8B10B IP核。
通過(guò)例化Aurora 8B10B IP核,生成特定功能需求的模塊,數(shù)據(jù)位寬256位,如圖3所示,是主要的FPGA的功能實(shí)現(xiàn)代碼模塊部分。
其中主要實(shí)現(xiàn)部分有:頂層模塊(aurora_8b10b_v8_3_exdes)、全局時(shí)鐘管理模塊(aurora_8b10b_v8_3_CLOCK_MODULE)、光口通信模塊(aurora_8b10b_v8_3)、測(cè)試數(shù)據(jù)控制與產(chǎn)生模塊(aurora_8b10b_v8_3_FRAME_GEN)、工程約束文件(aurora_8b10b_v8_3_exdes.ucf)等。
3 光口的IP核協(xié)議
3.1 Aurora協(xié)議
Aurora協(xié)議是由Xilinx公司開發(fā)的光纖傳輸中的串行傳輸數(shù)據(jù)的一個(gè)鏈路層協(xié)議。它具有高帶寬、可擴(kuò)展性等突出特點(diǎn)已得到實(shí)際廣泛應(yīng)用[4]。此外,該協(xié)議的幀數(shù)據(jù)結(jié)構(gòu)也相對(duì)簡(jiǎn)單,數(shù)據(jù)組包效率較高。因此,它非常適用于點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸環(huán)境。通常的光口通信鏈路channel中都會(huì)有若干個(gè)子lane通道組成,其中每個(gè)lane又能實(shí)現(xiàn)數(shù)據(jù)的雙工傳輸。所以本設(shè)計(jì)中的Aurora協(xié)議接口就在Xilinx公司的Virtex-6芯片上實(shí)現(xiàn)。
Aurora 8B/10B頂層模塊例化了Aurora 8B/10B通道模塊、TX和RX本地鏈路模塊、全局邏輯模塊以及GTP/GTX收發(fā)器。在設(shè)計(jì)中通過(guò)例化IP核會(huì)自動(dòng)生成這些對(duì)應(yīng)模塊,具體的頂層模塊結(jié)構(gòu)如圖4所示。
3.2 8B/10B編解碼
8B/10B編碼是一種高性能的串行數(shù)據(jù)編碼方式,8B/10B編碼的基本特征就是保證編碼過(guò)程中的DC(直流)平衡,其基本的編碼功能就是將8 bit輸入數(shù)據(jù)經(jīng)過(guò)映射編碼成10 bit的數(shù)據(jù)輸出,這種編碼方式能使數(shù)據(jù)中“1”和“0”的總個(gè)數(shù)平衡下來(lái),使其總數(shù)最大不超過(guò)2,且連續(xù)的“1”或“0”的個(gè)數(shù)不超過(guò)5位這樣就保證了傳輸過(guò)程中信號(hào)的變換頻率能保持在一個(gè)足夠高的水平上。編碼的方式是將數(shù)據(jù)位中的連續(xù)8位數(shù)據(jù)分解成5位和3位的高低兩組數(shù)據(jù),然后將數(shù)據(jù)中的低5位信號(hào)和高3位的信號(hào)分別通過(guò)5B/6B編碼和3B/4B編碼變換成6位和4位信號(hào),然后在合并成一個(gè)10 bit的信號(hào)輸出,以上就是8B/10B編碼的基本編碼思路。正是因?yàn)槠渚哂心茏屆钚畔⒘黝l譜分量為0或近乎為0和確保時(shí)鐘恢復(fù)等優(yōu)點(diǎn),所以光纖數(shù)據(jù)傳輸中采用了8B/10B編碼。
編碼的作用是提高數(shù)據(jù)傳輸?shù)目煽啃?,因?yàn)?B/10B編碼的以上優(yōu)點(diǎn)以及此編碼的特性,在光纖通信系統(tǒng)中大都采用8B/10B編碼作為主要數(shù)據(jù)編碼方式進(jìn)行數(shù)據(jù)傳輸,從而來(lái)保證光纖通信中的數(shù)據(jù)可靠性,隨著技術(shù)的發(fā)展與實(shí)際的應(yīng)用進(jìn)展,到目前為止,8B/10B編碼也日漸成熟可靠,優(yōu)點(diǎn)也被充分的利用,也是光口協(xié)議中的標(biāo)準(zhǔn)編碼形式,本次數(shù)據(jù)傳輸中仍采用成熟的8B/10B編碼,數(shù)據(jù)的可靠性能得到充分保障[5]。
4 基帶板功能的驗(yàn)證
基帶板設(shè)計(jì)完成后進(jìn)入基帶板測(cè)試驗(yàn)證階段,相應(yīng)的電路連線完成后,在光口插入相應(yīng)的光模塊,用光纖連接完成后,加載程序,然后用Xilinx自帶的觀測(cè)軟件Chipscope觀測(cè)光口的實(shí)際發(fā)送與接收到的數(shù)據(jù)。
數(shù)據(jù)端控制為了驗(yàn)證設(shè)計(jì)的傳輸?shù)目煽啃?,手?dòng)編寫了測(cè)試文件,用來(lái)傳輸數(shù)據(jù),如圖5所示做一個(gè)16位累加數(shù)(data_lfsr_r),然后數(shù)據(jù)整理成16*16的256位數(shù)據(jù)(TX_D),經(jīng)過(guò)光口的發(fā)送后,在接收端觀測(cè)驗(yàn)證。
在Chipscope端觀測(cè)光口鏈路的建立情況以及數(shù)據(jù)的收發(fā)情況,如圖6所示,光口通路的建立情況,圖中CHANNEL_UP顯示為1,說(shuō)明鏈路建立成功,光口正常工作。
隨后對(duì)光口的發(fā)送與接收到數(shù)據(jù)進(jìn)行觀測(cè),使整個(gè)基帶板運(yùn)行起來(lái)后,實(shí)時(shí)觀測(cè)數(shù)據(jù)的傳輸情況,如下圖7所示,發(fā)送的是256位16進(jìn)制數(shù)(tx_d_i),由于數(shù)據(jù)位寬較大觀測(cè)不方便,根據(jù)我們的設(shè)計(jì)思路,設(shè)計(jì)中的實(shí)際位寬是256位,測(cè)試中發(fā)送的256位數(shù)據(jù)是由低16位數(shù)組合而成,為了觀測(cè)方便取出低16位數(shù)據(jù)(tx_d_i[0:15])觀測(cè),為了方便比對(duì)輸入輸出數(shù)據(jù),編寫測(cè)試數(shù)據(jù),這里設(shè)計(jì)的是連續(xù)發(fā)送的由16位累加數(shù)數(shù)組合而成的256位數(shù)據(jù),通過(guò)觀測(cè)比對(duì)光口接收數(shù)據(jù)(rx_d_i)發(fā)現(xiàn),接收到的也是標(biāo)準(zhǔn)累加數(shù),從而驗(yàn)證光口建立成功,數(shù)據(jù)收發(fā)正常,也驗(yàn)證了基帶板設(shè)計(jì)的功能完整性,證實(shí)了此次設(shè)計(jì)的合理與實(shí)用性。
設(shè)計(jì)的基帶板中包含兩個(gè)高性能的Virtex-6 FPGA和兩個(gè)DSP,F(xiàn)PGA+DSP的聯(lián)合可以進(jìn)行數(shù)據(jù)的高速處理,整套基帶板具有完善的數(shù)據(jù)處理與傳輸能力,這樣就設(shè)計(jì)出了一整套功能完善的基帶板卡。
5 結(jié)論
本文設(shè)計(jì)了一種基于FPGA的高速光纖通信基帶板,主要基于光口的高速通信,使用Verilog硬件描述語(yǔ)言設(shè)計(jì)的一種滿足項(xiàng)目需求的基帶板,該板卡具有高性能的數(shù)據(jù)處理能力和高速的傳輸通信能力,通過(guò)實(shí)際上板測(cè)試,驗(yàn)證了板卡設(shè)計(jì)的合理性與正確性,滿足了實(shí)際項(xiàng)目需求,該基帶板的設(shè)計(jì)可以為通信中的高速傳輸板卡的設(shè)計(jì)工作者們提供較高的指導(dǎo)意義。
參考文獻(xiàn):
[1]趙梓森.光纖通信的過(guò)去、現(xiàn)在和未來(lái)[J].光學(xué)學(xué)報(bào),2011,31(9):99-101.
[2]Xilinx.Virtex-6 Family Overview [Z].America: Xilinx Inc,2015.
[3]Xilinx,Virtex-6 FPGA GTX Transceiver Wizard [Z].America:Xilinx Inc,2018.
[4]候春雷,唐碧華,胡鶴飛,等.基于Aurora的MAC層幀結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J],中國(guó)科技論文在線.2010 (1).
[5]章潔.基于FPGA的高速光纖通信IP核研究設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2015,5:29-30.
本文來(lái)源于《電子產(chǎn)品世界》2018年第7期第58頁(yè),歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論