1.一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于包括如下步驟:
(1)獲取n階FIR濾波器的比特寬度并判斷,如果當令FIR濾波器的比特寬度擴大3倍時,F(xiàn)IR濾波器占用的BRAM數(shù)目增加且星上FPGA無法提供空閑BRAM時,不進行FIR濾波器的抗輻照加固,如果當令FIR濾波器的比特寬度擴大3倍時,F(xiàn)IR濾波器占用的BRAM數(shù)目不變,或者當令FIR濾波器的比特寬度擴大3倍時,星上FPGA剩余空閑BRAM,則進行地面可重構(gòu)的FIR濾波器參數(shù)的抗輻照加固;
(2)獲取星上FPGA中空閑乘法器數(shù)目、空閑Slice資源數(shù)目,獲取n階FIR濾波器使用的乘法器數(shù)目、Slice資源數(shù)目并判斷,如果星上FPGA中空閑乘法器數(shù)目大于等于FIR濾波器使用的乘法器的數(shù)目加1,且星上FPGA中空閑Slice資源數(shù)目大于等于FIR濾波器使用的Slice資源數(shù)目乘以(1+1/n),則采用FIR濾波器實現(xiàn)電路抗輻照故障檢測與糾正的方法,如果星上FPGA中無空閑乘法器或者空閑Slice資源數(shù)目小于FIR濾波器使用的Slice資源數(shù)目除以n,則采用低資源消耗的FIR濾波器實現(xiàn)電路抗輻照故障檢測的方法,否則采用單個乘法器的FIR濾波器實現(xiàn)電路抗輻照故障檢測的方法。
2.根據(jù)權利要求1所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的地面可重構(gòu)的FIR濾波器參數(shù)的抗輻照加固的方法包括如下步驟:
(1)將待抗輻照加固的FIR濾波器參數(shù)存儲在雙端口Block RAM中,存儲在雙端口Block RAM中的參數(shù)包括原始待抗輻照加固的FIR濾波器參數(shù)Ai、Ai的第一拷貝Bi、Ai的第二拷貝Ci,Ai、Bi、Ci分別存儲在雙端口Block RAM相同地址內(nèi)的不同數(shù)據(jù)位,雙端口Block RAM的寬度為待抗輻照加固的FIR濾波器參數(shù)位數(shù)的3倍,雙端口Block RAM的深度為待抗輻照加固的FIR濾波器參數(shù)的個數(shù)n,i=0,1,2…n-1;
(2)在第j個時鐘周期從雙端口Block RAM中讀取一組參數(shù)Ai、Bi、Ci,j、i的循環(huán)周期均為n,其中,j=0,1,2,3…n-1;
(3)當衛(wèi)星在軌工作時,根據(jù)地面指令生成采集周期,判斷步驟(2)讀取得到的Ai、Bi、Ci,如果Ai=Bi=Ci,則未出現(xiàn)單粒子翻轉(zhuǎn),將原始FIR濾波器參數(shù)Ai輸出,如果Ai≠Bi≠Ci,則出現(xiàn)多處單粒子翻轉(zhuǎn),無法進行糾正,進行完好性告警,通知地面干預,重置FIR濾波器參數(shù)Ai、Bi、Ci,如果Ai=Bi≠Ci或Ai≠Bi=Ci或Ai=Ci≠Bi,則Block RAM產(chǎn)生單粒子翻轉(zhuǎn),當Ai=Bi≠Ci時,將原始FIR濾波器參數(shù)Ai輸出,并通過回寫的方法糾正Ci的單粒子翻轉(zhuǎn)錯誤,當Ai≠Bi=Ci時,將參數(shù)Bi輸出,并通過回寫的方法糾正Ai的單粒子翻轉(zhuǎn)錯誤,當Ai=Ci≠Bi時,將原始FIR濾波器參數(shù)Ai輸出,并通過回寫的方法糾正Bi的單粒子翻轉(zhuǎn)錯誤。
3.根據(jù)權利要求2所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的將待抗輻照加固的FIR濾波器參數(shù)存儲在雙端口Block RAM中使用的雙端口Block RAM端口與讀取一組參數(shù)Ai、Bi、Ci所使用的雙端口Block RAM端口不一致。
4.根據(jù)權利要求1或2所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的根據(jù)權利要求1所述的FIR濾波器實現(xiàn)電路抗輻照故障檢測與糾正的方法包括如下步驟:
(1)將原始數(shù)據(jù)Xi通過FIR濾波器并得到濾波結(jié)果Yi;
(2)設計與FIR濾波器完全相同的備份電路,作為故障糾正電路,將原始數(shù)據(jù)Xi通過故障糾正電路,得到濾波結(jié)果Yi’;
(3)通過L位乘法器、L位累加器和L個觸發(fā)器構(gòu)造故障檢測電路,將原始數(shù)據(jù)Xi通過造故障檢測電路,得到Y(jié)i”,其中,L為FIR濾波器參數(shù)的位寬;
(4)判斷Yi、Yi’和Yi”,如果Yi=Y(jié)i’=Y(jié)i”,則未出現(xiàn)單粒子翻轉(zhuǎn)現(xiàn)象,輸出Yi作為FIR濾波器的濾波結(jié)果,如果Yi=Y(jié)i’≠Yi”,則故障檢測電路出現(xiàn)單粒子翻轉(zhuǎn),輸出Yi作為FIR濾波器的的濾波結(jié)果,如果Yi≠Yi’=Y(jié)i”,則FIR濾波器出現(xiàn)單粒子翻轉(zhuǎn),輸出Yi’作為FIR濾波器的濾波結(jié)果,如果Yi=Y(jié)i”≠Yi’,則故障糾正電路出現(xiàn)單粒子翻轉(zhuǎn),輸出Yi作為FIR濾波器的濾波結(jié)果,如果Yi≠Yi’≠Yi”,則出現(xiàn)多處單粒子翻轉(zhuǎn),進行完好性告警。
5.根據(jù)權利要求4所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的故障檢測電路構(gòu)造方法包括如下步驟:
(1)利用L位乘法器將原始數(shù)據(jù)Xi、FIR濾波器參數(shù)依次相乘,得到多個相乘結(jié)果,其中,原始數(shù)據(jù)Xi、FIR濾波器的更新周期均為一個時鐘周期;
(2)利用L位累加器對步驟(1)得到的多個相乘結(jié)果進行累加,得到累加結(jié)果;
(3)利用L個觸發(fā)器記錄上一個時鐘周期步驟(2)得到的累加結(jié)果,并將上一個時鐘周期的累加結(jié)果送至L位累加器;
(4)利用L位累加器將上一個時鐘周期的累加結(jié)果與步驟(2)得到的本時鐘周期的累加結(jié)果進行累加;
(5)重復步驟(3)-步驟(4),直至當步驟(4)中的累加次數(shù)達到n次時,得到濾波結(jié)果其中,Xi為第i個時鐘周期對應的原始數(shù)據(jù),Ai為第i個時鐘周期對應的FIR濾波器參數(shù)。
6.根據(jù)權利要求1所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的采用低資源消耗的FIR濾波器實現(xiàn)電路抗輻照故障檢測的方法包括如下步驟:
(1)將原始數(shù)據(jù)Xi通過FIR濾波器并得到濾波結(jié)果Yi;
(2)將原始數(shù)據(jù)Xi通過低資源消耗的故障檢測電路,得到濾波結(jié)果Yi’;
(3)判斷Yi、Yi’,如果Yi=Y(jié)i’,則未發(fā)生單粒子翻轉(zhuǎn)現(xiàn)象,輸出Yi作為FIR濾波器的濾波結(jié)果,如果Yi≠Yi’,則發(fā)生單粒子翻轉(zhuǎn)現(xiàn)象,向地面發(fā)出完好性告警,通過地面干預解決翻轉(zhuǎn)故障。
7.根據(jù)權利要求6所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的低資源消耗的故障檢測電路的構(gòu)建的方法,包括如下步驟:
(1)對原始數(shù)據(jù)Xi對m進行取模運算,得到結(jié)果(Xi)m=3,其中,(Xi)m=3為0、1或2,m=3,原始數(shù)據(jù)Xi為第i個時鐘周期對應的原始數(shù)據(jù),Ai為第i個時鐘周期對應的FIR濾波器參數(shù),i的初值為0;
(2)對FIR濾波器參數(shù)對m進行取模運算,得到結(jié)果(Ai)m=3,其中,(Ai)m=3為0、1或2,m=3;
(3)對(Xi)m=3、(Ai)m=3進行乘法取模運算,得到當(Xi)m=3=0時乘法取模運算結(jié)果為0,當(Xi)m=3=1時乘法取模運算結(jié)果為(Ai)m=3,當(Xi)m=3=2時乘法取模運算結(jié)果為
其中,乘法取模運算為進行相乘后對3進行取模運算;將乘法取模運算結(jié)果記為[(Xi)m·(Ai)m]m,遍歷所有的i,得到n個時鐘周期分別對應的乘法取模運算結(jié)果;
(4)對步驟(3)得到的所有乘法取模運算結(jié)果進行加法取模運算,得到其中,加法取模運算為進行相加后對3進行取模運算;
(5)將原始數(shù)據(jù)Xi通過FIR濾波器得到濾波結(jié)果Yi,將濾波結(jié)果Yi對m=3進行取模運算,得到(Yi)m;
(6)比較(Yi)m,如果則未出現(xiàn)單粒子翻轉(zhuǎn)現(xiàn)象,輸出Yi作為濾波結(jié)果,如果則出現(xiàn)單粒子翻轉(zhuǎn)現(xiàn)象,向地面發(fā)出完好性告警,通過地面干預解決故障。
8.根據(jù)權利要求7所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的對原始數(shù)據(jù)Xi對m=3進行取模運算的方法包括如下步驟:
(1)將原始數(shù)據(jù)Xi中的每一位對m=3分別進行取模運算,然后將每位的取模運算結(jié)果替換當前位,得到與原始數(shù)據(jù)Xi位數(shù)相同的取模運算數(shù)據(jù);
(2)計算取模運算數(shù)據(jù)中奇數(shù)位為非零值的個數(shù)Num_O、偶數(shù)位為非零值的個數(shù)Num_E,并判斷;
(3)如果Num_O=0,則原始數(shù)據(jù)Xi對m=3進行取模運算的結(jié)果為Num_E,如果Num_E=0,則原始數(shù)據(jù)Xi對m=3進行取模運算的結(jié)果為Num_O,如果Num_O和Num_E均為1,則原始數(shù)據(jù)Xi對m=3進行取模運算的結(jié)果為2,如果Num_O和Num_E均為2,則原始數(shù)據(jù)Xi對m=3進行取模運算的結(jié)果為1,如果Num_O和Num_E一個為1、一個為2,則原始數(shù)據(jù)Xi對m=3進行取模運算的結(jié)果為0。
9.根據(jù)權利要求1或2所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的單個乘法器的FIR濾波器實現(xiàn)電路抗輻照故障檢測的方法包括如下步驟:
(1)將原始數(shù)據(jù)Xi通過FIR濾波器并得到濾波結(jié)果Yi;
(2)將L位乘法器、L位累加器、L個觸發(fā)器構(gòu)造故障檢測電路,將原始數(shù)據(jù)Xi通過造故障檢測電路,得到Y(jié)i’;
(3)判斷Yi、Yi’,如果Yi=Y(jié)i’,則未發(fā)生單粒子翻轉(zhuǎn)現(xiàn)象,輸出Yi作為濾波結(jié)果,如果Yi≠Yi’,則發(fā)生單粒子翻轉(zhuǎn)現(xiàn)象,向地面發(fā)出完好性告警,通過地面干預解決故障。
10.根據(jù)權利要求9所述的一種星上可重構(gòu)FIR濾波器的抗輻照加固方法,其特征在于:所述的通過L位乘法器、L位累加器和L個觸發(fā)器構(gòu)造故障檢測電路的方法包括如下步驟:
(1)利用L位乘法器將原始數(shù)據(jù)Xi、FIR濾波器參數(shù)依次相乘,得到多個相乘結(jié)果,其中,原始數(shù)據(jù)Xi、FIR濾波器的更新周期均為一個時鐘周期;
(2)利用L位累加器對步驟(1)得到的多個相乘結(jié)果進行累加,得到累加結(jié)果;
(3)利用L個觸發(fā)器記錄上一個時鐘周期步驟(2)得到的累加結(jié)果,并將上一個時鐘周期的累加結(jié)果送至L位累加器;
(4)利用L位累加器將上一個時鐘周期的累加結(jié)果與步驟(2)得到的本時鐘周期的累加結(jié)果進行累加;
(5)重復步驟(3)-步驟(4),直至當步驟(4)中的累加次數(shù)達到n次時,得到濾波結(jié)果其中,Xi為第i個時鐘周期對應的原始數(shù)據(jù),Ai為第i個時鐘周期對應的FIR濾波器參數(shù)。