吳振謙, 蔣志迪, 俞牡丹
(寧波大學 科學技術學院,浙江 寧波 315212)
海流是海洋中主要的動力參數之一。海流計根據工作原理可分為機械轉子式海流計、聲學矢量海流計、多普勒聲學海流計等[1]。其中,多普勒聲學海流計利用水聲傳輸信號的多普勒頻移特性測量海流的流速,具有較高的測量精度,受環(huán)境噪聲影響小、抗干擾性強[2],目前市場海洋領域使用性能較高的海流計為挪威安德拉儀器公司Seaguard RCM系列,價格較為昂貴。自主研發(fā)功耗低、性能高的自容式海流計成為國家海洋高新技術項目之一。本文設計了一種自容式聲學海流計的數字處理系統(tǒng),采用“微處理器+現場可編程門陣列(field programmable gate array,FPGA)”的方案,進行完整的系統(tǒng)分析和軟硬件結構設計,以解決系統(tǒng)低功耗及實時測量海流的技術問題。
多普勒聲學海流計應用多普勒頻移原理,通過測量相對運動的收發(fā)信號頻率差異而推導出流速。向海洋水體發(fā)射頻率為f0的聲波,與海流同速度(v)的浮游生物或物質反射聲波,其頻率為fr。由多普勒頻移原理知反射聲波的頻移fd為[3]
fd=fr-f0=2·v/c·f0=2v/λ
(1)
式中c為水聲聲速,λ為發(fā)射聲信號的波長。
為精確測量海流的速度,可采用如圖1中的換能器陣,分別測得4個方向的流速,再結合換能器的傾斜角度,即可獲得修正后的三維海流精確值。自容式聲學海流計完整的系統(tǒng)構架采用“微處理器+FPGA”的結構:微處理器增加系統(tǒng)控制的靈活性,FPGA提高硬件處理的實時性。其中數字處理系統(tǒng)部分包括微處理器MSP430、電源模塊、FPGA、模/數(A/D)采集電路、DDR2、和SD卡。MSP430為主控處理器,用于整個系統(tǒng)的正常運行;電源模塊用于數字信號處理板的供電;FPGA完成水聲發(fā)射的信號產生、回波信號的采集A/D轉換控制、流速解算等;A/D采集電路完成水聲回波信號的A/D轉換、DDR2存儲器為FPGA采集數據緩沖區(qū);SD卡用于存儲測流結果。
MSP430通過串口接收來自PC的系統(tǒng)參數設置,然后按設定的時間通過輸出口P6命令FPGA處理模塊進行流速的測量。FPGA接收測速命令,完成流速解算,并將結果傳送給MSP430。圖1中,MSP430的P6口為控制總線,MSP430向FPGA發(fā)送命令的通道;P5口為數據總線,FPGA傳送測量結果給MSP430的數據通道。
圖1 系統(tǒng)硬件結構
自容式海流計中,微處理器MSP430不僅完成系統(tǒng)的值班任務,而且承擔電源管理、系統(tǒng)協(xié)調工作等任務,包括電源控制管理、系統(tǒng)參數維護、FPGA測速時序控制、測速結果的保存等。自容式海流計的功耗是系統(tǒng)性能的重要指標,系統(tǒng)中采用MSP430系列低功耗微處理器實現系統(tǒng)的低功耗待機,并通過控制電源的關斷使系統(tǒng)待機時其他電路(AD采集、FPGA等)不工作,提升系統(tǒng)低功耗性能。如圖2所示,MSP430軟件流程如下:
1)初始化:完成端口的初始化,如待機供電等。
2)參數設置:系統(tǒng)通過串口通信完整接收工作參數,并進行相應的設置。
3)休眠:等待設定的啟動時間。
4)啟動時刻:待機到海流測量的第一時刻,測量相關電路(包括發(fā)射電路及接收電路)上電。
5)啟動測量:命令FPGA完成相應的工作。
6)等待結果:經FPGA數據處理,并將結果傳送給MSP430。
7)FPGA休眠:節(jié)省功耗,測流相關電路斷電休眠。
8)保存結果:將測量結果保存到SD卡中。
9)完成:測量任務完成,則結束;否則,繼續(xù)下次測量。
10)測量時刻:待機到海流測量的下一時刻,測量相關電路上電。
圖2 主控MSP430的軟件流程
FPGA硬件完成數據采集及數字信號的處理,提高了系統(tǒng)的實時性。整個數字處理系統(tǒng)中,FPGA可視為微處理器的協(xié)作處理模塊,主要完成MSP430下達測量流速的任務,其處理狀態(tài)轉換如圖3。上電后進入“空閑”,監(jiān)測到測量命令后進入“發(fā)射信號”,延時一段時間后進入“回波采集”,進行水聲回波信號的數據采集;經過“數字濾波”、“流速解算”等狀態(tài),最后在“發(fā)送結果”狀態(tài)中將測量結果發(fā)送給MSP430保存于SD卡中。
圖3 數字處理FPGA狀態(tài)轉換
1)發(fā)射信號:構造水聲信號發(fā)射形式,并控制發(fā)射電路模塊向水體發(fā)射水聲信號;
2)回波采集:將水聲回波信號模擬信號轉換為數字信號,精確時序控制保證數據的正確性;
3)數字濾波:數字帶通濾波,濾除帶外噪聲,進一步減少噪聲的影響,提高系統(tǒng)抗噪能力;
4)流速解算:根據采集的水聲回波信號,計算出回波信號的多普勒頻移,即可按式(1)推得海流的流速v。采用寬帶復相關測頻算法可實現高精度的頻率測量[4]
(2)
MSP430和FPGA信息交互必須按嚴格的時序進行。圖4為微處理器MPS430與FPGA的通信硬件接口。
圖4 微處理器MSP430與FPGA的通信硬件接口
1)MSP430向FPGA傳送信息:MSP430通知FPGA進行流速測量,具有較強的實時性,需通過脈沖形式發(fā)送,FPGA模塊通過P6口獲得參數,解碼后控制內部的邏輯。C語言形式如下:
P6=參數信息;
P6 |= 0x80; ∥P6.7置1
P6&=0x07F; ∥P6.7清零
2)FPGA向MSP430返回結果:FPGA完成測速任務后通過al_done信號線通知MSP430獲得測量結果,FPGA內部將結果數據以菊花鏈的方式傳送。FPGA模塊在MSP430的P6.0雙邊沿進行掃描,將結果按次傳送給MSP430。獲得結果y(1B)的MSP340執(zhí)行C語言如下: while((P1&0x01)!=0x01); ∥等待FPGA完成任務
y=P5;∥獲得1B的結果
P6^=0x01;∥P6.0取反
自容式海流計的發(fā)射信號頻率f0為1.5 MHz,將接收回波信號下移頻1.35 MHz,獲得中心頻率為150 kHz,降低系統(tǒng)處理的實時性能要求。
(3)
數字處理系統(tǒng)選用的主要器件為:TI公司MSP430F149,Xilinx公司XC6SLX45—2CSG324,AD公司AD7980[6]。
由v可知,寬帶復相關測頻算法的測速范圍在-2.5~+2.5 m/s。數字信號處理板的實驗調試中,以中心頻率為150 kHz的正弦波模擬下移頻1.35 MHz后的水聲回波信號,并混疊高斯噪聲模擬水聲信道噪聲進行系統(tǒng)的抗噪性能測試。測試數據如表1所示。無噪聲時的系統(tǒng)測速誤差小于0.1 %,信噪比10 dB時的系統(tǒng)測試誤差小于0.94 %。
表1 實驗測量結果
因此,系統(tǒng)測速性能較好,在室溫條件下,該數字信號處理板的待機功耗為19 mW(僅MSP430F149工作),工作功耗峰值為167 mW,符合設計要求。
自容式海流計的功耗和測速實時性要求較高,本文提出了一種“微處理器+FPGA”數字信號處理體系結構,選用低功耗MSP430F149為主控處理器進行系統(tǒng)管理,并控制其他電路的供電電源,實現微功耗待機。FPGA作為協(xié)處理模塊實現海流的實時測流,并設計了軟硬件接口實現模塊間通信,保證了系統(tǒng)的正常運行。從實驗結果看,系統(tǒng)性能可靠、穩(wěn)定、功耗低,具有較高的實用價值。