基于FPGA的水聲信號采集與存儲系統設計
摘要:為實(shí)現對水聲信號的多通道同步采集并存儲,提出了一種基于FPGA的多通道信號同步采集、高速大容量實(shí)時(shí)存儲的系統設計方案,并完成系統的軟硬件設計。該系統的硬件部分采用模塊化設計,通過(guò)FPGA豐富的外圍接口實(shí)現模塊間的數據交互,軟件部分采用Verilog HDL硬件描述語(yǔ)言進(jìn)行編程,能夠靈活的實(shí)現信號的采集及存儲。實(shí)際應用表明,該設計具有功耗低,可高速實(shí)時(shí)存儲,存儲容量大,通用性強,易于擴展升級等特點(diǎn)。
本文引用地址:http://dyxdggzs.com/article/201610/306364.htm水聲信號采集存儲系統是海洋環(huán)境調查儀器的重要組成部分。開(kāi)展水聲環(huán)境調查所使用的海洋儀器要求設備通道多、同步性好、采樣率高、數據存儲容量大。市場(chǎng)上常見(jiàn)的數據采集器多是采集某些固定種類(lèi)的信號,動(dòng)態(tài)范圍比較小,通道數一般也比較少,有些還要求與主機進(jìn)行接口等,這些都限制了其在水聲信號采集中的應用。為滿(mǎn)足需要,本文設計了適合于水聲數據采集存儲的較為通用的系統,系統單板具有8個(gè)采集通道,多個(gè)單板級聯(lián)可實(shí)現多通道同步采集、USB高速存儲。
1 總體設計
該系統總體結構如圖1所示,上級電路通過(guò)級聯(lián)接口發(fā)送采集指令,單片機初始化控制FPGA,控制FPGA首先判斷單板是否為級聯(lián)單板,再初始化相應的FPGA。采集模塊的FPGA向需要同步采集的通道對應的A/D芯片提供統一的時(shí)鐘,使得A/D同步的選擇相應的通道進(jìn)行數據的同步采樣和轉換,其結果傳給負責緩存的FPGA,緩存在DDR對應的存儲空間,然后由ARM控制存儲模塊的FPGA從DDR空間讀取數據進(jìn)行本地存儲。

2 系統硬件設計
系統硬件主要由控制模塊、數據采集模塊、緩存模塊、存儲模塊幾部分組成,系統硬件結構圖如圖2所示。單片機功耗低、接口豐富、可靠性高,被系統用做上電引導芯片;FPGA器件具有集成度高、內部資源豐富、特別適合處理多路并行數據等明顯優(yōu)于普通微處理器的特點(diǎn),所以系統采用XILINX公司不同型號的FPGA作為不同模塊的主控芯片。針對系統設計中對采集存儲實(shí)時(shí)性和同步性的要求,存儲模塊采用FPGA與ARM相結合的設計,采集主控制邏輯用ARM實(shí)現,FPGA負責數據的高速傳輸和存儲。

