傅翔毅 王科明 韋俊霞 李東明
(第七一五研究所,杭州,310023)
噪聲測量潛標主控模塊設計與實現
傅翔毅 王科明 韋俊霞 李東明
(第七一五研究所,杭州,310023)
設計并實現一種應用于噪聲測量潛標的主控模塊,完成潛標在低功耗和高速數據采集并存條件下對多測層水聽器、溫度深度傳感器的同步接收處理存儲工作。主控模塊以華北工控的EMB-3500主控板為開發(fā)平臺,基于嵌入式Linux系統(tǒng)和Qt環(huán)境進行開發(fā),滿足低功耗運行、高速數據采集、傳輸、存儲以及多任務處理等設計需求。通過試驗,驗證該主控模塊達到噪聲測量潛標的使用要求,可用于淺海海洋環(huán)境噪聲調查中連續(xù)作業(yè)或定時作業(yè)等場合。
噪聲測量;潛標;主控模塊;程序設計
海洋環(huán)境噪聲是海洋聲場的背景場,通常被當作干擾項。對海洋環(huán)境噪聲的研究目的是為了降低或抑制環(huán)境噪聲對水下設備的干擾,提高水下設備的性能和作用距離[1]。隨著海洋科學研究、海洋綜合利用和國防事業(yè)發(fā)展的需要,國內對海洋水下環(huán)境監(jiān)測儀器設備的需求日益增加,潛標數據采集系統(tǒng)在水聲研究中也得到了越來越廣泛的應用[2]。噪聲測量潛標是一種系泊于海下通過釋放裝置回收的錨定海洋水下環(huán)境探測系統(tǒng),不受海面氣象條件影響,對海洋環(huán)境噪聲及周邊溫度信息進行長期、定點、連續(xù)、多測層多參數同步測量。潛標設備要求在目標海域海洋信息剖面測量中,對多路水聽器以及多路溫度和深度傳感器執(zhí)行連續(xù)或定時的采集工作以及后續(xù)的處理存儲等工作。主控模塊作為探測系統(tǒng)的控制中心在潛標系統(tǒng)工作中發(fā)揮重要作用。
噪聲測量潛標系統(tǒng)組成框圖如圖1所示,分為陣系統(tǒng)、電子系統(tǒng)和上位機系統(tǒng)三部分。
圖1 潛標系統(tǒng)組成框圖
多路水聽器和多路傳感器完成對噪聲數據和溫深數據的采集工作;采集整合模塊完成對水聽器、傳感器同步控制信號的發(fā)送、采集數據的整合以及與主控模塊的數據傳輸工作;電源管理模塊完成對電子系統(tǒng)工作的供電管理,依據主控模塊的命令控制電子系統(tǒng)的上電、斷電時間;時鐘源模塊完成對時間信息的獲取工作;配置監(jiān)測模塊完成對潛標設備工作的操控和監(jiān)測工作;主控模塊作為該系統(tǒng)的重要組成部分,除需與上述的四模塊進行通信,還要切換工作模式和作業(yè)方式、同步工作參數和處理采集數據等;數據分析模塊對存儲在電子系統(tǒng)的采集數據進行分析。因篇幅限制,本文主要對主控模塊進行說明和闡述。
主控模塊主要有三種工作模式:配置工作模式、自檢工作模式及正常工作模式。工作模式切換如圖2所示。圖中條件判斷中如果不是“Y”則保持原狀態(tài)不變,主控模塊進入等待狀態(tài),等待下次的命令執(zhí)行相應的工作,后文流程圖中出現類似情況(如在文字中沒有說明)照此處理。
圖2 主控模塊工作模式切換流程圖
上電啟動后主控模塊進入正常工作模式,完成對采集數據的本地存儲工作;主控模塊收到用戶發(fā)送的“停止設備工作”控制命令后進入配置工作模式,可進行設置/獲取工作參數、清除設備存儲數據等工作;收到用戶發(fā)送的“啟動設備狀態(tài)自檢”控制命令后進入自檢工作模式,完成對采集數據上傳工作。主控模塊切換進入正常工作模式前需要先停止設備工作進入配置工作模式,確保主控模塊可以在配置工作模式和正常工作模式之間安全切換。
主控模塊根據其運行工作參數中的工作周期和周期內工作時間,可設置其工作方式為連續(xù)作業(yè)或定時作業(yè)。作業(yè)方式切換如圖3所示。
圖3 主控模塊作業(yè)方式切換流程圖
上電啟動后主控讀取配置文件,或收到用戶發(fā)送的“設置設備工作參數”指令,獲取配置信息后進入相應的作業(yè)方式并更新配置參數。工作周期和工作時間均設置為全周期,則主控模塊進入連續(xù)作業(yè)工作方式,即連續(xù)接收采集整合模塊發(fā)送的水聽器、傳感器數據并處理;工作周期和工作時間均不設置為全周期,則主控模塊進入定時作業(yè)工作方式(工作周期和工作時間中只有一個設置全周期則設置無效,保留上一次設置的工作參數或默認工作參數)。工作周期和工作時間可選信息參見表1,如工作周期設置為 1 h,周期內工作時間設置為 10 min,則主控模塊每小時內只有10 min處于工作狀態(tài),剩余的50 min處于休眠狀態(tài)。連續(xù)作業(yè)方式適用于潛標設備的短時作業(yè)(如在某一海域連續(xù)工作5 d),定時作業(yè)方式適用于潛標設備的長時作業(yè)(如在某一海域連續(xù)工作3個月,可設置工作周期3 h,工作時間10 min的組合模式)。
表1 工作周期和工作時間可選信息表
主控模塊長時間在水下工作,由于電池容量有限,需要主控模塊根據用戶需求對電源管理模塊進行控制。主控模塊向電源管理模塊發(fā)送工作參數,解析出工作周期和周期內工作時間后控制主控模塊和采集整合模塊的上電、斷電時間。主控模塊把相同的工作參數寫入配置文件以便下次斷電重啟后主控模塊可以進入上次退出前的工作狀態(tài)。
采集信息包括水聽器數據,傳感器數據和時間信息。主控模塊處于正常工作模式或自檢工作模式,每接收1 s時長的水聽器數據從時鐘源模塊獲取一次時間信息。主控模塊處于正常工作模式,采集信息打包存儲到數據文件;主控模塊處于自檢工作模式,采集信息打包后通過網絡上傳給配置監(jiān)測模塊。為確保采集數據的時間有效性,在入水前需要通過 GPS授時設備對時鐘源模塊進行同步授時操作。
主控模塊在水下連續(xù)上百小時對水聽器數據進行高速采集處理存儲工作,主要靠電池供電。主控板設計滿足:低功耗(工作時單板功耗不大于 6 W)需求;多核處理、配置雙網口和4串口;安裝主流嵌入式操作系統(tǒng),能基于該系統(tǒng)快速開發(fā)嵌入式多任務處理應用軟件等需求。普通主控板單板功耗基本處于15~70 W之間,無法滿足系統(tǒng)對低功耗的使用需求,經過調研選型,確定華北工控的EMB-3500主控板。該板采用Freescale 基于ARM Cortex-A9 架構的高擴展性4核高性能處理器,不僅具有超強的計算處理能力,同時擁有極低的功耗(功耗5 W,測試單板工作時功耗3 W左右,滿足設計需求),支持雙千兆網卡和12串口,可滿足基于高速鏈路的數據傳輸和多任務實時處理工作,并解決高速數據傳輸處理存儲時數據丟失的問題,具有穩(wěn)定可靠的工業(yè)級產品性能。主控板內置有嵌入式Linux操作系統(tǒng),提供相應的硬件驅動程序和Qt運行環(huán)境[3],方便用戶的開發(fā)和部署等工作。
主控模塊程序采用 C語言編寫,基于 Qt4.7.3平臺開發(fā),利用多核多任務多優(yōu)先級處理技術,解決高速鏈路通信狀況下多任務并行工作時采集數據易丟失問題,完成對采集數據接收存儲、自檢信息發(fā)送和網絡監(jiān)測等任務的并行處理和實時響應工作。主控模塊上電后,首先讀取配置文件中的工作參數,讀取失敗則依據默認值同步配置文件工作參數,同步電源管理模塊工作參數,依據工作參數設定作業(yè)方式,啟動網絡監(jiān)測任務,設置工作模式為正常工作模式,啟動數據存儲任務、自檢信息發(fā)送任務和采集數據接收任務。主控模塊為四個任務分配獨立的核處理器,其中采集數據接收任務分配最高優(yōu)先級 MAX,數據存儲和自檢信息發(fā)送分配優(yōu)先級為 MAX-2,網絡監(jiān)測分配優(yōu)先級為MAX-10。主控模塊在采集數據接收任務和數據存儲任務之間設置水聽器數據存儲信號量,通過該信號量的釋放獲取完成兩個任務之間的數據有序傳遞工作;主控模塊在采集數據接收和自檢信息發(fā)送任務之間設置水聽器數據上傳信號量,通過該信號量的釋放獲取完成兩個任務之間的數據有序傳遞工作。
網絡監(jiān)測任務工作流程如圖4所示,該任務為主控模塊的核心任務,由主程序創(chuàng)建啟動,接收配置監(jiān)測模塊發(fā)送的控制命令后執(zhí)行相應的工作。
圖4 網絡監(jiān)測任務工作流程圖
通過該任務的執(zhí)行,主控模塊可方便的在配置工作模式、自檢工作模式和正常工作模式之間完成切換,同時完成工作參數設置/獲取、參數同步以及數據文件刪除等工作。其中進入自檢工作模式和正常工作模式前必須確保當前主控模塊處于配置工作模式,否則不會執(zhí)行切換工作模式操作。
采集數據任務工作流程如圖5所示,該任務為主控模塊中優(yōu)先級最高的任務,主控模塊采用UDP組播網絡通信方式接收來自采集整合模塊的數據包,主控模塊通過高速通信鏈路接收水聽器數據,采用雙緩存機制以2 500批為周期交替存入水聽器數據緩存區(qū)1和2,之后根據工作模式釋放相應的信號量通知后續(xù)任務執(zhí)行。主控模塊通過低速通信鏈路接收傳感器數據,存入傳感器數據緩存區(qū)。在采集周期的初始時刻從時鐘源模塊獲取時間信息,確保采集數據的時間有效性。
圖5 采集數據接收任務工作流程圖
該任務在主控模塊處于正常工作模式時執(zhí)行,工作流程如圖6所示。
圖6 數據存儲任務工作流程圖
啟動后等待獲取水聽器數據存儲信號量,獲取水聽器存儲計數滿 300,則創(chuàng)建新的數據文件,存儲計數清零;傳感器數據采集完畢,將傳感器緩存區(qū)數據寫入當前數據文件;緩存區(qū)1寫滿,則將該緩存區(qū)中數據寫入當前數據文件,否則水聽器數據緩存區(qū)2數據寫入當前數據文件;存儲計數自加1。
該任務在主控模塊處于自檢工作模式時執(zhí)行,啟動后等待獲取水聽器數據上傳信號量。傳感器數據采集完畢則把傳感器數據緩存區(qū)中數據發(fā)送給配置監(jiān)測模塊;水聽器數據緩存區(qū)1寫滿,則該緩存區(qū)中數據采用 UDP單播網路通信方式發(fā)送給配置監(jiān)測模塊,否則把水聽器數據緩存區(qū)2中數據發(fā)送給配置監(jiān)測模塊。
主控模塊上電工作,主控模塊本身無顯示輸出,可通過配置監(jiān)測模塊對主控模塊進行監(jiān)控,完成工作模式和作業(yè)方式切換、工作參數同步、采集信息處理等工作;可通過數據分析模塊對回收后的數據文件進行時頻分析,進一步驗證接收數據的有效性。試驗中主控模塊工作于自檢工作模式,配置監(jiān)測模塊接收上傳數據顯示效果如圖7所示。數據分析模塊讀取數據文件顯示效果如圖8所示。多次湖海試驗中,主控模塊都能按照控制流程完成數據采集處理,并同步獲取水聽器數據和溫度深度傳感器數據。
圖7 配置監(jiān)測模塊顯示效果圖
圖8 數據分析模塊顯示效果圖
本文描述的主控模塊已在噪聲測量潛標設備上正常工作,具備在淺海作業(yè)區(qū)短期或長期工作的能力,具有較強的可靠性和良好的應用前景。同時主控模塊的研發(fā)為低功耗條件下高速同步采集多路水聽器和多路溫度深度傳感器數據的噪聲測量潛標研制打下了基礎,加速潛標設備的產業(yè)化。
[1]郭毅新,李凡,鐵廣朋,等.海洋環(huán)境噪聲研究發(fā)展概述及應用前景[J].物理,2014,43(11):724-731.
[2]王振,劉振江,崔浩,等.海洋潛標數據采集系統(tǒng)的設計實現與試驗測試[J].海洋技術,2013,32(4):6-10.
[3]李文帆,劉志剛,伍文城,等.基于 Qt的電力系統(tǒng)地理接線圖繪制軟件設計[J].電力系統(tǒng)自動化,2013,37(7):72-76.