吳振謙, 蔣志迪, 俞牡丹
(寧波大學 科學技術(shù)學院,浙江 寧波 315212)
海流是海洋中主要的動力參數(shù)之一。海流計根據(jù)工作原理可分為機械轉(zhuǎn)子式海流計、聲學矢量海流計、多普勒聲學海流計等[1]。其中,多普勒聲學海流計利用水聲傳輸信號的多普勒頻移特性測量海流的流速,具有較高的測量精度,受環(huán)境噪聲影響小、抗干擾性強[2],目前市場海洋領(lǐng)域使用性能較高的海流計為挪威安德拉儀器公司Seaguard RCM系列,價格較為昂貴。自主研發(fā)功耗低、性能高的自容式海流計成為國家海洋高新技術(shù)項目之一。本文設(shè)計了一種自容式聲學海流計的數(shù)字處理系統(tǒng),采用“微處理器+現(xiàn)場可編程門陣列(field programmable gate array,FPGA)”的方案,進行完整的系統(tǒng)分析和軟硬件結(jié)構(gòu)設(shè)計,以解決系統(tǒng)低功耗及實時測量海流的技術(shù)問題。
多普勒聲學海流計應(yīng)用多普勒頻移原理,通過測量相對運動的收發(fā)信號頻率差異而推導出流速。向海洋水體發(fā)射頻率為f0的聲波,與海流同速度(v)的浮游生物或物質(zhì)反射聲波,其頻率為fr。由多普勒頻移原理知反射聲波的頻移fd為[3]
fd=fr-f0=2·v/c·f0=2v/λ
(1)
式中c為水聲聲速,λ為發(fā)射聲信號的波長。
為精確測量海流的速度,可采用如圖1中的換能器陣,分別測得4個方向的流速,再結(jié)合換能器的傾斜角度,即可獲得修正后的三維海流精確值。自容式聲學海流計完整的系統(tǒng)構(gòu)架采用“微處理器+FPGA”的結(jié)構(gòu):微處理器增加系統(tǒng)控制的靈活性,FPGA提高硬件處理的實時性。其中數(shù)字處理系統(tǒng)部分包括微處理器MSP430、電源模塊、FPGA、模/數(shù)(A/D)采集電路、DDR2、和SD卡。MSP430為主控處理器,用于整個系統(tǒng)的正常運行;電源模塊用于數(shù)字信號處理板的供電;FPGA完成水聲發(fā)射的信號產(chǎn)生、回波信號的采集A/D轉(zhuǎn)換控制、流速解算等;A/D采集電路完成水聲回波信號的A/D轉(zhuǎn)換、DDR2存儲器為FPGA采集數(shù)據(jù)緩沖區(qū);SD卡用于存儲測流結(jié)果。
MSP430通過串口接收來自PC的系統(tǒng)參數(shù)設(shè)置,然后按設(shè)定的時間通過輸出口P6命令FPGA處理模塊進行流速的測量。FPGA接收測速命令,完成流速解算,并將結(jié)果傳送給MSP430。圖1中,MSP430的P6口為控制總線,MSP430向FPGA發(fā)送命令的通道;P5口為數(shù)據(jù)總線,FPGA傳送測量結(jié)果給MSP430的數(shù)據(jù)通道。

圖1 系統(tǒng)硬件結(jié)構(gòu)
自容式海流計中,微處理器MSP430不僅完成系統(tǒng)的值班任務(wù),而且承擔電源管理、系統(tǒng)協(xié)調(diào)工作等任務(wù),包括電源控制管理、系統(tǒng)參數(shù)維護、FPGA測速時序控制、測速結(jié)果的保存等。自容式海流計的功耗是系統(tǒng)性能的重要指標,系統(tǒng)中采用MSP430系列低功耗微處理器實現(xiàn)系統(tǒng)的低功耗待機,并通過控制電源的關(guān)斷使系統(tǒng)待機時其他電路(AD采集、FPGA等)不工作,提升系統(tǒng)低功耗性能。如圖2所示,MSP430軟件流程如下:
1)初始化:完成端口的初始化,如待機供電等。
2)參數(shù)設(shè)置:系統(tǒng)通過串口通信完整接收工作參數(shù),并進行相應(yīng)的設(shè)置。
3)休眠:等待設(shè)定的啟動時間。
4)啟動時刻:待機到海流測量的第一時刻,測量相關(guān)電路(包括發(fā)射電路及接收電路)上電。
5)啟動測量:命令FPGA完成相應(yīng)的工作。
6)等待結(jié)果:經(jīng)FPGA數(shù)據(jù)處理,并將結(jié)果傳送給MSP430。
7)FPGA休眠:節(jié)省功耗,測流相關(guān)電路斷電休眠。
8)保存結(jié)果:將測量結(jié)果保存到SD卡中。
9)完成:測量任務(wù)完成,則結(jié)束;否則,繼續(xù)下次測量。
10)測量時刻:待機到海流測量的下一時刻,測量相關(guān)電路上電。