控制模塊相當于系統的值班電路,當系統作為從板工作時(shí),只有控制模塊和數據采集模塊帶電,其他模塊關(guān)閉。由于FPGA內核電壓只有1.2 V,在這種情況下系統工作電流不大于1 A,低功耗的設計保證系統可在無(wú)人值守的情況下長(cháng)時(shí)間連續進(jìn)行采集存儲工作。系統需要多通道數據同時(shí)采集存儲時(shí),用戶(hù)通過(guò)配置主板的控制模塊參數設定8、16或32通道采集,主控FPGA通過(guò)級聯(lián)接口發(fā)送統一的采集時(shí)鐘到系統從板,從而實(shí)現系統多通道水聲信號的同步采集及存儲。另外,通過(guò)單片機接口也可以隨時(shí)監控系統工作狀態(tài),系統具有修復功能,采集存儲過(guò)程中出現錯誤時(shí),可根據用戶(hù)配置自動(dòng)進(jìn)行相應的錯誤處理。
數據采集模塊具有8路數據采集存儲通道,每通道采用TI公司的24位高精度模數轉換器ADS1258,A/D采用15.36 MHz的外部輸入時(shí)鐘。設計中數字電源、模擬電源、參考電壓?jiǎn)为毑季€(xiàn),保證8通道信號隔離度幾乎為零,降低了系統測量噪聲。模塊中FPGA并行控制多路數據轉換,包括轉換啟動(dòng)、轉換同步、轉換停止、轉換數據輸出等。
數據緩存模塊采用64M byte的DDR作為緩存,因為DDR在一個(gè)時(shí)鐘周期內進(jìn)行兩次數據傳輸操作,它能夠在時(shí)鐘的上升沿和下降沿各傳輸一次數據,具有雙倍的數據傳輸量,DDR可以在與SDRAM相同的總線(xiàn)頻率下達到更高的數據傳輸率。緩存模塊中的FPGA對DDR的數據寫(xiě)入和存儲
模塊中的FPGA對數據的讀取是通過(guò)兵乓傳輸結構實(shí)現的。當FPGA寫(xiě)滿(mǎn)DDR上半區后,向存儲模塊申請中斷,存儲模塊響應中斷后,讀出上半區數據到存儲模塊;同時(shí)FPGA向DDR的下半區寫(xiě)數據,寫(xiě)滿(mǎn)下半區后也向存儲模塊發(fā)出中斷,通知存儲模塊讀出下半區數據。通過(guò)乒乓傳輸保證了系統數據采集和數據傳輸可連續進(jìn)行。
數據存儲模塊的作用是將多通道24 bit數據經(jīng)過(guò)緩存模塊,按采樣的時(shí)間順序,以低字節到高字節的次序,依次將其寫(xiě)入電子硬盤(pán)。系統采用IPD的iPD-USB型300G電子硬盤(pán)作為存儲器。由于它沒(méi)有普通硬盤(pán)的旋轉介質(zhì),因而抗震性極佳,同時(shí)工作溫度很寬,可工作在-40~+85℃,再加上重量較硬盤(pán)輕很多,非常適用于水下聲信號采集存儲設備。根據系統要求,采用USB底層芯片配合存儲模塊實(shí)現大容量高速USB存儲,速度可達480Mbit/s,比全速USB存儲快了40倍。
3 系統軟件設計
程序設計采用Verilog HDL硬件描述語(yǔ)言,軟件采用模塊化設計,提高了程序的可移植性和可維護性。系統的軟件主要分為初始化模塊、水聲數據采集模塊、數據緩存模塊、數據存儲模塊、中斷服務(wù)程序模塊等構成。初始化程序僅在系統復位及程序開(kāi)始時(shí)執行一次,完成各模塊主控芯片及外圍電路的初始化;數據采集模塊通過(guò)模擬量輸入端口采集水聲信號;數據緩存模塊負責將DDR中緩存的數據依次輸出給存儲模塊;數據存儲模塊每分鐘向電子硬盤(pán)中寫(xiě)入一個(gè)文件。軟件設計的流程圖如圖3所示。

4 試驗應用
4.1 實(shí)驗室測試結果
系統的性能測試是保證系統穩定,可靠工作的重要手段。在實(shí)驗室測試過(guò)程中,主要對系統的整體性能進(jìn)行考察,其中包括:多通道采集同步誤差、數據吞吐量、系統功耗、自噪聲等。測試結果如表1所示。

4. 2 海上試驗結果
本系統應用的海洋環(huán)境噪聲測量潛標在中國某海域進(jìn)行了海上實(shí)驗,系統連續工作3個(gè)月,性能穩定可靠,并獲取了大量完整有效的海洋環(huán)境噪聲數據。測量的海洋環(huán)境噪聲功率譜符合海洋環(huán)境噪聲的自然分布規律。實(shí)測海洋環(huán)境噪聲功率譜如圖4所示。

5 結論
本系統采用多FPGA相結合的設計,很好的完成了高速多通道數據采集與存儲,并且詳細介紹了FPGA各模塊的設計方法。本系統設計靈活,能很容易的擴展為多通道數據采集存儲系統,也能很容易的修改為與其他的A/D轉換芯片接口。所以本系統可根據不同的應用進(jìn)行擴展,進(jìn)一步增強了系統在其他領(lǐng)域應用的靈活性。
評論