關(guān)凱元,陸 波
(上海機電工程研究所,上海 201109)
由于復(fù)雜系統(tǒng)故障原因的多樣性,在導(dǎo)彈武器裝卸、運輸和存儲環(huán)節(jié)往往需要對多種環(huán)境參數(shù)進行監(jiān)測,如振動、沖擊、溫度、濕度等。
針對導(dǎo)彈武器存儲環(huán)境監(jiān)測前端數(shù)據(jù)采集的特點,設(shè)計一種基于LoRa直序擴頻技術(shù)的星型拓撲結(jié)構(gòu)分布式數(shù)據(jù)采集系統(tǒng)。本系統(tǒng)采用LoRa直序擴頻技術(shù)組建數(shù)據(jù)采集網(wǎng)絡(luò),可以簡化布線操作且不受工作環(huán)境限制,適用于導(dǎo)彈武器存儲環(huán)境監(jiān)測前端數(shù)據(jù)采集多點分布的情況。本系統(tǒng)分為數(shù)據(jù)采集網(wǎng)絡(luò)主節(jié)點(上位機)和網(wǎng)絡(luò)從節(jié)點(下位機)兩部分:主節(jié)點發(fā)布系統(tǒng)指令并接收從節(jié)點回傳的數(shù)據(jù);從節(jié)點分布于被測環(huán)境中,根據(jù)主節(jié)點發(fā)布的指令執(zhí)行數(shù)據(jù)采集任務(wù)。
與其他復(fù)雜系統(tǒng)不同,導(dǎo)彈武器具有“長期存儲、一次使用”的特點,其存儲剖面占據(jù)了整個使用周期的絕大多數(shù)時間。從導(dǎo)彈存儲和實際使用的情況看,在庫房存儲和戰(zhàn)備值班階段,導(dǎo)彈通常處于靜止狀態(tài);在運輸/裝卸環(huán)節(jié),導(dǎo)彈實際上處于公路、鐵路或艦船機動狀態(tài)。表1 列出了環(huán)境因素的重要性與環(huán)境的關(guān)系[1]。以單發(fā)某型艦空導(dǎo)彈為例,在濕熱帶海洋鹽霧環(huán)境下,導(dǎo)彈整機會經(jīng)受艦艇沖擊、振動和高溫、高濕、高鹽霧濃度的環(huán)境影響,需對導(dǎo)彈存儲環(huán)境的溫度、濕度、鹽霧濃度以及沖擊加速度等環(huán)境物理量進行有效監(jiān)測。

表1 各環(huán)境因素的重要性與環(huán)境的關(guān)系Tab.1 The importance of environmental factors and their relations with environment
注: A表示最相關(guān);B表示相關(guān);C表示次相關(guān);O表示通常不會遭遇此環(huán)境。
常見的數(shù)據(jù)采集網(wǎng)絡(luò)拓撲結(jié)構(gòu)有:總線型網(wǎng)絡(luò)拓撲、環(huán)型網(wǎng)絡(luò)拓撲、樹型網(wǎng)絡(luò)拓撲和星型網(wǎng)絡(luò)拓撲等,上述網(wǎng)絡(luò)拓撲結(jié)構(gòu)示意如圖1所示。
總線型網(wǎng)絡(luò)拓撲結(jié)構(gòu)較為簡單,以公共總線作為數(shù)據(jù)傳輸線路,網(wǎng)絡(luò)節(jié)點與傳輸總線連接,數(shù)據(jù)沿總線傳輸至各節(jié)點。但是,由于其采用串聯(lián)通信的結(jié)構(gòu)方式,一旦公共總線發(fā)生故障,整個網(wǎng)絡(luò)系統(tǒng)將完全崩潰,而且難以判斷故障發(fā)生的位置[2]。

