《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)
基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)
2016年電子技術(shù)應(yīng)用第2期
李廣志1,2,3,周卓赟3,謝昱勃3,范新南1,2,3,張學(xué)武3
1.江蘇省世界水谷與水生態(tài)文明協(xié)同創(chuàng)新中心,江蘇 南京211100; 2.河海大學(xué)江蘇省輸配電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 常州213022;3.河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州213022
摘要: 針對陣列信號數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)要求具有幅相一致、速度快、大數(shù)據(jù)量的特點(diǎn),設(shè)計(jì)了一種基于FPGA的陣列信號數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)以同步采樣A/D轉(zhuǎn)換器為核心,配合基于FPGA的控制單元,完成128路陣列信號同步采樣功能。同時(shí)采用88E1111作為網(wǎng)絡(luò)PHY芯片,完成與上位機(jī)之間的千兆位UDP通信,實(shí)現(xiàn)大數(shù)據(jù)量高速傳輸功能。經(jīng)測試,系統(tǒng)實(shí)現(xiàn)了對128路陣列信號的采集與傳輸,具有良好的幅度一致性、相位一致性以及快速、穩(wěn)定的特點(diǎn)。
中圖分類號: TN919
文獻(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.
Data acquisition system for array signal based on FPGA
Li Guangzhi1,2,3,Zhou Zhuoyun3,Xie Yubo3,F(xiàn)an Xinnan1,2,3,Zhang Xuewu3
1.Jiangsu Provincial Collaborative Innovation Center of World Water Valley and Water Ecological Civilization,Nanjing 211100,China; 2.Jiangsu Key Laboratory of Power Transmission and Distribution Equipment Technology,Hohai University,Changzhou 213022,China; 3.College of Internet of Things Engineering,Hohai University,Changzhou 213022,China
Abstract: To satisfy the requests of data acquisition system for array signal in amplitude-phase consistency, high speed and large volume, a kind of data acquisition system for array signal based on FPGA is designed. The system uses the synchronous A/D converter as the core to synchronous sample input signals. With the cooperation of control unit based on FPGA, the system has the ability to synchronous sample the array signal, the road number of which is reach up to 128. With the use of 88E1111 as the net PHY chip, the system can use the user datagram protocol(UDP) to communicate with the upper computer by the gigabit Ethernet, so the large volume can release high-speed transmission. By test, system releases the acquisition and transmission of array signals, the road number of which is reach up to 128. At the same time, the system also have good amplitude-phase consistency, high speed and stability.
Key words : array signal data acquisition;FPGA;synchronous sample;UDP

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ò)傳輸芯片的控制。

ck4-t1.gif

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%精度。

ck4-t2.gif

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è)芯片的配置,其他芯片相同。

ck4-t3.gif

    由于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)。

ck4-t4.gif

    系統(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通道。

ck4-t5.gif

    由圖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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。