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