《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 10G以太網(wǎng)光接口的FPGA實現(xiàn)

10G以太網(wǎng)光接口的FPGA實現(xiàn)

2015-10-15
關鍵詞: FPGA 以太網(wǎng)

  1 概述
  隨著人們對通信信息的充裕性、及時性和便捷性的要求越來越高,能夠隨時隨地、方便而及時地獲取所需信息,變得越來越重要。2002年,IEEE通過了10 Gb/s速率的以太網(wǎng)標準——IEEE 802.3ae[1]。10G以太網(wǎng)作為傳統(tǒng)以太網(wǎng)技術的一次較大的升級,在原有的千兆以太技術的基礎上將傳輸速率提高了10倍,以滿足人們對移動通信業(yè)務的要求。
  2009年1月國內(nèi)3G牌照正式發(fā)放,標志著我國3G時代的到來。為了適應移動通信的發(fā)展,各大運營商展開了大規(guī)模的3G移動通信網(wǎng)絡建設;而移動通信網(wǎng)絡建設的核心是基站建設,其成本也是最高的。此外,基站的性能好壞也是移動通信服務質(zhì)量的決定因素。所以,運營商在不斷尋求新的方式以提高通信服務質(zhì)量的同時,也在努力降低通信網(wǎng)絡建設的成本。分布式基站具有成本低、環(huán)境適應性強、工程建設方便的優(yōu)勢,從而代表了下一代基站的的基本走向。
  分布式基站的核心是把傳統(tǒng)的宏基站基帶處理單元BBU和射頻拉遠單元RRU分離,二者通過光纖連接。網(wǎng)絡部署時,BBU集中置放,其容量較大,實現(xiàn)了容量和覆蓋之間的轉(zhuǎn)換;RRU置于天面,其環(huán)境適應性強,并且多個RRU可以共享BBU基帶資源,節(jié)省基帶投資。為了實現(xiàn)基站和直放站之間更有效的互通,愛立信、華為、NEC、北電網(wǎng)絡及西門子五大集團合力制定了CPRI接口協(xié)議。該接口的標準協(xié)議成為了一個公共的可用指標之一。
  2 CPRI協(xié)議簡述[2]
  CPRI(Common Public Radio Interface)協(xié)議定義了兩個協(xié)議層——物理層(L1)和數(shù)據(jù)鏈路層(L2)。CPRI接口是位于REC(Radio Equipment Contorl,無線設備控制)和RE(Radio Equipment,無線設備)之間以及兩個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)點是電路板結(jié)構緊湊,有利于PCB板布線,且具有很高的系統(tǒng)抗干擾能力。此外,參數(shù)設置方便,有利于系統(tǒng)調(diào)試。每塊Virtex5型的FPGA芯片中含有多個GTP收發(fā)器,可以通過運用4個GTP來實現(xiàn)10 Gb/s的高速率傳輸。每一個GTP核中包含一個接收鏈路和一個發(fā)送鏈路[45]。
  (2) 方案二
  利用串并轉(zhuǎn)換的專用芯片,如TI公司生產(chǎn)的TLK2501、美國國家半導體設計的串行/解串器SCAN25100[67]等。其中,SCAN25100的功能最完善,其具備8b/10b編解碼、高速串并轉(zhuǎn)換、鎖定檢測、CPRI信號和幀丟失檢測等功能。該芯片具有高精度延時校準測量電路、時鐘管理以及信號調(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板的布線難度和電路板面積,不利于電路設計。

57.png

  圖1 以太網(wǎng)光接口結(jié)構
  本文采取第一種設計方案完成10 Gb/s的CPRI高速數(shù)據(jù)傳輸設計。如圖1所示,以太網(wǎng)光接口包括4部分:10GE光接口、PHY收發(fā)器、時鐘模塊、FPGA。其中,10GE光接口和PHY收發(fā)器是實現(xiàn)該10G以太網(wǎng)光接口的硬件設備;FPGA部分是本文設計的核心,采用Xilinx公司的 Virtex6芯片。
  10GE光接口:光纖模塊,由光電子器件、功能電路和光接口等組成,其中包括發(fā)射和接收兩部分。發(fā)射部分是:輸入一定碼率的電信號,經(jīng)內(nèi)部的驅(qū)動芯片處理后驅(qū)動半導體激光器或發(fā)光二極管發(fā)射出相應速率的調(diào)制光信號。接收部分是:一定碼率的光信號輸入模塊后由光信號管轉(zhuǎn)換為電信號,經(jīng)前置放大器后輸出相應碼率的電信號[7]。根據(jù)參考文獻[7]討論的結(jié)果,本文設計的電路結(jié)構選用的是XFP(萬兆以太網(wǎng)接口小封裝可插拔收發(fā)器)光模塊,與電路板的接口采用10 Gb/s串行電路接口,其只負責完成光/電信號的轉(zhuǎn)換,優(yōu)點是體積小、功耗低且較易實現(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ù)進行8b/10b編解碼,因此有效碼率是10 Gb/s,能夠滿足本文的設計要求,可以實現(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)設計中,GTP核的參考時鐘沒有采用DCM(Digital Clock Manager,數(shù)字時鐘管理器)提供的時鐘。因為在高速數(shù)據(jù)傳輸過程中,DCM會引入一些不可預測的時鐘抖動,這些抖動會隨著參考時鐘輸入到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ù)復/分解等操作。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 設計驗證
  4.1 設計驗證方法
  為了驗證該電路設計的正確性,對電路的可靠性進行了測試。在該FPGA設計系統(tǒng)中加入一個偽隨機數(shù)列(PRBS)產(chǎn)生和檢查電路。由于Xilinx公司的Virtex6型芯片中的IP核GTP中含有偽隨機數(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個,每一個分別對應一個2.5G鏈路。
  

58.png

        圖2 測試方案
  由Xilinx公司給出的GTP的用戶說明[9]可知,分別設置信號TXENPRBSTST0、TXENPRBSTST1、RXENPRBSTST0以及RXENPRBSTST1的值為01,而信號INTDATAWIDTH的值為1,其產(chǎn)生的偽隨機數(shù)列類型為PRBS7。產(chǎn)生PRBS7數(shù)列的多項式為1+X6+X7,數(shù)據(jù)長度為128,其可以檢驗經(jīng)過8b/10b轉(zhuǎn)換的數(shù)據(jù)。設置信號RXPRBSERR的值為1,以檢測高速數(shù)據(jù)傳輸過程中數(shù)據(jù)是否出現(xiàn)誤碼。設置信號PRBS_ERR_THRESHOLD0和PRBS_ERR_THRESHOLD1的值,其含義為PRBS循環(huán)檢測中發(fā)生錯誤總數(shù)的閾值,以控制信號RXPRBSERR(0,1)。信號RXPRBSERR標志著在PRBS循環(huán)測試中檢測數(shù)據(jù)錯誤發(fā)生的總值超過了PRBS_ERR_THRESHOLD所設置的閾值,則該信號變?yōu)?。產(chǎn)生的PRBS序列經(jīng)過發(fā)送鏈路和外部鏈路環(huán)回,再傳輸?shù)浇邮真溌?,?jīng)過相應的處理后到達PRBS檢測電路,進而驗證數(shù)據(jù)的正確性。其中,外部鏈路環(huán)回是主要是指將一根光纖的兩端分別接入到10G光接口的接收與發(fā)送端,使數(shù)據(jù)本身在設計系統(tǒng)中環(huán)回。
  4.2 驗證結(jié)果
  在實驗室常溫環(huán)境下,對系統(tǒng)的高速傳輸數(shù)據(jù)進行驗證。該驗證分為兩個部分,第一部分是運用Xilinx公司研發(fā)的軟件工具Chipscope抓取FPGA內(nèi)部接收和發(fā)送的數(shù)據(jù)進行比較,以驗證所設計的系統(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ù)均未超過閾值。
  

59.png

  圖3 Chipscope系統(tǒng)測試結(jié)果
  第二部分是運用高頻率范圍示波器抓取FPGA輸出給PHY芯片的數(shù)據(jù),以檢測該系統(tǒng)傳輸?shù)男盘栙|(zhì)量,由示波器測試的數(shù)據(jù)傳輸眼圖如圖4所示。由于4路2.5G的傳輸鏈路配置相同且篇幅有限,只是列舉出第0路傳輸數(shù)據(jù)的眼圖。該系統(tǒng)傳輸?shù)难蹐D的比特錯誤率(EyeBER)可達到10-45,眼高為600 mV左右。

60.png

  圖4 高速數(shù)據(jù)傳輸眼圖
  結(jié)語
  通過反復驗證和長時間連續(xù)測試,測試結(jié)果證明,該設計能夠有效、正確地實現(xiàn)10 Gb/s的高速數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)的誤碼均未超過閾值,進而證明了該設計系統(tǒng)的可靠性和穩(wěn)定性。采用FPGA中的RocketIO接口來設計10 Gb/s速率的光纖傳輸,極大地增強了光纖傳輸設計的靈活性,通過修改FPGA代碼即可用于高速信號傳輸?shù)亩喾N情況和場合。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。