傳統(tǒng)故障余度處理方式將故障余度減緩切除,造成飛控計(jì)算機(jī)子系統(tǒng)的降級(jí),如果剩余的余度再出現(xiàn)故障可能危及飛行安全。有些余度通道故障可以通過重啟余度通道來恢復(fù)正常運(yùn)行。通過分析余度通道正常啟動(dòng)流程,以及飛控計(jì)算機(jī)子系統(tǒng)余度控制應(yīng)用軟件重啟流程,研究了雙CPU命令監(jiān)控模式和雙命令模式下的重啟流程。最后針對(duì)仿真設(shè)備節(jié)點(diǎn)故障、飛控節(jié)點(diǎn)故障以及飛控多余度故障進(jìn)行了實(shí)驗(yàn)驗(yàn)證,84個(gè)故障驗(yàn)證項(xiàng)經(jīng)驗(yàn)證測(cè)試后全部通過。
引言
高可靠性是飛機(jī)的重要研究方向,飛控系統(tǒng)很大程度上影響著飛機(jī)的可靠性。因此,要提高飛機(jī)可靠性,必須提高飛控系統(tǒng)的可靠性。飛控系統(tǒng)的核心是飛控計(jì)算機(jī)子系統(tǒng)。為了提高飛控系統(tǒng)的可靠性,工程實(shí)踐中廣泛使用多余度飛控計(jì)算機(jī)子系統(tǒng)架構(gòu),二余度結(jié)構(gòu)、三余度結(jié)構(gòu)、四余度架構(gòu)是工程上最常用的幾種架構(gòu)。在四余度飛控計(jì)算機(jī)子系統(tǒng)中,余度通道故障的應(yīng)對(duì)策略一般為減緩切除方法,即連續(xù)指定周期或累計(jì)指定周期被判定異常就會(huì)將該余度通道切除。這樣的策略下,如果繼續(xù)有通道發(fā)生故障,飛控功能將快速降級(jí),最終可能影響飛機(jī)任務(wù)的完成度。
在工程實(shí)踐中,發(fā)現(xiàn)有些飛控計(jì)算機(jī)余度故障是單粒子效應(yīng)等原因引起的,系統(tǒng)器件在經(jīng)過復(fù)位或者重新上電后,可以恢復(fù)功能。如果因?yàn)檫@些故障原因就將整個(gè)余度通道隔離切除,系統(tǒng)的效能會(huì)受到較大的影響。因此需要對(duì)這些故障進(jìn)行具體分析,并提出系統(tǒng)功能及性能容忍的、非余度切除的恢復(fù)性處理措施,即余度通道空中重啟。在余度通道重啟的過程中,引發(fā)故障的硬件故障原因消除,系統(tǒng)恢復(fù)正常,系統(tǒng)得以繼續(xù)運(yùn)行?;蛘?,當(dāng)余度通道進(jìn)行重啟后,系統(tǒng)原有的某些故障狀態(tài)可能會(huì)恢復(fù)。這類故障是因?yàn)橄到y(tǒng)中未被研制過程中的驗(yàn)證環(huán)節(jié)所發(fā)現(xiàn)的系統(tǒng)缺陷引起的。缺陷在系統(tǒng)特定的運(yùn)用狀態(tài)下被觸發(fā),引發(fā)余度故障甚至系統(tǒng)失效。在系統(tǒng)重啟后,因?yàn)橄到y(tǒng)狀態(tài)的改變,又避開了觸發(fā)條件,使得系統(tǒng)可以繼續(xù)運(yùn)行,系統(tǒng)部件可繼續(xù)發(fā)揮作用,因此重啟故障余度不失為一種可利用的系統(tǒng)容錯(cuò)策略。
余度通道正常啟動(dòng)流程
余度通道系統(tǒng)正常啟動(dòng)的流程如下: 1)通道控制計(jì)算機(jī)上電重啟; 2)系統(tǒng)軟件根據(jù)空中/地面狀態(tài)判定進(jìn)行自檢、初始化; 3)系統(tǒng)軟件根據(jù)空中/地面狀態(tài)判定確定是否進(jìn)行控制程序映像校驗(yàn); 4)系統(tǒng)軟件加載控制程序到內(nèi)存; 5)余度同步,即同步采用握手的算法進(jìn)行。在余度通道內(nèi)部,還會(huì)采用指令通道與監(jiān)控通道配合以對(duì)本通道進(jìn)行自檢的技術(shù)手段。指令通道與監(jiān)控通道也需要進(jìn)行同步。余度通道內(nèi)部的這類同步需要在余度間同步前進(jìn)行; 6)啟動(dòng)控制功能及故障檢測(cè):同步結(jié)束后,通道系統(tǒng)軟件啟動(dòng)控制功能程序,控制功能程序開始進(jìn)行控制邏輯運(yùn)行。系統(tǒng)軟件在進(jìn)行控制功能程序周期調(diào)度時(shí),在每個(gè)控制周期的開始,為消除各個(gè)通道同步誤差,還需要進(jìn)行控制周期同步。同步仍采用高低電平握手方式。在同步成功后,通道系統(tǒng)軟件再啟動(dòng)下一個(gè)周期的控制功能程序調(diào)度。
飛控計(jì)算機(jī)子系統(tǒng)余度重啟流程分析
在實(shí)際系統(tǒng)中,如判定一個(gè)飛控計(jì)算機(jī)子系統(tǒng)余度通道出現(xiàn)故障,一般對(duì)其進(jìn)行故障減緩切除處理,但切除故障余度后,如果剩余的正常運(yùn)行的余度發(fā)生故障,可能導(dǎo)致系統(tǒng)快速降級(jí),影響任務(wù)的完成。美國(guó)SpaceX公司在“獵鷹9號(hào)”(Falcon 9)火箭上采用了商用的X86處理器,控制系統(tǒng)使用了三個(gè)處理器,組成了3×2的6余度系統(tǒng),所有的6個(gè)余度之間的結(jié)果數(shù)據(jù)進(jìn)行互傳校驗(yàn),計(jì)算出錯(cuò)的處理器進(jìn)行復(fù)位,復(fù)位后拷貝相關(guān)狀態(tài)數(shù)據(jù)后重新上線運(yùn)行以提高系統(tǒng)的可靠性。由于飛控系統(tǒng)的高安全、高可靠和高實(shí)時(shí)性的要求,以及在計(jì)算機(jī)和通信總線技術(shù)上與商業(yè)領(lǐng)域的差別,本文借鑒了國(guó)外商用分布式系統(tǒng)的余度重啟上線思路,對(duì)切除的故障余度進(jìn)行重啟,即自身或其余通道(或作動(dòng)器遠(yuǎn)程終端子系統(tǒng))輸出強(qiáng)制故障余度重啟的指令。
故障通道如果得到了強(qiáng)制其重啟的指令,仍然可以在兩個(gè)層面上進(jìn)行,一個(gè)是系統(tǒng)級(jí)上電重啟,另一個(gè)是控制應(yīng)用軟件重啟,可恢復(fù)不同范圍的故障。如采用整個(gè)系統(tǒng)上電重啟的措施,則故障余度通道上電重啟并完成操作系統(tǒng)和飛控應(yīng)用的加載。如果是單獨(dú)的軟件重啟,則飛控應(yīng)用退出并重新加載運(yùn)行。由于第四章的實(shí)驗(yàn)針對(duì)控制器軟件重啟,本章主要描述故障余度控制應(yīng)用軟件重啟流程。
余度通道控制應(yīng)用軟件重啟流程如下: 1)系統(tǒng)軟件根據(jù)空中/地面狀態(tài)判定確定是否進(jìn)行控制程序映像校驗(yàn); 2)系統(tǒng)軟件加載控制程序到內(nèi)存; 3)余度同步:同步采用握手的算法進(jìn)行。同正常啟動(dòng)流程。通道間的握手同步信號(hào)傳輸需要具有可接受的時(shí)效,不能耗時(shí)過長(zhǎng),以免失去及時(shí)握手的意義。因此,可以采用通道間直接的電平信號(hào)連接;而系統(tǒng)中其他通道根據(jù)余度表決的時(shí)序要求,也正進(jìn)行控制周期同步。控制周期同步算法與啟動(dòng)同步一致。只是同步等待的時(shí)間不同。啟動(dòng)同步的握手超時(shí)時(shí)間可以設(shè)計(jì)的略長(zhǎng),可以大于控制周期,以確保不因時(shí)間太短而不能建立與其他通道的同步。重啟通道正常情況下可以與系統(tǒng)中其他通道完成同步。同步成功結(jié)束后,各個(gè)通道標(biāo)記重啟通道為重啟同步成功狀態(tài)。
4)系統(tǒng)軟件進(jìn)行余度間數(shù)據(jù)遷移:同步結(jié)束后,需要進(jìn)行余度間數(shù)據(jù)遷移工作,同步余度控制程序間的狀態(tài)數(shù)據(jù)。因?yàn)橐话愕目刂茟?yīng)用軟件都是所謂“有狀態(tài)”程序,程序輸出依賴于當(dāng)前的程序狀態(tài)。如果不進(jìn)行狀態(tài)數(shù)據(jù)同步,導(dǎo)致通道間輸出超出差異閾值,重啟通道仍然會(huì)被認(rèn)為故障; 重啟通道上的系統(tǒng)軟件在同步成功后,根據(jù)控制功能程序的周期執(zhí)行耗時(shí),延遲一段時(shí)間即開始啟動(dòng)后續(xù)數(shù)據(jù)遷移工作和控制工作。其他通道只要在控制周期同步時(shí),發(fā)現(xiàn)有新通道為重啟同步成功狀態(tài),即在同步成功后的同一個(gè)控制周期內(nèi),啟動(dòng)數(shù)據(jù)遷移工作。如果和重啟通道同步上的其他通道有多個(gè),簡(jiǎn)單起見,重啟通道按系統(tǒng)設(shè)定的優(yōu)先級(jí)先后持續(xù)接收通道發(fā)送的遷移數(shù)據(jù)。和重啟通道同步上的其他通道仍然需要發(fā)送遷移數(shù)據(jù)給重啟通道,以避免重啟通道優(yōu)先認(rèn)定的數(shù)據(jù)來源通道不能發(fā)送數(shù)據(jù)的情況。
余度間數(shù)據(jù)遷移在不透明方式(不透明方式需要控制功能程序的數(shù)據(jù)段及BSS段的內(nèi)存部署位置是系統(tǒng)軟件已知的)處理視角下,程序的狀態(tài)數(shù)據(jù)從抽象的程序二進(jìn)制實(shí)現(xiàn)上看,保存在程序進(jìn)程空間的數(shù)據(jù)段、BSS段以及棧段上。重啟通道的控制程序可不遷移棧段數(shù)據(jù)。因?yàn)榇藭r(shí)棧上保留的狀態(tài)信息,對(duì)控制邏輯而言并非必要。重啟通道控制程序可以重新建立自身的棧內(nèi)容而不影響控制。 系統(tǒng)中其他通道在和重啟通道同步上的控制周期中,待正常的控制程序周期運(yùn)行結(jié)束后,由系統(tǒng)軟件將控制功能程序數(shù)據(jù)段及BSS段內(nèi)存數(shù)據(jù)內(nèi)容通過CCDL一次性發(fā)送給重啟通道。 對(duì)于有指令支路及監(jiān)控支路的系統(tǒng),CCDL一般同時(shí)將數(shù)據(jù)傳輸給兩個(gè)支路。因此,遷移數(shù)據(jù)也同時(shí)傳輸給兩個(gè)支路,兩個(gè)支路的數(shù)據(jù)遷移工作可同時(shí)進(jìn)行。
雙CPU運(yùn)行模式對(duì)余度通道重啟的影響
當(dāng)前工程所用飛控計(jì)算機(jī)一般為雙CPU架構(gòu),具有雙CPU的余度通道,又根據(jù)兩個(gè)CPU能否訪問外部外設(shè)而分為兩種模式:命令監(jiān)控模式、雙命令模式。下面就雙CPU運(yùn)行模式對(duì)余度通道重啟的影響進(jìn)行分析。 一、命令監(jiān)控模式 如本雙CPU余度通道故障,整個(gè)飛控計(jì)算機(jī)余度通道會(huì)被判故障,系統(tǒng)會(huì)減緩切除該余度通道。如不能恢復(fù),則飛控計(jì)算機(jī)子系統(tǒng)其他通道表決出重啟指令使其重啟。該重啟指令也經(jīng)過兩CPU間數(shù)據(jù)通道傳輸?shù)奖O(jiān)控通道(如圖1所示)。其他通道發(fā)出的重啟信號(hào)經(jīng)兩個(gè)CPU板上的硬件重啟邏輯綜合后,可以發(fā)出使CPU外部中斷的信號(hào),CPU系統(tǒng)軟件進(jìn)行相應(yīng)的中斷處理,如果需要進(jìn)行系統(tǒng)級(jí)重啟,則向其他余度通告本通道重啟,通過系統(tǒng)重啟硬件端口輸出使能重啟信號(hào)。
圖1 命令監(jiān)控重啟 重啟時(shí),兩支路同時(shí)重啟。每個(gè)支路重啟過程如下: 1)CPU支路上電重啟; 2)系統(tǒng)軟件根據(jù)空中/地面狀態(tài)判定進(jìn)行自檢、初始化; 3)系統(tǒng)軟件根據(jù)空中/地面狀態(tài)判定來確定是否進(jìn)行控制程序映像校驗(yàn); 4)系統(tǒng)軟件加載控制程序到內(nèi)存; 5)余度通道支路間同步:在余度通道作為一個(gè)整體與其他余度進(jìn)行同步之前,兩個(gè)CPU支路間要先進(jìn)行支路間同步。支路間同步需要的硬件支持是兩支路間的一對(duì)信號(hào)線連接。同樣是采用高低電平握手的方式進(jìn)行同步; 6)余度通道同步:余度通道內(nèi)支路同步成功后,指令支路輸出與其他余度通道進(jìn)行高低握手的指令,指令支路也都獲取其他支路的電平信號(hào),進(jìn)行通道同步判斷; 7)系統(tǒng)軟件進(jìn)行余度間數(shù)據(jù)遷移:余度通道的支路CPU與其他通道同步成功后,指令支路接收其他通道給本通道的遷移數(shù)據(jù)并轉(zhuǎn)發(fā)給監(jiān)控支路。兩個(gè)支路的遷移過程同單CPU設(shè)計(jì)余度通道; 8)啟動(dòng)控制功能及故障檢測(cè):數(shù)據(jù)遷移結(jié)束后,相應(yīng)支路的系統(tǒng)軟件啟動(dòng)控制功能程序。
在下一個(gè)控制周期時(shí)刻到來時(shí),系統(tǒng)軟件調(diào)度功能程序運(yùn)行??刂乒δ艹绦蛞?yàn)槭侵貑⒑蟮谝淮伪徊僮飨到y(tǒng)軟件調(diào)度,程序應(yīng)從初始化運(yùn)行。初始化又可能會(huì)破壞遷移過來的數(shù)據(jù),因此,在程序入口設(shè)置一個(gè)表征是否已經(jīng)初始化的全局變量。在數(shù)據(jù)遷移后,該全局變量已經(jīng)設(shè)置為真,程序判斷為真,則不再進(jìn)行相關(guān)初始化了,而直接進(jìn)行控制功能。但是,某些通道號(hào)相關(guān)的變量若需要特殊處理,則需要進(jìn)行初始化。后續(xù),控制功能程序開始進(jìn)行控制邏輯運(yùn)行。同時(shí),系統(tǒng)中其他余度通道,在數(shù)據(jù)遷移結(jié)束后的下一個(gè)控制周期,也將重啟通道的狀態(tài)置為有效,相應(yīng)支路的狀態(tài)也在兩支路余度表決硬件邏輯中置為有效。
二、雙命令模式
1、 “主主”模式 雙命令模式下,當(dāng)系統(tǒng)采用“主主”方式運(yùn)行處理故障時(shí),整個(gè)飛控計(jì)算機(jī)余度通道會(huì)被判故,系統(tǒng)對(duì)該通道實(shí)行減緩切除策略。如該通道最終被切除,即故障不能恢復(fù),則飛控計(jì)算機(jī)子系統(tǒng)其他通道表決出重啟指令使其重啟,如圖2所示。 重啟時(shí),兩支路同時(shí)重啟。支路重啟過程與命令監(jiān)控模式的重啟過程相似,不同點(diǎn)在于:步驟6)余度通道同步。
圖2 “主主”模式重啟 “主主”模式下,余度通道內(nèi)支路同步成功后,兩個(gè)支路輸出與其他余度通道進(jìn)行高低握手的指令,兩支路余度表決硬件邏輯在指令未分離的情況下優(yōu)選一路,并通過離散信號(hào)端口輸出高低電平給其他余度。兩個(gè)支路也都獲取其他支路的電平信號(hào),進(jìn)行通道同步判斷。 2、 “主備”模式 當(dāng)系統(tǒng)采用“主備”方式運(yùn)行處理故障時(shí),整個(gè)余度通道仍然有一路CPU輸出,該余度通道不會(huì)被其他通道判故。系統(tǒng)會(huì)對(duì)通道內(nèi)選出的(或主動(dòng)報(bào)告的)故障支路實(shí)施減緩切除余度算法,直至多次重試失敗后,由兩支路余度表決硬件邏輯向故障支路發(fā)出重啟信號(hào),如圖3所示。
故障支路重啟過程如下: 1)—4)與命令監(jiān)控模式相同; 5)支路間同步:故障CPU支路間要先與正常支路進(jìn)行支路間同步; 支路間同步后,不再如同“主主”故障處理方式,不再需要進(jìn)行余度通道同步。
圖3 “主備”模式重啟 6)系統(tǒng)軟件進(jìn)行支路間數(shù)據(jù)遷移:支路間同步成功后,正常支路獲知重啟支路同步成功狀態(tài),開始在控制功能程序周期運(yùn)行結(jié)束后,由系統(tǒng)軟件通過雙口RAM或PCI總線給重啟CPU支路發(fā)送遷移數(shù)據(jù)。重啟CPU支路接收遷移數(shù)據(jù)。遷移過程同單CPU設(shè)計(jì)余度通道; 7)啟動(dòng)控制功能及故障檢測(cè):數(shù)據(jù)遷移結(jié)束后,重啟支路的系統(tǒng)軟件啟動(dòng)控制功能程序。控制功能程序進(jìn)行控制,系統(tǒng)也重新開始故障檢測(cè),包括兩支路間的自監(jiān)控。
實(shí)驗(yàn)與驗(yàn)證
驗(yàn)證環(huán)境由四余度飛控仿真計(jì)算機(jī)、仿真PC機(jī)和PC宿主機(jī)組成的硬件環(huán)境以及在各硬件上所運(yùn)行的軟件組成的軟件環(huán)境共同構(gòu)成,如圖4所示。實(shí)驗(yàn)所用飛控計(jì)算機(jī)CPU為命令監(jiān)控模式。 主機(jī)端軟件包括飛控機(jī)載軟件開發(fā)環(huán)境、主機(jī)端余度故障注入軟件(見圖5)、主機(jī)端余度運(yùn)行與重啟過程監(jiān)控軟件(見圖6)。
圖4 演示驗(yàn)證環(huán)境構(gòu)成圖
圖5 主機(jī)端余度故障注入軟件
圖6 主機(jī)端余度運(yùn)行與重啟過程監(jiān)控軟件 針對(duì)仿真設(shè)備節(jié)點(diǎn)故障、飛控節(jié)點(diǎn)故障以及飛控多余度故障進(jìn)行驗(yàn)證,具體情況如表1所示。 表1 仿真設(shè)備節(jié)點(diǎn)驗(yàn)證測(cè)試項(xiàng)
在正確搭建驗(yàn)證環(huán)境的情況下,飛控計(jì)算機(jī)故障驗(yàn)證操作通用流程如下:
1)打開數(shù)據(jù)集中交換程序(即DataComm通信框架中心服務(wù)器)、飛控PC端代理軟件、各個(gè)仿真程序、主機(jī)端余度運(yùn)行與重啟過程監(jiān)控軟件和主機(jī)端故障注入軟件及操作連接上網(wǎng)絡(luò)服務(wù)節(jié)點(diǎn);
2)給仿真飛控計(jì)算機(jī)上電;
3)等待主機(jī)端余度運(yùn)行與重啟過程監(jiān)控軟件顯示各仿真設(shè)備節(jié)點(diǎn)以及飛控余度各節(jié)點(diǎn)狀態(tài)正常;
4)操作主機(jī)端余度故障注入軟件對(duì)需要驗(yàn)證的飛控余度節(jié)點(diǎn)注入測(cè)試故障;
5)觀察主機(jī)端余度運(yùn)行與重啟過程監(jiān)控軟件對(duì)應(yīng)被測(cè)對(duì)象飛控余度節(jié)點(diǎn)狀態(tài)變化,即是否產(chǎn)生故障,根據(jù)具體故障類型,進(jìn)入自動(dòng)復(fù)位狀態(tài)或是等待用戶手動(dòng)操作復(fù)位,復(fù)位后恢復(fù)正常運(yùn)行狀態(tài),同時(shí)可查看其它非被測(cè)飛控余度節(jié)點(diǎn)中其它通道狀態(tài)是否發(fā)生變化; 表1中“飛控余度的20個(gè)故障”包括:
1)同步故障導(dǎo)致的余度失效:故障模型使故障注入的飛控計(jì)算機(jī)余度不進(jìn)行同步操作,不能與其它余度完成同步;
2)CCDL故障導(dǎo)致的余度失效:故障模型使故障注入的飛控計(jì)算機(jī)停止CCDL的輸入和輸出,模擬CCDL故障狀態(tài);
3)通道故障邏輯導(dǎo)致的余度失效:故障模型使故障注入的飛控計(jì)算機(jī)停止通道故障邏輯的離散量輸入和輸出,模擬通道故障邏輯的故障狀態(tài);
4)飛控計(jì)算機(jī)易失存儲(chǔ)器可持續(xù)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型持續(xù)的修改對(duì)飛控計(jì)算機(jī)輸出指令有影響的狀態(tài)或積分變量為一個(gè)錯(cuò)誤值,引起飛控計(jì)算機(jī)余度輸出指令與其它余度產(chǎn)生足夠大的差異;
5)飛控計(jì)算機(jī)易失存儲(chǔ)器瞬時(shí)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型連續(xù)多個(gè)(3個(gè)以上)幀周期內(nèi)修改對(duì)飛控計(jì)算機(jī)輸出指令有影響的狀態(tài)和積分變量為一個(gè)錯(cuò)誤值,引起飛控計(jì)算機(jī)余度輸出指令與其它余度產(chǎn)生足夠大的差異;
6)飛控計(jì)算機(jī)輸入信號(hào)/通信可持續(xù)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型停止本飛控計(jì)算機(jī)余度的數(shù)據(jù)輸入,讓本飛控計(jì)算機(jī)余度認(rèn)為沒有數(shù)據(jù)被接收進(jìn)來,觸發(fā)余度飛控應(yīng)用的對(duì)應(yīng)處理程序;
7)飛控計(jì)算機(jī)輸入信號(hào)/通信瞬時(shí)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型連續(xù)多個(gè)(3個(gè)以上)幀周期停止本飛控計(jì)算機(jī)余度的數(shù)據(jù)輸入,讓本飛控計(jì)算機(jī)余度認(rèn)為沒有數(shù)據(jù)被接收進(jìn)來,觸發(fā)余度飛控應(yīng)用的對(duì)應(yīng)處理程序;
8)飛控計(jì)算機(jī)輸出信號(hào)/通信可持續(xù)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型停止本飛控計(jì)算機(jī)余度的數(shù)據(jù)輸出,讓其它飛控計(jì)算機(jī)余度發(fā)現(xiàn)本余度沒有數(shù)據(jù)輸出; 9)飛控計(jì)算機(jī)輸出信號(hào)/通信瞬時(shí)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型連續(xù)多個(gè)(3個(gè)以上)幀周期停止本飛控計(jì)算機(jī)余度的數(shù)據(jù)輸出,讓其它飛控計(jì)算機(jī)余度發(fā)現(xiàn)本余度沒有數(shù)據(jù)輸出;
10)飛控計(jì)算機(jī)處理單元可持續(xù)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型停止本飛控計(jì)算機(jī)余度的所有軟件(操作系統(tǒng)和應(yīng)用軟件)運(yùn)行,但由于操作系統(tǒng)的一些底層操作無法被完全停止,因此主要是停止應(yīng)用軟件和操作系統(tǒng)對(duì)定時(shí)器中斷的響應(yīng),模擬處理單元故障導(dǎo)致的軟件完全停止運(yùn)行的情況;
11)飛控計(jì)算機(jī)處理單元瞬時(shí)故障導(dǎo)致的飛控計(jì)算機(jī)失效:故障模型連續(xù)多個(gè)(3個(gè)以上)幀周期停止本飛控計(jì)算機(jī)余度的所有軟件(操作系統(tǒng)和應(yīng)用軟件)運(yùn)行,但由于操作系統(tǒng)的一些底層操作無法被完全停止,因此主要是停止應(yīng)用軟件和操作系統(tǒng)對(duì)定時(shí)器中斷的響應(yīng),模擬處理單元故障導(dǎo)致的軟件在一段時(shí)間內(nèi)停止運(yùn)行的情況;
12)系統(tǒng)初始化軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:這種故障模型無法在飛控軟件運(yùn)行過程中進(jìn)行模擬,因?yàn)閷?duì)應(yīng)的初始化過程已經(jīng)運(yùn)行結(jié)束了,只能通過單獨(dú)給預(yù)期發(fā)生故障的余度固化一個(gè)特殊修改后的軟件映像,對(duì)應(yīng)的軟件映像中會(huì)在第一次上電運(yùn)行的系統(tǒng)初始化時(shí)觸發(fā)故障;
13)中斷/異常管理軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:故障模型在飛控軟件正常運(yùn)行的過程中,模擬中斷/異常管理軟件,不對(duì)正常中斷進(jìn)行處理,導(dǎo)致本余度飛控軟件運(yùn)行出現(xiàn)故障;
14)設(shè)備驅(qū)動(dòng)軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:故障模型在飛控軟件中模擬設(shè)備驅(qū)動(dòng)軟件發(fā)生故障而不能正常工作,使得飛控軟件無法進(jìn)行數(shù)據(jù)的輸入和輸出;
15)內(nèi)存管理軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:這種故障模型無法在飛控軟件運(yùn)行過程中進(jìn)行模擬,因?yàn)轱w控軟件在運(yùn)行的內(nèi)存分配都是靜態(tài)的,對(duì)應(yīng)的內(nèi)存分配是在系統(tǒng)初始化時(shí)進(jìn)行的,在飛控軟件正常運(yùn)行后對(duì)應(yīng)的初始化過程已經(jīng)運(yùn)行結(jié)束了,只能通過單獨(dú)給預(yù)期發(fā)生故障的余度固化一個(gè)特殊修改后的軟件映像,對(duì)應(yīng)的軟件映像中會(huì)在第一次上電運(yùn)行的系統(tǒng)初始化時(shí)模擬內(nèi)存管理軟件故障,使得操作系統(tǒng)在分配內(nèi)存時(shí)出現(xiàn)故障;
16)運(yùn)行調(diào)度軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:故障模型模擬飛控軟件中操作系統(tǒng)的運(yùn)行調(diào)度軟件發(fā)生故障,讓各飛控應(yīng)用軟件分區(qū)中的部分分區(qū)不能被調(diào)度運(yùn)行;
17)時(shí)鐘管理軟件故障導(dǎo)致的飛控計(jì)算機(jī)操作系統(tǒng)失效:故障模型模擬飛控軟件中操作系統(tǒng)的時(shí)鐘軟件發(fā)生故障,讓操作系統(tǒng)無法有效的獲得時(shí)鐘數(shù)據(jù);
18)輸入與監(jiān)控軟件故障導(dǎo)致的飛控計(jì)算機(jī)應(yīng)用軟件失效:故障模型模擬飛控軟件中應(yīng)用軟件的輸入與監(jiān)控軟件分區(qū)發(fā)生故障,不能有效的獲取該余度飛控計(jì)算機(jī)的輸入數(shù)據(jù);
19)控制律解算軟件故障導(dǎo)致的飛控計(jì)算機(jī)應(yīng)用軟件失效:故障模型模擬飛控軟件中應(yīng)用軟件的控制律解算軟件分區(qū)發(fā)生故障,不能計(jì)算出正確的輸出指令數(shù)據(jù);
20)輸出表決監(jiān)控軟件故障導(dǎo)致的飛控計(jì)算機(jī)應(yīng)用軟件失效:故障模型模擬飛控軟件中應(yīng)用軟件的輸出表決監(jiān)控軟件分區(qū)發(fā)生故障,使得該飛控計(jì)算機(jī)余度不能輸出指令數(shù)據(jù); 實(shí)驗(yàn)結(jié)果為: 對(duì)于飛控節(jié)點(diǎn)單余度故障驗(yàn)證,余度運(yùn)行與重啟過程監(jiān)控軟件界面被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)狀態(tài)變化如下:
1)被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)注入故障后,通道狀態(tài)先由正常運(yùn)行狀態(tài)切換為故障觸發(fā)狀態(tài),其它飛控節(jié)點(diǎn)的其它余度通道狀態(tài)按照相對(duì)絕對(duì)通道轉(zhuǎn)換關(guān)系反應(yīng)出被測(cè)飛控計(jì)算機(jī)余度故障;
2)被測(cè)節(jié)點(diǎn)本余度通道狀態(tài)切換為重啟狀態(tài);
3)被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)復(fù)位同步成功,并且恢復(fù)數(shù)據(jù),余度系統(tǒng)計(jì)數(shù)也恢復(fù)正常。 對(duì)于硬件永久故障不可恢復(fù)驗(yàn)證余度運(yùn)行與重啟過程監(jiān)控軟件界面被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)狀態(tài)變化如下:
1)被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)注入故障后,通道狀態(tài)先由正常運(yùn)行狀態(tài)切換為故障觸發(fā)狀態(tài),其它飛控節(jié)點(diǎn)的其它余度通道狀態(tài)按照相對(duì)絕對(duì)通道轉(zhuǎn)換關(guān)系反應(yīng)出被測(cè)飛控計(jì)算機(jī)余度故障;
2)被測(cè)節(jié)點(diǎn)本余度通道狀態(tài)切換為重啟狀態(tài); 3)被測(cè)飛控計(jì)算機(jī)節(jié)點(diǎn)無法自動(dòng)復(fù)位成功,手動(dòng)在“主機(jī)端余度故障注入軟件”點(diǎn)擊該通道重啟后,依舊無法復(fù)位成功,保持被切除狀態(tài)。 被測(cè)84個(gè)測(cè)試用例全部通過實(shí)驗(yàn)。
結(jié)論
1)飛控計(jì)算機(jī)余度通道的CPU運(yùn)行模式(命令監(jiān)控模式以及雙命令模式)對(duì)通道重啟流程的大框架影響不大,區(qū)別主要在支路間同步算法;
2)飛控計(jì)算機(jī)單故障余度通道重啟可以恢復(fù)第四章實(shí)驗(yàn)所羅列的20類故障,使重啟余度與正常余度同步并恢復(fù)正常運(yùn)行。而對(duì)于永久性的硬件故障,無法通過重啟余度恢復(fù);
3)余度重啟機(jī)制效果穩(wěn)定,能夠在四余度飛控計(jì)算機(jī)的環(huán)境中,在單故障余度的情況下,使重啟故障余度能夠與正常運(yùn)行的余度同步,從而提高飛控系統(tǒng)的可靠性,保證飛行控制系統(tǒng)的品質(zhì)。
審核編輯:黃飛
-
cpu
+關(guān)注
關(guān)注
68文章
11074瀏覽量
216936 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7657瀏覽量
90726 -
飛控系統(tǒng)
+關(guān)注
關(guān)注
20文章
55瀏覽量
26318
原文標(biāo)題:多余度飛控計(jì)算機(jī)子系統(tǒng)余度重啟機(jī)制研究
文章出處:【微信號(hào):雨飛工作室,微信公眾號(hào):雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
系統(tǒng)日志在計(jì)算機(jī)取證中的研究和應(yīng)用
計(jì)算機(jī)題庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
一種基于DSP+FPGA的飛控計(jì)算機(jī)設(shè)計(jì)方法介紹
基于FPGA+DSP的通用飛控計(jì)算機(jī)平臺(tái)該怎么設(shè)計(jì)?
什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件?
計(jì)算機(jī)硬件,第2篇 計(jì)算機(jī)硬件系統(tǒng).pdf 精選資料分享
計(jì)算機(jī)硬件系統(tǒng)的組成及其性能維護(hù)分析
什么是程序?什么是計(jì)算機(jī)
計(jì)算機(jī)及系統(tǒng)組成
計(jì)算機(jī)的可靠度相關(guān)資料下載
嵌入式計(jì)算機(jī)系統(tǒng)概述
C#教程之遠(yuǎn)程關(guān)閉重啟計(jì)算機(jī)
計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)
一種基于串行背板總線-ARINC659總線的雙余度計(jì)算機(jī)體系架構(gòu)設(shè)計(jì)

OpenHarmony Dev-Board-SIG專場(chǎng):OpenHarmony音頻子系統(tǒng)以及相機(jī)子系統(tǒng)架構(gòu)

評(píng)論