摘 要:介紹Gbps無(wú)線通信試驗(yàn)系統(tǒng)中高速串行數(shù)據(jù)接口的設(shè)計(jì)與實(shí)現(xiàn)。按照Gbps無(wú)線通信試驗(yàn)系統(tǒng)對(duì)高速串行數(shù)據(jù)的傳輸要求,數(shù)據(jù)傳輸速率超過(guò)1 Gb/s,在基于Xilinx IP core技術(shù)上對(duì)單板上的FPGA進(jìn)行邏輯設(shè)計(jì),實(shí)現(xiàn)了符合系統(tǒng)要求的高速串行數(shù)據(jù)接口。在系統(tǒng)實(shí)際調(diào)試中,通過(guò)ATCA機(jī)箱背板進(jìn)行數(shù)據(jù)傳輸,獲得了高達(dá)Gbps的數(shù)據(jù)吞吐速率且傳輸誤碼率低于10-14。
關(guān)鍵詞:Gbps;高速串行接口;FPGA;ATCA
中圖分類號(hào):TP336文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004373X(2008)2200404
Design and Implementation of High Speed Serial I/O Interface in Gbps Experimental System
WANG Xiangyang,ZHAO Yanjie
(National Mobile Communications Research Laboratory,Southeast University,Nanjing,210096,China)
Abstract:The design and implementation of high speed serial I/O interface in the Gbps wireless communication experimental system is presented in this paper.In accordance with requirements of high speed serial data transmission in the Gbps wireless communication experimental system,the data transmission rate surpasses 1 Gb/s.The high speed serial data interface module is implemented by carrying on logic design in FPGAs of single boards based on Xilinx IP core.According to actual system debugging,the data throughput up to Gbps is achieved by data transmission through ATCA chassis with full-mesh backplane.The bit error rate is below 10-14。
Keywords:Gbps;high speed serial interface;FPGA;ATCA
1 引 言
目前,互連網(wǎng)的普及推動(dòng)了視頻會(huì)議、網(wǎng)絡(luò)電視以及遠(yuǎn)程教學(xué)等許多寬帶業(yè)務(wù)的應(yīng)用,也促進(jìn)了高速網(wǎng)絡(luò)不斷向前演進(jìn)。在系統(tǒng)級(jí)互連接口中,高速串行I/O技術(shù)由于其高性能和簡(jiǎn)化設(shè)計(jì)的優(yōu)點(diǎn),正在迅速取代傳統(tǒng)的并行I/O總線技術(shù)而成為業(yè)界趨勢(shì)。本文討論國(guó)家863課題“Gbps無(wú)線傳輸關(guān)鍵技術(shù)與試驗(yàn)系統(tǒng)研究開(kāi)發(fā)”項(xiàng)目中的高速串行接口模塊設(shè)計(jì)。
試驗(yàn)系統(tǒng)主要基于Xilinx公司最新推出的Virtex-5(V5)系列FPGA[1]。V5系列采用65-nm銅線CMOS工藝和低功耗的IP模塊,共包括LX,LXT,SXT和FXT四款平臺(tái)。其中,LXT和SXT兩款平臺(tái)中內(nèi)嵌了三模式以太網(wǎng)MAC(Media Access Control)模塊和RocketIO GTP 收發(fā)器模塊[2]。
V5嵌入式三模式以太網(wǎng)MAC為多種網(wǎng)絡(luò)接口提供經(jīng)濟(jì)便利的解決方案,能夠以10/100/1 000 Mb/s的速率連接BASE-X和BASE-T網(wǎng)絡(luò)。它和V5 RocketIO GTP 收發(fā)器相結(jié)合,能夠讓用戶與各種網(wǎng)絡(luò)設(shè)備進(jìn)行連接。千兆以太網(wǎng)MAC和RocketIO GTP收發(fā)器的集成可以簡(jiǎn)化物理層與數(shù)據(jù)鏈路層之間的通信連接。Gbps試驗(yàn)系統(tǒng)中的高速串行接口就是基于此集成設(shè)計(jì)實(shí)現(xiàn)的。
2 嵌入式三模式以太網(wǎng)簡(jiǎn)介
V5嵌入式三模式以太網(wǎng)MAC是FPGA內(nèi)嵌的一個(gè)硬核,它完全符合IEEE Std 802.3規(guī)范[2],在V5系列芯片中,每個(gè)嵌入式以太網(wǎng)MAC模塊包含2個(gè)獨(dú)立的以太網(wǎng)MAC(EMAC0和EMAC1),其主要特性有[3,4]:
(1) 支持10/100/1 000 Mb/s三種模式以太網(wǎng)MAC業(yè)務(wù);
(2) 可配置的全雙工(10/100/1 000 Mb/s)和半雙工工作模式(10/100 Mb/s);
(3) 支持FCS(Frame Check Sequence);
(4) 硬件可選擇的DCR(Device Control Register)總線接口或通用主機(jī)總線接口;
(5) 可配置的流量控制功能。
圖1為V5嵌入式三模式以太網(wǎng)MAC模塊結(jié)構(gòu)框圖。

