1 概述
隨著人們對通信信息的充裕性、及時性和便捷性的要求越來越高,能夠隨時隨地、方便而及時地獲取所需信息,變得越來越重要。2002年,IEEE通過了10 Gb/s速率的以太網(wǎng)標(biāo)準(zhǔn)——IEEE 802.3ae[1]。10G以太網(wǎng)作為傳統(tǒng)以太網(wǎng)技術(shù)的一次較大的升級,在原有的千兆以太技術(shù)的基礎(chǔ)上將傳輸速率提高了10倍,以滿足人們對移動通信業(yè)務(wù)的要求。
2009年1月國內(nèi)3G牌照正式發(fā)放,標(biāo)志著我國3G時代的到來。為了適應(yīng)移動通信的發(fā)展,各大運(yùn)營商展開了大規(guī)模的3G移動通信網(wǎng)絡(luò)建設(shè);而移動通信網(wǎng)絡(luò)建設(shè)的核心是基站建設(shè),其成本也是最高的。此外,基站的性能好壞也是移動通信服務(wù)質(zhì)量的決定因素。所以,運(yùn)營商在不斷尋求新的方式以提高通信服務(wù)質(zhì)量的同時,也在努力降低通信網(wǎng)絡(luò)建設(shè)的成本。分布式基站具有成本低、環(huán)境適應(yīng)性強(qiáng)、工程建設(shè)方便的優(yōu)勢,從而代表了下一代基站的的基本走向。
分布式基站的核心是把傳統(tǒng)的宏基站基帶處理單元BBU和射頻拉遠(yuǎn)單元RRU分離,二者通過光纖連接。網(wǎng)絡(luò)部署時,BBU集中置放,其容量較大,實現(xiàn)了容量和覆蓋之間的轉(zhuǎn)換;RRU置于天面,其環(huán)境適應(yīng)性強(qiáng),并且多個RRU可以共享BBU基帶資源,節(jié)省基帶投資。為了實現(xiàn)基站和直放站之間更有效的互通,愛立信、華為、NEC、北電網(wǎng)絡(luò)及西門子五大集團(tuán)合力制定了CPRI接口協(xié)議。該接口的標(biāo)準(zhǔn)協(xié)議成為了一個公共的可用指標(biāo)之一。
2 CPRI協(xié)議簡述[2]
CPRI(Common Public Radio Interface)協(xié)議定義了兩個協(xié)議層——物理層(L1)和數(shù)據(jù)鏈路層(L2)。CPRI接口是位于REC(Radio Equipment Contorl,無線設(shè)備控制)和RE(Radio Equipment,無線設(shè)備)之間以及兩個RE之間的內(nèi)部數(shù)據(jù)化接口;有3種不同的信息流(用戶平臺數(shù)據(jù)流SAPIQ、控制和管理平臺數(shù)據(jù)流SAPCM和同步平臺數(shù)據(jù)流SAPS)經(jīng)過CPRI接口傳輸。
3 FPGA實現(xiàn)CPRI協(xié)議傳輸方案
3.1 基本方案
用FPGA實現(xiàn)CPRI協(xié)議傳輸具有以下2種方案。
(1) 方案一
RocketIO收發(fā)器的FPGA來實現(xiàn)CPRI協(xié)議的光纖通信[3]。其中,RocketIO收發(fā)器是Xilinx公司在Virtex2Pro芯片及以上系列芯片上集成的專用串行通信模塊,在使用時不占用FPGA其他資源。在Virtex5系列FPGA中,RocketIO稱為GTP。
該方案的優(yōu)點(diǎn)是電路板結(jié)構(gòu)緊湊,有利于PCB板布線,且具有很高的系統(tǒng)抗干擾能力。此外,參數(shù)設(shè)置方便,有利于系統(tǒng)調(diào)試。每塊Virtex5型的FPGA芯片中含有多個GTP收發(fā)器,可以通過運(yùn)用4個GTP來實現(xiàn)10 Gb/s的高速率傳輸。每一個GTP核中包含一個接收鏈路和一個發(fā)送鏈路[45]。
(2) 方案二
利用串并轉(zhuǎn)換的專用芯片,如TI公司生產(chǎn)的TLK2501、美國國家半導(dǎo)體設(shè)計的串行/解串器SCAN25100[67]等。其中,SCAN25100的功能最完善,其具備8b/10b編解碼、高速串并轉(zhuǎn)換、鎖定檢測、CPRI信號和幀丟失檢測等功能。該芯片具有高精度延時校準(zhǔn)測量電路、時鐘管理以及信號調(diào)節(jié)功能。
3.2 具體實現(xiàn)
SCAN25100支持的傳輸速率為2.4576 Gb/s、1.2288 Gb/s和0.6144 Gb/s;TLK2501支持的傳輸速率為1.5~2.5 Gb/s。如果采用專用串并轉(zhuǎn)換芯片,為了實現(xiàn)10 Gb/s的速率,必須采用4塊專用芯片,從而加大了PCB板的布線難度和電路板面積,不利于電路設(shè)計。
圖1 以太網(wǎng)光接口結(jié)構(gòu)
本文采取第一種設(shè)計方案完成10 Gb/s的CPRI高速數(shù)據(jù)傳輸設(shè)計。如圖1所示,以太網(wǎng)光接口包括4部分:10GE光接口、PHY收發(fā)器、時鐘模塊、FPGA。其中,10GE光接口和PHY收發(fā)器是實現(xiàn)該10G以太網(wǎng)光接口的硬件設(shè)備;FPGA部分是本文設(shè)計的核心,采用Xilinx公司的 Virtex6芯片。
10GE光接口:光纖模塊,由光電子器件、功能電路和光接口等組成,其中包括發(fā)射和接收兩部分。發(fā)射部分是:輸入一定碼率的電信號,經(jīng)內(nèi)部的驅(qū)動芯片處理后驅(qū)動半導(dǎo)體激光器或發(fā)光二極管發(fā)射出相應(yīng)速率的調(diào)制光信號。接收部分是:一定碼率的光信號輸入模塊后由光信號管轉(zhuǎn)換為電信號,經(jīng)前置放大器后輸出相應(yīng)碼率的電信號[7]。根據(jù)參考文獻(xiàn)[7]討論的結(jié)果,本文設(shè)計的電路結(jié)構(gòu)選用的是XFP(萬兆以太網(wǎng)接口小封裝可插拔收發(fā)器)光模塊,與電路板的接口采用10 Gb/s串行電路接口,其只負(fù)責(zé)完成光/電信號的轉(zhuǎn)換,優(yōu)點(diǎn)是體積小、功耗低且較易實現(xiàn)多端口集成。
PHY收發(fā)器:物理層芯片,主要作用是提供以太網(wǎng)的接入通道。該模塊將從FPGA傳輸過來的4路3.125 Gb/s的數(shù)據(jù)流合成12.5 Gb/s的數(shù)據(jù)流傳輸給光模塊;并且,將從光模塊傳輸過來的12.5 Gb/s的數(shù)據(jù)流分成4條鏈路,以3.125 Gb/s傳輸給FPGA。在該數(shù)據(jù)流傳輸中,由于FPGA對數(shù)據(jù)進(jìn)行8b/10b編解碼,因此有效碼率是10 Gb/s,能夠滿足本文的設(shè)計要求,可以實現(xiàn)10G以太網(wǎng)的數(shù)據(jù)流傳輸。
時鐘模塊:時鐘模塊內(nèi)采用輸出頻率為61.44 MHz的有源晶振為系統(tǒng)提供時鐘。由于每一數(shù)據(jù)鏈路的數(shù)據(jù)傳輸速率為3.125 Gb/s,GTP核對參考時鐘具有很高的精度要求,所以系統(tǒng)選擇高精度的差分時鐘作為參考時鐘。在該系統(tǒng)設(shè)計中,GTP核的參考時鐘沒有采用DCM(Digital Clock Manager,數(shù)字時鐘管理器)提供的時鐘。因為在高速數(shù)據(jù)傳輸過程中,DCM會引入一些不可預(yù)測的時鐘抖動,這些抖動會隨著參考時鐘輸入到GTP核中,從而造成誤碼。通常使用外部差分晶振源,經(jīng)過全局時鐘緩沖的輸出信號作為GTP的參考時鐘,在數(shù)據(jù)傳輸過程中,由GTP內(nèi)部的DCM產(chǎn)生時鐘,作為RXUSRCLK、RXUSRCLK2、TXUSRCLK、TXUSRCLK2的時鐘源,從而消除時鐘抖動以及保持證數(shù)據(jù)傳輸過程中的同步性[89]。
FPGA部分:其主要作用包括功能作用和配置監(jiān)控作用。在該方案中,F(xiàn)PGA的功能作用主要是完成數(shù)據(jù)的8b/10b編解碼、高速串并轉(zhuǎn)換,以及CPRI協(xié)議的成幀、解幀、同步、傳輸數(shù)據(jù)復(fù)/分解等操作。FPGA的控制作用主要是針對光接口模塊和PHY模塊。對于光接口模塊,由于XFP提供一個兩線的串行接口,可以實現(xiàn)數(shù)據(jù)診斷功能,實時監(jiān)控光模塊的各種參數(shù),所以FPGA可以實現(xiàn)對其工作狀態(tài)的實時監(jiān)控。對于PHY模塊,F(xiàn)PGA通過SMI接口來控制該模塊的工作模式和檢測該模塊的工作狀態(tài)。
4 設(shè)計驗證
4.1 設(shè)計驗證方法
為了驗證該電路設(shè)計的正確性,對電路的可靠性進(jìn)行了測試。在該FPGA設(shè)計系統(tǒng)中加入一個偽隨機(jī)數(shù)列(PRBS)產(chǎn)生和檢查電路。由于Xilinx公司的Virtex6型芯片中的IP核GTP中含有偽隨機(jī)數(shù)列(PRBS)產(chǎn)生和檢測電路,所以本文采用其內(nèi)部電路自動生成PRBS并經(jīng)過整個10 Gb/s的以太網(wǎng)高速數(shù)據(jù)鏈路,最終由其檢測電路來檢驗數(shù)據(jù)傳輸中是否出現(xiàn)誤碼。測試方案如圖2所示。FPGA中用于產(chǎn)生和檢測PRBS的GTX核為4個,每一個分別對應(yīng)一個2.5G鏈路。
圖2 測試方案
由Xilinx公司給出的GTP的用戶說明[9]可知,分別設(shè)置信號TXENPRBSTST0、TXENPRBSTST1、RXENPRBSTST0以及RXENPRBSTST1的值為01,而信號INTDATAWIDTH的值為1,其產(chǎn)生的偽隨機(jī)數(shù)列類型為PRBS7。產(chǎn)生PRBS7數(shù)列的多項式為1+X6+X7,數(shù)據(jù)長度為128,其可以檢驗經(jīng)過8b/10b轉(zhuǎn)換的數(shù)據(jù)。設(shè)置信號RXPRBSERR的值為1,以檢測高速數(shù)據(jù)傳輸過程中數(shù)據(jù)是否出現(xiàn)誤碼。設(shè)置信號PRBS_ERR_THRESHOLD0和PRBS_ERR_THRESHOLD1的值,其含義為PRBS循環(huán)檢測中發(fā)生錯誤總數(shù)的閾值,以控制信號RXPRBSERR(0,1)。信號RXPRBSERR標(biāo)志著在PRBS循環(huán)測試中檢測數(shù)據(jù)錯誤發(fā)生的總值超過了PRBS_ERR_THRESHOLD所設(shè)置的閾值,則該信號變?yōu)?。產(chǎn)生的PRBS序列經(jīng)過發(fā)送鏈路和外部鏈路環(huán)回,再傳輸?shù)浇邮真溌,?jīng)過相應(yīng)的處理后到達(dá)PRBS檢測電路,進(jìn)而驗證數(shù)據(jù)的正確性。其中,外部鏈路環(huán)回是主要是指將一根光纖的兩端分別接入到10G光接口的接收與發(fā)送端,使數(shù)據(jù)本身在設(shè)計系統(tǒng)中環(huán)回。
4.2 驗證結(jié)果
在實驗室常溫環(huán)境下,對系統(tǒng)的高速傳輸數(shù)據(jù)進(jìn)行驗證。該驗證分為兩個部分,第一部分是運(yùn)用Xilinx公司研發(fā)的軟件工具Chipscope抓取FPGA內(nèi)部接收和發(fā)送的數(shù)據(jù)進(jìn)行比較,以驗證所設(shè)計的系統(tǒng)是否能實現(xiàn)所要求的功能。Chipscope抓取的結(jié)果如圖3所示。信號program_after_data0~3為PRBS產(chǎn)生模塊輸出的數(shù)據(jù)經(jīng)過功能模塊處理后的數(shù)據(jù)。信號RX0_PRBSERR0和RX0_PRBSERR1是第一鏈路中PRBS檢測模塊中RXPRBSERR0、1,由圖可知其值為1,即該系統(tǒng)中第0數(shù)據(jù)鏈路的錯誤計數(shù)沒有超過閾值PRBS_ERR_THRESHOLD的值。由圖可知,信號RX1_PRBSERR0、1,RX2_PRBSERR0、1和RX3_PRBSERR0、1的值均為0,所以系統(tǒng)的4條數(shù)據(jù)鏈路的錯誤計數(shù)均未超過閾值。
圖3 Chipscope系統(tǒng)測試結(jié)果
第二部分是運(yùn)用高頻率范圍示波器抓取FPGA輸出給PHY芯片的數(shù)據(jù),以檢測該系統(tǒng)傳輸?shù)男盘栙|(zhì)量,由示波器測試的數(shù)據(jù)傳輸眼圖如圖4所示。由于4路2.5G的傳輸鏈路配置相同且篇幅有限,只是列舉出第0路傳輸數(shù)據(jù)的眼圖。該系統(tǒng)傳輸?shù)难蹐D的比特錯誤率(EyeBER)可達(dá)到10-45,眼高為600 mV左右。
圖4 高速數(shù)據(jù)傳輸眼圖
結(jié)語
通過反復(fù)驗證和長時間連續(xù)測試,測試結(jié)果證明,該設(shè)計能夠有效、正確地實現(xiàn)10 Gb/s的高速數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)的誤碼均未超過閾值,進(jìn)而證明了該設(shè)計系統(tǒng)的可靠性和穩(wěn)定性。采用FPGA中的RocketIO接口來設(shè)計10 Gb/s速率的光纖傳輸,極大地增強(qiáng)了光纖傳輸設(shè)計的靈活性,通過修改FPGA代碼即可用于高速信號傳輸?shù)亩喾N情況和場合。
來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用