宮江雷,韓笑冬,張金輝,鄧 兵,楊凱飛,李 翔
衛(wèi)星互聯(lián)網(wǎng)是衛(wèi)星通信與互聯(lián)網(wǎng)技術(shù)發(fā)展到一定程度的產(chǎn)物,也是信息網(wǎng)絡(luò)從平面化到立體化的轉(zhuǎn)變.以“一網(wǎng)”和“星鏈”等為代表的星座互聯(lián)網(wǎng)快速發(fā)展掀起了新一代太空熱潮,規(guī)模越來越大、應(yīng)用越來越廣,隨之而來的是對于星座衛(wèi)星的自主運行管理功能提出了很高的要求.我國國家互聯(lián)網(wǎng)系統(tǒng)也在設(shè)計和驗證過程中,隨著在軌衛(wèi)星數(shù)量越來越多,地面運控管理的壓力隨之增大,依賴地面遙控處理的方式難以滿足以衛(wèi)星為“基建”的發(fā)展戰(zhàn)略需求.同時信息科技的發(fā)展必將實現(xiàn)航天的產(chǎn)業(yè)化運行,衛(wèi)星的研制將呈現(xiàn)出:短周期、快響應(yīng)以及靈活可擴展等特點.因此從衛(wèi)星高可靠長期自主運行管理的角度,需要衛(wèi)星系統(tǒng)具備模塊化和通用化的設(shè)計思路,并且在軌可方便擴展.
郝佳寧等[1]主要針對可復用軟件技術(shù)研究,提出了星載軟件架構(gòu)的靜態(tài)結(jié)構(gòu)、動態(tài)結(jié)構(gòu)以及可復用構(gòu)件的運行模式,BOCCHINO 等[2]提出了一種開源架構(gòu)的小衛(wèi)星軟件系統(tǒng).王君等[3]提出基于SOIS的星載平臺軟件架構(gòu)設(shè)計探索,主要基于CCSDS航天器在軌接口業(yè)務(wù)建議書中的信息處理流程,結(jié)合有線、無線以及總線在軟件外部接口應(yīng)用的選擇,為軟件底層架構(gòu)設(shè)計提供了一種解決方案.另外,NASA AMES航天中心提出了SMART(The Small Multi-Purpose Advanced Reconfigurable Technology)架構(gòu)[4-5],進行低成本可重構(gòu)衛(wèi)星的設(shè)計以及開發(fā),ESA提出了基于時空劃分的模塊化綜合電子軟件架構(gòu)SAVOIR[6-7],主要關(guān)注通用軟件執(zhí)行平臺規(guī)格和常規(guī)應(yīng)用規(guī)格,同時提出層次化和模塊化的標準,通過基于軟總線架構(gòu)的體系進行模塊的選用和拼接,該架構(gòu)主要特點是為了滿足不同軟件功能的增加和復用[8-9].本文主要針對星載計算機軟件中的星務(wù)自主控制功能業(yè)務(wù),對各種業(yè)務(wù)控制邏輯提出3種通用的控制模型,通過對遙測參數(shù)和遙控指令的邏輯組合配置實現(xiàn)業(yè)務(wù)功能,滿足不同功能的星務(wù)管理軟件設(shè)計和開發(fā)需求,同時可實現(xiàn)衛(wèi)星自主管理APP的快速開發(fā)和代碼生成,同時便于開展在軌維護工作,擴展軟件各項功能和性能.
衛(wèi)星自主生存是指利用自動化、計算機、智能信息處理及現(xiàn)代控制理論等方法,依托智能星載信息系統(tǒng)在衛(wèi)星上建立獨立的智能控制體,精確感知自身運行狀態(tài)和外部空間環(huán)境,自主維持衛(wèi)星正常工作狀態(tài)[8].而衛(wèi)星的星務(wù)自主控制主要是區(qū)別于衛(wèi)星載荷管理而言,完成維持衛(wèi)星能源、溫度、姿態(tài)、軌道、數(shù)據(jù)、健康狀態(tài)監(jiān)測控制等[9].通過星務(wù)自主管理功能的實施,衛(wèi)星能夠在軌道姿態(tài)保持穩(wěn)定的基礎(chǔ)上保障平臺穩(wěn)定運行,載荷能夠正常工作,是衛(wèi)星實現(xiàn)自主生存的重要保證.
在星座衛(wèi)星的管理中,星務(wù)管理除常規(guī)的自主控制功能之外,還需要具備星間天線捕跟、載荷自主開關(guān)機、整星加熱器功率調(diào)節(jié)等功能,從整個星座優(yōu)化角度提出了多項星務(wù)自主控制功能.
衛(wèi)星星務(wù)自主控制功能依托于星載計算機完成相關(guān)功能任務(wù),當前面向多任務(wù)運行的計算環(huán)境,采用開放式架構(gòu)的綜合電子系統(tǒng)架構(gòu),以LVDS總線、CAN總線、485總線以及RS422總線為信息采集和發(fā)送的通道,完成各項功能管控.
圖1 衛(wèi)星星務(wù)自主管理組成示意圖Fig.1 Schematic diagram of satellite house-keeping management
星務(wù)自主控制主要以數(shù)據(jù)管理為主,其核心關(guān)鍵在于對衛(wèi)星內(nèi)部數(shù)據(jù)信息的處理,當前衛(wèi)星星載計算處理主要以嵌入式計算機為主,計算機主頻一般在100 MHz左右,數(shù)據(jù)處理能力非常有限,星上算法相對簡單[10],因此對于星務(wù)自主管理模型的提取主要分為遙控主動控制模型、遙測主動控制模型以及數(shù)據(jù)融合交互控制模型.
遙控主動控制模型主要包括按照時間基準發(fā)送指令或更改相關(guān)狀態(tài)設(shè)置,以指令驅(qū)動為主,在規(guī)定的時刻完成規(guī)定的任務(wù).例如在起飛后30 S內(nèi)數(shù)據(jù)采集儀關(guān)機、在規(guī)定時刻GNSS開機、在某段時間內(nèi)載荷產(chǎn)品開機等等.其核心邏輯模型如表1所示.
表1 遙控主動控制模型Tab.1 Model of remote command active control
遙測主動控制模型主要是監(jiān)控參數(shù)的值是否與預置的數(shù)值相等或滿足預置參數(shù)范圍,當參數(shù)滿足條件時,發(fā)送指令或更改狀態(tài)設(shè)置,例如基于熱敏電阻采集的溫度參數(shù)與軟件裝訂的上下限閾值進行比較,當采集溫度高于上限閾值,則發(fā)送斷開指令,當采集溫度低于下限閾值,則發(fā)送接通指令.其核心邏輯模型如表2所示.
表2 遙測主動控制模型Tab.2 Model of telemetry active control
數(shù)據(jù)融合交互控制模型主要是針對參數(shù)滿足條件后,進行事件處理,處理過程中又需要進行參數(shù)多次判別和指令處理,在其中形成循環(huán),對于相對復雜的管理任務(wù),需要指令和參數(shù)之間交互頻繁,即判斷參數(shù)滿足條件后,進行處理流程,處理過程中需要繼續(xù)判斷參數(shù),再進行處理.其中核心邏輯模型如表3所示.
表3 數(shù)據(jù)融合交互控制模型Tab.3 Model of data fusion interactive control
基于上述3種模型,通過建立自主軟件通用化架構(gòu)實現(xiàn)自主管理軟件的快速開發(fā)和組裝測試.自主控制軟件系統(tǒng)框架主要包括3部分:數(shù)據(jù)裝訂子模塊、數(shù)據(jù)交互子模塊以及邏輯執(zhí)行組合子模塊.其中邏輯執(zhí)行組合子模塊是核心功能,基于3種模型實現(xiàn)自主控制.
圖2 主控制軟件系統(tǒng)設(shè)計Fig.2 Design of autonomous control software system
邏輯執(zhí)行組合子模塊是自主軟件系統(tǒng)的核心,其主要是通過加載邏輯裝訂參數(shù)后,確定當前軟件運行的主要流程,根據(jù)裝訂的具體的操作采取對應(yīng)的動作步驟.數(shù)據(jù)裝訂子模塊主要為模型配置裝訂參數(shù),將參數(shù)進行存儲.數(shù)據(jù)交互模塊主要處理對內(nèi)和對外所有的數(shù)據(jù)交互任務(wù),該模塊操作數(shù)據(jù)的格式主要基于CCSDS標準的遙測包結(jié)構(gòu)和數(shù)據(jù)指令格式進行讀寫,并基于總線協(xié)議獲取總線數(shù)據(jù).可兼容CAN、RS485總線、RS422總線、1553B總線、CSB總線等多種格式協(xié)議.
邏輯執(zhí)行組合子模塊主要包括邏輯序列、邏輯動作、邏輯執(zhí)行子操作三層邏輯模型,其中邏輯序列由多個邏輯動作組成,邏輯動作由多個邏輯執(zhí)行子操作組成.本文自主管理系統(tǒng)可通過前述三種模型的組合,完成星務(wù)自主控制管理邏輯序列抽象化.每個邏輯序列對應(yīng)一個業(yè)務(wù)功能.邏輯序列由一系列操作步驟組成,每個步驟即邏輯動作.邏輯動作具有不同的模型,邏輯序列按順序執(zhí)行內(nèi)部基于不同模板的邏輯動作,各個模型主要依據(jù)具體軟件實現(xiàn)邏輯來實現(xiàn).當前應(yīng)用較多的是模型三“事件觸發(fā)判斷-指令動作-事件觸發(fā)判斷”.以該模型為例,“事件觸發(fā)判斷-指令動作-事件觸發(fā)判斷”中每個邏輯動作都包含事件前判斷、前判斷次數(shù)、前判斷失敗動作、執(zhí)行動作、動作重試次數(shù)、后判斷、后判斷次數(shù)、后判斷延時(周期)、后判斷失敗動作等子操作.
為了表達復雜邏輯,邏輯動作具有嵌套結(jié)構(gòu),每個邏輯動作可以包含子動作.子動作也是一個邏輯動作.在執(zhí)行序列時,邏輯動作執(zhí)行的順序遵循“成功則繼續(xù)執(zhí)行子動作,失敗則跳至下一個邏輯動作”的原則.如圖3所示,一個邏輯序列只包括邏輯動作1,邏輯動作1包括邏輯動作1.1和邏輯動作1.2,兩個邏輯動作之間是并列關(guān)系,默認無相應(yīng)關(guān)聯(lián)關(guān)系.邏輯動作1.1包括邏輯動作1.1.1.當執(zhí)行邏輯動作1.1成功時,繼續(xù)執(zhí)行邏輯動作1.1.1,但是如果邏輯動作1.1執(zhí)行失敗則繼續(xù)執(zhí)行邏輯動作1.2.
圖3 邏輯執(zhí)行層示意Fig.3 Schematic diagram of logic execution layer
其偽代碼實現(xiàn)如下:
1FUNExec_Judge∥邏輯執(zhí)行判斷
2UINT8condition_Array[NUM_MAX]
3UINT8log_Rel_Array[NUM_MAX];
4BOOLis_Conditon_Meet_Array[NUM_MAX];
5reset_Array_UINT(uint8_Addr_Ptr, 0,NUM_OF_FAULTS_IN_CLASS_ONE_MAX- 1,
6uint8_Value_Ptr,ELEMENT_UINT8);∥執(zhí)行前判斷
7if(FALSE==Is_Class_Fault_Id(class_ID,fault_ID))
8 {res=RET_PCS_RECOV_NO_OP;
9returnres; }/** 2.根據(jù)階段完成相應(yīng)操作*/
10cnt_Upper_limit=fault_Class_Seq[class_ID].fault_List_Ptr[fault_ID].fault_Cnt_Upper_Limit;
11recov_Procedure_Param.cur_Recov_Finish_Flag=CUR_RECOV_FINISH_NO; ∥**<完成標志置位*/
12res=RET_PCS_RECOV_FIRST;
13recov_Procedure_Param.rema_Judge_Cycle=delay_Cycle;
14recov_Procedure_Param.rema_Judge_Num=judge_Num;/* 第一次發(fā)送指令的操作*/
15if(TRUE==is_Exec_Cmd) {
16Exec_Recov_Cmd_Seq_Fault(class_ID,fault_ID,
17fault_Class_Seq[class_ID].fault_List_Ptr[fault_ID].recov_Class_Flag);}
18returnres;}
19if(TRUE==is_Confirm_Fault) {/** 判據(jù)成立,即事件仍然存在*/
20 ++recov_Procedure_Param.recov_Fail_Con_Primary;
21if
22 (recov_Procedure_Param.recov_Fail_Con_Primary>=cnt_Upper_limit) {/** 事件仍存在且超過失敗次數(shù)的處理*/
23res=RET_PCS_RECOV_FAIL;/** 標志清零*/
24else{/** 事件仍存在但未超過失敗次數(shù)處理*/if(TRUE==is_Exec_Cmd) {
25Exec_Recov_Cmd_Seq_Fault(class_ID,fault_ID
26fault_Class_Seq[class_ID].fault_List_Ptr[fault_ID].recov_Class_Flag); ∥**<重發(fā)執(zhí)行相關(guān)操作*/}
27res=RET_PCS_RECOV_PROCESS;}}
28elseres=RET_PCS_RECOV_SUCC;}
29returnres;}
在邏輯動作中包括較多判斷和操作的步驟,本文稱作邏輯子操作.邏輯子操作主要分為兩類操作,第一類為判斷操作,第二類為執(zhí)行操作.判斷操作主要是條件判斷,例如,“事件觸發(fā)判斷-指令動作-事件觸發(fā)判斷”模型中的前判斷、后判斷都是判斷操作.執(zhí)行操作主要指具體的軟件動作,例如,“事件觸發(fā)判斷-指令動作-事件觸發(fā)判斷”模型中的執(zhí)行動作、前判斷失敗動作、后判斷失敗動作等.
數(shù)據(jù)交互子模塊是連接邏輯執(zhí)行模塊和驅(qū)動軟件 的內(nèi)部通信模塊,該模塊主要包括遙測包緩存區(qū)、遙測組幀子模塊、指令分發(fā)子模塊.當前衛(wèi)星內(nèi)部通過總線結(jié)構(gòu)進行連接,各個單機的主要信息存儲在遙測包當中,星載計算機通過總線收集位于各終端的遙測包信息來掌握整星的平臺與載荷的運行情況.自主管理軟件的遙測包緩存區(qū)存儲所有衛(wèi)星單機的遙測包信息,邏輯執(zhí)行模塊執(zhí)行主要算法時,需要獲取下位機數(shù)據(jù)和更新軟件數(shù)據(jù)時,都通過統(tǒng)一的接口更改遙測包緩存區(qū)中的數(shù)據(jù).遙測組幀任務(wù)主要功能為獲取遙測包緩存區(qū)數(shù)據(jù),并依據(jù)CCSDS格式組合成為遙測幀,傳輸給驅(qū)動軟件, 之后,通過遙測單機把遙測信息傳輸至地面.指令分發(fā)任務(wù)主要是通過對指令內(nèi)容的解析,對指令發(fā)送進行路由.同時,其還具備指令驗證比對功能.
參數(shù)裝訂子模塊負責軟件初始化裝訂參數(shù)的管理.裝訂參數(shù)主要包括遙測參數(shù)的位置、發(fā)送指令的碼字、軟件運行所需要的初始參數(shù)和軟件邏輯裝訂.對每一種裝訂參數(shù)都有特殊的需求文件格式、軟件存儲方式、軟件訪問及修改方式.參數(shù)裝訂主要以數(shù)組的方式存儲.
衛(wèi)星自主健康管理技術(shù)是指在無地面干預的情況下,衛(wèi)星根據(jù)歷史狀態(tài)、傳感器信息和環(huán)境等因素,智能評估衛(wèi)星自身健康狀態(tài)、適時準確地診斷故障信息并定位原因、部位、類型、程度以及發(fā)展趨勢,并進行自主決策,采取相應(yīng)措施對故障進行隔離、補償、重構(gòu)與恢復,以降低系統(tǒng)故障風險、保證衛(wèi)星在軌后長期自主生存,延長衛(wèi)星的壽命,提高其可靠性.
一般來講,衛(wèi)星具備120多種故障需要處理,如果針對每個故障獨立進行開發(fā)處理,則需要的代碼規(guī)模和開發(fā)時間較長.本文針對某衛(wèi)星星務(wù)FDIR軟件(自主故障檢測、隔離與恢復),采用基于模型化配置的方法進行軟件研制,采用裝訂數(shù)據(jù)子層、邏輯執(zhí)行組合子模塊以及數(shù)據(jù)交互模塊聯(lián)合工作,完成了122種故障的處理.
模型1:加熱器自主關(guān)機操作
針對某新型材料,在相應(yīng)加熱器接通后計時5min,需要發(fā)送加熱器斷開指令.
表4 加熱器自主關(guān)機操作模型Tab.4 Operation model of heater automatic shutdown
模型2:S3R模塊保護復位實時監(jiān)控
S3R模塊供電隔離二極管發(fā)生短路失效時,內(nèi)部保護電路會關(guān)斷對地分流MOS管,強制其向母線供電,避免造成母線短路.為防止由于空間單粒子等原因造成保護誤動作,可以通過保護復位指令解除該保護狀態(tài).
表5 S3R模塊保護復位監(jiān)控操作模型Tab.5 S3R module protection reset monitoring operation model
模型3:蓄電池組充電電流正確性判斷及異常處理
蓄電池組充電電流異常判據(jù)成立,則發(fā)送異常蓄電池組的恒流充電電流設(shè)置指令和恒壓充電電壓設(shè)置指令異常處理,指令發(fā)送后,對異常蓄電池組充電電流是否正常進行判斷:是,則不再進行恒流充電電流設(shè)置指令和恒壓充電電壓設(shè)置指令的發(fā)送;否,則再次發(fā)送充電電流設(shè)置指令和充電電壓設(shè)置指令,并對異常蓄電池組充電電流是否正常繼續(xù)判斷;如指令發(fā)送后,指令執(zhí)行判讀仍不正確,則轉(zhuǎn)入電源控制器的主備切換,則生成報警標志遙測.
表6 蓄電池組充電電流異常操作模型Tab.6 Abnormal operation model of batterycharging current
基于以上3種模型,可從參數(shù)裝訂子模塊、邏輯執(zhí)行組合子模塊和數(shù)據(jù)交互子模塊進行分離與結(jié)合,完成自主軟件架構(gòu)設(shè)計.其中數(shù)據(jù)裝訂子模塊包括時間、開關(guān)指令、狀態(tài)保護以及加電遙測等,邏輯執(zhí)行子層通過遙控主動控制、遙測主動控制以及數(shù)據(jù)融合交互控制模型組合完成各項控制邏輯,從底層硬件和采集設(shè)備完成實時數(shù)據(jù)的獲取和指令終端控制.
其中數(shù)據(jù)裝訂模塊針對FDIR自主控制所需要的指令和遙測參數(shù)進行裝訂,在邏輯子層中選擇對應(yīng)的模型進行勾選,數(shù)據(jù)交互模塊可獲取相關(guān)的模擬量及總線遙測參數(shù),最終完成軟件的配套和開發(fā).
圖4 面向FDIR設(shè)計的軟件架構(gòu)應(yīng)用Fig.4 Application of software architecture for FDIR design
針對兩個型號5類共122種故障在FDIR自主控制研制模式的不同,從研制效率、代碼行數(shù)、機時占用、可擴展性、等方面進行比較如表7所示.
表7 針對傳統(tǒng)研制模式的效果比較Tab.7 Effect comparison of traditional development mode
基于模型化配置的軟件自主管理系統(tǒng)能夠適應(yīng)于快速自主管理系統(tǒng)開發(fā),經(jīng)過驗證,對于健康參數(shù)自主下傳、能源充放電管理、衛(wèi)星溫度控制等功能均可采用上述模型進行統(tǒng)一管理生成,提高開發(fā)效率,降低問題發(fā)生概率,最終建立通用化的軟件自主系統(tǒng)框架,通過自動化的軟件參數(shù)裝訂和自適應(yīng)的數(shù)據(jù)交互機制,提升軟件系統(tǒng)的標準化和靈活性.
星務(wù)自主控制軟件是衛(wèi)星自主生存工作的重要支撐,使衛(wèi)星或者星座能夠長期不依賴于地面管理控制實現(xiàn)自主運行,特別針對測控可見弧段有限帶來的管理問題,也解決巨型星座的長期管理問題.
本文通過自主控制框架建立,通過裝訂參數(shù)、邏輯子層以及數(shù)據(jù)交互模塊的架構(gòu)體系,實現(xiàn)了自主控制軟件系統(tǒng)可配置,為軟件系統(tǒng)開放應(yīng)用提供便利,同時提高了衛(wèi)星星座系統(tǒng)的可擴展性.