高守勇,謝 輝,楊 靜,歸朋飛
(水聲對抗國防科技重點實驗室,廣東湛江 524022)
在海洋水聲研究中,海洋環境噪聲、船舶航行噪聲的長期監測具有重要意義。在海上開展水聲監測時,采用水面浮標的方式可方便通過電臺或衛星通信進行遙控作業[1-3],但存在容易受漁船作業拖帶漂移、影響船舶航行等問題。另外浮標隨海浪起伏會導致水聽器抖動,從而影響記錄的水聲信號質量。采用潛標方式監測噪聲具有隱蔽性好、受海浪影響小等優點。水聲潛標使用時一般帶有聲學釋放器,布設入水后通過錨系裝置系留在預定的深度進行水聲監測。任務結束后,通過工作船發送水聲遙控指令使釋放器動作,拋棄錨系裝置,潛標上浮至海面,由工作船進行打撈回收[4-6]。水聲潛標需要在電池供電條件下長時間待機、完全自主工作,按預設的時間節點或根據監測到的水聽器信號特征啟動記錄。如果水聲潛標不能可靠工作,海上測試數周后打撈出水發現數據記錄不完整,將造成任務完成不全和試驗資源浪費。因此,值守控制模塊作為水聲潛標的控制核心,其工作的穩定性、低功耗性能對水聲潛標的海上使用有重要意義。
STM32 嵌入式系統具有代碼密度高、可嵌套中斷、功耗低等特點,采用庫函數開發方式,可在保證系統穩定性的同時大大縮短程序開發周期,在控制領域有著廣泛的應用[7-10]。
水聲潛標總體由水聽器、水密儀器艙組成,儀器艙中電子設備包含值守控制模塊、電池組、信號調理、采集存儲等單元,水聽器通過水密電纜連接到儀器艙,如圖1 所示。值守控制模塊平時處于低功耗狀態,可通過預編程值守和自動監測記錄兩種模式啟動系統,進入采集記錄狀態。在預編程值守模式下,水聽器、信號調理單元、采集存儲單元均斷電,水聲潛標處于最低功耗值守狀態。在自動監測記錄模式下,需要增加對水聽器前置放大器的供電。

圖1 水聲潛標組成框圖
值守控制模塊的功能包括預編程值守、自動監測記錄、工作參數下載和存儲、RTC 對時、響應上位機查詢等,其主要功能是預編程值守和自動監測記錄。
預編程值守功能:通過上位機軟件設置水聲潛標的任務時間表,下載并存儲到值守控制模塊的FLASH 中,控制水聲潛標按設定的時間表進行工作。該功能主要用于按計劃實施的船舶噪聲監測、環境噪聲監測和水聲傳播測量等任務。
自動監測記錄功能:通過監測水聽器信號,對接收到的水聲信號進行濾波、平滑,先進行長時間平均,獲得海洋背景噪聲,再根據水聲信號的變化趨勢和強度,在有船舶接近時,啟動水聲潛標進入采集記錄狀態。該功能主要用于非合作的船舶航行噪聲監測。
STM32F103RCT6 器件是基于高性能超低功耗微控制器Arm?Cortex?-M4 的32 位RISC 內核,工作頻率80 MHz,嵌入了高速存儲器(256 kB 的閃存,64 kB 的SRAM)、增強型I/O 和外圍設備,提供一個快速的12 位ADC、兩個比較器、一個運算放大器、兩個DAC 通道、一個內部基準電壓緩沖器、一個低功耗RTC、一個通用32 位定時器、4 個通用16 位定時器和兩個16 位低功耗定時器[11];支持模擬獨立電源輸入ADC、DAC、OPAMP 和比較器,VBAT 允許備份RTC 和備份寄存器;具有FlexPowerControl 的超低功耗,在VBAT 模式下電流為200 nA,可為RTC 和32×32 位備份寄存器供電,RTC 待機模式下電流為280 nA。
STM32 核心模塊原理如圖2 所示,該模塊包含STM32F103RCT6芯片、8MHz主晶振、RTC晶振、FLASH芯片W25Q64 及工作指示燈[12]。

圖2 STM32核心模塊原理圖
核心模塊實物如圖3所示,尺寸為30 mm×34 mm,通過2 mm 間距排插J2 安裝在母板上。

