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