專利名稱:冗余防護系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及冗余防護技術(shù)領(lǐng)域,尤其涉及一種基于FPGA的DSP和通信系統(tǒng)空間環(huán)境單粒子效應(yīng)的冗余防護系統(tǒng)及方法。
背景技術(shù):
在空間系統(tǒng)和地面站的處理和通信中,現(xiàn)場可編程門陣列(Field-ProgrammabIeGate Array,F(xiàn)PGA)的應(yīng)用越來越廣泛,成為空間系統(tǒng)中處理和通信的重要目標(biāo)。與CPU相比,F(xiàn)PGA能夠提供更快的處理和增加性能;與專用集成電路(Application SpecificIntegrated Circuit,ASIC)相比,FPGA可以重新編程,有更高的靈活性,并且能夠減少衛(wèi)星系統(tǒng)的重量和功耗要求。隨著衛(wèi)星上的科學(xué)實驗變得越來越復(fù)雜,收集的數(shù)據(jù)經(jīng)常超過衛(wèi)星到地面站下行鏈路的容量,為了減少轉(zhuǎn)移至地面的數(shù)據(jù)量,衛(wèi)星系統(tǒng)中增加了衛(wèi)星的在線處理模塊和系統(tǒng)。FPGA可提供數(shù)字信號處理以及通信應(yīng)用的更好的性能,通常被這些衛(wèi)星用于數(shù)字信號處理(DSP)和通信應(yīng)用。衛(wèi)星在宇宙空間運行會受到各種高能粒子和射線的輻射,可能造成衛(wèi)星內(nèi)電子系統(tǒng)的損傷甚至失效。據(jù)統(tǒng)計,衛(wèi)星的故障主要來源于空間輻射,在輻射造成的故障中,單粒子效應(yīng)(Single Event Effects, SEE)造成的故障占很大的比重。SEE是指高能粒子入射半導(dǎo)體器件或集成電路芯片有源區(qū),誘發(fā)器件、電路的電性能發(fā)生變化的現(xiàn)象。SEE包括單粒子翻轉(zhuǎn)(SEU)、單粒子閉鎖(,SEL)、以及單粒子瞬變(SET)等等。用于空間系統(tǒng)的基于FPGA的DSP和通信系統(tǒng)必須能夠以減緩SEU的冗余技術(shù)相同的花費應(yīng)對這些輻射影響。針對空間輻射環(huán)境產(chǎn)生的SEE,目前主要的防護技術(shù)主要包括空間冗余、瞬時冗余、信息冗余和三模冗余。空間冗余使用并行計算以屏蔽錯誤,電路復(fù)制需要很高的費用;瞬時冗余包括重復(fù)計算,能夠檢測和糾正瞬態(tài)(SET)和持久(SEU)故障,但降低了 FPGA系統(tǒng)的可靠性;信息冗余是以指定機器編碼的形式保護電路,此種技術(shù)為保護編碼和再編碼電路花費更高。SEU即使器件邏輯狀態(tài)翻轉(zhuǎn):原來存儲的"O"變?yōu)?I",或者"I"變?yōu)?O",從而導(dǎo)致系統(tǒng)功能紊亂,嚴(yán)重時會發(fā)生災(zāi)難性事故。SEU造成的邏輯錯誤不是永久性的,也被稱為軟錯誤。最容易發(fā)生SEU的是像RAM這種利用雙穩(wěn)態(tài)進行存儲的器件,其次是CPU,再其次是其它的接口電路。隨著芯片集成度的增加,發(fā)生SEU錯誤的可能性也在增大。在特定的應(yīng)用中,SEU已經(jīng)成為一個不能忽視的問題。由于太空中高能粒子的轟擊,SEU已經(jīng)成為星載計算機中最常見的錯誤。SEU會影響FPGA執(zhí)行的邏輯,三模冗余(TMR)對于防護FPGA中的SEU是非常有效的,是最常用的技術(shù),但是主要以額外的硬件、多余的數(shù)據(jù)或重復(fù)的處理等形式進行電路的冗余,需要原始電路三倍的面積以及功耗,且將使電路速度降低,在部位、功耗和/或電路定時方法花費昂貴。
發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題本發(fā)明要解決的技術(shù)問題是:提供一種花費較低、且能夠有效地對基于FPGA的DSP及通信系統(tǒng)進行冗余防護的冗余防護系統(tǒng)及方法。( 二)技術(shù)方案為解決上述問題,本發(fā)明提供了一種冗余防護系統(tǒng),該系統(tǒng)包括:判定模塊,用于根據(jù)待防護模塊的性質(zhì)判定由第一冗余防護模塊對其進行防護或由第二冗余防護模塊對其進行防護;第一冗余防護模塊,使用精準(zhǔn)冗余防護方法對所述待防護模塊進行防護;第二冗余防護模塊,使用精準(zhǔn)冗余防護方法外的冗余防護方法對所述待防護模塊進行防護。優(yōu)選地,所述第一冗余防護模塊包括:全精度單元,以所述待防護模塊的輸入為輸入;兩個降低精度的單元,以預(yù)設(shè)位寬的所述全精度單元的輸入為輸入;判決單元,與所述全精度單元以及所述兩個降低精度的單元均相連,若所述全精度單元正常運行,則輸出所述全精度單元的輸出,否則,輸出所述精準(zhǔn)冗余單元的輸出。優(yōu)選地,所述判決單元與所述三模冗余防護模塊的多數(shù)表決器相同。優(yōu)選地,所述判決單元為多個,且分別與所述全精度單元以及所述兩個降低精度的單元均相連;該系統(tǒng)還包括:表決器,與所述多個判決單元相連,對所述多個判決單元的輸出進行多數(shù)表決,輸出表決結(jié)果。優(yōu)選地,所述表決器設(shè)置在每個待防護模塊的輸出處;或所述表決器設(shè)置在包括所述待防護模塊的系統(tǒng)的最終輸出處。優(yōu)選地,所述待防護模塊為基于FPGA的DSP及通信系統(tǒng)。優(yōu)選地,所述第二冗余防護模塊使用三模冗余防護方法對所述待防護模塊進行防護。本發(fā)明還提供了一種冗余防護方法,該方法判定待防護模塊的性質(zhì),若所述待防護模塊用于算術(shù)運算,則使用精準(zhǔn)冗余防護方法對所述待防護模塊進行防護,否則,使用三模冗余防護方法對所述待防護模塊進行防護。優(yōu)選地,所述精準(zhǔn)冗余防護方法包括:S1.以所述待防護模塊的輸入作為全精度單元的輸入,以預(yù)設(shè)位寬的所述待防護模塊的輸入作為兩個降低精度的單元的輸入;S2.根據(jù)所述全精度單元以及兩個降低精度的單元的輸出,以及預(yù)設(shè)的誤差檢測閾值,判決單元判決所述全精度單元是否正常運行,若正常,則以所述全精度單元的輸出為輸出;否則,以所述境地精度的單元的輸出為輸出。優(yōu)選地,在步驟S2中,若兩個所述降低精度的單元的輸出不同,則判定所述全精度單元正常運行;若兩個所述降低精度的單元的輸出相同,則判決單元將所述全精度單元的輸出與所述降低精度的單元的輸出作比較,若兩者的差大于所述預(yù)設(shè)的誤差檢測閾值,則判定所述全精度單元存在運行故障,否則判定所述全精度單元正常運行。(三)有益效果本發(fā)明的系統(tǒng)及方法與TMR相似,但是犧牲了 TMR提供的一些保護,以降低花費;本發(fā)明的系統(tǒng)及方法使用較小的降低精度的單元以限制輸出錯誤,防護效率較高。
圖1為依照發(fā)明一種實施方式的冗余防護系統(tǒng)的結(jié)構(gòu)框圖2為依照發(fā)明一種實施方式的冗余防護系統(tǒng)中第一冗余防護模塊的結(jié)構(gòu)框圖;圖3為依照發(fā)明一種實施方式的冗余防護系統(tǒng)中第一冗余防護模塊的另一結(jié)構(gòu)框圖;圖4為在基于FPGA的系統(tǒng)中應(yīng)用依照發(fā)明一種實施方式的冗余防護系統(tǒng)及方法時的流程;圖5為在依照本發(fā)明一種實施方式的冗余防護系統(tǒng)中各單元的配置流程。
具體實施例方式本發(fā)明提出的冗余防護系統(tǒng)及方法,結(jié)合附圖及實施例詳細(xì)說明如下。FPGA使用大量的存儲陣列存儲其配置。這種配置存儲器界定了 FPGA中執(zhí)行的硬件。通過改變這些存儲器的內(nèi)容,F(xiàn)PGA能夠用作FIR濾波器、微處理器或任何其他的定制電路。在輻射化境中使用FPGA最重要的一點是配置存儲器甚至用戶存儲器中的SEU能夠改變執(zhí)行的硬件。通過對空間環(huán)境中的基于FPGA的DSP及通信系統(tǒng)進行的可靠性分析,能夠得出FPGA對于SEU最敏感的配置位置,以及SEU誘發(fā)的性能哪些是系統(tǒng)可以容忍,哪些是會對系統(tǒng)造成致命損害的。通過詳細(xì)地分析,在基于FPGA的系統(tǒng)中,不是所有的SEU都會造成致命錯誤,也不是所有的SEU都需要減緩。以誤碼率為品質(zhì)(度量)因素,大部分SEU具有與附加噪聲同樣的影響。最關(guān)鍵的SEU會影響FPGA的時鐘、全面復(fù)位(global reset)和計算機最重要的位(most significant bits,MSBs),因此需要針對這些部分進行SEU的防護。為了使FPGA避免SEU造成的錯誤,必須阻止翻轉(zhuǎn)或以其他方式接受該翻轉(zhuǎn)。在空間環(huán)境中,因為需要問題離子的高能量以及物理場的大小和重量,阻止其翻轉(zhuǎn)是不切實際的。因此,SEU的減緩方法通常用于最小化翻轉(zhuǎn)的負(fù)面影響。下面,以針對用于算術(shù)運算的模塊的防護為例來進一步說明本發(fā)明的系統(tǒng)及方法。如圖1所示,依照發(fā)明一種實施方式的冗余防護系統(tǒng)包括:判定模塊,用于根據(jù)待防護模塊的性質(zhì)判定由第一冗余防護模塊對其進行防護或由第二冗余防護模塊對其進行防護;第一冗余防護模塊,使用精準(zhǔn)冗余防護方法對待防護模塊進行防護;第二冗余防護模塊,使用精準(zhǔn)冗余防護方法外的冗余防護方法對待防護模塊進行防護,優(yōu)選地,本實施方式的系統(tǒng)及方法中使用TMR防護方法對待防護模塊進行防護。本發(fā)明提供了一種針對空間環(huán)境誘發(fā)SEE的精準(zhǔn)冗余防護法(reduced-precision redundancy, RPR), RPR 是一種用于算術(shù)運算(arithmeticoperation)最重要的位(Most Significant Bits, MSBs)的保護的冗余技術(shù),其測量存在SEU的系統(tǒng)的性能,以根據(jù)其影響的劇烈程度,對SEU分級并防護。其核心思想為:通過關(guān)注計算的MSBs上的冗余,以比TMR低的花費來實現(xiàn)。如圖2所示,第一冗余防護模塊進一步包括:全精度單元(Full_Precision,F(xiàn)P),其以待防護模塊的輸入為輸入,與待防護模塊完全同步;兩個降低精度的單元(Reduced-Precision, RP),以預(yù)設(shè)位寬Br的FP的輸入為輸入;判決單元(Decision block),與FP以及兩個RP (RPl、RP2)均相連,若FP正常運行,則輸出FP的輸出FPout,否則,輸出RP的輸出RPlout或RP2out。
判決單元與TMR中的多數(shù)表決器(majority voter module)相同。如圖3所示,為了防止判決單元中存在SEU引起的故障,判決單元可為同樣的多個,且分別與FP以及兩個RP均相連,這樣,多個判決單元為具有相同的輸入。此時,該系統(tǒng)還包括:表決器(Vector),與多個判決單元均相連,以多個判決單元的輸出為輸入,并對多個判決單元的輸出進行多數(shù)表決,輸出一個正確的表決結(jié)果。通過這樣的結(jié)構(gòu),如果輸入至這三個單獨的單元的信號中的一個出現(xiàn)翻轉(zhuǎn),RPR仍能夠正確運行。因此,除了保護計算的MSBs,本系統(tǒng)還能夠保護重要的全面信號。表決器的數(shù)量及位置對系統(tǒng)的可靠性和花費具有很大的影響,通常,表決器可以設(shè)置在每個待防護模塊的輸出處;或者表決器也可以設(shè)置在FPGA系統(tǒng)的最終輸出處。當(dāng)表決器置于每個待防護模塊的輸出時,可降低每個單元和判決單元的Br或Th。當(dāng)表決器僅置于系統(tǒng)的輸出時,Br或Th必須加大至滿足由多個RP所積累的大額量化誤差。該值可根據(jù)經(jīng)驗設(shè)置。需要說明的是,Br即為MSBs,為發(fā)生SEU時對電路影響最大的位,該值可根據(jù)系統(tǒng)要求以及可用資源設(shè)置,且其設(shè)置類似于通常的位寬設(shè)置問題。本實施方式的系統(tǒng)中FP優(yōu)選使用待防護模塊同樣的位寬,RP則具有較小位寬,且使用比待防護模塊更少的硬件。Br值得設(shè)置將影響整個系統(tǒng)的電路開銷以及其能提供的防護的數(shù)量。當(dāng)在一個FPGA系統(tǒng)中同時使用RPR以及TMR,并放置表決器時所要遵循如下基本原則:1、表決器應(yīng)插入到每個反饋回路,包括TMR的多數(shù)表決器或RPR表決器。2、表決器必須在從RPR改變至TMR或從減緩單元為未減緩單元之前插入。3、非算數(shù)模塊必須由TMR防護。4、由于RPR的表決器成本比較大,具有反饋的小模塊應(yīng)由TMR防護。5、RPR表決器更大,應(yīng)該少量的使用。6、為了最大的可靠性,RPR的表決器以及TMR的多數(shù)表決器應(yīng)復(fù)制為三個同樣的。本發(fā)明還提供了一種基于上述系統(tǒng)的冗余防護方法,該方法判定待防護模塊的性質(zhì),若待防護模塊用于算術(shù)運算,則使用精準(zhǔn)冗余防護方法對待防護模塊進行防護,否則,使用三模冗余防護方法對待防護模塊進行防護。精準(zhǔn)冗余防護方法包括步驟:S1.以待防護模塊的輸入作為FP的輸入,以待防護模塊的輸入的Br的位寬作為兩個RP的輸入;S2.根據(jù)FP以及兩個RP的輸出,以及預(yù)設(shè)的誤差檢測閾值Th (為比較RP與FP輸出之間的閾值,為控制由本系統(tǒng)檢測到的錯誤數(shù)量級的重要參數(shù)),判決單元判決FP是否正常運行,若正常,則以FPout為輸出;否則,以RPlout或RP2out的輸出為輸出。在特定的Br值下,Th具有最適的范圍。如果Th太大,即便在FP中存在嚴(yán)重錯誤時FPout也會被使用;Th太小將會引起即便FP中沒有錯誤,也會選擇RP的輸出,導(dǎo)致檢測翻轉(zhuǎn)錯誤的情況在步驟S2中,若RPlout與RP2out不同,則FP正常運行,以FPout為輸出;若RPlout與RP2out相同,則判決單元將FPout與RPlout或RP2out作比較,若兩者的差大于Th,則判定FP存在運行故障,以RPlout或RP2out的輸出為輸出;否則判定FP正常運行,以FPout為輸出。在基于FPGA的系統(tǒng)中應(yīng)用上述系統(tǒng)及方法時的流程如圖4所示,其包括步驟:Al.為待防護的模塊選擇RPR模塊或TMR模塊;A2.設(shè)置TMR多數(shù)表決器的位置;A3.設(shè)置RPR表決器的位置;A4.設(shè)置 Br 值;A5.確定 Th 值;A6.判斷步驟A5所設(shè)置的Th值是否對于輸出范圍靈活,若是,則繼續(xù)執(zhí)行步驟A7,否則,增設(shè)RPR的表決器的數(shù)量或增大Br值,并返回步驟A3 ;A7.判斷防護是否滿足需要(加入防護系統(tǒng)的FPGA系統(tǒng)的噪聲低于系統(tǒng)要求),若是,則結(jié)束;否則,減少RPR的表決器的數(shù)量或降低Br值,并返回步驟A3。另外,如圖5所示,在本發(fā)明的冗余防護系統(tǒng)中各單元的配置流程包括步驟:B1.選擇RPR的表決器的位置;B2.設(shè)置 Th 值;B3.計算 Br 值;B4.判定系統(tǒng)花費是否過高,若是,則降低Br值或減少表決器的個數(shù)并返回步驟BI,否則結(jié)束。其中,在步驟B4中,可通過增加表決器的個數(shù)來實現(xiàn)降低Br ;可通過降低Br來實現(xiàn)減少表決器的個數(shù)。通過故障注入試驗,顯示了本發(fā)明所提出的冗余防護系統(tǒng)及方法能夠改善簡單FPGA系統(tǒng)的失效率,且花費比TMR少二十倍。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制。盡管參照實施例對本發(fā)明進行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進行各種組合、修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種冗余防護系統(tǒng),其特征在于,該系統(tǒng)包括: 判定模塊,用于根據(jù)待防護模塊的性質(zhì)判定由第一冗余防護模塊對其進行防護或由第二冗余防護模塊對其進行防護; 第一冗余防護模塊,使用精準(zhǔn)冗余防護方法對所述待防護模塊進行防護; 第二冗余防護模塊,使用精準(zhǔn)冗余防護方法外的冗余防護方法對所述待防護模塊進行防護。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一冗余防護模塊包括: 全精度單元,以所述待防護模塊的輸入為輸入; 兩個降低精度的單元,以預(yù)設(shè)位寬的所述全精度單元的輸入為輸入; 判決單元,與所述全精度單元以及所述兩個降低精度的單元均相連,若所述全精度單元正常運行,則輸出所述全精度單元的輸出,否則,輸出所述精準(zhǔn)冗余單元的輸出。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述判決單元與所述三模冗余防護模塊的多數(shù)表決器相同。
4.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述判決單元為多個,且分別與所述全精度單元以及所述兩個降低精度的單元均相連; 該系統(tǒng)還包括: 表決器,與所述多個判決單元相連,對所述多個判決單元的輸出進行多數(shù)表決,輸出表決結(jié)果。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述表決器設(shè)置在每個待防護模塊的輸出處;或所述表決器設(shè)置在包括所述待防護模塊的系統(tǒng)的最終輸出處。
6.如權(quán)利要求1-5任一項所述的系統(tǒng),其特征在于,所述待防護模塊為基于FPGA的DSP及通信系統(tǒng)。
7.如權(quán)利要求6任一項所述的系統(tǒng),其特征在于,所述第二冗余防護模塊使用三模冗余防護方法對所述待防護模塊進行防護。
8.—種冗余防護方法,其特征在于,該方法判定待防護模塊的性質(zhì),若所述待防護模塊用于算術(shù)運算,則使用精準(zhǔn)冗余防護方法對所述待防護模塊進行防護,否則,使用三模冗余防護方法對所述待防護模塊進行防護。
9.如權(quán)利要求8所述的方法,其特征在于,所述精準(zhǔn)冗余防護方法包括: 51.以所述待防護模塊的輸入作為全精度單元的輸入,以預(yù)設(shè)位寬的所述待防護模塊的輸入作為兩個降低精度的單元的輸入; 52.根據(jù)所述全精度單元以及兩個降低精度的單元的輸出,以及預(yù)設(shè)的誤差檢測閾值,判決單元判決所述全精度單元是否正常運行,若正常,則以所述全精度單元的輸出為輸出;否則,以所述境地精度的單元的輸出為輸出。
10.如權(quán)利要求9所述的方法,其特征在于,在步驟S2中,若兩個所述降低精度的單元的輸出不同,則判定所述全精度單元正常運行; 若兩個所述降低精度的單元的輸出相同,則判決單元將所述全精度單元的輸出與所述降低精度的單元的輸出作比較,若兩者的差大于所述預(yù)設(shè)的誤差檢測閾值,則判定所述全精度單元存在運行故障,否則判定所述全精度單元正常運行。
全文摘要
本發(fā)明公開了一種冗余防護系統(tǒng)及方法,涉及冗余防護技術(shù)領(lǐng)域。該系統(tǒng)包括判定模塊,用于根據(jù)待防護模塊的性質(zhì)判定由第一冗余防護模塊對其進行防護或由第二冗余防護模塊對其進行防護;第一冗余防護模塊,使用精準(zhǔn)冗余防護方法對所述待防護模塊進行防護;第二冗余防護模塊,使用精準(zhǔn)冗余防護方法外的冗余防護方法對所述待防護模塊進行防護。本發(fā)明的系統(tǒng)及方法與TMR相似,但是犧牲了TMR提供的一些保護,以降低花費;且本發(fā)明的系統(tǒng)及方法使用較小的降低精度的單元以限制輸出錯誤,防護效率較高。
文檔編號G05B9/03GK103186100SQ20111046056
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者王群勇, 鐘征宇, 陽輝, 陳冬梅, 姜大勇, 劉燕芳, 陳宇, 白樺, 底桐 申請人:北京圣濤平試驗工程技術(shù)研究院有限責(zé)任公司