文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.018
中文引用格式: 陳一波,,楊玉華,,王紅亮,等. 高速數(shù)據(jù)采集與光纖傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,,2016,,42(10):73-76.
英文引用格式: Chen Yibo,Yang Yuhua,,Wang Hongliang,,et al. Design and implementation of high speed data acquisition and fiber-optical transmission system[J].Application of Electronic Technique,2016,,42(10):73-76.
0 引言
在航天、雷達(dá),、通信等領(lǐng)域都需要進(jìn)行大量數(shù)據(jù)處理,而數(shù)據(jù)采集與傳輸是數(shù)據(jù)處理的前提,。但是隨著數(shù)據(jù)采集精度的不斷提高,,龐大的數(shù)據(jù)量導(dǎo)致數(shù)據(jù)傳輸面臨巨大壓力。傳統(tǒng)并行數(shù)據(jù)傳輸模式傳輸速率已經(jīng)不能滿足高速采集領(lǐng)域的傳輸需求,,串行傳輸技術(shù)不僅克服了輸出速率不足的問題,,而且不存在高速傳輸并行信號的偏移問題,可以顯著提高通信系統(tǒng)間的數(shù)據(jù)傳輸效果[1],。目前常用的LVDS串行傳輸方式傳輸速度僅有數(shù)百兆比特,,與此同時LVDS差分走線對PCB設(shè)計要求較高[2]。而光纖傳輸具有傳輸頻帶寬、通信容量大,、抗干擾能力強(qiáng),、布板簡單等優(yōu)點(diǎn)[3]。傳統(tǒng)單路光纖傳輸速率很難超過5 Gb/s,,基于此本系統(tǒng)通過兩路光纖增加帶寬,,提高傳輸速率。
基于以上分析,,本文設(shè)計了一種高速數(shù)據(jù)采集與光纖傳輸系統(tǒng),。系統(tǒng)控制設(shè)計采用FPGA實現(xiàn),F(xiàn)PGA器件兼有可編程性和高速I/O的技術(shù)優(yōu)勢,,可以滿足串行傳輸協(xié)議及演變進(jìn)化的需求,,已成為實現(xiàn)串行接口應(yīng)用的理想平臺[4]。
1 方案設(shè)計
數(shù)據(jù)采集與光纖傳輸系統(tǒng)采用模塊化設(shè)計,,主要由電源模塊,、8路AD9226采集電路模塊、可編程時鐘電路模塊,、FPGA主控模塊,、SFP光電轉(zhuǎn)換模塊等部分組成。電源模塊主要完成系統(tǒng)供電,,AD9226采集電路實現(xiàn)高速數(shù)據(jù)采集,,可編程時鐘電路實現(xiàn)不同頻率時鐘產(chǎn)生,F(xiàn)PGA主控模塊完成各個模塊時序產(chǎn)生,,SFP光電轉(zhuǎn)換模塊進(jìn)行電信號到光信號的轉(zhuǎn)換實現(xiàn)光纖傳輸,。系統(tǒng)組成框圖如圖1所示。
2 主要硬件模塊設(shè)計
2.1 FPGA控制模塊
系統(tǒng)采用Xilinx公司的Virtex-6 FPGA作為主控芯片,,Virtex-6 FPGA是Xilinx較新一代高性能FPGA,,內(nèi)部集成多個吉比特高速收發(fā)器,支持多種IP核,,在高速數(shù)據(jù)采集領(lǐng)域表現(xiàn)比較出色[4],。FPGA控制模塊主要實現(xiàn)8路A/D采集模塊工作時序生成、可編程時鐘電路控制,、高速光纖通信以及外部觸發(fā)信號判別,。
2.2 A/D采集模塊
A/D采集模塊采用了8片ADI公司的AD9226芯片,該芯片是一種單通道,、12 bit,、65 MS/s模數(shù)轉(zhuǎn)換器,可采用單端輸入或差分輸入[5],。AD9226內(nèi)部可提供1 V和2 V兩種基準(zhǔn)電壓源,,本系統(tǒng)中設(shè)計采用2 V基準(zhǔn)電壓,。由于AD9226電壓輸入范圍為1.0 V~3.0 V,為了擴(kuò)大電壓采集范圍,,使系統(tǒng)電壓范圍可以達(dá)到-5 V~+5 V,,利用運(yùn)算放大器AD8065在AD9226前端設(shè)計了一個衰減電路。根據(jù)滿足采集電壓范圍的要求,,衰減電路需要滿足:
其中Vin為輸入電壓值,,Vout為輸出電壓值。A/D轉(zhuǎn)換出的數(shù)字信號只需按式(1)反向運(yùn)算即可得到輸入電壓的真實數(shù)值,。單路A/D采集電路如圖2所示,。
2.3 光纖通信模塊
本系統(tǒng)中AD9226為12 bit ADC,8路ADC采集到的數(shù)據(jù)為96 bit,。為了保證數(shù)據(jù)正確傳輸,,與上位機(jī)協(xié)議將A/D采集數(shù)據(jù)進(jìn)行編幀。設(shè)置16 bit幀頭EB90,,16 bit幀尾146F,,8路A/D采集數(shù)據(jù)按照上位機(jī)編碼協(xié)議打包成一個128 bit的數(shù)據(jù)幀。本設(shè)計中AD9226最高采樣率設(shè)置為60 MHz,,8路A/D采集電路最高數(shù)據(jù)速率達(dá)5.76 Gb/s,,整個系統(tǒng)的最高數(shù)據(jù)速率達(dá)7.68 Gb/s。為了滿足整個系統(tǒng)傳輸速率的要求,,采用了基于Aurora協(xié)議的光纖傳輸方案,。Aurora協(xié)議是Xilinx公司開發(fā)的一種支持多路光纖傳輸,且具備信道初始化與時鐘矯正等功能的高速串并轉(zhuǎn)換協(xié)議[6],。針對不同應(yīng)用的需求,,Aurora協(xié)議可支持流(Streaming)和幀(Framing)兩種數(shù)據(jù)傳輸模式,以及全雙工,、單工數(shù)據(jù)通信方式[6],。Aurora 8b/10b IP核結(jié)構(gòu)框圖如圖3[7]所示。
本設(shè)計中Aurora IP核數(shù)據(jù)接口數(shù)據(jù)寬度配置為8 B,,參考時鐘配置為200 MHz,,配置兩路光纖鏈路,光纖鏈路速率配置為5 Gb/s,,采用全雙工,,幀格式進(jìn)行數(shù)據(jù)傳輸。在Aurora IP核數(shù)據(jù)接收模塊與A/D采集控制模塊之間添加一個數(shù)據(jù)接收FIFO達(dá)到數(shù)據(jù)位數(shù)匹配,。在Aurora IP核數(shù)據(jù)發(fā)送模塊與A/D采集控制模塊之間添加一個數(shù)據(jù)發(fā)送FIFO達(dá)到數(shù)據(jù)速率匹配和數(shù)據(jù)緩存的目的。
3 數(shù)字邏輯設(shè)計
數(shù)字邏輯設(shè)計主要包括可編程時鐘電路配置模塊,、AD9226數(shù)據(jù)采集電路控制模塊,、外部觸發(fā)模塊,,以及基于Aurora協(xié)議的光纖收發(fā)模塊的控制設(shè)計。其中可編程時鐘電路主要是通過SPI總線配置寄存器產(chǎn)生不同頻率時鐘信號,,將不同頻率的時鐘提供給8路AD9226數(shù)據(jù)采集電路實現(xiàn)不同采樣率下的信號采集,,完成對AD9226數(shù)據(jù)采集電路的控制。
3.1 外部觸發(fā)模塊
在數(shù)據(jù)采集過程中,,為了達(dá)到某種特定條件再開始采集,,需要在系統(tǒng)下發(fā)開始采集命令后,由被采集信號控制具體開始采集時刻,,為了滿足這些需求,,本系統(tǒng)設(shè)計了外部邊沿觸發(fā)和門控觸發(fā)模式。上位機(jī)下發(fā)等待觸發(fā)以及觸發(fā)類型命令后,,硬件電路首先判斷是否需要外部觸發(fā),,其次判斷觸發(fā)類型。當(dāng)觸發(fā)類型為外部邊沿觸發(fā)時,,第一個外部脈沖上升沿到來時觸發(fā)系統(tǒng)開始采集,,下一個外部脈沖上升沿到來時觸發(fā)系統(tǒng)停止采集;當(dāng)觸發(fā)類型為外部門控觸發(fā)時,,外部脈沖為高電平時開始采集,,為低電平時停止采集。如果不等待外部觸發(fā),,則直接觸發(fā)電路開始采集,。邊沿觸發(fā)示意圖如圖4所示,門控觸發(fā)示意圖如圖5所示,。
3.2 基于Aurora協(xié)議的光纖收發(fā)模塊
系統(tǒng)上電后光纖傳輸鏈路首先進(jìn)行初始化,,然后信號Channel_up和Lane_up[1:0]拉高,準(zhǔn)備開始接收或發(fā)送數(shù)據(jù),,系統(tǒng)完成初始化,。初始化后等待接收上位機(jī)命令,并按照上位機(jī)通信協(xié)議解析命令,。
系統(tǒng)接收到上位機(jī)命令后,,開始解析命令,首先按照上位機(jī)下發(fā)的采樣率參數(shù),,配置可編程時鐘電路產(chǎn)生對應(yīng)頻率的時鐘,。可編程時鐘電路配置完成后判斷觸發(fā)模式,,如果為外部觸發(fā),,判斷外部觸發(fā)方式等待觸發(fā),否則直接開始采集,。在數(shù)據(jù)采集過程中如果收到停止命令,,或者外部觸發(fā)停止,,則系統(tǒng)處于復(fù)位狀態(tài),停止采集,。程序流程圖如圖6所示,。
3.2.1 光纖數(shù)據(jù)發(fā)送模塊
光纖數(shù)據(jù)發(fā)送模塊主要用于將數(shù)據(jù)按照Aurora協(xié)議中的數(shù)據(jù)幀(Framing)格式發(fā)送。本系統(tǒng)中發(fā)送模塊主要設(shè)計了數(shù)據(jù)包幀頭標(biāo)志TX_DATA_SOF,、數(shù)據(jù)包幀尾標(biāo)志TX_DATA_EOF,、數(shù)據(jù)有效信號TX_DATA_Vaild,以及要發(fā)送的數(shù)據(jù)TX_DATA,。其中TX_DATA_SOF為低時表示幀頭有效,,TX_DATA_EOF為低時表示幀尾有效,TX_DATA_Vaild為低代表數(shù)據(jù)有效[7],。具體傳輸時序如圖7所示,。
3.2.2 光纖數(shù)據(jù)接收模塊
光纖數(shù)據(jù)接收模塊主要實現(xiàn)外部數(shù)據(jù)接收。與數(shù)據(jù)發(fā)送模塊類似,,在數(shù)據(jù)接收模塊設(shè)計中主要按照Aurora協(xié)議中的數(shù)據(jù)幀格式接收數(shù)據(jù),。其中數(shù)據(jù)包幀頭標(biāo)志為RX_DATA_SOF,數(shù)據(jù)包幀尾標(biāo)志為RX_DATA_EOF,,數(shù)據(jù)有效信號為RX_DATA_Vaild,,要發(fā)送的數(shù)據(jù)為RX_DATA。RX_DATA_SOF為低時表示幀頭有效,,RX_DATA_EOF為低時表示幀尾有效,, RX_DATA_Vaild為低代表數(shù)據(jù)有效[7]。具體傳輸時序如圖8所示,。
4 測試結(jié)果
為了直觀測試采集系統(tǒng)測量精度,,實驗中8路A/D分別采集8種不同電壓值,將采集數(shù)據(jù)按照幀格式上傳至上位機(jī),,電壓采集測試部分?jǐn)?shù)據(jù)如圖9所示,。
上位機(jī)收到數(shù)據(jù)以后,按照協(xié)議解析數(shù)據(jù)將多次測量數(shù)據(jù)取平均按式(1)反向計算就得到真實測量值,,結(jié)果如表1所示,。
由表1觀察得到,系統(tǒng)采集到的電壓值最大誤差為0.08%,,最小誤差0%,,達(dá)到了設(shè)計目標(biāo)。為了進(jìn)一步驗證采集系統(tǒng)的采樣率,,利用安捷倫信號發(fā)生器產(chǎn)生了8種幅度不同頻率相同的的正弦波,。通過上位機(jī)配置AD9226采集電路,以60 MHz采樣率對模擬信號采樣,將采樣數(shù)據(jù)利用上位機(jī)軟件分析,,分析結(jié)果如圖10所示,。從圖中可以看出8路A/D采集可以同時以60 MHz采樣率進(jìn)行采樣,正弦波波形連續(xù)說明傳輸系統(tǒng)沒有丟數(shù),,正弦波波形光滑說明系統(tǒng)傳輸也沒有出現(xiàn)誤碼,證明系統(tǒng)可以以60 MHz采樣率工作,,而且光纖傳輸速率可以滿足7.68 Gb/s的要求,。由此進(jìn)一步證明了采集系統(tǒng)的可靠性。
5 總結(jié)
本文介紹了一種以高速數(shù)據(jù)采集與光纖傳輸系統(tǒng)的設(shè)計過程,。經(jīng)過測試證明,,系統(tǒng)每通道采樣速率為60 MHz,最大傳輸速率7.68 Gb/s,。目前,,本系統(tǒng)已成功應(yīng)用于某型高速數(shù)據(jù)記錄儀,該記錄儀在多種測試條件下都表現(xiàn)出良好的測試效果,。該系統(tǒng)還可以應(yīng)用于其他高速數(shù)據(jù)采集領(lǐng)域,。
參考文獻(xiàn)
[1] 黃萬維,董永吉.Xilinx FPGA高速串行傳輸技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,,2015.
[2] 王冰,,靳學(xué)明.LVDS技術(shù)及其在多信道高速數(shù)據(jù)傳輸中的應(yīng)用[J].電子技術(shù)應(yīng)用,2003(3):55-56.
[3] 姜漫.10Gbps/40Gbps光纖通信技術(shù)研究與系統(tǒng)實現(xiàn)[D].長春:中國科院學(xué)長春光學(xué)精密機(jī)械與物理研究所,,2012.
[4] 徐文波,,田耘.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學(xué)出版社,2012.
[5] 趙健.導(dǎo)航接收機(jī)數(shù)字信號處理平臺設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),,2006.
[6] 魯睿其,,曾健平,趙豫斌,,等.基于Aurora協(xié)議光纖實時信號傳輸性能測試[J].核技術(shù),,2015(3):49-53.
[7] Xilinx PG046.Xilinx logicore ip aurora 8B/10B product guide[EB/OL].(2014)[2016].http://www.xilinx.com/support/documentation/ip_documentation/aurora_8b10b/v11_0/pg046-au-rora-8b10b.pdf