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