圖1 常見拓撲網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Common topological network architecture
環(huán)型網(wǎng)絡(luò)拓撲結(jié)構(gòu)各節(jié)點首尾相連組成一個閉合環(huán)路,數(shù)據(jù)在環(huán)網(wǎng)中只能單向傳輸。雖然環(huán)型網(wǎng)絡(luò)拓撲結(jié)構(gòu)具有結(jié)構(gòu)簡單、實時性好等優(yōu)點,但每個網(wǎng)絡(luò)節(jié)點都需要安裝用于信號接收、放大和發(fā)送的中繼器,而且當網(wǎng)絡(luò)節(jié)點超過一定限額后其傳輸效率會明顯下降。另外,當環(huán)型網(wǎng)絡(luò)拓撲結(jié)構(gòu)中某個節(jié)點發(fā)生故障時,整個網(wǎng)絡(luò)將全面癱瘓。
樹型網(wǎng)絡(luò)拓撲結(jié)構(gòu)是總線拓撲結(jié)構(gòu)的變形,是一種分級結(jié)構(gòu)。在樹型網(wǎng)絡(luò)結(jié)構(gòu)中,每個信道僅支持上下級節(jié)點之間的雙向通信。這種結(jié)構(gòu)的優(yōu)點和總線型網(wǎng)絡(luò)結(jié)構(gòu)近似,便于擴充節(jié)點且聯(lián)系性強,同時還彌補了總線結(jié)構(gòu)故障點不易被發(fā)現(xiàn)的不足。但是,該網(wǎng)絡(luò)結(jié)構(gòu)中每個節(jié)點都依賴于根節(jié)點,若根節(jié)點發(fā)生故障,則全網(wǎng)崩潰。
星型網(wǎng)絡(luò)拓撲由主節(jié)點和從節(jié)點構(gòu)成。主節(jié)點可以與從節(jié)點進行雙向通信,但從節(jié)點之間必須通過主節(jié)點實現(xiàn)通信。星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)具有結(jié)構(gòu)簡單、管理方便、組建容易的優(yōu)勢,是最常見的局域網(wǎng)絡(luò)組建方式之一[3]。
本文研究的系統(tǒng)用于解決一定空間范圍內(nèi)分布式數(shù)據(jù)采集問題,且在數(shù)據(jù)采集網(wǎng)絡(luò)中只進行主節(jié)點與從節(jié)點之間的雙向通信,各從節(jié)點之間沒有通信需求。因此,綜合考慮通信距離及抗干擾性能要求,本系統(tǒng)選用星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)組建無線數(shù)據(jù)采集網(wǎng)絡(luò)。
星型網(wǎng)絡(luò)中,如果多個從節(jié)點需要同時與主節(jié)點建立通信鏈接,若沒有相應(yīng)協(xié)調(diào)機制,將會發(fā)生通信沖突[4-5]。在本系統(tǒng)設(shè)計中,參考頻分多址(frequency division multiple access, FDMA)通信協(xié)議的實現(xiàn)方式,采用從節(jié)點根據(jù)目標地址和信道選配與主節(jié)點進行通信的方式,在網(wǎng)絡(luò)主從節(jié)點通信前,對通信節(jié)點的目標地址與目標信道進行配對,實現(xiàn)網(wǎng)絡(luò)節(jié)點的一對一通信。從節(jié)點接收指令后進行應(yīng)答并執(zhí)行,主節(jié)點接收到應(yīng)答信息證明握手成功,可以進行進一步無線操作,否則反饋錯誤碼。
分布式數(shù)據(jù)采集系統(tǒng)原理如圖2所示。

圖2 分布式數(shù)據(jù)采集系統(tǒng)原理Fig.2 Principle of distributed data acquisition system
系統(tǒng)上位機由計算機和無線通信單元組成,其節(jié)點指令控制和數(shù)據(jù)處理功能由計算機完成。作為無線網(wǎng)絡(luò)接入點,無線通信單元負責指令和數(shù)據(jù)的傳輸。上位機軟件基于LabVIEW軟件平臺開發(fā),操作人員通過計算機界面,進行無線通信鏈路檢測、數(shù)據(jù)采集參數(shù)設(shè)置、采樣功能控制、數(shù)據(jù)載入與處理等操作。計算機通過串口將指令代碼傳入無線通信單元,無線通信單元通過射頻信號將指令發(fā)布給指定的數(shù)據(jù)采集節(jié)點,實現(xiàn)數(shù)據(jù)采集操作的無線控制。
作為分布式數(shù)據(jù)采集系統(tǒng)的前端,數(shù)據(jù)采集節(jié)點具有存儲記憶功能,在脫離上位機的情況下仍然可以獨立完成數(shù)據(jù)采集任務(wù),在主節(jié)點突發(fā)故障的情況下,保證原始數(shù)據(jù)安全。數(shù)據(jù)采集任務(wù)完成后,數(shù)據(jù)采集模塊接收上位機發(fā)來的數(shù)據(jù)回傳指令,將數(shù)據(jù)回傳給上位機,由上位機軟件進行數(shù)據(jù)的后續(xù)處理,為被檢測系統(tǒng)的故障預(yù)測與健康管理提供數(shù)據(jù)基礎(chǔ)。
分布式數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計主要針對數(shù)據(jù)采集節(jié)點進行。數(shù)據(jù)采集節(jié)點結(jié)構(gòu)如圖3所示。

