李慶楠,劉宵辰,嚴(yán) 琳,騫恒源
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安710065)
機(jī)電系統(tǒng)是除航空電子系統(tǒng)、飛控系統(tǒng)和推進(jìn)系統(tǒng)外,支持飛機(jī)正常、安全工作所必須的機(jī)載設(shè)備系統(tǒng)[1]。機(jī)電管理系統(tǒng)作為機(jī)電系統(tǒng)綜合化管理、控制及故障檢測的計(jì)算機(jī)系統(tǒng),在小、輕、低設(shè)計(jì)需求下,高度綜合是必然發(fā)展趨勢。綜合化引起產(chǎn)品功能增多,軟件復(fù)雜性及規(guī)模不斷增大,傳統(tǒng)依靠源代碼或庫綜合軟件的方式雖然能實(shí)現(xiàn)多個(gè)軟件配置項(xiàng)在同一處理器上運(yùn)行,但存在耦合性強(qiáng),軟件異常情況時(shí)彼此互相影響的問題,因此設(shè)計(jì)綜合化、低耦合、強(qiáng)隔離的機(jī)電管理軟件具有重要意義。
天脈2(ACoreOS653)是符合ARINC653標(biāo)準(zhǔn)的國產(chǎn)分區(qū)實(shí)時(shí)操作系統(tǒng),面向多應(yīng)用,多任務(wù)的使用場景。在空間方面,天脈2通過存儲器管理單元(MMU)實(shí)現(xiàn)多個(gè)應(yīng)用軟件的空間隔離,既保證了核心中數(shù)據(jù)不被非法訪問,也保證了分區(qū)應(yīng)用間數(shù)據(jù)訪問的安全性。在時(shí)間方面,嚴(yán)格按照分區(qū)調(diào)度表進(jìn)行時(shí)間片輪轉(zhuǎn),各分區(qū)在分配的時(shí)間窗口內(nèi)獨(dú)占CPU,保證了運(yùn)行時(shí)間的確定性[2-5]。
機(jī)電系統(tǒng)包括供電系統(tǒng)、燃油系統(tǒng)、液壓系統(tǒng)、環(huán)控系統(tǒng)、剎車防滑系統(tǒng)、起落架系統(tǒng)、前輪轉(zhuǎn)彎系統(tǒng)、應(yīng)急動力系統(tǒng)、生命保障系統(tǒng)、進(jìn)氣道控制系統(tǒng)、防冰/除冰系統(tǒng)、火警/過熱/煙霧探測系統(tǒng)、動力系統(tǒng)等。
根據(jù)各系統(tǒng)的功能、安全級別、耦合度等因素,將機(jī)電系統(tǒng)任務(wù)劃分到六個(gè)分區(qū)中,如圖1所示。
圖1 基于天脈2的機(jī)電管理軟件結(jié)構(gòu)圖
信息綜合處理軟件分區(qū)負(fù)責(zé)對硬件資源進(jìn)行管理,為應(yīng)用軟件提供數(shù)據(jù)支持;供電系統(tǒng)軟件分區(qū)負(fù)責(zé)交、直流系統(tǒng)狀態(tài)監(jiān)測及控制功能;燃油系統(tǒng)應(yīng)用軟件負(fù)責(zé)油量解算,供油、加油、輸油以及通氣增壓及抑爆子系統(tǒng)的狀態(tài)檢測及控制功能;武器系統(tǒng)應(yīng)用軟件負(fù)責(zé)武器艙門的收放控制功能;起落架系統(tǒng)負(fù)責(zé)起落架和起落架艙門的收放控制及狀態(tài)檢測功能;子系統(tǒng)應(yīng)用軟件分區(qū)負(fù)責(zé)處理功能簡單的子系統(tǒng)任務(wù),如包含子系統(tǒng)控制器的前輪轉(zhuǎn)彎系統(tǒng)、剎車系統(tǒng)、進(jìn)氣道系統(tǒng)等。
信息綜合處理軟件是應(yīng)用軟件獲取外部信息、向外部輸出信息的橋梁,為應(yīng)用軟件屏蔽了硬件實(shí)現(xiàn)細(xì)節(jié)。應(yīng)用軟件分區(qū)僅與信息綜合處理軟件進(jìn)行數(shù)據(jù)交互,從軟件功能層面劃分,分區(qū)1中的信息綜合處理軟件位于應(yīng)用軟件之下,層次化的軟件架構(gòu)如圖2所示。
圖2 機(jī)電管理軟件架構(gòu)圖
信息綜合處理軟件對硬件資源進(jìn)行管理,采集外部的離散量、模擬量及總線數(shù)據(jù),監(jiān)控硬件健康狀態(tài),并將數(shù)據(jù)處理后傳遞到各個(gè)分區(qū),各分區(qū)應(yīng)用軟件處理后將結(jié)果返回,信息綜合處理軟件調(diào)用相關(guān)輸出驅(qū)動對外部設(shè)備進(jìn)行控制,并向總線發(fā)送數(shù)據(jù)。
2.2.1 時(shí)間分配
根據(jù)各分區(qū)最小任務(wù)周期及處理任務(wù)的耗時(shí)情況,本文設(shè)計(jì)了兩套調(diào)度表,如表1所示。0號調(diào)度表用于各分區(qū)初始化,1號調(diào)度表用于周期調(diào)度,主時(shí)間框架為10 ms。
表1 時(shí)間分配表
2.2.2 分區(qū)端口
信息綜合處理軟件與各應(yīng)用軟件之間采用統(tǒng)一的信息交互方式,即分區(qū)采樣端口。為保證通信數(shù)據(jù)余量,數(shù)據(jù)刷新的實(shí)時(shí)性,本文設(shè)計(jì)的分區(qū)端口參數(shù)信息如表2所示。
表2 分區(qū)端口信息表
2.2.3 信息綜合處理軟件設(shè)計(jì)
信息綜合處理軟件處理接口種類多,數(shù)量大,為提升軟件可維護(hù)性和可移植性,采用層次化設(shè)計(jì),如圖2所示,其內(nèi)部劃分為資源管理層,數(shù)據(jù)管理層和數(shù)據(jù)轉(zhuǎn)換層。資源管理層實(shí)現(xiàn)資源配置初始化、各資源讀入操作及輸出操作、資源狀態(tài)監(jiān)測等功能;數(shù)據(jù)管理層實(shí)現(xiàn)接口輸入數(shù)據(jù)解算、接口輸出數(shù)據(jù)組織、總線輸入數(shù)據(jù)解析、總線輸出數(shù)據(jù)組織等功能;數(shù)據(jù)轉(zhuǎn)換層按應(yīng)用軟件需求對數(shù)據(jù)進(jìn)行處理、轉(zhuǎn)換。信息綜合處理軟件中創(chuàng)建3個(gè)任務(wù),分別用于輸入信號采集、處理,數(shù)據(jù)輸出,以及健康監(jiān)控。
2.2.4 機(jī)電系統(tǒng)應(yīng)用軟件設(shè)計(jì)
應(yīng)用軟件通過分區(qū)端口接收指令與數(shù)據(jù),對指令進(jìn)行響應(yīng),并根據(jù)數(shù)據(jù)進(jìn)行狀態(tài)監(jiān)測。各應(yīng)用軟件中均創(chuàng)建兩個(gè)任務(wù),一個(gè)任務(wù)處理控制功能邏輯,另一個(gè)任務(wù)進(jìn)行狀態(tài)監(jiān)測和告警信息處理。程序流程如圖3所示。
圖3 應(yīng)用軟件任務(wù)流程圖
經(jīng)實(shí)際應(yīng)用驗(yàn)證,本文設(shè)計(jì)的基于天脈2的機(jī)電管理軟件具有層次清晰、可維護(hù)性強(qiáng)的特點(diǎn),既實(shí)現(xiàn)了產(chǎn)品級多種功能的集成,又保證了產(chǎn)品內(nèi)部軟件低耦合,強(qiáng)隔離性。