張弛 毛寧 謝宇辰 中國航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所
在機(jī)載計(jì)算機(jī)應(yīng)用領(lǐng)域,為確保系統(tǒng)的高可靠性和強(qiáng)測試性,設(shè)計(jì)時(shí)分別會從系統(tǒng)、硬件、軟件等角度進(jìn)行故障模式分析,找出影響系統(tǒng)安全的所有故障,并對故障進(jìn)行檢測和管理。通常會在軟件中進(jìn)行BIT測試,包括上電BIT、初始化BIT、周期BIT等,檢測和定位計(jì)算機(jī)自身的各種故障,首先會將故障信息進(jìn)行存儲,存儲內(nèi)容涉及故障編碼、故障時(shí)間、故障信息狀態(tài)等;其次會根據(jù)設(shè)計(jì)好的故障管理策略,采取適當(dāng)?shù)拇胧?,以保證系統(tǒng)發(fā)生故障時(shí),將性能損失降低到最小,從而保證飛行安全。
本文介紹一種機(jī)載計(jì)算機(jī)故障分類方法,可從不同維度對故障進(jìn)行判定和管理,在系統(tǒng)檢測到故障發(fā)生時(shí),根據(jù)故障分類的不同,軟件采取不同的管理辦法,有效保證了故障管理的正確性和可靠性。
為方便進(jìn)行故障查詢、記錄、傳輸、管理和維護(hù),設(shè)計(jì)時(shí)應(yīng)對每條故障都設(shè)置一個(gè)唯一的故障編碼。故障發(fā)生,首先則會置故障標(biāo)志并存放在以故障編碼為檢索索引的連續(xù)內(nèi)存區(qū)域中。故障按照嚴(yán)重程度可以被劃分為不同等級,等級越高表明故障越嚴(yán)重。各種故障信息,既可以通過各類通訊接口發(fā)送給其他機(jī)載計(jì)算機(jī)或設(shè)備,同時(shí)如果該故障需在內(nèi)部非易失存儲器中存儲,則將該故障寫入。
不同的故障檢測可在軟件的不同部分進(jìn)行,例如可以在初始化程序、后臺任務(wù)、實(shí)時(shí)任務(wù)中進(jìn)行。一般大多數(shù)故障檢測是在實(shí)時(shí)任務(wù)中完成的。而在實(shí)時(shí)任務(wù)中,又可以根據(jù)故障檢測所需要的頻繁程度將故障分置在不同的周期任務(wù)中。
因?yàn)楣收系陌l(fā)生可能是偶然因素導(dǎo)致或是“硬傷”導(dǎo)致,不同故障對系統(tǒng)的影響程度也不同,且許多故障往往具有很強(qiáng)的關(guān)聯(lián)性和誘發(fā)性,因此需對所有故障建立不同的分類,從各個(gè)維度進(jìn)行故障類型標(biāo)記,建立并實(shí)施不同的管理策略。根據(jù)故障發(fā)生的頻繁程度,可以分為瞬時(shí)故障和永久故障;根據(jù)故障發(fā)生對系統(tǒng)產(chǎn)生的影響,可以分為一般故障和嚴(yán)重故障;根據(jù)故障之間的因果關(guān)系,可以設(shè)置關(guān)聯(lián)故障。
機(jī)載計(jì)算機(jī)的故障從故障時(shí)間或者故障特性角度分為瞬時(shí)故障和永久故障。瞬時(shí)故障一般是由于外界擾動(dòng)引起的,短時(shí)間內(nèi)可恢復(fù)正常的故障;永久故障是指機(jī)載計(jì)算機(jī)不可恢復(fù)的硬故障。
瞬態(tài)故障和永久故障的判斷可以采用雙閾值方法進(jìn)行,不在設(shè)計(jì)時(shí)進(jìn)行預(yù)設(shè),其中,較低的閾值用于永久性故障的判斷,較高的閾值用于瞬態(tài)故障的判斷。當(dāng)某條故障由于持續(xù)多個(gè)周期發(fā)生而較快達(dá)到故障時(shí)延,則該故障為永久性故障;當(dāng)某條故障經(jīng)過多次反復(fù)才達(dá)到故障時(shí)延,則該故障為瞬態(tài)故障。瞬態(tài)故障和永久故障的判斷流程見圖1所示。
機(jī)載計(jì)算機(jī)的故障從故障信息狀態(tài)或者系統(tǒng)控制角度分為一般故障和嚴(yán)重故障。一般故障是指機(jī)載計(jì)算機(jī)的某個(gè)通道或通道中的某個(gè)模塊故障,仍可對系統(tǒng)進(jìn)行控制情況下的故障;嚴(yán)重故障是指計(jì)算機(jī)的故障,導(dǎo)致其喪失對系統(tǒng)進(jìn)行控制的能力。一般故障和嚴(yán)重故障是設(shè)計(jì)時(shí)預(yù)設(shè)的。
當(dāng)機(jī)載計(jì)算機(jī)的一般故障發(fā)生時(shí),只需對故障進(jìn)行記錄和上報(bào)操作,對故障可能造成的影響,利用預(yù)設(shè)的安全值進(jìn)行保護(hù)輸出。
機(jī)載計(jì)算機(jī)嚴(yán)重故障一般包括CPU故障、FLASH校驗(yàn)和錯(cuò)誤、SRAM訪問錯(cuò)誤、周期任務(wù)超時(shí)、堆棧越界、軟件跑飛導(dǎo)致看門狗報(bào)警、重要參數(shù)無法獲得等,這些故障一旦發(fā)生,一方面需要在非易失存儲器中進(jìn)行故障編碼記錄,另一方面應(yīng)進(jìn)行產(chǎn)品自動(dòng)復(fù)位和復(fù)位次數(shù)紀(jì)錄,若復(fù)位次數(shù)未達(dá)到預(yù)設(shè)的上限,且在復(fù)位重啟后產(chǎn)品工作正常,不再有任何的嚴(yán)重故障發(fā)生,則無需再對產(chǎn)品進(jìn)行復(fù)位或其他操作,若復(fù)位后又不斷有嚴(yán)重故障發(fā)生,一旦達(dá)到預(yù)設(shè)上限,則產(chǎn)品無需繼續(xù)不斷復(fù)位,將進(jìn)入保護(hù)模式,可以只進(jìn)行輸入信號的采集,不應(yīng)再對外輸出,因?yàn)檫@時(shí)產(chǎn)品被認(rèn)為是不可靠的。無論是否達(dá)到復(fù)位次數(shù)的預(yù)設(shè)上限,一旦復(fù)位次數(shù)不為零,就應(yīng)通過通訊接口將故障信息發(fā)送到維護(hù)設(shè)備中,可以進(jìn)行故障分析和處理,保證產(chǎn)品的安全可靠。
圖1 瞬態(tài)故障和永久故障的判斷流程
關(guān)聯(lián)故障是為了提高產(chǎn)品的測試性而設(shè)計(jì),可以避免某個(gè)故障的發(fā)生導(dǎo)致其他故障一起發(fā)生時(shí),所有故障都被記錄和顯示,造成故障定位的困難。其含義可解釋如下:若B、C……故障可引起A故障的發(fā)生,則將B、C……故障標(biāo)記為A故障的關(guān)聯(lián)故障,這樣的關(guān)聯(lián)關(guān)系是設(shè)計(jì)時(shí)預(yù)設(shè)的。利用關(guān)聯(lián)故障可以將一些觸發(fā)條件較多的故障細(xì)化,同時(shí)避免不必要的故障記錄占據(jù)存儲單元。當(dāng)某故障的一條或多條關(guān)聯(lián)故障發(fā)生時(shí),該故障不會被記錄,只會記錄其關(guān)聯(lián)故障,計(jì)算機(jī)產(chǎn)品認(rèn)為該故障是由其關(guān)聯(lián)故障引起的,但是該故障及其關(guān)聯(lián)故障均應(yīng)通過通訊接口送到維護(hù)設(shè)備中進(jìn)行檢查。
本文通過預(yù)設(shè)或?qū)崟r(shí)監(jiān)測的方法,對瞬時(shí)故障和永久故障,一般故障和嚴(yán)重故障,以及關(guān)聯(lián)故障進(jìn)行了描述,通過對不同故障增加類型標(biāo)記,可以在故障發(fā)生時(shí),采取有效合理的管理策略,這樣的分類方法可以廣泛應(yīng)用于機(jī)載計(jì)算機(jī)領(lǐng)域。