每個(gè)以太網(wǎng)MAC模塊都有獨(dú)立的發(fā)送端和接收端,提供全雙工通信。通用主機(jī)總線或DCR總線用于訪問(wèn)主機(jī)接口,通過(guò)主機(jī)接口可以訪問(wèn)以太網(wǎng)MAC的配置寄存器(巨幀使能、暫停、單播地址以及幀校驗(yàn)序列生成)。每個(gè)以太網(wǎng)MAC的物理層接口可以配置成MII/GMII,RGMII/SGMII或1000BASE-X接口,并且都有1個(gè)可選擇的MDIO接口[1],通過(guò)它可以訪問(wèn)外部物理層管理寄存器或以太網(wǎng)MAC中PCS/PMA模塊內(nèi)置的物理層接口管理寄存器。
當(dāng)以太網(wǎng)MAC配置成1000BASE-X PCS/PMA模式時(shí),PCS/PMA模塊與RocketIO收發(fā)器聯(lián)合工作,能夠提供與IEEE 802.3系列標(biāo)準(zhǔn)[2]定義的千兆比特同軸或光纖收發(fā)器直接連接所需要的全部功能。這可以避免1000BASE-X網(wǎng)絡(luò)應(yīng)用所需的外部物理層芯片。
3 RocketIO GTP收發(fā)器簡(jiǎn)介
V5 RocketIO GTP收發(fā)器是FPGA內(nèi)嵌的1個(gè)硬核,具有通用性和低功耗等特性,支持多種標(biāo)準(zhǔn)協(xié)議,如Aurora,Serial RapidIO,Gigabit Ethernet(GE)等[5]。
V5 RocketIO GTP收發(fā)器主要特性包括:
(1) CML(Current Mode Logic)串行驅(qū)動(dòng)/具有可配置終端的緩沖器;
(2) 可編程的發(fā)端預(yù)加重技術(shù)和收端均衡技術(shù)用于保持信號(hào)完整性;
(3) 支持100 Mb/s到3.2 Gb/s的傳輸速率;
(4) 支持內(nèi)部PCS的多種特性:8 B/10 B編解碼,時(shí)鐘校正和信道綁定等;
(5) OOB(Out of Band)信號(hào),包括支持PCI Express和SATA標(biāo)準(zhǔn)的COM信號(hào)。
在V5 LXT和SXT器件中,每個(gè)GTP-DUAL模塊包含2個(gè)GTP(GTP0和GTP1),圖2為GTP-DUAL的模塊結(jié)構(gòu)框圖。
其中,2個(gè)GTP模塊共享1個(gè)PLL(Phase Locked Loop),從而減少FPGA芯片面積及降低功耗。每個(gè)GTP模塊包括1個(gè)獨(dú)立的發(fā)送模塊和接收模塊。發(fā)送模塊和接收模塊均由PCS(Physical Coding Sublayer)和PMA(Physical Media Attachment)構(gòu)成。PMA是收發(fā)器的數(shù)/模混合部分,主要包括串/并和并/串轉(zhuǎn)換、共享PMA PLL模塊、接收時(shí)鐘恢復(fù)電路以及發(fā)端預(yù)加重和收端均衡模塊。PCS子層是收發(fā)器的數(shù)字部分,主要包括8 B/10 B編解碼模塊、極性控制模塊、偽隨機(jī)序列生成模塊以及相位調(diào)整FIFO模塊和過(guò)采樣模塊。在數(shù)據(jù)傳輸過(guò)程中,發(fā)送端將上層客戶端的數(shù)據(jù)(8/16 b)通過(guò)PCS和PMA子層處理后通過(guò)傳輸物理介質(zhì)以串行方式發(fā)送出去。接收端將物理介質(zhì)上傳送過(guò)來(lái)的數(shù)據(jù)通過(guò)相反的操作送到上層客戶端。
4 Gbps試驗(yàn)系統(tǒng)中的高速串行接口設(shè)計(jì)
在試驗(yàn)系統(tǒng)中FPGA間接口要求高達(dá)數(shù)Gbps量級(jí)的數(shù)據(jù)吞吐率。為簡(jiǎn)化邏輯設(shè)計(jì),系統(tǒng)中基于Xilinx公司的嵌入式三模式以太網(wǎng)MAC IP Core來(lái)實(shí)現(xiàn)數(shù)據(jù)鏈路層和物理層協(xié)議。該IP Core可以將支持1 000 Mb/s的MAC協(xié)議與Rocket IO GTP收發(fā)器集成在一起,從而實(shí)現(xiàn)Gbps的數(shù)據(jù)傳輸速率。圖3為Gbps試驗(yàn)系統(tǒng)中高速串行接口的實(shí)現(xiàn)結(jié)構(gòu)框圖。
如圖3所示,接口緩存TX_FIFO模塊和RX_FIFO模塊主要完成存儲(chǔ)轉(zhuǎn)發(fā)功能,并可進(jìn)行異步時(shí)鐘域的轉(zhuǎn)換。對(duì)于發(fā)送數(shù)據(jù),模塊TX_FIFO首先以Locallink接口[1]時(shí)序接收用戶側(cè)的發(fā)送數(shù)據(jù),將其寫入內(nèi)部緩沖區(qū)中,再將此數(shù)據(jù)讀出送往底層IP Core封裝的以太網(wǎng)MAC用戶端接口,最后通過(guò)RocketIO串行接口以差分信號(hào)發(fā)送;對(duì)于接收數(shù)據(jù),底層封裝的IP Core將接收數(shù)據(jù)存儲(chǔ)到RX_FIFO模塊的內(nèi)部緩沖區(qū)中,再按照Locallink接口時(shí)序送到用戶側(cè)。因此,上層用戶側(cè)實(shí)際對(duì)應(yīng)一個(gè)標(biāo)準(zhǔn)Locallink接口進(jìn)行操作。
在本系統(tǒng)中傳輸?shù)乃袛?shù)據(jù)包都遵照IEEE 802.3標(biāo)準(zhǔn)定義的MAC幀格式[6,7]。圖4為系統(tǒng)中傳輸數(shù)據(jù)的通用MAC幀格式。
如圖4所示,DA域是MAC幀格式中6 B長(zhǎng)度目的地址,SA域是6 B長(zhǎng)度的源地址,L/T域是MAC幀的字節(jié)長(zhǎng)度或者控制幀的類型信息。DATA域是MAC幀格式的數(shù)據(jù)段。因?yàn)橄到y(tǒng)中多種不同數(shù)據(jù)類型的傳輸需要進(jìn)行不同的處理,所以在承載的上層用戶數(shù)據(jù)前添加了長(zhǎng)度4 B的控制域信息組成一個(gè)標(biāo)準(zhǔn)MAC幀進(jìn)行傳輸。
分別定義如下:


