《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Aurora協(xié)議的高速通信技術的研究
基于Aurora協(xié)議的高速通信技術的研究
來源:電子技術應用2013年第12期
李維明1,陳建軍2,陳星锜1
1.南京信息工程大學 電子與信息工程學院,江蘇 南京210044; 2.南京船舶雷達研究所,江蘇 南京210003
摘要: 介紹了基于模塊化方法在FPGA上實現(xiàn)高速通信的設計方案。系統(tǒng)在Aurora協(xié)議下采用高速串行收發(fā)器Rocket I/O,解決了不同端口收發(fā)時鐘補償帶來的數據丟失問題,并結合SFP光模塊對高速AD采樣信號進行有效的傳輸。實驗證明了方案的可行性,其對提高雷達信號處理帶寬、改進雷達的探測性能具有較大的意義。
中圖分類號: TN47
文獻標識碼: 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

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

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

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

    其中IP核設計的參考時鐘需要選擇高精度的差分時鐘,這里選用3.3 V供電的貼片差分時鐘,經過IBUFG一級緩沖直接連接到GTX的參考時鐘輸入端,而不能使用經過DCM分頻/倍頻而來的時鐘。因為由DCM引出來的時鐘抖動較大,Rocket I/O在數據傳輸時相當不穩(wěn)定,會造成數據丟失。
    由于Aurora IP核具有時鐘補償功能,在數據接口寬度為2 B的情況下,每5 000個user_clk就需要6個user_clk的時鐘補償,一旦啟用時鐘補償功能,數據流將不能進入Rocket I/O,所以在Aurora IP 核收發(fā)器的兩端需要加上一個16 KB的FIFO為數據緩沖做準備,以避免IP核在進行時鐘補償時的數據丟失,同時可以用來匹配AD采樣信號數據時鐘和用戶時鐘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)結構
    該系統(tǒng)主要由FPGA、ADS5400模/數轉換器以及AD9516時鐘生成模塊、SPF光纖收發(fā)模塊、電源模塊等功能模塊組成。首先高頻信號經由ADS5400模/數轉換器采樣,送入并存儲到FPGA的FIFO中。然后經過一系列的邏輯控制,高頻數字信號進入Aurora IP核中,經過Rocket I/O進入SPF光纖模塊將電信號轉換成光信號,通過光纖進行有效的傳輸。系統(tǒng)總體框圖如圖4所示。

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

 


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

    本文首先介紹了Rocket I/O在雷達信號處理中的應用,可以極大地提高通信卡之間的通信速率;然后描述了Rocket I/O功能和Aurora核實現(xiàn)高速通信的具體實現(xiàn)過程。整個系統(tǒng)主要實現(xiàn)了對超高速AD采樣信號的高速光纖傳輸,數據傳輸速率達到了2 Gb/s,并且解決了不同通信卡進行數據傳輸Aurora時鐘補償時的數據丟失問題。同時,Aurora核自身有著通道擴展的功能,可以進一步提高數據的傳輸速率,并且可以在實際情況中根據不同的信號頻率動態(tài)地調整采樣頻率。由于系統(tǒng)的可編程性,不需要對系統(tǒng)的結構進行大的調整,只需對具體功能進行有效實現(xiàn),提高了系統(tǒng)的靈活性。
參考文獻
[1] 李江濤.RocketIO高速串行傳輸原理與實現(xiàn)[J].雷達與對抗,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的高速數據傳輸系統(tǒng)設計[J].現(xiàn)代雷達,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é)議設計[J].電子技術應用,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.

此內容為AET網站原創(chuàng),未經授權禁止轉載。