《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于Aurora協(xié)議的高速通信技術(shù)的研究
基于Aurora協(xié)議的高速通信技術(shù)的研究
來源:電子技術(shù)應(yīng)用2013年第12期
李維明1,陳建軍2,陳星锜1
1.南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京210044; 2.南京船舶雷達(dá)研究所,江蘇 南京210003
摘要: 介紹了基于模塊化方法在FPGA上實現(xiàn)高速通信的設(shè)計方案。系統(tǒng)在Aurora協(xié)議下采用高速串行收發(fā)器Rocket I/O,解決了不同端口收發(fā)時鐘補(bǔ)償帶來的數(shù)據(jù)丟失問題,并結(jié)合SFP光模塊對高速AD采樣信號進(jìn)行有效的傳輸。實驗證明了方案的可行性,其對提高雷達(dá)信號處理帶寬、改進(jìn)雷達(dá)的探測性能具有較大的意義。
中圖分類號: TN47
文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2013)12-0037-04
Aurora-based protocol high-speed communication technology research
Li Weiming1,Chen Jianjun2,Chen Xingqi1
1.College of Electrics and Information Engineering, Nanjing University of Information Science & Technology, Nanjing 210044,China; 2.Nanjing Marine Radar institute, Nanjing 210003,China
Abstract: This paper introduces a modular approach based on FPGA to achieve high-speed communication design. System uses high-speed serial transceivers Rocket I/O with Aurora protocol to solve different port transceiver problems which data loss caused by clock compensation, combined with SFP optical module for high-speed AD sampling signal effectively transfer. Experimental results prove the feasibility of the program, which has great significance in improving the bandwidth of the radar signal processing and radar detection performance.
Key words : FPGA;Aurora IP;clock compensation;high-speed AD

    如今隨著有源相控陣?yán)走_(dá)技術(shù)的不斷發(fā)展,雷達(dá)信號所需要實時處理的數(shù)據(jù)量也在迅猛的增大,這就使得數(shù)據(jù)流的高速傳輸面臨著較大的挑戰(zhàn)[1]。以往系統(tǒng)多采用并行方式傳輸高速的數(shù)據(jù)流,這種方式實現(xiàn)起來相對簡單,但是當(dāng)數(shù)據(jù)率超過1 Gb/s時,信號的同步管理變得十分困難,同時接口的數(shù)據(jù)對齊問題也影響著與外部設(shè)備的有效通信。為了解決這一難題,高速串行I/O技術(shù)應(yīng)運而生。串行傳輸所需的引腳數(shù)少,降低了背板開發(fā)的要求,印制電路板的制作更加簡單,同時可以滿足遠(yuǎn)距離高速通信可靠性的要求,被各行各業(yè)運用在通信系統(tǒng)的設(shè)計中[2]。

    為了適應(yīng)串行技術(shù)發(fā)展的趨勢,Xilinx公司也推出了內(nèi)嵌高速串行收發(fā)器Rocket I/O的FPGA產(chǎn)品,并在此基礎(chǔ)上開發(fā)了Aurora協(xié)議。Aurora協(xié)議是一款可自由使用相對較簡便的點對點鏈路層協(xié)議。其設(shè)計目的是使其他高層協(xié)議可以很簡單地運行在Aurora之上[3]。其中Aurora IP核支持與光纖的無縫連接,傳輸過程中抗電磁干擾能力強(qiáng),集成度高,具有很強(qiáng)的靈活性。