圖3 核心模塊實物圖
水聽器接收到的信號較微弱,為了實現對水聲信號的有效監測,設計了信號監測調理電路,原理如圖4所示。采用一片低功耗運放OPA1662 設計兩級放大濾波[13],一級為10 Hz 高通濾波器,增益為2,二級為10 kHz 低通濾波器,增益為5。信號調理電路總增益為10,前端水聽器靈敏度約為-170 dB,經實際測試,水聽器信號通過信號監測調理電路放大、濾波后,可有效監測海洋環境噪聲和船舶噪聲。濾波器采用Sallen-key 拓撲結構,具有輸入阻抗高、增益容易配置的特點。

圖4 信號監測調理電路原理圖
水聲潛標內有3 組電池,分別為給前置放大和信號調理供電的+12 V 模擬電源、-12 V 模擬電源、給采集存儲單元供電的+12 V 數字主電源。值守控制模塊對潛標工作狀態的控制,主要通過開啟和關閉這3 組電源來實現,輸出控制電路原理如圖5 所示。對于模擬電源的控制,采用兩個PHOTO-MOS 繼電器AQZ102 實現控制模塊和電源輸出的光電隔離[14],持續工作電流為4 A。對數字主電源的控制采用一片PHOTO-MOS 繼電器AQY211 隔離后,驅動大功率MOS 管AO4407,其導通電阻RDS(ON)為13 mΩ,持續工作電流為7 A,可滿足對采集存儲單元5 A 供電控制的要求。3 組電源的控制都通過PHOTO-MOS 繼電器進行隔離,可有效降低控制模塊對潛標模擬電路的干擾。

圖5 輸出控制電路原理圖
輸出控制電路實物如圖6 所示,作為核心模塊的母板,可通過2 mm 間距微小排插與核心模塊組合安裝。模塊含開關和輸出插座總體尺寸為30 mm×50 mm,整體結構緊湊小巧,可方便安裝到空間受限的水聲潛標中。

圖6 輸出控制電路實物
STM32F103RCT6 在系統復位后,運行在RUN 模式下,定時喚醒功能可以在低功耗模式下實現。芯片有5 種低功耗模式:低功耗運行模式、睡眠模式、低功耗睡眠模式、停止模式和待機模式。模塊工作于預編程值守模式時,CPU 處于睡眠模式,芯片處于低功耗狀態,僅內部RTC 在運行。若要進入睡眠模式,需要執行WFI(Wait For Interrupt)指令,任何外圍設備的中斷都能喚醒CPU[15]。定時喚醒的軟件流程如圖7 所示,RTC 時鐘每秒中斷一次,喚醒控制模塊,在中斷處理程序中將當前時間與存儲的工作時間表進行比較,如果處于工作狀態就開啟各單元的電源,啟動水聲潛標進入測量記錄狀態,否則關閉電源,停止記錄,進入睡眠模式。

圖7 定時喚醒流程圖
模塊工作于自動監測記錄模式時,需要對水聽器接收到的水聲信號進行連續監測和分析,軟件流程如圖8 所示。在系統配置階段,根據預編程軟件下載存儲的數據表,設置進入自動監測記錄模式的時間、信號門限等工作參數。進入自動監測記錄模式后,模塊采用定時中斷方式對水聲信號進行AD采集、數據平滑和趨勢分析。AD 采樣率為20 kHz,采樣后轉換為RMS 值,平滑平均時間為1 s,趨勢判別條件為信號能量連續15 s 上升,啟動門限可根據預編程參數設置為2~6 dB。當滿足趨勢判別和啟動門限條件后,啟動系統進入記錄狀態,持續記錄10 min 或20 min(可設置)后關閉記錄。完成記錄后,若還處于自動監測記錄模式,再繼續進行水聽器信號監測。

圖8 信號監測及分析控制流程
預編程控制軟件包含兩部分,一是運行于值守模塊的下位機軟件,二是運行于計算機中的上位機軟件,兩者通過RS232 進行通信[16],波特率為9 600。上位機軟件需與預編程模塊進行通信,實現下載任務列表到模塊,對模塊進行對時,查詢預編程的任務表和RTC 時間等功能。設計了命令格式,每條指令的起始碼為$,結束碼為#,各項功能采用的命令格式如表1 所示。