圖2 主控MSP430的軟件流程
FPGA硬件完成數(shù)據(jù)采集及數(shù)字信號的處理,提高了系統(tǒng)的實時性。整個數(shù)字處理系統(tǒng)中,FPGA可視為微處理器的協(xié)作處理模塊,主要完成MSP430下達測量流速的任務(wù),其處理狀態(tài)轉(zhuǎn)換如圖3。上電后進入“空閑”,監(jiān)測到測量命令后進入“發(fā)射信號”,延時一段時間后進入“回波采集”,進行水聲回波信號的數(shù)據(jù)采集;經(jīng)過“數(shù)字濾波”、“流速解算”等狀態(tài),最后在“發(fā)送結(jié)果”狀態(tài)中將測量結(jié)果發(fā)送給MSP430保存于SD卡中。

圖3 數(shù)字處理FPGA狀態(tài)轉(zhuǎn)換
1)發(fā)射信號:構(gòu)造水聲信號發(fā)射形式,并控制發(fā)射電路模塊向水體發(fā)射水聲信號;
2)回波采集:將水聲回波信號模擬信號轉(zhuǎn)換為數(shù)字信號,精確時序控制保證數(shù)據(jù)的正確性;
3)數(shù)字濾波:數(shù)字帶通濾波,濾除帶外噪聲,進一步減少噪聲的影響,提高系統(tǒng)抗噪能力;
4)流速解算:根據(jù)采集的水聲回波信號,計算出回波信號的多普勒頻移,即可按式(1)推得海流的流速v。采用寬帶復相關(guān)測頻算法可實現(xiàn)高精度的頻率測量[4]
(2)

MSP430和FPGA信息交互必須按嚴格的時序進行。圖4為微處理器MPS430與FPGA的通信硬件接口。

圖4 微處理器MSP430與FPGA的通信硬件接口
1)MSP430向FPGA傳送信息:MSP430通知FPGA進行流速測量,具有較強的實時性,需通過脈沖形式發(fā)送,FPGA模塊通過P6口獲得參數(shù),解碼后控制內(nèi)部的邏輯。C語言形式如下:
P6=參數(shù)信息;
P6 |= 0x80; ∥P6.7置1
P6&=0x07F; ∥P6.7清零
2)FPGA向MSP430返回結(jié)果:FPGA完成測速任務(wù)后通過al_done信號線通知MSP430獲得測量結(jié)果,FPGA內(nèi)部將結(jié)果數(shù)據(jù)以菊花鏈的方式傳送。FPGA模塊在MSP430的P6.0雙邊沿進行掃描,將結(jié)果按次傳送給MSP430。獲得結(jié)果y(1B)的MSP340執(zhí)行C語言如下: while((P1&0x01)!=0x01); ∥等待FPGA完成任務(wù)
y=P5;∥獲得1B的結(jié)果
P6^=0x01;∥P6.0取反
自容式海流計的發(fā)射信號頻率f0為1.5 MHz,將接收回波信號下移頻1.35 MHz,獲得中心頻率為150 kHz,降低系統(tǒng)處理的實時性能要求。

(3)
數(shù)字處理系統(tǒng)選用的主要器件為:TI公司MSP430F149,Xilinx公司XC6SLX45—2CSG324,AD公司AD7980[6]。
由v可知,寬帶復相關(guān)測頻算法的測速范圍在-2.5~+2.5 m/s。數(shù)字信號處理板的實驗調(diào)試中,以中心頻率為150 kHz的正弦波模擬下移頻1.35 MHz后的水聲回波信號,并混疊高斯噪聲模擬水聲信道噪聲進行系統(tǒng)的抗噪性能測試。測試數(shù)據(jù)如表1所示。無噪聲時的系統(tǒng)測速誤差小于0.1 %,信噪比10 dB時的系統(tǒng)測試誤差小于0.94 %。

表1 實驗測量結(jié)果
因此,系統(tǒng)測速性能較好,在室溫條件下,該數(shù)字信號處理板的待機功耗為19 mW(僅MSP430F149工作),工作功耗峰值為167 mW,符合設(shè)計要求。
自容式海流計的功耗和測速實時性要求較高,本文提出了一種“微處理器+FPGA”數(shù)字信號處理體系結(jié)構(gòu),選用低功耗MSP430F149為主控處理器進行系統(tǒng)管理,并控制其他電路的供電電源,實現(xiàn)微功耗待機。FPGA作為協(xié)處理模塊實現(xiàn)海流的實時測流,并設(shè)計了軟硬件接口實現(xiàn)模塊間通信,保證了系統(tǒng)的正常運行。從實驗結(jié)果看,系統(tǒng)性能可靠、穩(wěn)定、功耗低,具有較高的實用價值。