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