文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.019
中文引用格式: 李廣志,周卓赟,謝昱勃,等. 基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)[J].電子技術應用,2016,42(2):71-73,77.
英文引用格式: Li Guangzhi,Zhou Zhuoyun,Xie Yubo,et al. Data acquisition system for array signal based on FPGA[J].Application of Electronic Technique,2016,42(2):71-73,77.
0 引言
陣列信號處理是信號處理領域的一個重要分支,在雷達、聲納、無線通信等許多領域中有著廣泛的應用[1]。其中,多通道同步采集與大數(shù)據(jù)量的高速傳輸是陣列信號處理中一個相當重要的環(huán)節(jié)。
現(xiàn)有的采集系統(tǒng)大多存在如下問題[2-5]:(1)通道路數(shù)較少,通常為幾路或十幾路,難以滿足陣列信號多達上百路信號采集的需求。(2)數(shù)據(jù)傳輸速率較低,以以太網(wǎng)傳輸為例,大部分仍采用百兆傳輸速率,鮮有采用千兆甚至更高的傳輸速率,難以滿足陣列信號大數(shù)據(jù)量的高速傳輸需求。(3)系統(tǒng)結構復雜,需要多種處理器相互協(xié)作,對系統(tǒng)的設計、測試以及部署提出了很大的挑戰(zhàn)。
本設計較現(xiàn)有的陣列信號數(shù)據(jù)采集系統(tǒng),在設計方案、通道路數(shù)以及傳輸方式等方面均有較大的改進,如系統(tǒng)所有邏輯、協(xié)議均在一片FPGA中實現(xiàn),無需額外采用其他處理器,降低了系統(tǒng)的結構復雜度;UDP傳輸協(xié)議采用Verilog硬件描述語言進行硬實現(xiàn),大幅提高了傳輸?shù)乃俣群托剩籄D采樣電路采用同步采樣AD芯片,確保了多通道之間的相位一致性;系統(tǒng)通道路數(shù)達到128路,能夠滿足陣列信號對通道路數(shù)的要求。整個系統(tǒng)具有較好的通道間幅相一致性、較高的傳輸速度以及通道數(shù)較多等突出特點。本文介紹了該數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)方案。
1 系統(tǒng)總體設計
1.1 系統(tǒng)的設計思路
系統(tǒng)的設計主要圍繞以下三點展開:
(1)滿足系統(tǒng)功能需求。主要滿足多通道、同步采集以及數(shù)據(jù)傳輸這三個功能需求。
(2)滿足系統(tǒng)精度需求。主要滿足通道的分辨率、采樣率、通道數(shù)的需求,滿足系統(tǒng)幅度一致性和相位一致性的需求,以及滿足多通道數(shù)據(jù)實時傳輸?shù)男枨蟆?/p>
(3)降低系統(tǒng)復雜度。即在保證滿足(1)和(2)的前提下,盡可能減少A/D轉換芯片的個數(shù)以及減少處理器的個數(shù)。
1.2 系統(tǒng)的設計方案
系統(tǒng)整體原理圖如圖1所示。128路模擬信號經(jīng)過濾波模塊后,由A/D轉換模塊進行同步采樣,將模擬信號轉換為數(shù)字信號,該數(shù)字信號在控制模塊控制下,通過網(wǎng)絡傳輸模塊、按照UDP協(xié)議在光纖中進行傳輸,從而實時上傳到計算機中進行顯示、存儲以及處理等??刂颇K是系統(tǒng)的控制中心,不僅完成A/D轉換器的控制,同時還完成數(shù)據(jù)信號的緩存、UDP傳輸協(xié)議實現(xiàn)以及網(wǎng)絡傳輸芯片的控制。
2 系統(tǒng)的硬件設計
2.1 濾波模塊
濾波模塊選用TI公司OPA4140搭建有源濾波器,對輸入信號進行有源濾波,將輸入的差分信號轉成單端信號,同時完成與后端A/D轉換模塊的阻抗匹配。OPA4140是一款精密、低噪聲、軌對軌輸出的JFET放大器,適用于搭建有源濾波器及構建數(shù)據(jù)采集系統(tǒng)等。OPA4140電路如圖2所示。圖中僅展示了一個通道,其他通道相同。為了保證通道間的幅值一致性,所有電阻均選用0.01%精度。
2.2 A/D轉換模塊
通過對系統(tǒng)的采樣率、分辨率、通道數(shù)以及同步性等要求的分析,最終選用TI公司的ADS8556作為A/D轉換芯片。ADS8556是一款16位、6通道的同步采樣A/D轉換芯片,6個通道相互獨立,通過外部轉換信號,可進行并行采樣、轉換。本系統(tǒng)中輸入共有128路,因此僅需22片芯片就可完成任務。將每片芯片的轉換信號連接到一起,可以實現(xiàn)22片芯片的同步轉換,保證了系統(tǒng)對相位一致性的要求。
ADS8556既可以配置成并行接口,也可以配置成串行接口。本系統(tǒng)中有22片芯片,如果配置成并行接口,則與后級的控制系統(tǒng)間接線復雜,因此配置成串行接口。ADS8556具體配置如圖3所示。圖中僅展示了一個芯片的配置,其他芯片相同。
由于22片ADS8556同時工作,因此幀同步信號AD_Frame_Synch、轉換同步信號AD_CONV_ABC、復位信號AD_RST、串行接口時鐘信號AD_SCLK以及串行輸入信號AD_SDI均22片共用,每片的數(shù)據(jù)輸出SDO_A、SDO_B以及SDO_C均單獨連接到后級的控制系統(tǒng)。
2.3 控制模塊
為了降低系統(tǒng)的復雜度,控制模塊選用FPGA實現(xiàn)。綜合考慮到系統(tǒng)所需的管腳數(shù)量,F(xiàn)PGA核心板最終選用微雪電子公司的CoreEP4CE10型號。CoreEP4CE10是一款基于Altera公司EP4CE10F17C8N為主控芯片的核心板,板載Altera FPGA最基本電路,引出了所有的I/O資源,帶有JTAG調試下載接口,同時采用2.0 mm排針,體積小,適合作為核心板接入用戶系統(tǒng)。
2.4 網(wǎng)絡傳輸模塊
網(wǎng)絡傳輸模塊主要解決數(shù)據(jù)在光纖中高速傳輸?shù)膯栴}。考慮到系統(tǒng)對網(wǎng)絡傳輸速率的需求以及系統(tǒng)設計的復雜度,網(wǎng)絡傳輸模塊選用Marvell公司的88E1111芯片來實現(xiàn)。
88E1111是單片高性能千兆位以太網(wǎng)物理層芯片,可直接連接到光纖收發(fā)器。本模塊采用88E1111和千兆單模SFP完成千兆位以太網(wǎng)光纖傳輸接口,與FPGA控制系統(tǒng)MAC層接口采用GMII接口。
88E1111解決了以太網(wǎng)物理層傳輸問題,協(xié)議層在基于FPGA的控制模塊中通過Verilog HDL進行硬實現(xiàn),提高了協(xié)議層的工作效率。
2.5 電源模塊
清潔、穩(wěn)定的電源模塊是整個系統(tǒng)正常工作的基礎,尤其是模擬部分。因此重點介紹模擬部分電源設計。
本系統(tǒng)模擬電路部分需要±5 V和±7 V四種電壓。為了滿足系統(tǒng)的要求,模擬電路部分的電源設計首選低噪聲、高電源抑制比、低壓降的線性穩(wěn)壓器。
本設計中采用TI公司的TPS7A49正電源線性穩(wěn)壓器和TPS7A30負電源線性穩(wěn)壓器。TPS7A49和TPS7A30是具有超低噪聲、高電源抑制比、低壓降的線性穩(wěn)壓器,輸入電壓可達到±36 V,輸出可調節(jié),且TPS7A49噪聲可低至12.7 μVRMS,TPS7A30噪聲可低至14 μVRMS。在保證輸出穩(wěn)定的同時,輸出電容可選用陶瓷電容,較鉭電容相比,可實現(xiàn)更小的PCB尺寸和更低的BOM成本。TPS7A30與TPS7A49配合使用,可為運算放大器和A/D轉換器實現(xiàn)更高的精度提供有力保障。
3 系統(tǒng)軟件設計
3.1 系統(tǒng)控制軟件設計
系統(tǒng)整體控制流程如圖4所示,系統(tǒng)軟件部分主要包括:系統(tǒng)初始化、網(wǎng)絡收發(fā)、A/D轉換器控制以及相互之間的協(xié)調。
系統(tǒng)上電后,首先進行系統(tǒng)初始化配置,然后進入接收命令等待狀態(tài)。接收到上位機從網(wǎng)絡發(fā)來的啟動命令后,執(zhí)行任務1和任務2。系統(tǒng)所有代碼全部基于Verilog HDL實現(xiàn)[6,7],因此任務1和任務2是并行執(zhí)行。任務1主要完成A/D轉換器的控制、數(shù)據(jù)讀取以及UDP網(wǎng)絡傳輸協(xié)議的實現(xiàn);任務2主要是監(jiān)聽網(wǎng)絡下行命令,接收到停止命令時,將停止控制信號傳遞給任務1,當任務1完成當前發(fā)送任務后,系統(tǒng)停止。
ADS8556采用串行接口方式。首先將CONVST_x信號拉高并啟動轉換,然后檢測到BUSY信號變?yōu)楦唠娖?,待檢測到其下降沿時,拉低FS信號,則A/D轉換數(shù)據(jù)在SCLK的上升沿輸出,處理器可以在緊挨著的SCLK下降沿讀取數(shù)據(jù)。數(shù)據(jù)開始于最高有效位。在FS拉低的同時,配置數(shù)據(jù)在SCLK的下降沿鎖存,處理器在之前的SCLK的上升沿送出配置數(shù)據(jù),同樣,配置數(shù)據(jù)開始于最高有效位。
網(wǎng)絡收發(fā)部分主要完成UDP/IP協(xié)議的硬實現(xiàn),具體包括傳輸層的UDP發(fā)送、UDP接收,網(wǎng)絡層的IP發(fā)送、IP接收以及鏈路層的ARP發(fā)送和ARP接收。UDP/IP協(xié)議規(guī)定了網(wǎng)絡中數(shù)據(jù)傳輸?shù)母袷?,根?jù)規(guī)定的格式,通過Verilog HDL語言,按照字節(jié)的先后順序進行實現(xiàn)即可。
3.2 簡易幅相測試腳本編寫
簡易幅相測試腳本采用Matlab進行開發(fā)[8],用于快速直觀判斷系統(tǒng)是否具有較好的幅相一致性。
軟件通過讀取上位機保存的128通道數(shù)據(jù),按通道進行處理后,借助Matlab中的imagesc函數(shù)進行顯示。
關鍵腳本代碼如下:
imagesc(abs(squeeze(DataBuf(1:30,1:100))));
title(′1-30通道數(shù)據(jù)幅相一致性分析′);
xlabel(′樣點數(shù)′);
ylabel(′通道號′);
saveas(gcf,′D:\ChannelCommonAnalysis1_30.bmp′,′bmp′);
4 系統(tǒng)測試與分析
4.1 多通道幅相一致性測試
將128路模擬輸入連接到一起,通過信號發(fā)生器產生一個正弦波信號,采集系統(tǒng)對該信號進行采集,通過光纖上傳至上位機進行保存,然后借助簡易幅相測試腳本對數(shù)據(jù)前100個樣點進行分析。1-30通道幅相一致性檢測結果如圖5所示,同樣可以分析剩余的31到128通道。
由圖5可以看出,系統(tǒng)具有較高的多通道幅相一致性。通過進一步計算,可以得出系統(tǒng)滿足設計需求:通道間幅度一致性≤1 dB,相位一致性≤3°。
4.2 采集系統(tǒng)網(wǎng)絡傳輸速度測試
上位機將采集系統(tǒng)設置為全速狀態(tài),通過Windows系統(tǒng)自帶的網(wǎng)絡監(jiān)視工具來監(jiān)視系統(tǒng)上傳數(shù)據(jù)速度,可知系統(tǒng)網(wǎng)絡傳輸速度可以穩(wěn)定運行在600 Mb/s以上,滿足陣列信號采集系統(tǒng)穩(wěn)定、高速傳輸大量數(shù)據(jù)的需求。
5 結論
本文設計了一種以FPGA為核心,配合ADS8556和88E1111構成的多通道同步采集系統(tǒng)。借助FPGA的多路高速并行的優(yōu)勢,完成對ADS8556和88E1111的邏輯控制,實現(xiàn)多通道同步采集和數(shù)據(jù)的高速穩(wěn)定傳輸。
本系統(tǒng)通道數(shù)達到128路,同時通道間具有較好的幅相一致性,且能滿足采集數(shù)據(jù)的高速實時傳輸要求。
系統(tǒng)現(xiàn)已投入陣列信號水聲方向的相關實際應用中,在地面功能測試、水池驗收測試以及多次海測中均運行正常。通過實踐證明該系統(tǒng)完全滿足陣列信號要求的幅相一致性和數(shù)據(jù)高速穩(wěn)定傳輸?shù)囊螅哂休^高的實用價值。
參考文獻
[1] 張小飛,汪飛,陳偉華.陣列信號處理的理論與應用(第2版)[M].北京:國防工業(yè)出版社,2013.
[2] 楊博,張加宏,李敏,等.基于ARM的多通道數(shù)據(jù)采集系統(tǒng)[J].儀表技術與傳感器,2015(2):104-107.
[3] 孫曉杰.大數(shù)據(jù)量多通道實時高速采集系統(tǒng)的研究與開發(fā)[D].北京:北京郵電大學,2015.
[4] 李攀.陣列信號同步采集系統(tǒng)的設計與實現(xiàn)[D].武漢:華中科技大學,2013.
[5] 王剛,王躍科,喬純捷.基于以太網(wǎng)的陣列信號采集與處理系統(tǒng)設計[C].第十七屆全國測控計量儀器儀表學術年會(MCMI'2007),中國福建廈門,2007.
[6] 夏宇聞.Verilog數(shù)字系統(tǒng)設計教程(第2版)[M].北京:北京航空航天大學出版社,2008.
[7] 吳繼華,王誠.Altera FPGA/CPLD設計(基礎篇)[M].北京:人民郵電出版社,2005.
[8] 李剛.MATLAB函數(shù)速查手冊[M].北京:清華大學出版社,2011.