喻 鵬,肖大為,姬 慶
?
基于FPGA的水下多路數(shù)據(jù)采集存儲(chǔ)系統(tǒng)
喻 鵬,肖大為,姬 慶
(海軍工程大學(xué),武漢430033)
設(shè)計(jì)了以FPGA器件SPARTAN-6系列為核心的多通道數(shù)據(jù)采集存儲(chǔ)系統(tǒng),通過(guò)FPGA對(duì)擴(kuò)展AD和存儲(chǔ)卡的工作時(shí)序控制,實(shí)現(xiàn)數(shù)據(jù)采集存儲(chǔ)功能。該系統(tǒng)具有可靠性強(qiáng),采集速度快,體積小,存儲(chǔ)空間大和功耗較低的特點(diǎn)。
FPGA 數(shù)據(jù)采集 數(shù)據(jù)存儲(chǔ)
隨著對(duì)海洋開(kāi)發(fā)力度的加大,水下信號(hào)采集在軍事、民用上需求越來(lái)越大。相比于陸地上,水下數(shù)據(jù)采集存在著工作環(huán)境復(fù)雜,數(shù)據(jù)通訊困難的問(wèn)題,所以一般均采用先采集存儲(chǔ)后取出來(lái)進(jìn)行數(shù)據(jù)分析的方法。這對(duì)采集可靠性、采集工作時(shí)長(zhǎng)、存儲(chǔ)容量要求較高。
本系統(tǒng)初步設(shè)計(jì)具有6個(gè)采集通道,實(shí)現(xiàn)對(duì)聲信號(hào)(聲信號(hào)和聲包絡(luò)信號(hào))、磁信號(hào)(磁信號(hào)分x、y、z三路)、水壓信號(hào)的采集存儲(chǔ)。通過(guò)對(duì)聲、磁、水壓信號(hào)的提取不僅可以對(duì)水下目標(biāo)的特征進(jìn)行識(shí)別,同時(shí)也能夠?qū)δ繕?biāo)方位進(jìn)行判別,這對(duì)軍用及民用探測(cè)領(lǐng)域都有一定的使用價(jià)值。本系統(tǒng)工作效率高,能連續(xù)工作100 h,存儲(chǔ)容量大(32G)、成本低,應(yīng)用性強(qiáng)。
水下采集的信號(hào)首先經(jīng)過(guò)信號(hào)調(diào)理模塊進(jìn)行處理,然后經(jīng)過(guò)AD采樣送入FPGA中,經(jīng)過(guò)數(shù)據(jù)處理后存儲(chǔ)到存儲(chǔ)器中。與A/D芯片的接口采用FPGA,A/D的串行數(shù)據(jù)需要經(jīng)過(guò)內(nèi)部的FIR濾波器進(jìn)行濾波后串行輸出給FPGA,F(xiàn)PGA完成數(shù)據(jù)處理,存入FIFO(先進(jìn)先出存儲(chǔ)器),當(dāng)數(shù)據(jù)存儲(chǔ)量達(dá)到一定狀態(tài)時(shí),進(jìn)行位校驗(yàn)運(yùn)算,校驗(yàn)完成后將數(shù)據(jù)寫入FLASH。
整體設(shè)計(jì)如下:
圖1 物理場(chǎng)采集模塊原理框圖
FPGA選用的XILINX公司出品的SPARTAN-6系列的XC6SLX9芯片,它擁有144個(gè)管腳,接近100個(gè)可用管腳,含4個(gè)時(shí)鐘倍頻器。
AD芯片選用AD7671。由于本系統(tǒng)的采樣速率要求高,采樣字長(zhǎng)為16位,選擇美國(guó)AD公司生產(chǎn)的AD7671作為采集電路模塊的模數(shù)轉(zhuǎn)換器。該芯片單+5V供電,最大功耗僅為112mW,符合低功耗設(shè)計(jì)原則,適合于電池供電系中應(yīng)用;精度為16位;采樣速率為800KSPS(正常模式),可滿足系統(tǒng)要求。
存儲(chǔ)芯片選用三星公司生產(chǎn)的K9GB08U0A型,它屬于NAND型FLASH存儲(chǔ)器,容量32G,3.3V供電,體積小,數(shù)據(jù)讀取存儲(chǔ)速度快。FLASH型存儲(chǔ)介質(zhì)具有高密度、高速體系結(jié)構(gòu)、低價(jià)格,高可靠性、低功耗等特點(diǎn),成為記錄器系統(tǒng)最常用的存儲(chǔ)介質(zhì)。而NAND型FLASH的數(shù)據(jù)線與地址線分時(shí)復(fù)用,這樣就大大減小了芯片的封裝體積,讀寫操作以頁(yè)為單位,擦除以塊為單位,因此編程和擦除的速度快,體積小,價(jià)格低[1],基本滿足要求。
2.1信號(hào)調(diào)理模塊設(shè)計(jì)
信號(hào)調(diào)理模塊對(duì)傳感器輸出信號(hào)進(jìn)行放大、濾波等信號(hào)預(yù)處理,滿足信號(hào)采集要求。主要包含電源變換模塊、放大濾波電路和數(shù)字濾波電路。其中數(shù)字濾波電路實(shí)現(xiàn)各個(gè)信號(hào)數(shù)字濾波。電源變換電路如圖2。
水聲信號(hào)在傳播過(guò)程中衰減得非常嚴(yán)重,換能器接收到的水聲信號(hào)通常比較微弱,一般為μV級(jí)信號(hào),不適合A/D轉(zhuǎn)換器直接采樣。因此,必須先經(jīng)過(guò)信號(hào)調(diào)理電路的處理[2]。為實(shí)現(xiàn)對(duì)聲信號(hào)采集,聲信號(hào)調(diào)理電路需要完成對(duì)聲傳感器輸出信號(hào)的調(diào)理功能。其主要參數(shù)為:10Hz~10 kHz的帶通濾波,帶內(nèi)波動(dòng)≤1dB,通帶增益40dB,輸出端噪聲≤ 5mV,±5V供電,輸出聲調(diào)理信號(hào)和聲包絡(luò)信號(hào),電路原理如圖3所示。
圖2電源變換電路
圖3 聲調(diào)理電路原理
2.2采集和存儲(chǔ)模塊設(shè)計(jì)
采集和存儲(chǔ)模塊設(shè)計(jì)了六路模擬信號(hào)輸入,分別為聲、聲包絡(luò)、水壓、磁場(chǎng)X、磁場(chǎng)Y和磁場(chǎng)Z,設(shè)計(jì)分辨率為65 μV,總記錄深度為32G字節(jié),設(shè)計(jì)功耗<600mW。
圖4 FPGA與AD連接電路圖
與A/D芯片的接口采用的FPGA不僅接收A/D的數(shù)據(jù),同時(shí)它也是A/D的時(shí)鐘提供者。在設(shè)計(jì)上,F(xiàn)PGA使用了20MHz的外部晶振,經(jīng)過(guò)分頻后輸出給6路A/D,其中聲采樣采用320 kHz采樣(A/D的FIR濾波器會(huì)8分頻數(shù)據(jù)),輸出40 kHz,其他5路采用320Hz采樣,40Hz輸出。A/D的串行數(shù)據(jù)輸出到FPGA后,F(xiàn)PGA完成串并轉(zhuǎn)換,并進(jìn)行電壓轉(zhuǎn)換,完成電壓值的矯正。
設(shè)置AD7671轉(zhuǎn)換器工作在正常模式,輸入模擬信號(hào)電壓范圍為±5V,數(shù)據(jù)吞吐量800kSPS,轉(zhuǎn)換結(jié)果串行輸出。需要三組電源:模擬5V電源(AVDD),數(shù)字5V電源(DVDD),3.3V邏輯參考電源(OVDD與FPGA一致)。由于一共有6路信號(hào)需要采樣,則需要通過(guò)FPGA分別控制6個(gè)AD采樣器的進(jìn)行流水采集和數(shù)據(jù)傳輸。為降低干擾,提高采樣精度,參考數(shù)據(jù)手冊(cè),設(shè)計(jì)如圖4采集電路。
AD傳送的數(shù)據(jù)首先存入FIFO(先進(jìn)先出存儲(chǔ)器),當(dāng)數(shù)據(jù)達(dá)到一定狀態(tài)滿時(shí),進(jìn)行位校驗(yàn)運(yùn)算,校驗(yàn)完成后將數(shù)據(jù)寫入FLASH,存儲(chǔ)模塊電路圖如圖5。
本存儲(chǔ)芯片采用數(shù)據(jù)線與地址線復(fù)用的方式讀取和存儲(chǔ)數(shù)據(jù),讀寫操作以頁(yè)為單位,擦除以塊為單位[3]。存儲(chǔ)時(shí),首先由8路I/O口傳送寫命令,然后由I/0分4次寫入地址,并進(jìn)行鎖存,之后再由I/O口寫入數(shù)據(jù),寫入結(jié)束后傳輸寫入結(jié)束命令,寫入完成。讀操作、擦除操作過(guò)程與上述寫操作基本一致。
FPGA芯片控制整個(gè)電路時(shí)序,F(xiàn)PGA使用了20 MHz的外部晶振,經(jīng)過(guò)分頻后輸出給6路A/D以及存儲(chǔ)芯片作為時(shí)鐘信號(hào),同時(shí)通過(guò)部分I/O口控制各個(gè)芯片的工作時(shí)序。
圖5 FPGA與FLASH連接電路圖
利用QUARTUS軟件仿真采集模塊的工作時(shí)序。FPGA輸出信號(hào)有SCLK(子時(shí)鐘),CS(片選信號(hào)),CNVST(啟動(dòng)采集轉(zhuǎn)換信號(hào)),輸入信號(hào)為BUSY(采集轉(zhuǎn)換狀態(tài)信號(hào)),SDOUT(串行輸出數(shù)據(jù))。部分仿真圖如圖6。
圖6 采集時(shí)序仿真圖
其工作過(guò)程為:由CNVST窄脈寬信號(hào)獨(dú)立促發(fā)芯片開(kāi)始采樣,采樣完成并進(jìn)行轉(zhuǎn)換之后BUSY由高電平變?yōu)榈碗娖?,F(xiàn)PGA檢測(cè)BUSY信號(hào),通過(guò)控制CS信號(hào)對(duì)AD轉(zhuǎn)換后數(shù)據(jù)進(jìn)行讀取,其中SCLK信號(hào)為FPGA提供的同步信號(hào),由SDOUT串行輸入轉(zhuǎn)換結(jié)果。
本文設(shè)計(jì)了以FPGA為核心控制器件,多片A /D器件流水高速采集并利用FLASH進(jìn)行大量存儲(chǔ)的系統(tǒng),重點(diǎn)對(duì)采集和存儲(chǔ)模塊進(jìn)行介紹,設(shè)計(jì)了采集模塊和存儲(chǔ)模塊的硬件電路,并利用verilog語(yǔ)言編程仿真實(shí)現(xiàn)。本系統(tǒng)采集通道的可依據(jù)需要進(jìn)行擴(kuò)展,通用性較強(qiáng),在水下信號(hào)采集領(lǐng)域具有一定的應(yīng)用價(jià)值。
[1] 任勇峰. FLASH存儲(chǔ)器的高速寫入方法. 電腦開(kāi)發(fā)與應(yīng)用, 2001, (5): 5~6.
[2] 趙志剛.舷側(cè)陣主、被動(dòng)自導(dǎo)實(shí)驗(yàn)系統(tǒng)的硬件設(shè)計(jì)[D]. 西安: 西北工業(yè)大學(xué), 2007.
[3] 李士照,任勇峰. 某水下用記錄器的設(shè)計(jì)及實(shí)現(xiàn). 中北大學(xué)碩士學(xué)位論文, 2013.
[4] 王彥. 基于FPGA的工程設(shè)計(jì)與應(yīng)用[M]. 西安: 西安電子科技大學(xué)出版社, 2007.
Multi-channel Signals Sampling/Storage System Based on FPGA
Yu Peng, Xiao Dawei, Ji Qing
(Naval University of Engineering, Wuhan 430033, China)
TP273
A
1003-4862(2016)10-0058-03
2016-05-09
喻鵬(1992-),男,碩士在讀。研究方向:軍用目標(biāo)特性及探測(cè)。