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