FID: 1個(gè)字節(jié)的數(shù)據(jù)幀類型域,用來(lái)區(qū)分傳輸?shù)牟煌脩魯?shù)據(jù)類型;
FNO:1個(gè)字節(jié)的數(shù)據(jù)幀序號(hào)域;
RSV:2個(gè)字節(jié)的保留域,用作系統(tǒng)擴(kuò)展定義。
試驗(yàn)系統(tǒng)中的基帶硬件平臺(tái)采用符合PICMG3.0工業(yè)標(biāo)準(zhǔn)的14槽位全連接背板架構(gòu)的ATCA(Advanced Telecommunication and Computing Architecture)機(jī)框[8]。

在ATCA機(jī)箱內(nèi)采用1塊符合標(biāo)準(zhǔn)GE協(xié)議的千兆以太交換GESW板,系統(tǒng)中任意兩塊功能單板的數(shù)據(jù)可以經(jīng)背板通過(guò)GESW板實(shí)現(xiàn)全雙工傳送。試驗(yàn)系統(tǒng)包括主控RMPU板,多天線接收RAMS板,多天線發(fā)送板TDMA板和基帶信號(hào)處理板BBSP板等不同功能單板,如圖5所示。
為了防止發(fā)生擁塞,根據(jù)不同功能單板的數(shù)據(jù)傳輸需求,試驗(yàn)系統(tǒng)中各單板間的數(shù)據(jù)采用分時(shí)工作模式,即在不同的時(shí)間片內(nèi)通過(guò)GESW板交換傳輸兩塊功能單板之間的數(shù)據(jù)流量,通過(guò)實(shí)際數(shù)據(jù)吞吐率的計(jì)算分配時(shí)間片,降低系統(tǒng)的流量控制復(fù)雜度。

以主控RMPU板為例[9],圖6所示為RMPU板在系統(tǒng)幀定時(shí)中不同時(shí)隙與各功能單板交互傳輸不同數(shù)據(jù)類型。由圖可見(jiàn),在TS0和TS8時(shí)隙,RMPU板分別接收RAMS板發(fā)送來(lái)的類型1和4數(shù)據(jù),在TS8時(shí)隙RMPU板同時(shí)向RAMS板和BBSP板發(fā)送類型8數(shù)據(jù)。

