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