鄭云峰
(山東科技大學(xué) 電氣與自動化工程學(xué)院,山東 青島 266590)
航天器電氣負(fù)載監(jiān)控系統(tǒng)的數(shù)據(jù)化與智能化是未來的發(fā)展方向,隨著我國航天事業(yè)的不斷發(fā)展,應(yīng)用在航天器研究領(lǐng)域的數(shù)字化技術(shù)也越來越復(fù)雜,作為航天器主要結(jié)構(gòu)的電氣負(fù)載監(jiān)控系統(tǒng)也需要經(jīng)過數(shù)字化與智能化的改進,保障航天器的正常飛行。航天器中的電氣負(fù)載體系是由供電系統(tǒng)以及用電設(shè)備組成,具有重量輕、效率高、穩(wěn)定性強、適應(yīng)能力強等優(yōu)勢,再加上監(jiān)控系統(tǒng)對電氣負(fù)載的控制更提升了電氣負(fù)載的供應(yīng)能力,隨著航天器內(nèi)的電子設(shè)備越來越豐富,其內(nèi)部的電氣負(fù)載監(jiān)控系統(tǒng)任務(wù)也越來越重要[1]。
本文將設(shè)計基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng),應(yīng)用STM32嵌入式芯片將監(jiān)控系統(tǒng)的數(shù)據(jù)處理能力提升并保障電氣負(fù)載能夠正常向航天器傳輸信號,還將設(shè)計應(yīng)用程序使硬件平臺相關(guān)聯(lián),作為一套整體電氣平臺向航天器飛行提供保障。航天器電氣負(fù)載監(jiān)控系統(tǒng)的數(shù)據(jù)化與智能化是未來的發(fā)展方向,基于STM32技術(shù)的系統(tǒng)設(shè)計主要圍繞監(jiān)控數(shù)據(jù)的提取、傳輸、處理、儲存與交互進行研究,在硬件系統(tǒng)的設(shè)計中采用能夠?qū)崿F(xiàn)數(shù)據(jù)配置的數(shù)據(jù)接口與相關(guān)外接設(shè)備,通過服務(wù)器處理數(shù)據(jù)傳輸內(nèi)容,再應(yīng)用WLAN驅(qū)動芯片同步不同硬件模塊的工作頻率,還設(shè)計繼電保護裝置完善監(jiān)控系統(tǒng)的數(shù)據(jù)識別能力;在軟件系統(tǒng)的設(shè)計中圍繞硬件的使用方法設(shè)計運行流程,調(diào)節(jié)硬件獲取數(shù)據(jù)在軟件中的運行時間段,拓展監(jiān)控系統(tǒng)對外通信能力,增強系統(tǒng)的交互能力與智能化水平[2]。
本文提出的基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng)硬件由數(shù)據(jù)接口、外接設(shè)備、負(fù)載監(jiān)控服務(wù)器、WLAN驅(qū)動芯和繼電器控制模塊片組成,系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng)硬件結(jié)構(gòu)
基于STM32芯片的數(shù)據(jù)接口有較多種類,其接口的主要作用是用來進行數(shù)據(jù)調(diào)試,可以與其他的時鐘類數(shù)據(jù)接口進行關(guān)聯(lián),能夠使數(shù)據(jù)接口中的基本型號設(shè)備能夠完成數(shù)據(jù)復(fù)位,應(yīng)用寄存器在數(shù)據(jù)接口中進行功能改造,確定航天器電氣負(fù)載傳輸數(shù)據(jù)類型后控制數(shù)據(jù)接口的時鐘功能,將數(shù)據(jù)寄存在芯片端口處,在配置寄存器的過程中選擇了雙控制器寄存器,將串口可接收數(shù)據(jù)分類處理[3]。
STM32芯片外接串行接口可采用半工作狀態(tài)與全工作狀態(tài)兩種型號,均能實現(xiàn)數(shù)據(jù)配置工作,能夠精準(zhǔn)配置到負(fù)載設(shè)備內(nèi)部儲存器的主控中心。設(shè)計四條標(biāo)準(zhǔn)的接口信道線路,分別從電氣負(fù)載的總設(shè)備輸出,輸入至STM32芯片端口;從STM32芯片端口輸出,輸入至電氣負(fù)載的總設(shè)備;傳輸電氣負(fù)載的時鐘條件信號;從主設(shè)備中的電氣負(fù)載輸出傳入航天器軟件程序中[4-6]。
在芯片接口與串行寄存器中裝置一條數(shù)據(jù)驅(qū)動接口,能夠滿足寄存器中的傳輸字節(jié)與航天器主機中的字節(jié)相互交流,接口中的時鐘主要控制電氣負(fù)載信號與接口之間的傳輸時間段,需要滿足信號線中的空余空間,另外在STM32芯片中添加G-SPI接口,能夠隨時中斷電氣負(fù)載傳輸信號,只需要將此接口與常規(guī)接口進行數(shù)據(jù)配置即可使用[7-9]。
嵌入式外接接口如圖2所示。
圖2 外接接口內(nèi)部結(jié)構(gòu)示意圖
接口數(shù)據(jù)完成統(tǒng)計后便傳輸至航天器電氣負(fù)載監(jiān)控服務(wù)器中,通過TCP數(shù)據(jù)協(xié)議將相關(guān)數(shù)據(jù)送入處理模塊中進行處理。應(yīng)用客戶機完成數(shù)據(jù)對接任務(wù),根據(jù)STM32中芯片數(shù)據(jù)類型設(shè)定參數(shù)并顯示數(shù)據(jù)對接進度,為監(jiān)控系統(tǒng)的實時檢測功能創(chuàng)建數(shù)據(jù)條件;本文還采用UDP服務(wù)器作為TCP數(shù)據(jù)傳輸協(xié)議的副服務(wù)器,根據(jù)數(shù)據(jù)傳輸規(guī)則對數(shù)據(jù)進行解析,工作頻率能夠適應(yīng)電氣負(fù)載強度,所以將此套服務(wù)器設(shè)備安裝在電氣負(fù)載中[10]。
電氣負(fù)載監(jiān)控服務(wù)器內(nèi)部電路如圖3所示。
圖3 電氣負(fù)載監(jiān)控服務(wù)器內(nèi)部電路圖
本文應(yīng)用環(huán)旭電子科技公司生產(chǎn)的WM-G-MR-09模塊作為WLAN驅(qū)動芯片的主要實現(xiàn)模塊,不同的模塊生產(chǎn)廠家對此模塊的生產(chǎn)都將STM32芯片技術(shù)融入技術(shù)協(xié)議層中,能夠同時完成數(shù)據(jù)的采集、時鐘設(shè)定、處理、儲存等任務(wù),在于電氣負(fù)載服務(wù)器信道連接后可以實現(xiàn)屏蔽硬件協(xié)議層功能,在監(jiān)控系統(tǒng)的主機中即可完成驅(qū)動芯片的操控,WM-G-MR-09模塊的集成程度較低,為此本文在其中安裝88W8686型號電子芯片,能夠寄存在模塊中完成高集成任務(wù),不占用模塊中其他芯片的能耗以及數(shù)據(jù)成本,符合IEEE802.11a/g/b標(biāo)準(zhǔn),同時還支持傳統(tǒng)電氣負(fù)載下的數(shù)據(jù)傳輸速率,內(nèi)部CPU處理器為64位,數(shù)據(jù)線位寬為64位,處理器工作頻率可根據(jù)航天器內(nèi)部負(fù)載工作頻率相同步[11]。驅(qū)動芯片的引腳如圖4所示。
圖4 驅(qū)動芯片引腳
繼電器控制模塊能夠工作在高壓環(huán)境下,根據(jù)STM32芯片CPU處理器控制繼電器模塊的進行與中斷,設(shè)定所有的繼電器均通過隔離二極管進行電氣負(fù)載監(jiān)控,采用磁性隔離板對干擾信號進行分離[12-14]。負(fù)責(zé)控制繼電器運行的CPU主要通過指令信息進行命令傳達,負(fù)責(zé)繼電器負(fù)載數(shù)據(jù)統(tǒng)計的繼電器轉(zhuǎn)換觸點,能夠中斷與隔離電氣負(fù)載數(shù)據(jù)。
繼電器控制電路如圖5所示。
圖5 繼電器控制電路
本文設(shè)計繼電器模塊需要通過運行周期完成監(jiān)控系統(tǒng)的數(shù)據(jù)識別,規(guī)定每個周期內(nèi)的數(shù)據(jù)盡量優(yōu)先傳送至自檢模塊中,再傳達到繼電保護裝置中,起到一定的信號過濾作用,數(shù)據(jù)接口總線中的數(shù)據(jù)是直接連接到CPU模塊中的,應(yīng)用驅(qū)動電路能夠增加CPU對繼電保護裝置的數(shù)據(jù)監(jiān)測判斷能力,采用的驅(qū)動電路型號為MC1413,每條電路的外出節(jié)點都能夠連接5條數(shù)據(jù)總線,每條線路的輸出環(huán)境電流為50 mA,可以供應(yīng)兩個繼電器同時工作,驅(qū)動電路的正常工作電壓為12 V,所以在增加其他設(shè)備的輸出電流時也需要進行繼電器隔離,避免繼電器的誤動作[15]。繼電器的內(nèi)部檢測數(shù)據(jù)接口基本采用6個觸點的容電器,具有容量大、能耗高、體積小、可更換等特點,與驅(qū)動芯片可串聯(lián)連接具有相同的工作電壓,當(dāng)外加電壓超過工作電壓時可自動識別繼電器的開閉狀態(tài),觸點持續(xù)運作電流為50 mA,為了規(guī)范繼電保護裝置的切換狀態(tài),選用MC1413型號晶體管作為繼電器驅(qū)動器,能夠同時供應(yīng)10個電氣負(fù)載輸出電流,提升繼電保護器在檢測系統(tǒng)中的識別能力[16]。
在設(shè)計了嵌入式數(shù)據(jù)接口以及外接設(shè)備、航天器電氣負(fù)載監(jiān)控服務(wù)器、航天器電氣負(fù)載監(jiān)控服務(wù)器及基于STM32的航天器電氣負(fù)載監(jiān)控繼電器控制模塊等硬件設(shè)計的基礎(chǔ)上,設(shè)計航天器電氣負(fù)載監(jiān)控系統(tǒng)軟件。將STM32驅(qū)動芯片
航天器以太網(wǎng)控制器的USB通信方式是基于STM32標(biāo)準(zhǔn)設(shè)備類的USB型驅(qū)動程序連接方式。USB Host主機首先與航天器以太網(wǎng)控制器建立定向性的USB通信連接,然后再借助PLC擴展負(fù)載模塊,發(fā)送以太網(wǎng)環(huán)境中的監(jiān)控地址配置信息,PCB監(jiān)控板通過USB協(xié)議將發(fā)送過來的負(fù)載信息解析成既定的數(shù)據(jù)傳輸形式,再借助I/O信道,存儲于μC/OS-II內(nèi)核結(jié)構(gòu)體之中,與此同時產(chǎn)生大量的通信中斷任務(wù)[13]。μC/OS-II內(nèi)核在STM32單片機的促進下,可直接中斷航天器以太網(wǎng)控制器中的地址配置數(shù)據(jù),再利用信息任務(wù)函數(shù),將分配好的電氣負(fù)載信號反饋回原數(shù)據(jù)庫主機之中,從而實現(xiàn)對航天器設(shè)備網(wǎng)絡(luò)地址的按需配置。監(jiān)控固件是存儲在航天器設(shè)備可編程存儲器中的一段USB驅(qū)動程序,它是整個監(jiān)控系統(tǒng)中最底層的工作執(zhí)行軟件,負(fù)責(zé)協(xié)調(diào)與電氣負(fù)載設(shè)備相關(guān)的執(zhí)行應(yīng)用功能。在一個硬件設(shè)備之中,監(jiān)控固件能夠直接決定航天器電氣負(fù)載元件的功能與性能。按照USB驅(qū)動程序連接,設(shè)計基于STM32航天器電氣負(fù)載監(jiān)控系統(tǒng)軟件流程,如圖6所示。
圖6 基于STM32航天器電氣負(fù)載監(jiān)控系統(tǒng)軟件流程圖
基于STM32航天器電氣負(fù)載監(jiān)控執(zhí)行流程主要以嵌入式芯片程序為執(zhí)行核心,緊密聯(lián)系執(zhí)行流程與硬件的結(jié)合狀態(tài),滿足航天器電氣負(fù)載監(jiān)控系統(tǒng)的實時特性。執(zhí)行程序的運行首先需要將內(nèi)部的相關(guān)硬件運轉(zhuǎn)時鐘與航天器電氣負(fù)載外部供應(yīng)系統(tǒng)進行同步,控制整套系統(tǒng)的動作在同一周期內(nèi)完成,了解I/O數(shù)據(jù)交互條件并能夠及時控制交互任務(wù)的實現(xiàn)過程,保留一部分?jǐn)?shù)據(jù)接口作為軟件系統(tǒng)的運行后備數(shù)據(jù),規(guī)劃航天器電氣負(fù)載內(nèi)部硬件為多個不同的工作模塊,疏通CPU與STM32之間的信道,再應(yīng)用STM32驅(qū)動芯片完成模塊化的精細化控制,嵌入代碼建立監(jiān)控運行環(huán)境,提供CPU與時鐘之間的協(xié)調(diào)空間,分配相應(yīng)的工作流程并設(shè)定流程完成的時間段[17-18]。
實際的執(zhí)行流程需要將STM32驅(qū)動芯片內(nèi)的數(shù)據(jù)形式劃分為多種儲存格式,應(yīng)用在不同的模塊中,還需要統(tǒng)一不同模塊內(nèi)的數(shù)據(jù)接收時間與輸出時間,精確控制接口與芯片或控制器的處理效率,整體軟件系統(tǒng)的數(shù)據(jù)接收時間統(tǒng)一失敗則無法啟動系統(tǒng)的實時監(jiān)控功能。
STM32嵌入式驅(qū)動芯片可以為系統(tǒng)提供數(shù)據(jù)采集功能,尋找控制電氣負(fù)載數(shù)據(jù)端口的命令程序,對命令進行反饋或調(diào)節(jié),獲取新代碼發(fā)送至上位機的代碼儲存裝置中,構(gòu)建新的代碼運行程序并根據(jù)芯片信號的輸出原因和輸出狀態(tài)判斷下一階級能否接收到串口通信信號;航天器電氣負(fù)載監(jiān)控相關(guān)數(shù)據(jù)接口主要發(fā)送數(shù)字級別信號,對程序的運行時間影響較小,考慮到電氣負(fù)載數(shù)據(jù)監(jiān)控器的終端狀態(tài),設(shè)計軟件系統(tǒng)中初始化代碼為不可更換代碼,在時鐘中設(shè)定監(jiān)控器的代碼發(fā)布周期為50 ns。
軟件系統(tǒng)運行過程中監(jiān)控到重要的信號時會通過STM32嵌入式芯片對外通信,通信對象主要包括芯片與下位機之間和芯片與航天器控制中心之間,通信流程實現(xiàn)主要應(yīng)用異步串行通信方式,能夠?qū)⒈O(jiān)測到的數(shù)據(jù)包以文件夾的形式對外發(fā)送,傳輸過程中方便管理人員的識別;當(dāng)通信數(shù)據(jù)量較大時建立一條通信協(xié)議,設(shè)定數(shù)據(jù)傳輸條件,能夠完全處理與儲存通信內(nèi)容,規(guī)定每條數(shù)據(jù)連接器與控制器的字節(jié)大小,再壓縮代碼完成終端數(shù)據(jù)反饋。
通過上述流程,實現(xiàn)系統(tǒng)軟件運行,再結(jié)合所設(shè)計硬件設(shè)備元件,實現(xiàn)基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng)的順利應(yīng)用。
為了檢測本文提出的基于STM32航天器電氣負(fù)載監(jiān)控系統(tǒng)的有效性,與傳統(tǒng)的基于數(shù)據(jù)挖掘的航天器電氣負(fù)載監(jiān)控系統(tǒng),基于信息分析的航天器電氣負(fù)載監(jiān)控系統(tǒng)進行仿真實驗對比。實驗在Simulink仿真平臺進行,設(shè)定實驗參數(shù)如表1所示。
表1 實驗參數(shù)
根據(jù)上述參數(shù),選用本文系統(tǒng)和傳統(tǒng)系統(tǒng)進行對比實驗,共進行8次實驗,將電氣負(fù)載監(jiān)控系統(tǒng)得到的通信糾錯率實驗結(jié)果記錄下來,如圖7所示。
圖7 電氣負(fù)載監(jiān)控系統(tǒng)通信糾錯率實驗結(jié)果
根據(jù)圖7可知,本文系統(tǒng)的基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng)通信糾錯率優(yōu)于傳統(tǒng)系統(tǒng),糾錯率平均值為92%。本文提出的監(jiān)控系統(tǒng)在后期的數(shù)據(jù)包上增加了CRC檢驗碼,因此具有更強的檢錯能力。在數(shù)據(jù)通信傳輸過程中,傳統(tǒng)系統(tǒng)都存在傳輸錯誤的情況,本文系統(tǒng)的傳輸過程始終穩(wěn)定,沒有出現(xiàn)錯傳和重傳現(xiàn)象。在傳輸過程中,本文系統(tǒng)的上位機和下位機傳輸非常穩(wěn)定,糾錯率較高。
邏輯代碼編寫結(jié)果準(zhǔn)確率實驗結(jié)果如圖8所示。
圖8 邏輯代碼編寫結(jié)果準(zhǔn)確率
根據(jù)圖8可知,本文提出的系統(tǒng)邏輯編碼精準(zhǔn)度始終在85%以上,由此可見,本文提出的系統(tǒng)準(zhǔn)確性更高。該系統(tǒng)具有友好的人機交互界面,向下位機發(fā)送信號配置指令,接收下位機上傳的控制指令,通過設(shè)計算法實現(xiàn)系統(tǒng)配置的自動化。具體地說,上位機要顯示各負(fù)荷的切換狀態(tài),并可通過鼠標(biāo)和鍵盤操作來控制各負(fù)荷。此外,上位機對采集到的數(shù)字量進行分析、組合,再根據(jù)協(xié)議規(guī)定自動配置相關(guān)信號,并在上位機接口及實際演示系統(tǒng)中顯示。主機完成數(shù)據(jù)庫的建立,包括在各階段中,不同飛機狀態(tài)下所記錄的全部模擬和數(shù)字量,所有連接器的狀態(tài)和控制命令,所有匯流帶上的電壓記錄,所有初級電源和次級電源的電壓記錄。當(dāng)數(shù)據(jù)配置好后,該功能還可以做下位機,當(dāng)某些連接線、匯流帶、初級和次級電源和電壓值剛剛啟動時,該下位機就會啟動。主機完成了邏輯模擬實際配電網(wǎng)的負(fù)荷轉(zhuǎn)換,對全部負(fù)荷、匯流條、連接器模擬連接故障進行了模擬。
在此基礎(chǔ)上測試3種系統(tǒng)對航天器電氣負(fù)載監(jiān)控的準(zhǔn)確性,得到對比結(jié)果如圖9所示。
圖9 航天器電氣負(fù)載監(jiān)控對比結(jié)果
如圖9所示,在設(shè)定的航天器電氣負(fù)載功率下,分別采用3種方法對航天器電氣負(fù)載進行監(jiān)測,可以看出本文方法的電氣負(fù)載功率檢測結(jié)果與設(shè)定值基本一致,而其他兩種方法均存在一定誤差。由此可見本文基于STM32的航天器電氣負(fù)載監(jiān)控系統(tǒng)的監(jiān)控準(zhǔn)確性較好。
綜上所述,基于STM32航天器電氣負(fù)載監(jiān)控系統(tǒng)的整體監(jiān)測性能優(yōu)于傳統(tǒng)系統(tǒng),監(jiān)測能力更強,適用范圍更廣,更適合應(yīng)用在航天器電氣負(fù)載監(jiān)測工作中。
基于STM32航天器電氣負(fù)載監(jiān)控系統(tǒng)硬件設(shè)計主要包含數(shù)據(jù)接口與外接設(shè)備、服務(wù)器、驅(qū)動芯片、繼電器控制模塊四大部分,主要負(fù)責(zé)系統(tǒng)的數(shù)據(jù)傳輸、數(shù)據(jù)處理、系統(tǒng)監(jiān)控保護等功能的實現(xiàn),軟件系統(tǒng)的設(shè)計主要包括執(zhí)行流程、通信流程以及數(shù)據(jù)采集流程,建立了軟硬件結(jié)合的應(yīng)用程序模塊,實現(xiàn)了監(jiān)控系統(tǒng)的精準(zhǔn)識別與信息傳遞功能。