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