通過(guò)合理設(shè)置,GESW板可以透明傳輸系統(tǒng)任意兩塊功能單板間的GE幀格式數(shù)據(jù)包。僅通過(guò)高層控制模塊對(duì)不同單板的MAC參數(shù)配置,本文在FPGA中實(shí)現(xiàn)的底層接口邏輯可以通用于各功能單板之間的高速串行數(shù)據(jù)傳輸接口。以下通過(guò)RAMS板上接口邏輯為例,介紹RAMS板與RMPU板之間的高速串行數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)。圖7示意了RAMS板底層接口邏輯的實(shí)現(xiàn)結(jié)構(gòu)框圖。

首先,RAMS板CPU通過(guò)60x Bus總線將MAC層組幀所需要的DA、SA和L/T域等參數(shù)寫入存儲(chǔ)器MAC_RAM,需要發(fā)送的用戶數(shù)據(jù)預(yù)先置入緩沖區(qū)TX_RAM。發(fā)送數(shù)據(jù)時(shí),從MAC_RAM里讀出需要的控制信息,并從TX_ RAM里讀出發(fā)送的用戶數(shù)據(jù),組合成符合IEEE 802.3標(biāo)準(zhǔn)定義的MAC幀格式數(shù)據(jù)包,在頂層和底層發(fā)送狀態(tài)機(jī)的控制下送往底層LocalLink接口。接收數(shù)據(jù)時(shí),接收狀態(tài)機(jī)控制從MAC_RAM里讀出需要接收的MAC地址與收到的數(shù)據(jù)包中目的地址域進(jìn)行比較,如果匹配則接收并存儲(chǔ)負(fù)載數(shù)據(jù)到接收數(shù)據(jù)緩沖區(qū)RX_RAM,如果不匹配則丟棄該數(shù)據(jù)包。另外,還可以通過(guò)匹配承載的數(shù)據(jù)幀類型和數(shù)據(jù)幀序號(hào)等參數(shù)進(jìn)一步完成對(duì)接收數(shù)據(jù)幀的校驗(yàn)和濾除。
RMPU板實(shí)現(xiàn)的串行傳輸接口邏輯結(jié)構(gòu)及功能和RAMS類似,但是兩者的系統(tǒng)定時(shí)模塊配置不同,以實(shí)現(xiàn)試驗(yàn)系統(tǒng)中功能單板的分時(shí)傳輸工作模式。
5 結(jié) 語(yǔ)
本文介紹Gbps試驗(yàn)系統(tǒng)中高速串行接口的設(shè)計(jì)與實(shí)現(xiàn)。該接口是基于Xilinx FPGA的嵌入式GE MAC和RocketIO GTP收發(fā)器來(lái)實(shí)現(xiàn),這在很大程度上簡(jiǎn)化了物理層和數(shù)據(jù)鏈路層之間的通信連接。通過(guò)RMPU板與RAMS板的接口設(shè)計(jì)為例,本文介紹試驗(yàn)系統(tǒng)中各單板之間的高速串行數(shù)據(jù)傳輸方案。通過(guò)靈活配置底層通用邏輯,本文討論的設(shè)計(jì)實(shí)現(xiàn)了各功能單板間高達(dá)Gbps的高速串行數(shù)據(jù)傳輸。試驗(yàn)系統(tǒng)的硬件調(diào)試結(jié)果表明,系統(tǒng)的高速串行數(shù)據(jù)傳輸誤碼率低于10-14。
參 考 文 獻(xiàn)
[1]http://www.xilinx.com.
[2]Virtex-5 Family Overview LX,LXT,and SXT Platforms.DS100 (v3.1),2007.
[3]Virtex-5 Embedded Tri-Mode Ethernet MAC User Guide.UG194(v1.2),2007.
[4]Virtex-5 Embedded Tri-Mode Ethernet MAC Wrapper v1.3.UG340,2007.
[5]Virtex-5 RocketIO GTP Transceiver User Guide.UG196(v1.3),2007.
[6]IEEE Std 802.3-2002 Part3:Carrier Sense Multiple Access with Collision Detection (CSMA/CD)Access Method and Physical Layer Specification IEEE,Computer Society.
[7]佚名.TCP/IP詳解卷1:協(xié)議\\.北京:機(jī)械工業(yè)出版社,2000.
[8]PICMG 3.0 Advanced Telecommunications Computing Architecture (ATCA) Version D1.0.
[9]王向陽(yáng).B3G ATCA 平臺(tái)GE傳輸方案概要設(shè)計(jì)\\.2008.
[10]夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程\\.北京:北京航空航天大學(xué)出版社,2003.
作者簡(jiǎn)介 王向陽(yáng) 東南大學(xué)移動(dòng)通信國(guó)家重點(diǎn)實(shí)驗(yàn)室碩士生導(dǎo)師,副教授。
趙艷杰 東南大學(xué)移動(dòng)通信國(guó)家重點(diǎn)實(shí)驗(yàn)室碩士研究生。