朱明俊 周宇杰
(南京理工大學(xué)機(jī)械工程學(xué)院,南京 210094)
一種低成本納衛(wèi)星星載計(jì)算機(jī)容錯(cuò)方法
朱明俊 周宇杰
(南京理工大學(xué)機(jī)械工程學(xué)院,南京 210094)
為了提高納衛(wèi)星星載計(jì)算機(jī)系統(tǒng)的可靠性,減少體積、質(zhì)量及功耗等多方面因素的影響,文章提出了一種軟硬件結(jié)合的低成本容錯(cuò)設(shè)計(jì)方法。將星載計(jì)算機(jī)硬件采用雙機(jī)冗余冷備份方案,通過現(xiàn)場(chǎng)可編程門陣列(FPGA)對(duì)故障處理器進(jìn)行仲裁切換;軟件容錯(cuò)通過錯(cuò)誤檢測(cè)與糾正(EDAC)信息容錯(cuò)技術(shù)的實(shí)現(xiàn),對(duì)星載計(jì)算機(jī)整體程序進(jìn)行糾錯(cuò)檢錯(cuò),以對(duì)抗單粒子翻轉(zhuǎn)事件。結(jié)果表明:該方法能夠?qū)π禽d計(jì)算機(jī)系統(tǒng)進(jìn)行有效的故障切換處理,并降低單粒子事件的不良影響,可以在納衛(wèi)星系統(tǒng)中推廣應(yīng)用。
納衛(wèi)星;雙機(jī)冗余;仲裁器;錯(cuò)誤檢測(cè)與糾正
近年來,納衛(wèi)星設(shè)計(jì)逐漸標(biāo)準(zhǔn)化,生產(chǎn)周期短、研制成本低成為微小衛(wèi)星領(lǐng)域的研究熱點(diǎn)[1-2]。隨著空間任務(wù)對(duì)微納衛(wèi)星高性能需求的日益增強(qiáng),現(xiàn)有的宇航級(jí)/883B級(jí)抗輻照電子元器件價(jià)格昂貴,批量小,制造周期長(zhǎng),集成性能升級(jí)慢,難以應(yīng)付越來越復(fù)雜的空間任務(wù)需求。與此同時(shí),高性能商用現(xiàn)貨器件(COTS),包括工業(yè)級(jí)和商業(yè)級(jí),在空間任務(wù)的應(yīng)用日益增多。COTS器件既可滿足空間系統(tǒng)性能不斷提高的需求,也使得微納衛(wèi)星具有價(jià)格低、體積小、質(zhì)量輕、功耗低的優(yōu)勢(shì)。同時(shí),在軌試驗(yàn)證明,COTS器件輔以必要的防護(hù)和容錯(cuò)技術(shù)是完全可以經(jīng)受住低軌道高能粒子輻照影響的[3]。
星載計(jì)算機(jī)作為衛(wèi)星的核心部件之一,其高可靠性是保證衛(wèi)星任務(wù)順利完成的前提。由于采用了COTS器件,星載計(jì)算機(jī)的抗輻照能力低,產(chǎn)品不具有可追溯性,容易受太空輻射和單粒子效應(yīng)影響而引發(fā)錯(cuò)誤,產(chǎn)生不可估量的后果。為了對(duì)抗太空輻射對(duì)衛(wèi)星電子器件的不良影響,并延長(zhǎng)衛(wèi)星的工作壽命,通常須要對(duì)衛(wèi)星系統(tǒng)進(jìn)行容錯(cuò)設(shè)計(jì)[4]。
本文針對(duì)納衛(wèi)星提出了一種軟硬件結(jié)合的容錯(cuò)設(shè)計(jì)方法,硬件通過采用高性能COTS器件,高度集成在10cm×10cm的單塊電路板中,實(shí)現(xiàn)雙機(jī)冷備份容錯(cuò),并通過錯(cuò)誤檢測(cè)與糾正(EDAC)軟件技術(shù)對(duì)星載計(jì)算機(jī)代碼進(jìn)行糾錯(cuò)檢錯(cuò),以對(duì)抗器件發(fā)生單粒子翻轉(zhuǎn),提高星載計(jì)算機(jī)的可靠性。
目前,對(duì)抗單粒子翻轉(zhuǎn)有許多解決措施,如系統(tǒng)級(jí)冗余方法、抗輻射組件方法、軟件容錯(cuò)方法等[5]。納衛(wèi)星作為一個(gè)微型化的平臺(tái),質(zhì)量、功耗、空間資源等都受到制約。對(duì)星載計(jì)算機(jī)采取系統(tǒng)級(jí)冗余和抗輻照組件可以提高可靠性,但是會(huì)帶來系統(tǒng)規(guī)模增加的問題,對(duì)納衛(wèi)星而言,并不是可行的方案。而隨著集成電路技術(shù)的提高,COTS器件的功能不斷增強(qiáng),體積不斷縮小,使得在同等大小的電路板中可以集成更多的器件。如果將系統(tǒng)級(jí)冗余進(jìn)行改進(jìn),直接對(duì)星載計(jì)算機(jī)系統(tǒng)核心器件(如CPU,SRAM等)進(jìn)行冗余,就能夠?qū)崿F(xiàn)在10cm×10cm的電路板中完成多個(gè)電路的冗余設(shè)計(jì)。
本文對(duì)納衛(wèi)星星載計(jì)算機(jī)系統(tǒng)的硬件采用雙機(jī)冗余冷備份容錯(cuò)設(shè)計(jì),硬件結(jié)構(gòu)如圖1所示。通過帶有仲裁功能的FPGA在CPU出現(xiàn)故障時(shí)切換至備份CPU,可避免衛(wèi)星任務(wù)中斷。星載計(jì)算機(jī)系統(tǒng)的軟件部分通過EDAC信息容錯(cuò)對(duì)抗太空輻射造成的單粒子事件,能夠提高星載計(jì)算機(jī)系統(tǒng)軟件的可靠性。
圖1 星載計(jì)算機(jī)系統(tǒng)硬件結(jié)構(gòu)框圖Fig.1 Hardware structure block diagram of on-board computer system
雙機(jī)冗余容錯(cuò)系統(tǒng)功能結(jié)構(gòu)如圖2所示,虛線框部分為在FPGA內(nèi)部實(shí)現(xiàn)的仲裁器電路。CPU_A和CPU_B是星載計(jì)算機(jī)系統(tǒng)軟件運(yùn)行的處理器芯片,采用冷備份的冗余方式。
仲裁器作為雙機(jī)冷備份結(jié)構(gòu)的核心,為了保證該電路的可靠性,可以選擇反熔絲型FPGA或者對(duì)該部分電路采取三模冗余設(shè)計(jì)[4],本文重點(diǎn)在于介紹仲裁器電路的設(shè)計(jì)。
圖2 雙機(jī)冗余容錯(cuò)系統(tǒng)結(jié)構(gòu)框圖Fig.2 Dual redundant system structure diagram
3.1 仲裁器電路
仲裁器電路負(fù)責(zé)監(jiān)測(cè)CPU的運(yùn)行狀態(tài),在CPU狀態(tài)異常時(shí),切換至備份CPU。仲裁器電路內(nèi)部結(jié)構(gòu)分為4部分:?jiǎn)?dòng)故障檢測(cè)模塊、運(yùn)行故障檢測(cè)模塊、仲裁邏輯模塊和切換電路模塊[6],所有模塊通過硬件描述語言實(shí)現(xiàn)。
3.1.1 啟動(dòng)故障檢測(cè)模塊
CPU在啟動(dòng)過程中須要完成模塊上電、內(nèi)存初始化等工作,在啟動(dòng)時(shí)可能會(huì)出現(xiàn)電源故障或內(nèi)存受到單粒子效應(yīng)影響無法完成初始化的情況,從而導(dǎo)致CPU啟動(dòng)失敗。啟動(dòng)故障檢測(cè)模塊對(duì)CPU啟動(dòng)狀態(tài)進(jìn)行監(jiān)測(cè),在故障發(fā)生時(shí)即時(shí)通知仲裁邏輯,對(duì)CPU進(jìn)行切換處理。
CPU的啟動(dòng)流程如圖3所示,CPU的啟動(dòng)故障檢測(cè)主要分為兩個(gè)部分:電源檢測(cè)和初始化檢測(cè)。啟動(dòng)故障檢測(cè)模塊首先等待來自切換電路模塊的CPU_ON信號(hào),通知CPU的電源模塊上電處理。在電源模塊正常啟動(dòng)后會(huì)發(fā)出POWER_GOOD信號(hào),通知啟動(dòng)模塊等待CPU初始化完成信號(hào),否則啟動(dòng)模塊直接發(fā)出START_ERR信號(hào),并終止后續(xù)檢測(cè)。若在規(guī)定時(shí)間內(nèi)CPU發(fā)出INIT_DOWN信號(hào),則認(rèn)為CPU初始化成功,啟動(dòng)模塊會(huì)發(fā)出START_OK信號(hào),否則發(fā)出START_ERR信號(hào)。只有在CPU順利初始化成功后,才發(fā)出IO_EN信號(hào),允許CPU的信號(hào)對(duì)外輸出。
3.1.2 運(yùn)行故障檢測(cè)模塊
運(yùn)行故障檢測(cè)模塊用來檢測(cè)CPU的運(yùn)行狀態(tài),采用“看門狗”機(jī)制實(shí)現(xiàn)。“看門狗”本質(zhì)上是一個(gè)計(jì)數(shù)器,“喂狗”操作會(huì)使計(jì)數(shù)器清零,否則計(jì)數(shù)器計(jì)數(shù)到預(yù)定值會(huì)產(chǎn)生溢出標(biāo)志,利用該標(biāo)志可以響應(yīng)預(yù)先設(shè)定的事件。
在星載計(jì)算機(jī)程序運(yùn)行正常情況下,會(huì)周期性地發(fā)出“喂狗”信號(hào)WDG_FEED。如果程序發(fā)生異常,比如因單粒子事件導(dǎo)致程序跑飛,該周期信號(hào)便無法產(chǎn)生。當(dāng)“看門狗”溢出標(biāo)志發(fā)生時(shí),該檢測(cè)模塊向仲裁邏輯模塊發(fā)出WDG_IRQ信號(hào),通知CPU運(yùn)行故障情況。為了防止信號(hào)擾動(dòng)產(chǎn)生誤判斷,可以設(shè)置“看門狗”溢出標(biāo)志多次發(fā)生時(shí)再發(fā)出WDG_IRQ信號(hào)。
3.1.3 仲裁邏輯模塊
仲裁邏輯模塊是仲裁器的核心,完成雙機(jī)冗余的故障切換策略,具體流程如圖4所示。
仲裁邏輯接收啟動(dòng)故障檢測(cè)模塊和運(yùn)行故障檢測(cè)模塊的狀態(tài)輸出。在啟動(dòng)過程中若出現(xiàn)故障則跳過運(yùn)行故障檢測(cè),仲裁邏輯直接切換CPU。若在CPU運(yùn)行過程中出現(xiàn)故障,仲裁邏輯同樣進(jìn)行CPU切換。在等待各檢測(cè)模塊的狀態(tài)輸出時(shí),仲裁邏輯只對(duì)當(dāng)前CPU的狀態(tài)進(jìn)行響應(yīng),以防止備份CPU產(chǎn)生誤操作信號(hào)。
仲裁邏輯模塊將切換CPU的標(biāo)志發(fā)送至切換電路模塊,由切換電路完成CPU的硬件切換工作。
3.1.4 切換電路模塊
切換電路模塊接收仲裁邏輯模塊的CPU切換標(biāo)志,負(fù)責(zé)給相應(yīng)CPU的電源管理模塊發(fā)送使能信號(hào),并等待當(dāng)前CPU啟動(dòng)完成時(shí)發(fā)出的START_OK信號(hào)。
CPU完成初始化需要一定時(shí)間,在初始化過程還有可能出現(xiàn)故障,產(chǎn)生錯(cuò)誤的IO信號(hào),因此在CPU正常啟動(dòng)之前須要關(guān)斷當(dāng)前CPU的IO信號(hào)輸出,防止對(duì)衛(wèi)星的其它系統(tǒng)產(chǎn)生誤操作。在接收到START_OK信號(hào)后,即表明CPU啟動(dòng)正常,切換電路模塊打開IO的輸出使能,至此,CPU可與外界進(jìn)行通信。
3.2 仲裁電路仿真
在Quartus II軟件中實(shí)現(xiàn)仲裁器的邏輯功能,并得到圖5所示的功能仿真。圖5首先仿真了CPU_A的啟動(dòng)過程,根據(jù)啟動(dòng)流程可以看出CPU_A成功啟動(dòng),由A_START進(jìn)入了A_RUN狀態(tài),由于在運(yùn)行過程中未能周期性地出現(xiàn)“喂狗”信號(hào),因此仲裁器判斷CPU_A出現(xiàn)了故障,從而切換至CPU_B啟動(dòng)過程,CPU_B啟動(dòng)與CPU_A相似。在CPU啟動(dòng)過程中未在相應(yīng)時(shí)間內(nèi)給出啟動(dòng)流程中各階段所需信號(hào),即判定啟動(dòng)失敗,如圖5后半部分仿真所示,仲裁器直接作出了切換處理。同時(shí)可以看出,當(dāng)前CPU不會(huì)被另一CPU的信號(hào)干擾,仲裁器及時(shí)檢測(cè)到了所有過程中的故障,并按照設(shè)定的切換策略進(jìn)行故障處理,完成切換工作,滿足雙機(jī)冷備份的設(shè)計(jì)要求。
圖5 仲裁器功能仿真圖Fig.5 Function simulation diagram of the arbitrator
單粒子事件對(duì)衛(wèi)星存儲(chǔ)器引起的故障是不可忽視的,嚴(yán)重時(shí)可導(dǎo)致衛(wèi)星運(yùn)行異常。星載計(jì)算機(jī)程序在隨機(jī)存儲(chǔ)器(RAM)中運(yùn)行,該區(qū)域受到單粒子事件的影響較大,因此,對(duì)該區(qū)域必須采取一定的防護(hù)措施。
對(duì)抗單粒子事件中的單粒子翻轉(zhuǎn)通常采用EDAC信息容錯(cuò)技術(shù),可以通過增加外部硬件實(shí)現(xiàn),也可以增加具有糾錯(cuò)檢錯(cuò)功能的軟件來實(shí)現(xiàn)。硬件EDAC方法會(huì)占用納衛(wèi)星有限的空間資源,增加衛(wèi)星功耗,而軟件EDAC技術(shù)只須要增加相應(yīng)的程序。在美國的“先進(jìn)研究和全球觀測(cè)衛(wèi)星”(ARGOS)項(xiàng)目的空間試驗(yàn)中,就使用了軟件EDAC容錯(cuò)技術(shù)進(jìn)行代碼的檢錯(cuò)糾錯(cuò)[7],可靠性雖然比硬件方案低,但是占用系統(tǒng)資源少,不增加硬件,實(shí)現(xiàn)靈活。本文采用軟件實(shí)現(xiàn)EDAC的方法進(jìn)行軟件容錯(cuò)設(shè)計(jì)。
4.1 軟件EDAC技術(shù)實(shí)現(xiàn)
在星載計(jì)算機(jī)CPU上電之后,程序代碼將從非易失存儲(chǔ)器加載至程序存儲(chǔ)區(qū)運(yùn)行。程序運(yùn)行時(shí),數(shù)據(jù)段中存放的變量會(huì)不斷變化,但是代碼段是固定不變的,因此可以將代碼段作為原始數(shù)據(jù),進(jìn)行EDAC編碼,生成校驗(yàn)位,并另外開辟一段內(nèi)存進(jìn)行存儲(chǔ)[8],程序代碼段和校驗(yàn)段存放結(jié)構(gòu)如圖6所示。
本文采用(12,8)海明碼[9],1字節(jié)的碼字需要4個(gè)校驗(yàn)位。由于該碼字較短,只存在256種情況,可以將校驗(yàn)碼存放在常量表中,采取映射的方法產(chǎn)生校驗(yàn)碼,該表作為常量存放在代碼段中。
為了實(shí)現(xiàn)軟件EDAC功能,本文將該糾錯(cuò)檢錯(cuò)功能作為操作系統(tǒng)的一個(gè)進(jìn)程。在CPU上電之后首次運(yùn)行該進(jìn)程時(shí),先初始化校驗(yàn)位內(nèi)存區(qū),并對(duì)程序代碼段進(jìn)行EDAC編碼存儲(chǔ),之后周期調(diào)用該進(jìn)程。為了提高校驗(yàn)效率,在該進(jìn)程周期調(diào)用時(shí),將代碼信息位再次生成校驗(yàn)位,與預(yù)存的校驗(yàn)位進(jìn)行比較,若相同則認(rèn)為該代碼信息位和校驗(yàn)位未受到單粒子翻轉(zhuǎn)的影響,若不同,則進(jìn)行解碼糾錯(cuò),并回寫正確的信息位和校驗(yàn)位。對(duì)于軟件EDAC進(jìn)程的優(yōu)先級(jí)設(shè)置較高可以增強(qiáng)糾錯(cuò)效果,運(yùn)行周期設(shè)置應(yīng)當(dāng)以不影響星載計(jì)算機(jī)系統(tǒng)功能為前提,在軟件調(diào)試過程中不斷提高該進(jìn)程的運(yùn)行周期直至符合系統(tǒng)運(yùn)行要求。
單粒子效應(yīng)如果出現(xiàn)在檢驗(yàn)碼常量表或EDAC相關(guān)程序段時(shí),可能會(huì)造成EDAC功能發(fā)生錯(cuò)誤,甚至可能誤判斷正確數(shù)據(jù),造成嚴(yán)重后果。為了解決上述問題,文獻(xiàn)[7]采用兩個(gè)EDAC進(jìn)程互相校驗(yàn)的方式保證進(jìn)程的正確性,相比于上述做法,由于本設(shè)計(jì)所有的代碼段都進(jìn)行了EDAC的糾錯(cuò)檢錯(cuò),包括EDAC自身代碼段以及檢驗(yàn)碼常量表,可認(rèn)為該方法的檢錯(cuò)糾錯(cuò)功能和結(jié)果都具有較高可信度,能夠提高星載計(jì)算機(jī)的軟件可靠性。因此,本設(shè)計(jì)的方法更加簡(jiǎn)單有效。
圖6 軟件EDAC存儲(chǔ)區(qū)結(jié)構(gòu)圖Fig.6 Memory area structure diagram of software implemented EDAC
4.2 軟件EDAC故障注入測(cè)試
為了檢驗(yàn)軟件EDAC的可靠性,本文采用故障注入的方法,對(duì)軟件EDAC的糾錯(cuò)性能進(jìn)行測(cè)試。軟件EDAC測(cè)試環(huán)境由目標(biāo)機(jī)和主機(jī)構(gòu)成,目標(biāo)機(jī)為星載計(jì)算機(jī)原理樣機(jī),主機(jī)隨機(jī)生成單粒子故障,并向目標(biāo)機(jī)內(nèi)存注入。
本文的EDAC方法僅針對(duì)程序代碼段,為了模擬單粒子效應(yīng)在內(nèi)存中發(fā)生的隨機(jī)性,驗(yàn)證增加軟件EDAC功能后系統(tǒng)的抗單粒子效應(yīng)能力,本次測(cè)試將針對(duì)整個(gè)內(nèi)存區(qū)進(jìn)行故障注入。在本文設(shè)計(jì)的目標(biāo)機(jī)中,占用的內(nèi)存有程序段、數(shù)據(jù)段和校驗(yàn)段,其余內(nèi)存區(qū)因未使用故作不對(duì)星載計(jì)算機(jī)程序造成影響情況處理,測(cè)試過程如圖7所示。
圖7 軟件EDAC測(cè)試Fig.7 Software implemented EDAC test
表1為增加軟件EDAC功能前后的故障注入測(cè)試結(jié)果,故障注入150次,注入時(shí)間間隔為30s,其中的部分軟件失效表示注入故障后程序中出現(xiàn)了錯(cuò)誤,但是仍然能夠繼續(xù)運(yùn)行未發(fā)生崩潰的情況。從相應(yīng)結(jié)果可以看出,相比于未使用EDAC,星載計(jì)算機(jī)軟件異常情況次數(shù)明顯減少,而且能夠糾正單粒子翻轉(zhuǎn)錯(cuò)誤位對(duì)軟件帶來的潛在威脅。由于軟件EDAC比硬件EDAC實(shí)時(shí)性低,仍存在故障未能及時(shí)糾正而導(dǎo)致程序崩潰情況,但是總體上看還是具有較高的抗單粒子翻轉(zhuǎn)能力。
表1 故障注入測(cè)試結(jié)果統(tǒng)計(jì)表Table 1 Fault injection test result statistics
本文提出的星載計(jì)算機(jī)的軟硬件容錯(cuò)方法,具有高度集成化的特點(diǎn),可以解決采用COTS器件后納衛(wèi)星星載計(jì)算機(jī)的低可靠性問題。仲裁電路的仿真結(jié)果表明:CPU出現(xiàn)故障后仲裁電路能夠進(jìn)行切換處理,軟件EDAC故障試驗(yàn)驗(yàn)證了該方法對(duì)單粒子事件具有一定的容錯(cuò)能力,能夠提高星載計(jì)算機(jī)系統(tǒng)的可靠性,但是存在實(shí)時(shí)性的問題,對(duì)糾錯(cuò)實(shí)時(shí)性要求嚴(yán)格的設(shè)計(jì)可以選擇硬件EDAC方案。由于全部采用COTS器件,本文的設(shè)計(jì)方法成本低、可靠性高,在納衛(wèi)星領(lǐng)域?qū)⒕哂休^好的應(yīng)用前景。
(
)
[1]李軍予,伍保峰,張曉敏.立方體納衛(wèi)星的發(fā)展及其啟示[J].航天器工程,2012,21(3):80-87 Li Junyu,Wu Baofeng,Zhang Xiaomin.Development of CubeSat and its enlightenment[J].Spacecraft Engineering,2012,21(3):80-87(in Chinese)
[2]林來興.立方體星的技術(shù)發(fā)展和應(yīng)用前景[J].航天器工程,2013,22(3):90-98 Lin Laixing.Technology development and application prospects of CubeSat[J].Spacecraft Engineering,2013,22(3):90-98(in Chinese)
[3]付劍.星載計(jì)算機(jī)的硬件容錯(cuò)設(shè)計(jì)與可靠性分析[D].長(zhǎng)沙:國防科學(xué)技術(shù)大學(xué),2009 Fu Jian.Hardware fault tolerance design and reliability analysis of on-board computer[D].Changsha:National University of Defense Technology,2009(in Chinese)
[4]郭林.基于FPGA的星載機(jī)容錯(cuò)技術(shù)研究與設(shè)計(jì)[D].北京:清華大學(xué),2009 Guo Lin.Studyand design on fault-tolerant system of satellite on-board computer based on FPGA[J].Beijing:Tsinghua University,2009(in Chinese)
[5]陳國林,孫義,章立生.基于uC/OS-Ⅱ的軟件容錯(cuò)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2007,24(7):1-2 Chen Guolin,Sun Yi,Zhang Lisheng.Design of fault-tolerant based on uC/OS-Ⅱ[J].Computer Applicantions and Software,2007,24(7):1-2(in Chinese)
[6]郭林,張濤,宋靖雁,等.基于FPGA的雙機(jī)容錯(cuò)仲裁器研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2010,26(14):113-115 Guo Lin,Zhang Tao,Song Jingyan,et al.Study and design of dual-computer fault-tolerant arbiter based on FPGA[J].Control &Automation,2010,26(14):113-115(in Chinese)
[7]Shirvani P P,Saxena N R,McCluskey E J.Software-implemented EDAC protection against SEUs[J].IEEE Transactions on Reliability,2000,49(3):273-284
[8]劉小匯,伍微,歐鋼.軟件錯(cuò)誤檢測(cè)與糾正技術(shù)可靠性研究[J].信號(hào)處理,2011,27(8):1140-1146 Liu Xiaohui,Wu Wei,Ou Gang.Study of the reliability for software-implemented EDAC technology[J].Signal Processing,2011,27(8):1140-1146(in Chinese)
[9]于海雯.海明碼的原理及其構(gòu)造方法[J].計(jì)算機(jī)與現(xiàn)代化,2001(2):148-150 Yu Haiwen.The R.Hamming Redundancy Code's theory and the method of construction[J].Computer and Modernization,2001(2):148-150(in Chinese)
(編輯:李多)
Method of Fault-tolerant On-board Computer for Low-cost Nano-satellite
ZHU Mingjun ZHOU Yujie
(School of Mechanical Engineering,Nanjing University of Science and Technology,Nanjing 210094,China)
The reliability design of the Nano-satellite has been restricted by volume,weight and power consumption.In order to improve the reliability of the computer system and reduce the influence of the above factors,a new low-cost method of combining software and hardware is presented in this paper.The system uses FPGA as an arbitrator to switch to the backup processor in case of failures.Fault-tolerant software is realized by software fault tolerance technology of the error detection and correction,to fight against single event upsets.Experimental analysis shows that the method can effectively handle failover for onboard computer system,reduce the adverse effects of single events,and can be widely applied to the system of Nano-satellite.
Nano-satellite;dual-computer redundancy;arbitrator;error detection and correction
V474
A
10.3969/j.issn.1673-8748.2016.02.009
2015-11-23;
2016-01-22
教育部科技發(fā)展中心博士點(diǎn)基金(20133219120030)
朱明俊,男,碩士研究生,從事立方星星載計(jì)算機(jī)容錯(cuò)系統(tǒng)研究。Email:zhumj1991@163.com。