文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2013)12-0037-04
如今隨著有源相控陣?yán)走_(dá)技術(shù)的不斷發(fā)展,雷達(dá)信號所需要實(shí)時處理的數(shù)據(jù)量也在迅猛的增大,,這就使得數(shù)據(jù)流的高速傳輸面臨著較大的挑戰(zhàn)[1],。以往系統(tǒng)多采用并行方式傳輸高速的數(shù)據(jù)流,這種方式實(shí)現(xiàn)起來相對簡單,,但是當(dāng)數(shù)據(jù)率超過1 Gb/s時,,信號的同步管理變得十分困難,同時接口的數(shù)據(jù)對齊問題也影響著與外部設(shè)備的有效通信,。為了解決這一難題,,高速串行I/O技術(shù)應(yīng)運(yùn)而生。串行傳輸所需的引腳數(shù)少,,降低了背板開發(fā)的要求,,印制電路板的制作更加簡單,同時可以滿足遠(yuǎn)距離高速通信可靠性的要求,,被各行各業(yè)運(yùn)用在通信系統(tǒng)的設(shè)計(jì)中[2],。
為了適應(yīng)串行技術(shù)發(fā)展的趨勢,Xilinx公司也推出了內(nèi)嵌高速串行收發(fā)器Rocket I/O的FPGA產(chǎn)品,,并在此基礎(chǔ)上開發(fā)了Aurora協(xié)議,。Aurora協(xié)議是一款可自由使用相對較簡便的點(diǎn)對點(diǎn)鏈路層協(xié)議。其設(shè)計(jì)目的是使其他高層協(xié)議可以很簡單地運(yùn)行在Aurora之上[3],。其中Aurora IP核支持與光纖的無縫連接,,傳輸過程中抗電磁干擾能力強(qiáng),集成度高,,具有很強(qiáng)的靈活性,。
1 Aurora IP核的實(shí)現(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ù)傳輸速率,,并且利用通道綁定功能可以實(shí)現(xiàn)更高的數(shù)據(jù)傳輸速率,。收發(fā)器模塊物理媒質(zhì)適配層(PMA)集成了串行/解串器(SERDES)、時鐘和數(shù)據(jù)恢復(fù)電路(CDR)、電流模式邏輯(CML),、預(yù)加重/均衡電路等,,物理編碼子層(PCS)集成了8 bit/10 bit編解碼電路、循環(huán)冗余校驗(yàn)(CRC),、相位調(diào)整FIFO,、彈性緩沖器、PRBS產(chǎn)生和檢測等[5],。這些集成的模塊可用于補(bǔ)償信號的高額損耗,,減小時鐘的偏差和內(nèi)部噪聲對接收性能的影響,從而提高信號的質(zhì)量,。
Aurora協(xié)議是一款高帶寬,、低成本、可擴(kuò)展,、框架簡潔,、適合點(diǎn)對點(diǎn)串行數(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ì)算機(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è)計(jì)的參考時鐘需要選擇高精度的差分時鐘,這里選用3.3 V供電的貼片差分時鐘,,經(jīng)過IBUFG一級緩沖直接連接到GTX的參考時鐘輸入端,,而不能使用經(jīng)過DCM分頻/倍頻而來的時鐘。因?yàn)橛蒁CM引出來的時鐘抖動較大,,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核功能實(shí)現(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)時鐘的實(shí)現(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向其中寫入配置,,其中時鐘必須是獨(dú)立的外部時鐘且不能和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ù)挠行?shù)據(jù)率為1.6 Gb/s,。在SFP光纖收發(fā)模塊發(fā)送器發(fā)送數(shù)據(jù)的同時,,接收器立刻接收數(shù)據(jù)。本設(shè)計(jì)中選擇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)運(yùn)用ChipScope觀測發(fā)送和接收到的數(shù)據(jù),,比較數(shù)據(jù)傳輸是否正確,。
經(jīng)過長時間的測試,ChipScope抓取的發(fā)送和接收數(shù)據(jù)一致,,這表明本系統(tǒng)的光纖通信模塊能夠正常地工作,,完成了預(yù)期的設(shè)計(jì),。在硬件實(shí)現(xiàn)上的10 MHz ChipScope圖如圖5所示。
本文首先介紹了Rocket I/O在雷達(dá)信號處理中的應(yīng)用,,可以極大地提高通信卡之間的通信速率,;然后描述了Rocket I/O功能和Aurora核實(shí)現(xiàn)高速通信的具體實(shí)現(xiàn)過程。整個系統(tǒng)主要實(shí)現(xiàn)了對超高速AD采樣信號的高速光纖傳輸,,數(shù)據(jù)傳輸速率達(dá)到了2 Gb/s,,并且解決了不同通信卡進(jìn)行數(shù)據(jù)傳輸Aurora時鐘補(bǔ)償時的數(shù)據(jù)丟失問題。同時,,Aurora核自身有著通道擴(kuò)展的功能,,可以進(jìn)一步提高數(shù)據(jù)的傳輸速率,并且可以在實(shí)際情況中根據(jù)不同的信號頻率動態(tài)地調(diào)整采樣頻率,。由于系統(tǒng)的可編程性,,不需要對系統(tǒng)的結(jié)構(gòu)進(jìn)行大的調(diào)整,只需對具體功能進(jìn)行有效實(shí)現(xiàn),,提高了系統(tǒng)的靈活性,。
參考文獻(xiàn)
[1] 李江濤.RocketIO高速串行傳輸原理與實(shí)現(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ì)[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ì)[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.