圖3 數(shù)據(jù)采集節(jié)點結(jié)構(gòu)Fig.3 Data acquisition node structure
3.1.1信號調(diào)理模塊設(shè)計
以導(dǎo)彈運輸振動加速度測量為例,設(shè)計配合應(yīng)變式加速度傳感器的信號調(diào)理模塊電路。信號調(diào)理模塊由電源、放大和濾波單元組成。由于傳感器輸出信號非常微弱且易受外界環(huán)境噪聲干擾,因此放大單元的第一級放大電路需要具有輸入電阻大、放大倍數(shù)精確和共模抑制比高的特點[6]。考慮到放大器的主要技術(shù)指標,選用AD620芯片作為一級放大器,配合OP07芯片設(shè)計信號放大單元電路[7]。
放大器輸出的信號,一般來說都是很不純凈的,其中既包括有用的部分(即所需反映的信號),也包括無用的部分(如噪聲、干擾、諧波等)。濾波單元的目的就是選出有用的信號部分,同時盡可能濾除無用的部分[8]。巴特沃斯濾波器在通頻帶內(nèi)具有最大平坦部分幅值響應(yīng)和高衰減速率[9],因此,選用低通巴特沃斯濾波器作為濾波單元。對于巴特沃斯濾波器,當傳遞函數(shù)增加一階(一個極點),信號衰減20 dB/Dec,階數(shù)N越大,通頻帶越平緩,轉(zhuǎn)折衰減也越快,但其電路也越復(fù)雜,本系統(tǒng)采用二階巴特沃斯濾波器即可滿足設(shè)計,如圖4所示。

圖4 二階巴特沃斯濾波器電路原理圖Fig.4 Circuit schematic diagram of second-order Butterworth filter
3.1.2數(shù)據(jù)采集模塊設(shè)計
數(shù)據(jù)采集模塊由5部分構(gòu)成:主控單元、人機交互單元、通信單元、數(shù)據(jù)存儲單元和電源管理單元。
主控單元使用STM32F103ZET6微控制處理器作為控制中心,具有16個12位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器,最大轉(zhuǎn)換速率為1 MHz[10]。STM32的AD轉(zhuǎn)換基準電壓Uref采用外接3.3 V電壓,芯片引腳輸入的最高電壓應(yīng)鉗制在3.3 V。信號輸入電壓上限為10 V,電路采用電阻分壓設(shè)計,電壓信號經(jīng)過電阻分壓至原始電壓值的1/3后輸入AD單元,3.3 V肖基特二極管與測壓電阻并聯(lián),當信號輸入電壓大于10 V時,二極管反向打開,將AD引腳輸入電壓鉗制在3.3 V以下,以保護主控芯片。
人機交互單元使用4.3寸薄膜晶體管(thin-film technology, TFT)彩色屏幕作為人機交互界面。由于彩屏數(shù)據(jù)量較大,為提高顯示速度,TFT觸摸屏模塊采用16位的80并口方式與主控單元連接。
數(shù)據(jù)存儲單元由片外FLASH和TF存儲卡組成,片外FLASH采用串行外設(shè)接口(serial peripheral interface, SPI)通信方式,存儲卡使用安全數(shù)字輸入輸出(secure digital input and output, SDIO)接口連接。
電源單元兼容鋰電池或外接直流電源兩種供電方式,采用二級降壓提高電源利用率,并為數(shù)據(jù)采集模塊各單元提供5 V或3.3 V供電電壓。
信號調(diào)理模塊外型尺寸為270 mm×168 mm×50 mm,數(shù)據(jù)采集模塊外型尺寸僅為126 mm×81 mm×30 mm,分布式數(shù)據(jù)采集系統(tǒng)整體設(shè)計小巧靈活,實物如圖5所示。

圖5 分布式數(shù)據(jù)采集系統(tǒng)設(shè)計實物圖Fig.5 Picture of distributed data acquisition system design
3.2.1上位機軟件設(shè)計
分布式數(shù)據(jù)采集系統(tǒng)上位機作為數(shù)據(jù)采集網(wǎng)絡(luò)的主節(jié)點,通過無線方式發(fā)布指令控制各數(shù)據(jù)采集節(jié)點(從節(jié)點)動作,接收數(shù)據(jù)采集節(jié)點回傳的原始數(shù)據(jù),并對接收到的數(shù)據(jù)進行讀取顯示和保存處理。為了實現(xiàn)上述功能,上位機軟件由以下三個模塊組成:無線通信模塊;參數(shù)設(shè)置與功能控制模塊;數(shù)據(jù)接收與顯示、存儲模塊。其程序框圖如圖6所示。

