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