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