表1 預編程命令格式
任務表格式:@序號/模式/開始時間/結束時間&序號/模式/開始時間/結束時間&序號/模式/開始時間/結束時間……。
上位機軟件采用VC 編程,VC 編程有較好的用戶操作界面。軟件界面分為串口設置、時間同步、任務設置、任務查詢4 個功能區,如圖9 所示。軟件可對串口參數進行設置,對下位機RTC 時間進行同步和查詢,在任務設置欄可設置每次采集記錄任務的開始時間和結束時間、工作模式。任務欄中添加、修改、刪除按鈕可對工作時間表進行操作,擦除按鈕用于對下位機中的參數表FLASH 空間進行擦除,下載按鈕用于將工作時間表下載到值守控制模塊中進行存儲。任務查詢欄可對模塊中存儲的任務表進行查詢,方便用戶進行任務表的核對確認。

圖9 上位機預編程軟件界面
在實驗室中,水聲潛標處于開蓋狀態,通過專用的通信電纜連接水聲潛標通信接口和計算機串口,啟動值守模塊電源,運行上位機軟件,設置5 組任務時間表,每次記錄10 min,工作模式為A(定時模式),下載到下位機中,如圖9 所示。觀察水聲潛標信號調理、采集記錄單元的工作指示燈,兩個單元均能在各組任務開始時啟動工作,在任務結束時停止工作,若記錄的數據文件時間與任務時間表一致,說明值守控制模塊的預編程定時記錄功能正常。
2018 年9 月,在實驗室對預編程值守功能進行了長時間考核測試。水聲潛標處于正常密封狀態,設置30 天時間內90 組采集任務表,通過水密通信電纜連接水密儀器艙,下載到值守控制模塊中運行。30 天后打開水聲潛標的儀器艙,檢查記錄的數據文件,核對任務表的時間與文件記錄的時間,若兩者一致,表明值守控制模塊長時間工作正常。
2018 年11 月8 日,在海南三亞附近海域對水聲潛標自動監測記錄功能進行了測試。試驗前設置潛標工作于自動監測記錄模式,啟動門限為3 dB。潛標布放入水后,安排一艘漁船從潛標附近,距離潛標100 m 左右多次航行通過,記錄漁船通過潛標附近的時間,試驗結束后回收潛標,查看潛標數據記錄情況,判斷模塊是否能在船舶通過時自動啟動潛標進行采集記錄。漁船通過時間和潛標開機記錄時間如表2 所示。

表2 自動監測記錄測試記錄表
根據記錄的漁船通過時間和潛標開機時間對比可知,漁船每次從水聲潛標附近航行通過時,水聲潛標都能根據噪聲變化情況自動啟動采集記錄,說明值守控制模塊的自動監測記錄功能正常。
在實驗室進行預編程定時功能和自動監測功能測試的同時,對值守控制模塊的工作電流進行測量,定時值班、自動監測、任務運行3 種工作狀態的電流測試結果如表3 所示。

表3 值守控制模塊功耗測試記錄表
測試表明,值守控制模塊在預編程值守狀態下的工作電流為0.4 mA,自動監測記錄狀態電流為6.7 mA,滿足水聲潛標在電池供電條件下水下自主值守30天的要求。如在核心模塊中增加一級電源管理功能,在設置完工作參數、延時一段時間后,將RS232芯片的供電斷開,可進一步降低功耗,將定時值班電流控制在0.1 mA 以內。
采用低功耗的STM32F103RCT6 設計了水聲潛標值守控制模塊,硬件包括核心模塊、信號監測電路和輸出控制電路,軟件主要包括定時喚醒、信號監測和預編程參數設置部分。模塊整體實物尺寸為30 mm×50 mm,可方便嵌入到空間受限的水下設備中。通過實驗室功能、功耗測試和海上自動監測記錄功能測試,得出值守控制模塊預編程值守電流為0.4 mA,自動監測電流為6.7 mA,值守30 天,在船舶通過附近時可自動啟動采集記錄,可在實際的水聲潛標中低功耗、長時間可靠運行。