專利名稱:星載計(jì)算機(jī)空間環(huán)境事件容錯(cuò)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種星載計(jì)算機(jī)容錯(cuò)方法。
技術(shù)背景
航天器在整個(gè)發(fā)射過程和運(yùn)行過程中,由于空間環(huán)境、航天器特性等各種各樣的原因會(huì)出現(xiàn)各種空間環(huán)境事件,不加以處理會(huì)引起衛(wèi)星系統(tǒng)功能的失效甚至崩潰,因此應(yīng)當(dāng)采取措施應(yīng)對(duì)這些異常狀況,使衛(wèi)星能夠繼續(xù)正確、穩(wěn)定的運(yùn)行,從而保障整個(gè)衛(wèi)星系統(tǒng)的穩(wěn)定的運(yùn)行和服務(wù)。
空間環(huán)境事件主要包括存儲(chǔ)器單粒子翻轉(zhuǎn);空間輻照引起的芯片內(nèi)部寄存器變化;空間輻照引起的部分電路失效等。存儲(chǔ)器單粒子翻轉(zhuǎn)會(huì)導(dǎo)致星上軟件或FPGA運(yùn)行結(jié)果錯(cuò)誤,甚至軟件的跑飛跑死。空間輻照引起的芯片內(nèi)部寄存器變化,會(huì)導(dǎo)致航天器某些芯片的功能異常,進(jìn)而影響功能的實(shí)現(xiàn)。空間輻照引起的部分電路失效,主要是指單粒子閂鎖后引起的部分電路失效。
目前,星載計(jì)算機(jī)空間環(huán)境異常事件的容錯(cuò)方法尚未得到系統(tǒng)的研究。 發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供了一種星載計(jì)算機(jī)空間環(huán)境事件的容錯(cuò)方法,以此建立一種適用于星載計(jì)算機(jī)設(shè)計(jì)的空間環(huán)境事件容錯(cuò)策略,提高星載計(jì)算機(jī)發(fā)射和在軌運(yùn)行的可靠性。
本發(fā)明的技術(shù)解決方案是星載計(jì)算機(jī)空間環(huán)境事件容錯(cuò)方法,步驟如下
(1)星載計(jì)算機(jī)初始上電運(yùn)行后,首先檢測(cè)星載計(jì)算機(jī)軟件是否可以正常啟動(dòng); 若星載計(jì)算機(jī)軟件可以啟動(dòng),則由星載計(jì)算機(jī)軟件以固定周期喂軟件看門狗,星載計(jì)算機(jī)軟件正常運(yùn)行;若星載計(jì)算機(jī)軟件無法啟動(dòng)或者星載計(jì)算機(jī)軟件以固定周期喂軟件看門狗失敗,則復(fù)位電路向星載計(jì)算機(jī)提供復(fù)位信號(hào),星載計(jì)算機(jī)重新開始運(yùn)行;若星載計(jì)算機(jī)連續(xù)三次無法正常啟動(dòng),則切換至備份星載計(jì)算機(jī);
(2)星載計(jì)算機(jī)軟件正常運(yùn)行后,向所有RAM發(fā)送讀寫信號(hào);若有RAM區(qū)讀寫不正常,則星載計(jì)算機(jī)通過軟件配置,使用備份RAM替換讀寫不正常的RAM ;
(3)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),周期性的向各總線終端發(fā)送輪詢總線消息,當(dāng)所有總線終端都不通時(shí),星載計(jì)算機(jī)軟件向星載計(jì)算機(jī)發(fā)送切機(jī)信號(hào),星載計(jì)算機(jī)切換至備份機(jī);
(4)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),對(duì)所有實(shí)際使用的中斷源允許,同時(shí)屏蔽其它中斷源;當(dāng)星載計(jì)算機(jī)響應(yīng)中斷時(shí),首先對(duì)中斷源進(jìn)行確認(rèn),當(dāng)中斷不是來自實(shí)際使用的中斷之一時(shí),重新對(duì)中斷屏蔽寄存器進(jìn)行初始化;
(5)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),對(duì)總線驅(qū)動(dòng)芯片中處于工作狀態(tài)的寄存器數(shù)值是否發(fā)生變化進(jìn)行定期檢查,若有寄存器的數(shù)值發(fā)生變化,則星載計(jì)算機(jī)重新初始化該寄存器及相關(guān)寄存器;同時(shí),對(duì)于僅在部分時(shí)間有效的寄存器狀態(tài),在每次到達(dá)有效時(shí)間時(shí)對(duì)這些寄存器重新賦值;(6)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),利用漢明碼對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)計(jì)算校驗(yàn)和,并將校驗(yàn)和進(jìn)行存儲(chǔ);星載計(jì)算機(jī)周期對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)進(jìn)行檢查,當(dāng)發(fā)現(xiàn)校驗(yàn)單 bit錯(cuò)誤時(shí),進(jìn)行糾錯(cuò);當(dāng)發(fā)現(xiàn)兩bit或以上錯(cuò)誤時(shí),對(duì)星載計(jì)算機(jī)進(jìn)行復(fù)位,重新啟動(dòng)。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)本發(fā)明星載計(jì)算機(jī)空間環(huán)境事件的容錯(cuò)方法主要針對(duì)空間環(huán)境引起的特殊事件,分不同的方法來進(jìn)行容錯(cuò),可以有效提高星載計(jì)算機(jī)在軌運(yùn)行的可靠性;(2)采用星載計(jì)算機(jī)軟件實(shí)現(xiàn)本發(fā)明星載計(jì)算機(jī)空間環(huán)境事件的容錯(cuò),可以提高衛(wèi)星的自主管理能力;(3)本發(fā)明星載計(jì)算機(jī)空間環(huán)境事件的容錯(cuò)方法在硬件支持下,可主要采用軟件完成星載計(jì)算機(jī)的檢錯(cuò)、容錯(cuò),原理簡(jiǎn)單、實(shí)現(xiàn)容易,可維護(hù)性強(qiáng),適用于絕大多數(shù)衛(wèi)星,可推廣性強(qiáng)。
圖1為本發(fā)明方法的流程框圖;圖2為本發(fā)明方法的具體容錯(cuò)內(nèi)容組成圖;圖3為本發(fā)明實(shí)施例中星載計(jì)算機(jī)硬件配置圖。
具體實(shí)施例方式本發(fā)明星載計(jì)算機(jī)空間環(huán)境異常事件的容錯(cuò)是利用星載計(jì)算機(jī)的軟硬件資源,根據(jù)空間環(huán)境事件的不同類型,進(jìn)行不同的處理;同時(shí)又能滿足星載計(jì)算機(jī)的重量、功耗受限的要求。如圖1所示,本發(fā)明方法針對(duì)空間環(huán)境引起的單粒子翻轉(zhuǎn)、單粒子閂鎖等事件進(jìn)行不同類型的容錯(cuò),適用于大多數(shù)航天器的應(yīng)用,可以提高衛(wèi)星設(shè)備的在軌自主能力和可靠性。主要包括存儲(chǔ)器單粒子翻轉(zhuǎn)的處理、空間輻照引起的芯片內(nèi)部寄存器變化容錯(cuò)、空間輻照引起的部分電路失效容錯(cuò)三個(gè)方面,如圖2所示。(1)存儲(chǔ)器單粒子翻轉(zhuǎn)的處理對(duì)于存儲(chǔ)器的單粒子翻轉(zhuǎn),星載計(jì)算機(jī)通過對(duì)存儲(chǔ)區(qū)加EDAC校驗(yàn),通過定期讀寫來對(duì)存儲(chǔ)區(qū)進(jìn)行校驗(yàn)。由于EDAC校驗(yàn)碼的特點(diǎn)是“檢一糾二”,即當(dāng)發(fā)生單bit錯(cuò)時(shí)可以糾錯(cuò),當(dāng)發(fā)生雙bit或多bit錯(cuò)時(shí)無法糾錯(cuò),僅能報(bào)錯(cuò)。因此星載計(jì)算機(jī)硬件設(shè)計(jì)有存儲(chǔ)器的EDAC校驗(yàn)電路,每當(dāng)EDAC校驗(yàn)未通過時(shí),軟件會(huì)產(chǎn)生一個(gè)中斷,軟件在中斷中通過讀取 EDAC校驗(yàn)狀態(tài),判斷是單bit錯(cuò)還是多bit錯(cuò),如果是單bit錯(cuò)則通過讀取數(shù)據(jù)的重寫來糾正存儲(chǔ)器中的單bit錯(cuò),如果是雙bit錯(cuò)則通過軟件自主復(fù)位來消除雙bit錯(cuò)的影響。(2)空間輻照引起的芯片內(nèi)部寄存器變化芯片內(nèi)部寄存器是芯片在設(shè)計(jì)之初,為方便使用而留給用戶的接口,寄存器的不同數(shù)值會(huì)引起芯片工作模式、主要功能的變化。空間輻照引起的芯片內(nèi)部寄存器變化,會(huì)引起星載計(jì)算機(jī)正常功能執(zhí)行不正確。星載計(jì)算機(jī)針對(duì)芯片內(nèi)部寄存器的變化主要采用以下幾種手段對(duì)未用中斷進(jìn)行保護(hù),防止中斷相關(guān)寄存器變化引起的不確定中斷;對(duì)工作模式寄存器,采用定期循檢,若不為期望值則重新初始化;對(duì)與總線發(fā)送消息相關(guān)的寄存器,每次發(fā)送消息前重新對(duì)存儲(chǔ)器進(jìn)行賦值。(3)空間輻照引起的部分電路失效空間輻照引起的部分電路失效,主要是指單粒子閂鎖后引起的部分電路失效。星載計(jì)算機(jī)針對(duì)部分電路采用了故障隔離與系統(tǒng)重構(gòu)機(jī)制,消除部分電路單粒子閂鎖的影響。主要有故障RAM存儲(chǔ)器芯片的替換、總線接口芯片故障檢測(cè)與切換、CPU芯片故障檢測(cè)與切換。星載計(jì)算機(jī)采用備份冗余策略,當(dāng)某塊RAM芯片無法正常讀寫時(shí),切換為備份RAM ; 當(dāng)總線接口芯片或CPU芯片異常后,自主切換為備份機(jī)。本發(fā)明方法的主要步驟如下(1)星載計(jì)算機(jī)初始上電運(yùn)行;(2)檢測(cè)星載計(jì)算機(jī)軟件是否可以正常啟動(dòng),若啟動(dòng),則由軟件固定周期喂狗,軟件正常運(yùn)行;否則,軟件無法喂狗,復(fù)位電路向星載計(jì)算機(jī)提供復(fù)位信號(hào),星載計(jì)算機(jī)重新開始運(yùn)行;若連續(xù)3次無法正常啟動(dòng),則切向備份星載計(jì)算機(jī)。(3)星載計(jì)算機(jī)軟件運(yùn)行后,向所有RAM發(fā)送讀寫信號(hào),若有RAM區(qū)讀寫不正常,則說明RAM由于不明原因被破壞。此時(shí)星載計(jì)算機(jī)軟件則通過配置,使用備份RAM。(4)星載計(jì)算機(jī)運(yùn)行后,周期性向各總線終端發(fā)送輪詢總線消息,當(dāng)所有總線終端都不通時(shí),證明總線驅(qū)動(dòng)芯片由于某種原因損壞。此時(shí)星載計(jì)算機(jī)軟件向星載計(jì)算機(jī)發(fā)送切機(jī)信號(hào),星載計(jì)算機(jī)切備份機(jī),使用另一片總線驅(qū)動(dòng)芯片。(5)星載計(jì)算機(jī)運(yùn)行時(shí),對(duì)所有實(shí)際使用的中斷源允許,屏蔽其它中斷源。當(dāng)星載計(jì)算機(jī)響應(yīng)中斷時(shí),首先對(duì)中斷源進(jìn)行確認(rèn),當(dāng)中斷不是來自實(shí)際使用的中斷之一時(shí),說明中斷屏蔽寄存器發(fā)生單粒子翻轉(zhuǎn),重新對(duì)中斷屏蔽寄存器進(jìn)行初始化。(6)星載計(jì)算機(jī)運(yùn)行時(shí),對(duì)總線驅(qū)動(dòng)芯片中處于工作狀態(tài)的寄存器數(shù)值是否發(fā)生變化進(jìn)行定期檢查,當(dāng)發(fā)生變化時(shí),說明該寄存器受到單粒子的影響。此時(shí),星載計(jì)算機(jī)重新初始化該寄存器及相關(guān)寄存器。(7)星載計(jì)算機(jī)運(yùn)行時(shí),有一些寄存器的狀態(tài)僅在部分時(shí)間有效,在每次需要使用這些寄存器時(shí)對(duì)它們重新賦值,消除在此之前這些寄存器可能受到的單粒子影響。(8)星載計(jì)算機(jī)運(yùn)行時(shí),利用漢明碼對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)計(jì)算校驗(yàn)和,并將校驗(yàn)和存儲(chǔ)起來。星載計(jì)算機(jī)周期對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)進(jìn)行檢查,當(dāng)發(fā)現(xiàn)校驗(yàn)單bit錯(cuò)誤時(shí) (即單粒子翻轉(zhuǎn)),進(jìn)行糾錯(cuò);當(dāng)發(fā)現(xiàn)多bit錯(cuò)時(shí),對(duì)計(jì)算機(jī)進(jìn)行復(fù)位,重新加載程序。(9)重復(fù)運(yùn)行步驟(4) (8),對(duì)空間環(huán)境事件進(jìn)行容錯(cuò)處理。實(shí)施例下面以某衛(wèi)星為例,介紹星載計(jì)算機(jī)的空間環(huán)境事件容錯(cuò)策略如圖3所示,某衛(wèi)星的星載計(jì)算機(jī)采用TSC695f作為cpu,自帶EDAC電路,同時(shí)具有冗余RAM的替換電路;星載計(jì)算機(jī)使用61580作為總線的接口芯片;星載計(jì)算機(jī)具有 128K的PROM和8M的RAM,RAM芯片由4片容量為2M的9Q51I32組成,系統(tǒng)同時(shí)備份有1 片2M的RAM ;同時(shí)具有遙測(cè)接口和遙控接口。應(yīng)用軟件在操作系統(tǒng)之上完成各項(xiàng)應(yīng)用層的功能。星載計(jì)算機(jī)具有雙機(jī)冷備份,每個(gè)單機(jī)的組成完全相同。 在星載計(jì)算機(jī)啟動(dòng)過程中,操作系統(tǒng)首先對(duì)4片RAM進(jìn)行自檢,若某片RAM讀寫不正常,則采用備份RAM進(jìn)行替代,若替換后仍不正常,則復(fù)位。 TSC695f自帶EDAC電路,當(dāng)存儲(chǔ)區(qū)的EDAC校驗(yàn)不過時(shí),會(huì)產(chǎn)生相應(yīng)的中斷,并紀(jì)錄此時(shí)為單bit錯(cuò)還是雙bit錯(cuò),并記錄此時(shí)讀取到的數(shù)值。應(yīng)用軟件初始化過程中,將此中斷掛接;當(dāng)產(chǎn)生此中斷后,軟件首先判斷是否為單bit錯(cuò),若為單bit錯(cuò)則將EDAC糾錯(cuò)后的數(shù)值回寫到RAM區(qū)內(nèi),消除單bit影響;若為雙bit錯(cuò),則立即復(fù)位。
星載計(jì)算機(jī)應(yīng)用軟件每0. 5秒對(duì)61580芯片的工作模式及695f芯片的工作模式進(jìn)行一次檢查,若不為設(shè)定的值則重新賦值;應(yīng)用軟件在每次發(fā)送總線消息時(shí),對(duì)61580芯片的有關(guān)消息發(fā)送的寄存器進(jìn)行重新賦值;操作系統(tǒng)軟件對(duì)未用中斷進(jìn)行保護(hù),當(dāng)未用中斷異常發(fā)生時(shí),清除中斷狀態(tài)寄存器的相應(yīng)位,并退出中斷響應(yīng)程序。
星載計(jì)算機(jī)具有自主切機(jī)功能,當(dāng)應(yīng)用軟件檢測(cè)到所有總線終端不通時(shí),認(rèn)為 61580芯片出現(xiàn)故障,立即切機(jī);當(dāng)CPU芯片出現(xiàn)異常,通過看門狗進(jìn)行復(fù)位,若復(fù)位3次仍不能恢復(fù),則立即切機(jī),從而隔離空間環(huán)境事件引起故障的部位。
本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬本領(lǐng)域技術(shù)人員的公知技術(shù)。
權(quán)利要求
1.星載計(jì)算機(jī)空間環(huán)境事件容錯(cuò)方法,其特征在于步驟如下(1)星載計(jì)算機(jī)初始上電運(yùn)行后,首先檢測(cè)星載計(jì)算機(jī)軟件是否可以正常啟動(dòng);若星載計(jì)算機(jī)軟件可以啟動(dòng),則由星載計(jì)算機(jī)軟件以固定周期喂軟件看門狗,星載計(jì)算機(jī)軟件正常運(yùn)行;若星載計(jì)算機(jī)軟件無法啟動(dòng)或者星載計(jì)算機(jī)軟件以固定周期喂軟件看門狗失敗,則復(fù)位電路向星載計(jì)算機(jī)提供復(fù)位信號(hào),星載計(jì)算機(jī)重新開始運(yùn)行;若星載計(jì)算機(jī)連續(xù)三次無法正常啟動(dòng),則切換至備份星載計(jì)算機(jī);(2)星載計(jì)算機(jī)軟件正常運(yùn)行后,向所有RAM發(fā)送讀寫信號(hào);若有RAM區(qū)讀寫不正常, 則星載計(jì)算機(jī)通過軟件配置,使用備份MM替換讀寫不正常的RAM ;(3)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),周期性的向各總線終端發(fā)送輪詢總線消息,當(dāng)所有總線終端都不通時(shí),星載計(jì)算機(jī)軟件向星載計(jì)算機(jī)發(fā)送切機(jī)信號(hào),星載計(jì)算機(jī)切換至備份機(jī);(4)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),對(duì)所有實(shí)際使用的中斷源允許,同時(shí)屏蔽其它中斷源;當(dāng)星載計(jì)算機(jī)響應(yīng)中斷時(shí),首先對(duì)中斷源進(jìn)行確認(rèn),當(dāng)中斷不是來自實(shí)際使用的中斷之一時(shí),重新對(duì)中斷屏蔽寄存器進(jìn)行初始化;(5)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),對(duì)總線驅(qū)動(dòng)芯片中處于工作狀態(tài)的寄存器數(shù)值是否發(fā)生變化進(jìn)行定期檢查,若有寄存器的數(shù)值發(fā)生變化,則星載計(jì)算機(jī)重新初始化該寄存器及相關(guān)寄存器;同時(shí),對(duì)于僅在部分時(shí)間有效的寄存器狀態(tài),在每次到達(dá)有效時(shí)間時(shí)對(duì)這些寄存器重新賦值;(6)星載計(jì)算機(jī)軟件正常運(yùn)行時(shí),利用漢明碼對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)計(jì)算校驗(yàn)和,并將校驗(yàn)和進(jìn)行存儲(chǔ);星載計(jì)算機(jī)周期對(duì)每個(gè)內(nèi)存地址的數(shù)據(jù)進(jìn)行檢查,當(dāng)發(fā)現(xiàn)校驗(yàn)單bit錯(cuò)誤時(shí),進(jìn)行糾錯(cuò);當(dāng)發(fā)現(xiàn)兩bit或以上錯(cuò)誤時(shí),對(duì)星載計(jì)算機(jī)進(jìn)行復(fù)位,重新啟動(dòng)。
全文摘要
星載計(jì)算機(jī)空間環(huán)境事件容錯(cuò)方法,主要包括存儲(chǔ)器單粒子翻轉(zhuǎn)的處理、空間輻照引起的芯片內(nèi)部寄存器變化容錯(cuò)、空間輻照引起的部分電路失效容錯(cuò)。對(duì)于存儲(chǔ)器的單粒子翻轉(zhuǎn),星載計(jì)算機(jī)通過對(duì)存儲(chǔ)區(qū)加EDAC校驗(yàn),定期對(duì)存儲(chǔ)區(qū)讀寫進(jìn)行容錯(cuò)。對(duì)于空間輻照引起的芯片內(nèi)部寄存器變化,星載計(jì)算機(jī)對(duì)未用中斷進(jìn)行保護(hù);對(duì)工作模式寄存器,采用定期循檢,若不為期望值則重新初始化;對(duì)與總線發(fā)送消息相關(guān)的寄存器,每次發(fā)送消息前重新對(duì)存儲(chǔ)器進(jìn)行賦值。對(duì)于空間輻照引起的部分電路失效,采用故障RAM存儲(chǔ)器芯片的替換、總線接口芯片故障檢測(cè)與切換、CPU芯片故障檢測(cè)與切換進(jìn)行容錯(cuò)。本發(fā)明方法可以有效提高星載計(jì)算機(jī)發(fā)射和在軌運(yùn)行的可靠性。
文檔編號(hào)G06F11/08GK102521066SQ201110361989
公開日2012年6月27日 申請(qǐng)日期2011年11月15日 優(yōu)先權(quán)日2011年11月15日
發(fā)明者唐自新, 李偉, 李林, 汪路元, 翟君武, 陶利民 申請(qǐng)人:北京空間飛行器總體設(shè)計(jì)部