1 Aurora IP核的實現(xiàn)
    Rocket I/O是內(nèi)嵌在FPGA中的一款高速串行收發(fā)器,支持多種通信協(xié)議標(biāo)準(zhǔn),如Aurora、PCI Express、光纖通道、千兆以太網(wǎng)等[4]。該收發(fā)器提供單工或全雙工的數(shù)據(jù)傳輸模式。每個Rocket I/O支持622 Mb/s~3.125 Gb/s的數(shù)據(jù)傳輸速率,并且利用通道綁定功能可以實現(xiàn)更高的數(shù)據(jù)傳輸速率。收發(fā)器模塊物理媒質(zhì)適配層(PMA)集成了串行/解串器(SERDES)、時鐘和數(shù)據(jù)恢復(fù)電路(CDR)、電流模式邏輯(CML)、預(yù)加重/均衡電路等,物理編碼子層(PCS)集成了8 bit/10 bit編解碼電路、循環(huán)冗余校驗(CRC)、相位調(diào)整FIFO、彈性緩沖器、PRBS產(chǎn)生和檢測等[5]。這些集成的模塊可用于補(bǔ)償信號的高額損耗,減小時鐘的偏差和內(nèi)部噪聲對接收性能的影響,從而提高信號的質(zhì)量。
    Aurora協(xié)議是一款高帶寬、低成本、可擴(kuò)展、框架簡潔、適合點對點串行數(shù)據(jù)傳輸?shù)膮f(xié)議。該協(xié)議支持專用的上層協(xié)議或符合工業(yè)標(biāo)準(zhǔn)的協(xié)議(例如以太網(wǎng)、TCP/IP),提供了透明接口的串行互連協(xié)議,其允許數(shù)據(jù)進(jìn)行任何分組封裝,可以使芯片間的數(shù)據(jù)傳輸在一個較高的水平而不需要改變已有的通信系統(tǒng)或計算機(jī)系統(tǒng)[6]。Aurora協(xié)議可以配置每個通路中的Rocket I/O工作在全雙工或半雙工的模式下,其鏈路結(jié)構(gòu)圖如圖1所示。

    Aurora IP核是Xilinx公司在Aurora協(xié)議和高速串行收發(fā)器Rocket基礎(chǔ)上研發(fā)出來的硬核。該核嵌入在Rocket I/O模塊中,提供了簡單的用戶接口,極大地方便了信號的可操作性。通過IP核用戶界面可以改變Rocket I/O中復(fù)雜的控制結(jié)構(gòu)。Aurora IP核主要包括本地流控制、用戶流控制、用戶數(shù)據(jù)接口、時鐘輸入與時鐘修正模塊、高速串行收發(fā)模塊和狀態(tài)信息控制模塊[7-8]。
    本系統(tǒng)所用Aurora IP核為全雙工模式,通道的線速度為2 Gb/s,輸入?yún)⒖紩r鐘為125 MHz,用戶時鐘100 MHz,發(fā)送和接收位寬都為16 bit,采用流控的數(shù)據(jù)傳輸模式。由于發(fā)送數(shù)據(jù)經(jīng)過Rocket I/O進(jìn)行了8 bit/10 bit編碼,故而通道串行線性速率為1.6 Gb/s。IP核封裝圖如圖2所示。

    其中IP核設(shè)計的參考時鐘需要選擇高精度的差分時鐘,這里選用3.3 V供電的貼片差分時鐘,經(jīng)過IBUFG一級緩沖直接連接到GTX的參考時鐘輸入端,而不能使用經(jīng)過DCM分頻/倍頻而來的時鐘。因為由DCM引出來的時鐘抖動較大,Rocket I/O在數(shù)據(jù)傳輸時相當(dāng)不穩(wěn)定,會造成數(shù)據(jù)丟失。
    由于Aurora IP核具有時鐘補(bǔ)償功能,在數(shù)據(jù)接口寬度為2 B的情況下,每5 000個user_clk就需要6個user_clk的時鐘補(bǔ)償,一旦啟用時鐘補(bǔ)償功能,數(shù)據(jù)流將不能進(jìn)入Rocket I/O,所以在Aurora IP 核收發(fā)器的兩端需要加上一個16 KB的FIFO為數(shù)據(jù)緩沖做準(zhǔn)備,以避免IP核在進(jìn)行時鐘補(bǔ)償時的數(shù)據(jù)丟失,同時可以用來匹配AD采樣信號數(shù)據(jù)時鐘和用戶時鐘user_clk的不一致。解決方案程序如下:
    process(USER_CLK)
    begin
        if USER_CLK'event and USER_CLK='1' then
            count_16bit<=count_16bit+1;
        if count_16bit>0 and count_16bit<=2 then
