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