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