摘 要:固態(tài)配電系統(tǒng)核心處理機也稱作電氣系統(tǒng)處理機(PSP),是固態(tài)配電系統(tǒng)的控制中心。闡述了在VxWorks下飛機固態(tài)配電核心處理機的多任務(wù)程序設(shè)計流程,對多任務(wù)進行了細致的劃分和分析,并且針對雙機熱備份的功能進行了深入的研究。
關(guān)鍵詞:PSP; 多任務(wù)程序設(shè)計; 雙機熱備份; 飛機自動配電系統(tǒng)
中圖分類號:TN91134 文獻標(biāo)識碼:A 文章編號:1004373X(2012)22010703
飛機自動配電系統(tǒng)的核心處理機是典型的嵌入式多任務(wù)實時操作系統(tǒng)。根據(jù)可靠性的要求,核心處理機采用雙PSP的熱備份方式。系統(tǒng)可以簡化成如圖1所示的模式,即系統(tǒng)由主機、備份機、輸入通道和輸出通道組成。主機和備份機相當(dāng)于周期性事務(wù)處理機,輸入通道是信息共享終端,輸出通道是事務(wù)處理結(jié)構(gòu)輸出執(zhí)行機構(gòu)。主機和備份機之間設(shè)置了交互通道,用于主機和備份機之間的同步、故障信息傳輸。當(dāng)主機正常工作時,備份機處于熱備份狀態(tài),只從其他子系統(tǒng)接收數(shù)據(jù),而不向外發(fā)送數(shù)據(jù);當(dāng)主機出現(xiàn)故障時,及時將主機與系統(tǒng)隔離,同時備份機代替主機工作。
圖1 熱備份系統(tǒng)簡化模型基于雙機熱備份的前提,以下對系統(tǒng)的多任務(wù)應(yīng)用程序進行了的初步設(shè)計。
1 任務(wù)劃分
嵌入式程序的基本單元是任務(wù),將一個實時應(yīng)用問題分解為多個任務(wù),可以加快單個任務(wù)執(zhí)行速度,有效地利用系統(tǒng)資源。但是,過度地分解任務(wù),將會使系統(tǒng)中有大量的任務(wù)頻繁地進行任務(wù)的切換,任務(wù)之間還要進行很多同步和互斥控制機制,將增加大量的系統(tǒng)服務(wù)工作,降低系統(tǒng)的速度和有效性。因此,劃分任務(wù)時必須進行各種綜合平衡和折衷,有時將兩個操作合并在一起處理效果好些,但有時必須分開處理,這都依賴于實時應(yīng)用的特性。
根據(jù)核心處理機(PSP)所要完成的功能,列出各種任務(wù)的具體功能和名
2 任務(wù)調(diào)度
為了把各個任務(wù)的特征描述的更準(zhǔn)確,下面根據(jù)設(shè)備依賴性、時間依賴性和事件依賴性等原則來標(biāo)識各個任務(wù)的確定元素。
2.1 標(biāo)識設(shè)備依賴性
所有實時系統(tǒng)都通過一些設(shè)備與物理世界接口,如各種輸入/輸出設(shè)備。PSP中產(chǎn)生中斷的主動設(shè)備包括:小周期定時中斷(標(biāo)識為ACT1);1553B數(shù)據(jù)接收中斷(標(biāo)識為ACT2); RS 232數(shù)據(jù)接收中斷(標(biāo)識為ACT3)。PSP中不產(chǎn)生中斷的被動設(shè)備包括:ARINC429數(shù)據(jù)發(fā)送(標(biāo)識為PAS1);1553B數(shù)據(jù)發(fā)送(標(biāo)識為PAS2);RS 232數(shù)據(jù)發(fā)送(標(biāo)識為PAS3);讀取硬盤歷史數(shù)據(jù)數(shù)據(jù)(標(biāo)識為PAS4);往硬盤寫歷史數(shù)據(jù)數(shù)據(jù)(標(biāo)識為PAS5)。
2.2 標(biāo)識事件依賴性
外部設(shè)備產(chǎn)生的事件,已在設(shè)備依賴性上標(biāo)識出來,因此,這里集中討論內(nèi)部產(chǎn)生的事件。PSP內(nèi)部產(chǎn)生的事件主要有:接收到控制命令(標(biāo)識為EVT1);接收到供電系統(tǒng)狀態(tài)(標(biāo)識為EVT2);標(biāo)識時間依賴性。
設(shè)計實時系統(tǒng)時,必須弄清每個應(yīng)用要求的時間死線,進而確定每個任務(wù)的實時死線,然后依據(jù)每個死線的關(guān)鍵性和緊急性分派任務(wù)的優(yōu)先權(quán)。表2顯示了任務(wù)與設(shè)備、事件及時間的依賴關(guān)系。
圖7 系統(tǒng)周期通信任務(wù)流程圖3.8 數(shù)據(jù)存儲任務(wù)
數(shù)據(jù)存儲任務(wù)的功能是實現(xiàn)存儲系統(tǒng)運行過程中的歷史數(shù)據(jù),以及系統(tǒng)進行自檢測產(chǎn)生的故障相關(guān)數(shù)據(jù)文件。數(shù)據(jù)存儲任務(wù)的主要操作是讀/寫硬盤。這部分的細節(jié)在數(shù)據(jù)記錄功能的實現(xiàn)一節(jié)已詳細論述,此處不再贅述。
3.9 系統(tǒng)自檢測
系統(tǒng)自檢測任務(wù)在系統(tǒng)的其他任務(wù)都掛起時,來處理PSP內(nèi)部CPU、內(nèi)存,以及外部設(shè)備板卡的周期BIT函數(shù),驅(qū)動函數(shù)中提供了BIT函數(shù),因此, 系統(tǒng)自檢測