基于VxWorks的飛機自動化配電的軟件設(shè)計研究
先進飛機正朝著多電、全電方向發(fā)展,供電系統(tǒng)成為了未來飛機發(fā)展的關(guān)鍵。按照功能飛機供電系統(tǒng)分為電源系統(tǒng)和配電系統(tǒng)兩大部分。先進配電系統(tǒng)由電源系統(tǒng)處理機(PSP)、電氣負載管理中心(ELMC)、固態(tài)功率控制器(SSPC)和遠程終端(RT)組成,實現(xiàn)飛機配電的智能化,其中電源系統(tǒng)處理機是配電系統(tǒng)的核心。
目前我國飛機電源系統(tǒng)仍采用的是集中配電方式。隨著航空技術(shù)的迅速發(fā)展,飛機性能有了大幅度提高,用電設(shè)備迅速增加,電源功率不斷提高,這種配電方式已經(jīng)不適應(yīng),而且嚴重影響了飛機整體性能的提高。
國外一些技術(shù)發(fā)達的國家,如美國、英國、法國等在航空航天領(lǐng)域已普遍使用了分布式配電和負載自動管理技術(shù)。美國最近裝備部隊的F-22先進飛機就采用了可編程的固態(tài)開關(guān)、1553B總線、微處理機和負載自動管理技術(shù)。美國在P7-A反潛機上也使用了先進配電系統(tǒng),系統(tǒng)控制功能達到了故障—工作、故障—容錯、故障—保險的容錯等級。我國對該課題的研究起步較晚,但是近來發(fā)展迅速,1553B數(shù)據(jù)總線、發(fā)電機控制器、固態(tài)功率控制器和電氣負載管理中心的研究,以及某型飛機的NAMP系統(tǒng),都是富有成果性的。不過,與世界上技術(shù)先進國家相比尚有一定差距,還有很多工作要做。先進飛機配電系統(tǒng)可以實現(xiàn)不中斷供電和容錯供電,提高供電系統(tǒng)的可靠性、維護性、靈活性,對于提高飛機的整體性能有重要的作用,已是第四代戰(zhàn)斗機的必備技術(shù)。
配電系統(tǒng)控制分析
配電系統(tǒng)采用集散控制方式,由具有智能性的PSP、ELMC、RT和GCU(發(fā)電機控制器)來實現(xiàn)控制。其中,ELMC監(jiān)視和控制SSPC,RT監(jiān)視和控制EMPC(機電式功率控制器)、外部電源、蓄電池以及TRU(變壓整流器)。GCU為發(fā)電機、主交流匯流條提供控制和保護。GCU在功能上是獨立的,并不受PSP控制。PSP完成頂層級的系統(tǒng)控制任務(wù),實現(xiàn)對配電系統(tǒng)集中管理。各智能終端與PSP通過MIL-STD-1553B數(shù)據(jù)總線進行通信。
由于受MIL-STD-1553B總線1MBPS位速率的限制,不能采用單一的綜合結(jié)構(gòu),所以航空電子系統(tǒng)與配電系統(tǒng)控制采用了分層結(jié)構(gòu)。航空電子系統(tǒng)提供配電系統(tǒng)控制所必需的飛行和任務(wù)數(shù)據(jù),它采用自己單獨的數(shù)據(jù)總線。由電源系統(tǒng)處理機(PSP)擔負航空電子系統(tǒng)和配電系統(tǒng)控制之間的信息傳遞任務(wù)。配電系統(tǒng)控制結(jié)構(gòu)如圖1所示。
圖1配電控制系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)設(shè)計
軟件分析
根據(jù)對飛機配電系統(tǒng)的分析,電源系統(tǒng)處理機軟件可分為下述模塊:
a.系統(tǒng)控制指令處理模塊
b.供電系統(tǒng)布局狀態(tài)處理模塊
c.MIL-STD-1553B數(shù)據(jù)總線控制模塊
d.供電系統(tǒng)初始化模塊
e.電氣系統(tǒng)監(jiān)控模塊
f.處理機請求排序模塊
g.處理機請求處理模塊
由于采用了VxWorks作為操作系統(tǒng),必須將上述模塊劃分為具體的任務(wù),提交給操作系統(tǒng),由操作系統(tǒng)來調(diào)度、管理。任務(wù)調(diào)度一般采用RM和EDF方式,遵循的原則是:首先,要避免死鎖。引起死鎖的原因主要是資源的競爭,所以要保證資源的合理使用。其次,必須為每個任務(wù)合理分配CPU使用時間,對于那些I/O操作多的任務(wù)優(yōu)先級要低一些,運算多的任務(wù)優(yōu)先級要高一些。為保證CPU的充分利用,大量運算歸為一個任務(wù);功能耦合歸為一個任務(wù);對于周期時間,針對不同的頻率處理不同任務(wù)。如果我們在具體分析一個系統(tǒng)的時候發(fā)生原則沖突,則要針對具體的系統(tǒng)為每一個原則設(shè)定“權(quán)重”,必要的時候可以通過計算“權(quán)重”來最終確定如何去劃分任務(wù)。為了系統(tǒng)的穩(wěn)定和可擴展性,CPU不能全載工作,達到60~70%就可以了。VxWorks介紹
VxWorks是WindRiver公司開發(fā)的嵌入式實時操作系統(tǒng)軟件,為程序員提供了高效的實時任務(wù)調(diào)度和中斷管理,實時的系統(tǒng)資源以及實時的任務(wù)間通信。其核心功能主要有微內(nèi)核,任務(wù)間通信機制,網(wǎng)絡(luò)支持,文件系統(tǒng)和I/O管理,POSIX標準實時擴展,以及C++等其它標準支持。目前,VxWorks操作系統(tǒng)已經(jīng)廣泛應(yīng)用于通信、國防、工業(yè)控制、醫(yī)療設(shè)備等嵌入式實時應(yīng)用領(lǐng)域。綜合設(shè)計軟件系統(tǒng)有嚴格的層次結(jié)構(gòu),如圖2所示。
圖2主執(zhí)行軟件結(jié)構(gòu)圖這樣做的目的在于明確各個層面的功能,便于軟件的工程化開發(fā)。硬件構(gòu)架:包括了處理機和總線接口部件。軟件層對它的要求是適合于嵌入式開發(fā)。
BSP:這一層是連接硬件與VxWorks的,其功能是對上層屏蔽硬件操作,實現(xiàn)系統(tǒng)的配置,驅(qū)動的集成,硬件的初始化等等,其部分功能類似于PC機的BIOS。
VxWorks:這是操作系統(tǒng)層。VxWorks是一款出色的嵌入式實時操作系統(tǒng),該操作系統(tǒng)采用搶占式優(yōu)先級調(diào)度,并且根據(jù)應(yīng)用可以配置和裁減以提高系統(tǒng)的效率、可靠性和實時性。其功能是對應(yīng)用軟件提供接口界面,進行實時任務(wù)調(diào)度,系統(tǒng)資源管理等。通過在Tornado開發(fā)環(huán)境下創(chuàng)建BootableProject來定制所需要的VxWorksimage。用戶一般要根據(jù)實際情況,適當?shù)剡M行添加或裁減。
應(yīng)用軟件:這是用戶層,關(guān)鍵在于根據(jù)飛機的負載特性和優(yōu)先級分布來合理地劃分任務(wù)。建立有限狀態(tài)機和Petri網(wǎng)都能有效地幫助建立合理的應(yīng)用程序模型,正確地使用相關(guān)輔助工具可以簡化建模過程。
根據(jù)開發(fā)的需要,應(yīng)用軟件分為內(nèi)核軟件和外圍集成軟件兩大塊。其中內(nèi)核軟件實現(xiàn)PSP主執(zhí)行軟件的基本功能,外圍集成軟件實現(xiàn)參數(shù)輸入、顯示等調(diào)試過程的人機界面,所有的外圍模塊通過內(nèi)核軟件的指定接口模塊與內(nèi)核通信。
鑒于數(shù)據(jù)被各個任務(wù)頻繁使用,所以建立一個嵌入式實時數(shù)據(jù)庫來管理數(shù)據(jù)是安全而高效的。關(guān)于嵌入式實時數(shù)據(jù)庫的建立,請參閱相關(guān)書籍。這里只是簡單的采用內(nèi)存數(shù)據(jù)庫來實現(xiàn),目的是消除一般數(shù)據(jù)庫中I/O操作的時間不確定性。首先,要為相關(guān)的數(shù)據(jù)類型建立相應(yīng)的結(jié)構(gòu)體。在該系統(tǒng)中需要為模擬量、狀態(tài)量、數(shù)字量、控制量建立數(shù)據(jù)結(jié)構(gòu)。以數(shù)據(jù)中的模擬量為例,可定義如下:typedefstructAnalogEntity
{
intID;
charName;
charU;
intPValue;/*前一周期值*/
floatValue;/*模擬量值*/
intState;
intNode;
intAisle;/*通道*/
ATIMETime;/*報警時間*/
floatUplimit;/*報警上限*/
floatLowerlimit;/*報警下限*/
floatIncValue;/*過載值*/
intALevel;/*報警等級*/
intRatio;/*比例系數(shù)*/
/*向后兼容*/
floatRes;
charReserve<10>;
}ANALOG;
其次,將所有的數(shù)據(jù)和方法封裝在一起,完成數(shù)據(jù)庫的定義而得到的數(shù)據(jù)庫,在這里把它稱為數(shù)據(jù)布局文件。對于本數(shù)據(jù)庫最重要的是要保證讀寫的時間限制,如果規(guī)定時間內(nèi)未能完成讀寫操作,必須要終止操作,并且回滾到未操作狀態(tài)。
內(nèi)核軟件的大致任務(wù)為:1553B通信處理任務(wù),電源系統(tǒng)監(jiān)測任務(wù),與備份PSP通信任務(wù),控制臺處理任務(wù),電源請求與執(zhí)行任務(wù),外圍模塊通信處理任務(wù),系統(tǒng)自監(jiān)測任務(wù)等。外圍軟件主要是航空電子模擬任務(wù)、模擬控制臺任務(wù)、綜合顯示任務(wù)。整個軟件的簡單流程如圖3所示。
圖3數(shù)據(jù)流圖(DFD)
內(nèi)核軟件:處理電源請求和執(zhí)行任務(wù),主要是解飛機負載邏輯方程,從而得出當前的最佳控制方案,將結(jié)果通過1553B總線送給ELMC、RT等控制機構(gòu)。系統(tǒng)自監(jiān)測任務(wù)主要是監(jiān)視當前軟件系統(tǒng)工作情況,防止外界原因使得內(nèi)部數(shù)據(jù)不穩(wěn)定,導(dǎo)致錯誤控制的發(fā)生。外圍軟件主要是模擬PSP的工作環(huán)境和簡單的人機接口,并不是PSP功能的組成部分。采用外圍模塊通信處理任務(wù)來管理外圍的任務(wù),可以方便地擴展外圍開發(fā)中的模塊,而不影響內(nèi)核功能,便于軟件的裁減。備份PSP通信任務(wù)通過RS422與備份PSP通信,達到雙機熱備份。電源系統(tǒng)監(jiān)測任務(wù)主要是查看電源系統(tǒng)的工作狀態(tài),定期地修改數(shù)據(jù)布局文件中的狀態(tài)量,得到當前的系統(tǒng)工作情況,對于歷史數(shù)據(jù)布局文件可以寫入歷史數(shù)據(jù)庫,以備查詢。另外,任務(wù)之間如果需要同步,可以采用信號量來實現(xiàn)。
結(jié)語
本文簡單講述了基于VxWorks的飛機電源系統(tǒng)軟件設(shè)計過程,在實際應(yīng)用中還有許多問題需要解決。比如考慮到程序用途的特殊性,必須保證程序的正確運行,所以程序的健壯性是研究的另一個重點。比如,采用程序固化運行、冗余容錯技術(shù)、程序互檢驗等技術(shù)都是為了保證程序準確無誤地運行。另外,飛機邏輯負載方程庫的建立和求解,以及相應(yīng)日志文件系統(tǒng)的建立,都是必要的工作。