專利名稱:一種基于fpga的軟核容錯星載計算機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于FPGA的軟核容錯星載計算機,它是一種基于FPGA的32位軟核容錯星載計算機,適用于空間容錯計算技術(shù)領(lǐng)域。
背景技術(shù):
隨著航天技術(shù)的快速發(fā)展,微小型航天器已廣泛應(yīng)用到應(yīng)急通訊、對地遙感、新概念新技術(shù)演示驗證、空間科學(xué)探測等航天任務(wù)中。微小衛(wèi)星長期在軌工作對星上電子系統(tǒng) 的核心部件一星載計算機的數(shù)據(jù)處理能力、實時性和可靠性提出了較高的要求。LE0N3 軟核是由 Gaisler Research 公司開發(fā)的一款符合 ffiEE 1754(SPARCV8)架構(gòu)的應(yīng)用于空間環(huán)境下的高性能32位RISC處理器IP核。它的前身是歐洲宇航局開發(fā)的LEON以及ERC32。LE0N3的源代碼,由可綜合的VHDL開放源代碼組成,所有代碼均基于GNU GPL許可發(fā)行,具有優(yōu)良的可配置性和可移植性,既可以通過二次軟件開發(fā)的方式提高LE0N3處理器的容錯能力,也可以方便的在FPGA片上綜合,代替?zhèn)鹘y(tǒng)的微處理器成為高性能星載計算機的核心組成部分,設(shè)計并實現(xiàn)高可靠的星載容錯計算機系統(tǒng)。國內(nèi)外的研究表明,通過對FPGA的容錯設(shè)計,可以有效地減少空間單粒子翻轉(zhuǎn)(SEU)引起的星載計算機功能錯誤,從而提高整個星載計算機系統(tǒng)的可靠性。開展高性能容錯星載計算機研究對提高微小衛(wèi)星的數(shù)據(jù)處理能力和可靠性具有重要意義。
發(fā)明內(nèi)容
為解決空間輻射環(huán)境下單粒子翻轉(zhuǎn)對星載計算機系統(tǒng)的影響。本發(fā)明提供一種基于FPGA的軟核容錯星載計算機。它采用多種故障容錯的方法提高星載計算機系統(tǒng)的可靠性,滿足空間環(huán)境下星載計算機高性能、低成本、低功耗和高可靠性的要求。見圖1,本發(fā)明一種基于FPGA的軟核容錯星載計算機,由雙冗余的基于FPGA的軟核控制模塊和仲裁管理模塊組成。各模塊之間的相互關(guān)系是兩個軟核控制模塊A、B功能完全相同,硬件設(shè)計獨立。軟核控制模塊定期將心跳信號發(fā)送給仲裁管理模塊,仲裁管理模塊按照安全的故障診斷策略判斷軟核控制模塊的工作狀態(tài),發(fā)出控制信號,對兩個軟核控制模塊進(jìn)行故障處理或切換操作。其中,該軟核控制模塊是以32位LE0N3容錯軟核為控制核心,外擴接口電路構(gòu)成;該仲裁管理模塊由硬件看門狗及邏輯控制電路構(gòu)成。為降低整機功耗,雙冗余軟核控制模塊采用雙機冷備份的工作方式設(shè)計,即只有當(dāng)班軟核控制模塊上電工作,非當(dāng)班軟核控制模塊作為備份不上電。若當(dāng)班軟核控制模塊出現(xiàn)故障,仲裁管理模塊根據(jù)檢測到的故障類型和故障嚴(yán)重程度進(jìn)行故障處理或切換備份機,自主實現(xiàn)安全的故障容錯策略。此外,仲裁管理模塊還可以接受地面上傳的直接指令,實現(xiàn)整個星載計算機系統(tǒng)的強制性雙機切換。該軟核控制模塊包括LE0N3軟核處理器、AMBA總線單元、存儲器接口單元、串口調(diào)試單元、中斷控制單元、定時器單元、串口通訊單元和通用輸入輸出接口單元。其之間的關(guān)系是AMBA總線單元連接LE0N3軟核處理器與外設(shè),包括AHB控制器、AHB高速總線、APB低速總線、AHB/APB轉(zhuǎn)換接口。AHB高速總線連接串口調(diào)試單元和存儲器接口單元,APB低速總線連接中斷控制單元、定時器單元、串口通訊單元、通用輸入輸出接口單元。對LE0N3軟核處理器的流水線棧觸發(fā)單元進(jìn)行三模冗余(TMR)設(shè)計,對寄存器單元進(jìn)行漢明碼糾一檢二容錯設(shè)計,對緩存單元進(jìn)行循環(huán)冗余校驗(CRC)。以上設(shè)計在提高軟核處理器性能的同時,提高星載計算機抗單粒子效應(yīng)的能力。每個軟核控制模塊外擴有CAN接口電路,通過CAN總線控制器(SJA1000)和CAN收發(fā)器(TJA1050)與外部星載設(shè)備進(jìn)行是數(shù)據(jù)通訊。該仲裁管理模塊由硬件看門狗及控制邏輯電路構(gòu)成,軟核控制模塊A、B通過數(shù)字輸出接口分別輸出各自單機的狀態(tài)實現(xiàn)對仲裁管理模塊看門狗的喂狗操作,控制邏輯電路根據(jù)軟核控制模塊A、B對應(yīng)的片外看門狗溢出狀況判斷并選定當(dāng)班的軟核控制模塊,通過控制磁保持繼電器給軟核控制模塊上電(或斷電),實現(xiàn)雙機切換。該硬件看門狗是MAX706S ;該控制邏輯電路核心芯片是SN54121。為防止星載計算機電源短路導(dǎo)致整星電源故障,在星載計算機3個模塊的電源入 口處都采用MAX890芯片進(jìn)行限流保護(hù)。一旦電流超過閾值,MAX890芯片將自動關(guān)閉電源。該保護(hù)措施較好地實現(xiàn)星載計算機的電源故障檢測和故障隔離。本發(fā)明一種基于FPGA的軟核容錯星載計算機,其優(yōu)點及功效在于以Xi Iinx低成本商用高性能FPGA(Spartan 3E-1600)為核心嵌入式處理/控制器,設(shè)計實現(xiàn)了基于LE0N3的軟核容錯星載計算機。本發(fā)明充分利用了已有的LE0N3IP軟核資源,并針對空間環(huán)境下的單粒子效應(yīng)問題進(jìn)行了 LE0N3軟核的故障容錯設(shè)計,使軟核控制單元的外圍器件少、功耗低、硬件結(jié)構(gòu)簡單;采用雙機冗余和故障檢測診斷技術(shù),提高了星載計算機系統(tǒng)的整機可靠性和工作壽命。
圖I :基于FPGA的軟核容錯星載計算機結(jié)構(gòu)框2 :軟核容錯星載計算機雙機狀態(tài)切換3 :軟核控制模塊結(jié)構(gòu)框4 LE0N3軟核處理器容錯設(shè)計框5 LE0N3處理器寄存器文件糾檢錯設(shè)計框6 LE0N3處理器Cache緩存單元CRC校驗設(shè)計框7 :電源過流保護(hù)電路8 :仲裁管理模塊A機片外看門狗硬件電路9 :仲裁管理模塊B機片外看門狗硬件電路10 :仲裁管理模塊邏輯控制輸出電路圖
具體實施例方式參閱圖1,2 :軟核容錯星載計算機由雙冗余的基于FPGA的軟核控制模塊和仲裁管理模塊組成。各模塊之間的相互關(guān)系是兩個軟核控制模塊A、B功能完全相同,硬件設(shè)計獨立。軟核控制模塊定期將心跳信號發(fā)送給仲裁管理模塊,仲裁管理模塊按照安全的故障診斷策略判斷軟核控制模塊的工作狀態(tài),發(fā)出控制信號,對兩個軟核控制模塊進(jìn)行故障處理或切換操作。雙冗余軟核控制模塊采用雙機冷備份的工作方式設(shè)計,即只有當(dāng)班軟核控制模塊上電工作,非當(dāng)班軟核控制模塊作為備份不上電。若當(dāng)班軟核控制模塊出現(xiàn)故障,仲裁管理模塊根據(jù)檢測到的故障類型和故障嚴(yán)重程度進(jìn)行故障處理或切換備份機,自主實現(xiàn)安全的故障容錯策略。此外,仲裁管理模塊還可以接受地面上傳的直接指令,實現(xiàn)整個星載計算機系統(tǒng)的強制性雙機切換。參閱圖3 :基于FPGA的軟核控制模塊包括LE0N3軟核容錯處理單元、AMBA總線單元、存儲器接口控制單元、串口調(diào)試單元、中斷控制單元、定時器單元、串口通訊單元和通用輸入輸出接口單元。本發(fā)明在已有的LE0N3IP軟核架構(gòu)的基礎(chǔ)上對易于發(fā)生單粒子翻轉(zhuǎn)的三端口寄存器單元、數(shù)據(jù)緩存單元、存儲器接口控制單元進(jìn)行容錯設(shè)計,增強LE0N3軟核處理器抗空間環(huán)境下單粒子效應(yīng)的能力;AMBA總線是一種層次化的總線結(jié)構(gòu),包括AHB控制器、AHB (AMBA高性能總線),APB(AMBA外設(shè)總線)、AHB/APB轉(zhuǎn)換橋;LE0N3通過高速的AMBA (AHB)總線連接存儲器控制接口及調(diào)試接口等,低速的AMBA (APB)總線實現(xiàn)片上外設(shè)的接口,如定時器、串口、通用輸入輸出接口、中斷控制器等,其中高速的AMBA (AHB)總線與低速的AMBA(APB)總線連接之間加有AHB/APB轉(zhuǎn)換橋;存儲器控制接口實現(xiàn)AHB總線單元與存儲器數(shù)據(jù)的傳輸接口,提供處理器運算所需的數(shù)據(jù)與指令;用戶通過串口調(diào)試單元(RS232接口 ),實現(xiàn)對LE0N3處理器的調(diào)試。串口通訊模塊、通用輸入輸出接口單元是基于FPGA的軟核控制模塊與外界進(jìn)行數(shù)據(jù)輸入輸出的通道。參閱圖4,5 LE0N3軟核處理器中的寄存器采用三端口設(shè)計,兩個數(shù)據(jù)輸入端口,一個數(shù)據(jù)輸出端口 ;在LE0N3軟核處理器的7級流水線中,主要是執(zhí)行段、訪問存儲器段和寫回寄存器數(shù)據(jù)段對寄存器單元的訪問;寄存器單元的數(shù)據(jù)通過(39,32)漢明編碼輸出,其中信息位32位,校驗位7位,校驗位包括6位漢明校驗位和I位奇偶檢驗位;執(zhí)行段單元接收到經(jīng)過漢明編碼的數(shù)據(jù)后進(jìn)行漢明譯碼,如果數(shù)據(jù)正?;虬l(fā)生一位翻轉(zhuǎn)則漢明譯碼自動糾正送至ALU單元進(jìn)行運算,結(jié)果送至存儲段單元,如果發(fā)生兩位錯誤則自動流水線重啟,重新執(zhí)行該段指令。參閱圖6 LE0N3軟核處理器中Cache緩存采用了哈佛結(jié)構(gòu),本發(fā)明設(shè)計了獨立的指令Cache和數(shù)據(jù)Cache ;LE0N3軟核處理器訪問主存的32位地址memory address被劃分成幾個域,即區(qū)號、塊號、塊內(nèi)地址以及字內(nèi)字節(jié)地址。訪問數(shù)據(jù)存儲器和訪問標(biāo)記存儲器同時進(jìn)行,主存塊號用來訪問標(biāo)記存儲器,主存塊號和塊內(nèi)地址用來訪問數(shù)據(jù)存儲器;本發(fā)明中分別對數(shù)據(jù)存儲器和標(biāo)記存儲器中的數(shù)據(jù)進(jìn)行CRC編碼,將對標(biāo)記寄存器內(nèi)數(shù)據(jù)的CRC校驗碼與處理器訪問主存的32位地址中的區(qū)號和塊內(nèi)地址CRC校驗,對數(shù)據(jù)存儲器內(nèi)的數(shù)據(jù)和CRC校驗碼進(jìn)行CRC校驗,對處理器訪問主存的32位地址中的區(qū)號和塊內(nèi)地址與標(biāo)記存儲器中的數(shù)據(jù)進(jìn)行有效判斷,針對三個校驗的結(jié)果判斷數(shù)據(jù)是否在緩存中,如果命中,則數(shù)據(jù)輸出,如果沒有命中,則需要從主存儲器中提取數(shù)據(jù)和指令。參閱圖7,為防止星載計算機電源短路導(dǎo)致整星電源失效,在軟核控制模塊和仲裁管理模塊的電源入口處都采用MAX471芯片進(jìn)行電流測量監(jiān)視和MAX890芯片進(jìn)行限流保護(hù),實現(xiàn)故障隔離。一旦電流超過閾值,MAX890將自動與整星電源斷開。限流保護(hù)措施較好地實現(xiàn)了電源故障檢測和隔離的功能。
參閱圖8、9、10 :仲裁管理模塊由硬件看門狗及邏輯控制電路構(gòu)成。圖8為軟核控制模塊A的片外看門狗電路圖,圖9為軟核控制模塊B的片外看門狗電路圖,圖10為仲裁管理模塊邏輯控制輸出電路圖。其中Max706看門狗芯片溢出時間為I. 6S,長于軟核控制模塊單機的起動時間,如果軟核控制模塊單機能夠自復(fù)位起動成功,則不會導(dǎo)致該看門狗溢出,WDO端輸出高電平,三極管處于截止?fàn)顟B(tài),磁保持繼電器不動作。如果軟核控制模塊單機失效,看門狗超時溢出,輸出為低電平。Sn541 21檢測到WDO出現(xiàn)一個下降沿之后,在Q輸出端會輸出一個正脈沖。CAOB信號或者CBOA信號會產(chǎn)生一個正脈沖將三極管導(dǎo)通,從而將另一軟核控制模塊單機的電源強制打開。由于采用邊沿觸發(fā),該電路具有可靠的故障識別和抗干擾性能。
權(quán)利要求
1. 一種基于FPGA的軟核容錯星載計算機,其特征在于它由雙冗余的基于FPGA的軟核控制模塊和仲裁管理模塊組成;兩個軟核控制模塊A、B功能完全相同,硬件設(shè)計獨立;軟核控制模塊定期將心跳信號發(fā)送給仲裁管理模塊,仲裁管理模塊按照安全的故障診斷策略判斷軟核控制模塊的工作狀態(tài),發(fā)出控制信號,對兩個軟核控制模塊A、B進(jìn)行故障處理或切換操作;其中,該軟核控制模塊是以32位LE0N3容錯軟核為控制核心,外擴接ロ電路構(gòu)成;該仲裁管理模塊由硬件看門狗及邏輯控制電路構(gòu)成;為降低整機功耗,雙冗余軟核控制模塊采用雙機冷備份的工作方式設(shè)計,即只有當(dāng)班軟核控制模塊上電工作,非當(dāng)班軟核控制模塊作為備份不上電,若當(dāng)班軟核控制模塊出現(xiàn)故障,仲裁管理模塊根據(jù)檢測到的故障類型和故障嚴(yán)重程度進(jìn)行故障處理或切換備份機,自主實現(xiàn)安全的故障容錯策略;此外,仲裁管理模塊還接受地面上傳的直接指令,實現(xiàn)整個星載計算機系統(tǒng)的強制性雙機切換;該軟核控制模塊包括LE0N3軟核處理器、AMBA總線單元、存儲器接ロ單元、串ロ調(diào)試單元、中斷控制單元、定時器單元、串ロ通訊單元和通用輸入輸出接ロ單元;AMBA總線單元連接LE0N3軟核處理器與外設(shè),包括AHB控制器、AHB高速總線、APB低速總線和AHB/APB轉(zhuǎn)換接ロ ;AHB高速總線連接串ロ調(diào)試單元和存儲器接ロ單元,APB低速總線連接中斷控制單元、定時器單元、串ロ通訊單元和通用輸入輸出接ロ單元;對LE0N3軟核處理器的流水線棧觸發(fā)單元進(jìn)行三模冗余即TMR設(shè)計,對寄存器單元進(jìn)行漢明碼糾ー檢ニ容錯設(shè)計,對緩存單元進(jìn)行循環(huán)冗余校驗即CRC設(shè)計;以上設(shè)計在提高軟核處理器性能的同時,提高星載計算機抗單粒子效應(yīng)的能力,每個軟核控制模塊外擴有CAN接ロ電路,通過CAN總線控制器SJA1000和CAN收發(fā)器TJA1050與外部星載設(shè)備進(jìn)行是數(shù)據(jù)通訊; 該仲裁管理模塊由硬件看門狗及控制邏輯電路構(gòu)成,軟核控制模塊A、B通過數(shù)字輸出接ロ分別輸出各自單機的狀態(tài)實現(xiàn)對仲裁管理模塊看門狗的喂狗操作,控制邏輯電路根據(jù)軟核控制模塊A、B對應(yīng)的片外看門狗溢出狀況判斷并選定當(dāng)班的軟核控制模塊,通過控制磁保持繼電器給軟核控制模塊上電或斷電,實現(xiàn)雙機切換,該硬件看門狗是MAX706S,該控制邏輯電路核心芯片是SN54121 ; 為防止星載計算機電源短路導(dǎo)致整星電源故障,在星載計算機3個模塊的電源入口處都采用MAX890芯片進(jìn)行限流保護(hù),一旦電流超過閾值,MAX890芯片將自動關(guān)閉電源,該保護(hù)措施較好地實現(xiàn)星載計算機的電源故障檢測和故障隔離。
全文摘要
一種基于FPGA的軟核容錯星載計算機,它由雙冗余的基于FPGA的軟核控制模塊和仲裁管理模塊組成;該軟核控制模塊是以32位LEON3容錯軟核為控制核心,外擴接口電路構(gòu)成;該仲裁管理單元由硬件看門狗及邏輯控制電路構(gòu)成;兩個軟核控制模塊通過外部CAN總線接口與外部設(shè)備進(jìn)行數(shù)據(jù)通訊。雙冗余軟核控制模塊采用冷備份的工作方式,由當(dāng)班的軟核控制模塊上電工作,通過CAN總線接口收發(fā)數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理。在當(dāng)班機發(fā)生故障時,由仲裁管理模塊根據(jù)檢測到的故障類型和故障嚴(yán)重程度進(jìn)行故障處理或切換備份機,實現(xiàn)安全的故障容錯策略。本發(fā)明用于空間環(huán)境下的微小型航天器的星上數(shù)據(jù)處理及控制,具有高性能、低成本、故障分級屏蔽、容錯策略簡單,系統(tǒng)可靠性高的特點。
文檔編號G06F11/16GK102650962SQ20121010376
公開日2012年8月29日 申請日期2012年4月10日 優(yōu)先權(quán)日2012年4月10日
發(fā)明者黨帥, 周開興, 孔令波, 李博, 王新升, 王曉慧 申請人:北京航空航天大學(xué)