DO_CC<='1'; else DO_CC<='0'; end if;
        end if;
    end process;
    IP核封裝程序如下:
    My_Aurora_AXI4_2Gbps is
        Port (
            GTX_CLK_125MHz : in  std_logic;  -- MUST
be 125 MHz
            TXP  ,TXN    : out std_logic;  --2 Gbps
            RXP  ,RXN    : in  std_logic; --2 Gbps
            local_clk : in std_logic;  -- <=200 MHz
            reset : in std_logic;
            S_AURORA_TX_TDATA : in std_logic_vector
(15 downto 0);
            S_AURORA_TX_TVALID: in std_logic;
            S_AURORA_TX_TREADY: out std_logic;
            M_AURORA_RX_TDATA : out std_logic_vector
(15 downto 0);
            M_AURORA_RX_TVALID: out std_logic;
        ERROR : out std_logic;
            CHANNEL_UP: out std_logic
        );
    Aurora IP核功能實現(xiàn)ChipScope圖如圖3所示。

2 測試系統(tǒng)結(jié)構(gòu)
    該系統(tǒng)主要由FPGA、ADS5400模/數(shù)轉(zhuǎn)換器以及AD9516時鐘生成模塊、SPF光纖收發(fā)模塊、電源模塊等功能模塊組成。首先高頻信號經(jīng)由ADS5400模/數(shù)轉(zhuǎn)換器采樣,送入并存儲到FPGA的FIFO中。然后經(jīng)過一系列的邏輯控制,高頻數(shù)字信號進(jìn)入Aurora IP核中,經(jīng)過Rocket I/O進(jìn)入SPF光纖模塊將電信號轉(zhuǎn)換成光信號,通過光纖進(jìn)行有效的傳輸。系統(tǒng)總體框圖如圖4所示。

2.1 超高速A/D轉(zhuǎn)換與系統(tǒng)時鐘的實現(xiàn)
    在系統(tǒng)發(fā)送端采用的是12 bit分辨率及1 GS/s采樣率的ADS5400模/數(shù)轉(zhuǎn)換器。ADS5400中可調(diào)節(jié)的精細(xì)增益、失調(diào)和相位可以大幅度地簡化兩個ADC的交錯,這樣就簡化了I/Q接收機(jī)中兩個ADC的平衡問題。ADS5400同時有著較好的信噪比,這使其在較高的中頻條件下能夠完成模/數(shù)轉(zhuǎn)換,極大地提高雷達(dá)信號處理的速度。
    ADS5400的輸入時鐘(也就是采樣頻率)由專用的時鐘芯片產(chǎn)生,其寫配置接口遵循SPI總線接口,采用125 MHz時鐘頻率經(jīng)由FPGA向其中寫入配置,其中時鐘必須是獨立的外部時鐘且不能和Rocket I/O共用同一時鐘,以防止芯片不能正常工作。此模塊ADS5400輸出采用雙端口模式,clkout被2分頻,使用內(nèi)部參考時鐘。
    在本系統(tǒng)中,AD9516的輸入時鐘是由外部晶振產(chǎn)生的高精度差分時鐘,頻率為200 MHz,使用內(nèi)部VCO,內(nèi)部壓控振蕩器的頻率為2 GHz。經(jīng)過分頻器在LVPECL端和LVDS端分別產(chǎn)生100 MHz的時鐘信號。其中LVPECL端產(chǎn)生的時鐘作為ADS5400的輸入時鐘,LVDS端產(chǎn)生的時鐘作為FPGA的信號時鐘,以便對信號在FPGA中進(jìn)行進(jìn)一步的處理,以滿足信號的同源問題,時鐘信號具有較大的靈活性。