圖6 上位機程序框圖Fig.6 Block diagram of upper computer program
無線通信模塊包括串口設(shè)置單元、通信檢測單元和在線查詢單元,完成上位機與數(shù)據(jù)采集模塊建立無線通信鏈接的功能;參數(shù)設(shè)置與功能控制模塊主要包括參數(shù)設(shè)置單元和功能控制單元兩部分,完成上位機軟件啟動后參數(shù)的初始化,以及對數(shù)據(jù)采集參數(shù)的無線設(shè)置、對數(shù)據(jù)采集網(wǎng)絡(luò)無線開關(guān)、同步觸發(fā)和數(shù)據(jù)采集模塊重啟等功能的無線控制;數(shù)據(jù)接收與顯示、存儲模塊主要由數(shù)據(jù)接收、數(shù)據(jù)顯示和數(shù)據(jù)存儲單元組成,完成回傳數(shù)據(jù)的顯示和保存功能。
上位機主程序采用改進的LabVIEW“生產(chǎn)者-消費者循環(huán)”框架設(shè)計。在經(jīng)典的“生產(chǎn)者-消費者循環(huán)”基礎(chǔ)上增加了通知器和通知器循環(huán),用來傳輸和顯示子程序(Sub VI)傳遞來的數(shù)據(jù);增加了用戶事件,使得改進的“生產(chǎn)者-消費者循環(huán)”能更加穩(wěn)定地退出循環(huán)程序[11]。上位機主程序面板的“生產(chǎn)者-消費者循環(huán)”如圖7所示。

圖7 主程序面板的“生產(chǎn)者-消費者循環(huán)”Fig.7 “Producer-Consumer Cycle” of main program panel
3.2.2下位機軟件設(shè)計
數(shù)據(jù)采集模塊既可以通過無線通信單元接入數(shù)據(jù)采集網(wǎng)絡(luò),也可以通過搭載的人機交互單元脫離上位機獨立工作。數(shù)據(jù)采集模塊軟件設(shè)計主要包括:主程序設(shè)計、數(shù)據(jù)采集參數(shù)設(shè)置與功能控制程序設(shè)計、數(shù)據(jù)采集程序設(shè)計以及文件系統(tǒng)操作程序設(shè)計。
主程序是數(shù)據(jù)采集模塊軟件程序的核心,用于完成主控芯片的外設(shè)初始化設(shè)置,繪制人機交互界面,循環(huán)掃描觸摸屏幕等待觸摸指令,并在檢測到觸摸操作后進入對應(yīng)子程序;采用串口接收中斷方式接收無線操作指令,在接收到無線操作指令后進入中斷操作執(zhí)行對應(yīng)子程序;模塊設(shè)置操作完成后,進入等待采集觸發(fā)中斷循環(huán),并在中斷請求發(fā)出后及時響應(yīng)進入數(shù)據(jù)采集子程序。
作為無線數(shù)據(jù)采集網(wǎng)絡(luò)數(shù)據(jù)采集節(jié)點的控制中心,數(shù)據(jù)采集模塊在主程序的主循環(huán)中通過掃描方式等待觸摸屏操作,同時通過串口接收中斷的方式等待上位機發(fā)送的無線指令。數(shù)據(jù)采集模塊搭載的無線通信單元通過串口與主控單元連接,當無線通信單元接收到指令信息后,通過USART2將指令代碼傳給主控芯片,觸發(fā)串口接收中斷。主控芯片解析指令格式和指令代碼,并根據(jù)指令內(nèi)容執(zhí)行對應(yīng)子程序。指令動作完成后,數(shù)據(jù)采集模塊發(fā)送應(yīng)答信息給上位機,若指令代碼有誤,則回復(fù)錯誤代碼給上位機。數(shù)據(jù)采集模塊無線指令接收程序流程如圖8所示。

圖8 數(shù)據(jù)采集模塊無線指令接收程序流程Fig.8 Flowchart of wireless instruction receiving program for data acquisition module
數(shù)據(jù)采集程序是數(shù)據(jù)采集模塊軟件功能的核心部分。數(shù)據(jù)采集模塊的數(shù)據(jù)采集過程為:采集觸發(fā)后,啟動模數(shù)連續(xù)轉(zhuǎn)換,同時定時器開始計數(shù);定時器計數(shù)溢出產(chǎn)生定時中斷,在中斷事件中讀取模數(shù)轉(zhuǎn)換器對應(yīng)通道轉(zhuǎn)換值并將數(shù)值直接存儲在SPI_FLASH中;當定時中斷次數(shù)達到預(yù)設(shè)值時,關(guān)閉定時器和模數(shù)轉(zhuǎn)換器,完成數(shù)據(jù)采集。數(shù)據(jù)采集完成后,主控單元再讀取SPI_FLASH中存儲的電壓值,經(jīng)過處理后以文本形式,按照預(yù)設(shè)格式重新寫入TF卡的數(shù)據(jù)存儲文件中。
在主程序中已經(jīng)初始化配置過STM32的模數(shù)轉(zhuǎn)換器,僅需在定時器中斷事件內(nèi)調(diào)用ADC_Get Conversion Value(u8 ch)函數(shù),獲得模數(shù)轉(zhuǎn)換器對應(yīng)通道的轉(zhuǎn)換值,并將該值寫入SPI_FLASH的數(shù)據(jù)存儲區(qū)。由于數(shù)據(jù)存儲區(qū)從第3 866扇區(qū)開始,而且第3 866扇區(qū)的前兩個字節(jié)用于存儲FLASH擦除標記位,故數(shù)據(jù)存儲地址從SPI_FLASH的第3 866×5 096+2個地址開始。
數(shù)據(jù)采集模塊可以通過有線傳輸或無線傳輸兩種方式實現(xiàn)采集數(shù)據(jù)的實時顯示與存儲,這兩種方式都是通過串口傳輸實現(xiàn)的。由于導(dǎo)彈存儲環(huán)境物理量監(jiān)測具有小采樣率、大采樣間隔的特點,串口通信方式完全能滿足系統(tǒng)數(shù)據(jù)傳輸、顯示與存儲的實時性要求。數(shù)據(jù)傳輸?shù)能浖鞒虨椋菏紫?調(diào)用f_read()函數(shù)讀取數(shù)據(jù)文件內(nèi)容至緩存區(qū),以固定字節(jié)數(shù)為一組打包,將緩存區(qū)內(nèi)的數(shù)據(jù)寫入串口發(fā)送寄存器;然后,串口發(fā)送寄存器再將數(shù)據(jù)以有線或無線傳輸?shù)姆绞交貍鹘o上位機,經(jīng)上位機軟件處理后實時顯示數(shù)據(jù)曲線。
3.2.3數(shù)據(jù)采集模塊低功耗設(shè)計
為滿足導(dǎo)彈存儲環(huán)境物理參數(shù)低采樣率、長時間監(jiān)測的采集要求,數(shù)據(jù)采集模塊通過下位機軟件配置,使主控芯片STM32ZET6F103在待機狀態(tài)進入低功耗模式。主控芯片共有三種低功耗模式:睡眠模式、停止模式和待機模式。待機模式功耗最低,但該模式下芯片所有寄存器與IO口配置均被清空,無法滿足系統(tǒng)設(shè)計要求,所以選擇停止模式配置主控芯片進入低功耗狀態(tài),關(guān)閉芯片內(nèi)核與所有外設(shè)時鐘但保留寄存器配置與IO口狀態(tài)。通過設(shè)置Cortex-M3系統(tǒng)控制寄存器中的SLEEPDEEP位或清除電源控制寄存器(PWR_CR)中的PDDS位即可配置主控芯片進入停止模式。在停止模式下,可設(shè)置任意外部中斷重新喚醒主控芯片,本系統(tǒng)采用外部中斷按鍵或無線接收中斷方式喚醒模塊。在低功耗模式下,數(shù)據(jù)采集模塊功耗小于8 mA(12 V標準鋰電池供電)。
本文在分析導(dǎo)彈武器存儲環(huán)境監(jiān)測前端數(shù)據(jù)采集需求的基礎(chǔ)上,設(shè)計了一種分布式數(shù)據(jù)采集系統(tǒng),選用星型拓撲結(jié)構(gòu),搭建了無線數(shù)據(jù)采集網(wǎng)絡(luò)。該系統(tǒng)克服了現(xiàn)行數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)讀取繁瑣、布設(shè)復(fù)雜的缺點,為導(dǎo)彈武器在裝卸、運輸和存儲環(huán)節(jié)的環(huán)境信息采集提供了極大的便利。