2.2 性能測試

 


    在本系統(tǒng)中采用了Rocket I/O進(jìn)行光纖通信,為了測試系統(tǒng)的通信性能,Rocket I/O采用了全雙工、流控制的工作模式,其數(shù)據(jù)傳輸速率為2 Gb/s。由于GTX內(nèi)部采用了8 bit/10 bit編碼,因而實際上傳輸?shù)挠行?shù)據(jù)率為1.6 Gb/s。在SFP光纖收發(fā)模塊發(fā)送器發(fā)送數(shù)據(jù)的同時,接收器立刻接收數(shù)據(jù)。本設(shè)計中選擇Finisar公司的FTLF8519P2xTL光電轉(zhuǎn)換模塊。主要測試步驟為:(1)給FPGA 處理板上電,向ADS5400和AD9516寫配置之后分別產(chǎn)生100 MHz的采樣信號和100 MHz FPGA時鐘信號;(2)信號發(fā)生器產(chǎn)生10 MHz的正弦波連接到ADS5400模/數(shù)轉(zhuǎn)換器;(3)ADS5400把模擬信號轉(zhuǎn)換成數(shù)字信號;(4)將轉(zhuǎn)換完成的數(shù)字信號寫入FPGA的FIFO中;(5)FPGA 將FIFO中的數(shù)據(jù)通過Aurora IP核經(jīng)由光纖模塊發(fā)送出去,同時光纖模塊接收剛剛發(fā)送的數(shù)據(jù),并將數(shù)據(jù)傳入FPGA的FIFO中;(6)運用ChipScope觀測發(fā)送和接收到的數(shù)據(jù),比較數(shù)據(jù)傳輸是否正確。
    經(jīng)過長時間的測試,ChipScope抓取的發(fā)送和接收數(shù)據(jù)一致,這表明本系統(tǒng)的光纖通信模塊能夠正常地工作,完成了預(yù)期的設(shè)計。在硬件實現(xiàn)上的10 MHz ChipScope圖如圖5所示。

    本文首先介紹了Rocket I/O在雷達(dá)信號處理中的應(yīng)用,可以極大地提高通信卡之間的通信速率;然后描述了Rocket I/O功能和Aurora核實現(xiàn)高速通信的具體實現(xiàn)過程。整個系統(tǒng)主要實現(xiàn)了對超高速AD采樣信號的高速光纖傳輸,數(shù)據(jù)傳輸速率達(dá)到了2 Gb/s,并且解決了不同通信卡進(jìn)行數(shù)據(jù)傳輸Aurora時鐘補(bǔ)償時的數(shù)據(jù)丟失問題。同時,Aurora核自身有著通道擴(kuò)展的功能,可以進(jìn)一步提高數(shù)據(jù)的傳輸速率,并且可以在實際情況中根據(jù)不同的信號頻率動態(tài)地調(diào)整采樣頻率。由于系統(tǒng)的可編程性,不需要對系統(tǒng)的結(jié)構(gòu)進(jìn)行大的調(diào)整,只需對具體功能進(jìn)行有效實現(xiàn),提高了系統(tǒng)的靈活性。
參考文獻(xiàn)
[1] 李江濤.RocketIO高速串行傳輸原理與實現(xiàn)[J].雷達(dá)與對抗,2004(3):48-50.
[2] SAVAGE S.Implementing high-speed serial and custom  digital protocols thru FPGA technology and graphical  programming techniques[C].Baltimore,2007 IEEE Autotestcon,2007:214-223.
[3] 林振華.基于PCI-X和RocketIO的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].現(xiàn)代雷達(dá),2011,33(6):49-52.
[4] Xilinx.Aurora protocol specification[Z].2007.
[5] Xilinx.Virtex_6 FPGA GTX transceivers user guide UG366(v2.6)[Z].2011.
[6] 楊雷,龍哲仁,盧繼華,等.LVDS高速并口通信協(xié)議設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(3):119-122.
[7] Zhou Dexiang,Zheng Liping.Study of Aurora IP nuclear  communication module based on FPGA[C].2011 IEEE 3rd  International Conference on ICCSN,2011:581-583.
[8] Xilinx.LogiCORE IP Aurora 8B/10B V7.1 user guide UG766[Z].2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。