用于數(shù)字信號處理平臺(tái)架構(gòu)的單粒子效應(yīng)防護(hù)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于數(shù)字信號處理平臺(tái)架構(gòu)的系統(tǒng)級單粒子效應(yīng)防護(hù)系統(tǒng)及方法,屬于空間通信技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]目前,在星載數(shù)字信號處理平臺(tái)中,由于主要采用大規(guī)模SRAM型FPGA和DSP完成數(shù)字信號處理功能,該類產(chǎn)品發(fā)生單粒子效應(yīng)的概率大大提高。
[0003]從公開刊物了解到,針對目前的數(shù)字信號處理系統(tǒng),主要通過冗余、刷新、糾檢錯(cuò)等方法來緩解系統(tǒng)的單粒子效應(yīng),使得系統(tǒng)在發(fā)生SEU的情況下仍能夠正常工作。但當(dāng)系統(tǒng)發(fā)生SEFI時(shí),以上這些措施也沒辦法解決,必須采取有針對性的SEFI恢復(fù)措施,才能讓系統(tǒng)恢復(fù)正常。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是:克服現(xiàn)有技術(shù)的不足,提供一種用于數(shù)字信號處理平臺(tái)架構(gòu)的單粒子效應(yīng)防護(hù)系統(tǒng)及方法,能夠解決系統(tǒng)的SEFI問題,提升了數(shù)字信號處理系統(tǒng)的空間可靠性。
[0005]本發(fā)明采用的技術(shù)方案是:
[0006]用于數(shù)字信號處理平臺(tái)架構(gòu)的單粒子效應(yīng)防護(hù)系統(tǒng),包括:FPGA芯片、DSP芯片、SEFI檢測恢復(fù)單元、第一存儲(chǔ)器和第二存儲(chǔ)器,SEFI檢測恢復(fù)單元包含F(xiàn)PGA狀態(tài)檢測及恢復(fù)模塊、DSP狀態(tài)檢測及恢復(fù)模塊、回讀校驗(yàn)及刷新模塊、配置模塊、看門狗、DSP加載控制模塊和存儲(chǔ)器控制模塊;
[0007]FPGA芯片將工作狀態(tài)信號發(fā)送到FPGA狀態(tài)檢測及恢復(fù)模塊,F(xiàn)PGA狀態(tài)檢測及恢復(fù)模塊檢測FPGA芯片的工作狀態(tài),若FPGA芯片工作正常,則繼續(xù)進(jìn)行工作狀態(tài)檢測,若FPGA芯片發(fā)生單粒子功能中斷SEFIJlj FPGA狀態(tài)檢測及恢復(fù)模塊發(fā)送復(fù)位信號給FPGA芯片,令其復(fù)位重配置;
[0008]配置模塊通過存儲(chǔ)器控制模塊控制第一存儲(chǔ)器,從第一存儲(chǔ)器中將FPGA芯片的配置程序加載到FPGA芯片的配置存儲(chǔ)區(qū),回讀校驗(yàn)及刷新模塊從FPGA芯片的配置存儲(chǔ)區(qū)將狀態(tài)寄存器和控制寄存器的值讀取出來,與狀態(tài)寄存器和控制寄存器的原始值進(jìn)行比對,若相同,則繼續(xù)進(jìn)行回讀檢測,若不同,則給錯(cuò)誤指示信號到FPGA狀態(tài)檢測及恢復(fù)模塊,通過回讀校驗(yàn)及刷新模塊對FPGA芯片進(jìn)行配置存儲(chǔ)區(qū)刷新,如果狀態(tài)仍異常,則通過FPGA狀態(tài)檢測及恢復(fù)模塊對FPGA芯片復(fù)位重配置;
[0009]DSP芯片將工作狀態(tài)信號發(fā)送到DSP狀態(tài)檢測及恢復(fù)模塊,DSP狀態(tài)檢測及恢復(fù)模塊檢測DSP芯片的工作狀態(tài),若DSP芯片工作正常,則判斷檢測點(diǎn)信息是否需要存儲(chǔ),若屬于要保護(hù)的檢測點(diǎn),則將檢測點(diǎn)信息通過存儲(chǔ)器控制邏輯存儲(chǔ)到第二存儲(chǔ)器,并繼續(xù)進(jìn)行工作狀態(tài)檢測,若不需要存儲(chǔ)檢測點(diǎn),仍繼續(xù)進(jìn)行工作狀態(tài)檢測,若DSP芯片發(fā)生SEFI,貝IJ DSP狀態(tài)檢測及恢復(fù)模塊發(fā)送復(fù)位信號給DSP芯片,令其復(fù)位;所述檢測點(diǎn)是指用于恢復(fù)DSP工作現(xiàn)場的DSP程序中的位置點(diǎn);
[0010]DSP加載控制模塊通過存儲(chǔ)器控制模塊控制第二存儲(chǔ)器,從第二存儲(chǔ)器中將DSP芯片的配置程序加載到DSP芯片的配置存儲(chǔ)區(qū);
[0011]看門狗模塊定時(shí)接收來自DSP芯片的工作狀態(tài)指示信號,若長時(shí)間沒有收到指示信號,看門狗模塊對DSP芯片進(jìn)行復(fù)位。
[0012]用于數(shù)字信號處理平臺(tái)架構(gòu)的單粒子效應(yīng)防護(hù)方法,步驟如下:
[0013](I)配置模塊通過存儲(chǔ)器控制模塊控制第一存儲(chǔ)器,從第一存儲(chǔ)器中將FPGA芯片的配置程序加載到FPGA芯片的配置存儲(chǔ)區(qū);DSP加載控制模塊通過存儲(chǔ)器控制模塊控制第二存儲(chǔ)器,從第二存儲(chǔ)器中將DSP芯片的配置程序加載到DSP芯片的配置存儲(chǔ)區(qū);
[0014](2) FPGA芯片將工作狀態(tài)信號發(fā)送到FPGA狀態(tài)檢測及恢復(fù)模塊,F(xiàn)PGA狀態(tài)檢測及恢復(fù)模塊檢測FPGA芯片的工作狀態(tài),若FPGA芯片工作正常,則繼續(xù)進(jìn)行工作狀態(tài)檢測,若FPGA芯片工作異常,則表示發(fā)生了單粒子功能中斷SEFI,則FPGA狀態(tài)檢測及恢復(fù)模塊發(fā)送復(fù)位信號給FPGA芯片,令其復(fù)位重配置;
[0015]回讀校驗(yàn)及刷新模塊從FPGA芯片的配置存儲(chǔ)區(qū)將狀態(tài)寄存器和控制寄存器的值讀取出來,與狀態(tài)寄存器和控制寄存器的值原始值進(jìn)行比對,若相同,則繼續(xù)進(jìn)行回讀檢測,若不同,則給錯(cuò)誤指示信號到FPGA狀態(tài)檢測及恢復(fù)模塊,通過回讀校驗(yàn)及刷新模塊對FPGA芯片進(jìn)行配置存儲(chǔ)區(qū)刷新,如果狀態(tài)仍異常,則通過FPGA狀態(tài)檢測及恢復(fù)模塊對FPGA芯片復(fù)位重配置;
[0016](3)DSP芯片將工作狀態(tài)信號發(fā)送到DSP狀態(tài)檢測及恢復(fù)模塊,DSP狀態(tài)檢測及恢復(fù)模塊檢測DSP芯片的工作狀態(tài),若DSP芯片工作正常,則判斷檢測點(diǎn)信息是否需要存儲(chǔ),若屬于要保護(hù)的檢測點(diǎn),則將檢測點(diǎn)信息通過存儲(chǔ)器控制邏輯存儲(chǔ)到第二存儲(chǔ)器,并繼續(xù)進(jìn)行工作狀態(tài)檢測,若不需要存儲(chǔ)檢測點(diǎn),仍繼續(xù)進(jìn)行工作狀態(tài)檢測,若DSP芯片工作異常,則表示發(fā)生了單粒子功能中斷SEFI,則DSP狀態(tài)檢測及恢復(fù)模塊發(fā)送復(fù)位信號給DSP芯片,令其復(fù)位;所述檢測點(diǎn)是指用于恢復(fù)DSP工作現(xiàn)場的DSP程序中的位置點(diǎn);
[0017]看門狗模塊定時(shí)接收來自DSP芯片的工作狀態(tài)指示信號,若長時(shí)間沒有收到指示信號,看門狗模塊對DSP芯片進(jìn)行復(fù)位,完成所述單粒子效應(yīng)的防護(hù)。
[0018]所述FPGA芯片的工作狀態(tài)信號包括DONE信號、BUSY信號、FAR幀地址寄存器值、狀態(tài)寄存器值和控制寄存器值。
[0019]所述步驟⑵具體為:
[0020](4.1)監(jiān)測DONE信號:檢測DONE信號是否為高電平,若DONE信號為高電平,則執(zhí)行步驟(4.2);否則,認(rèn)為FPGA芯片的上電復(fù)位電路發(fā)生了單粒子功能中斷,執(zhí)行步驟(4.5);
[0021](4.2)監(jiān)測BUSY信號:檢測BUSY信號是否為高電平,若BUSY信號為高電平,執(zhí)行步驟(4.3);否則,認(rèn)為FPGA芯片發(fā)生了 SELECTMAP接口的單粒子功能中斷,執(zhí)行步驟(4.5);
[0022](4.3) FAR幀地址寄存器讀寫:在進(jìn)行每次刷新或者回讀操作前,將FAR幀地址寄存器先寫入FPGA芯片的配置存儲(chǔ)區(qū),判斷回讀出的值是否正確,若正確,則繼續(xù)進(jìn)行步驟
(4.4);否則,認(rèn)為FPGA芯片發(fā)生了 SELECTMAP接口的單粒子功能中斷,執(zhí)行步驟(4.5);
[0023](4.4)狀態(tài)寄存器值和控制寄存器值讀寫:通過回讀狀態(tài)寄存器和控制寄存器的值,如果與默認(rèn)值不相同,認(rèn)為FPGA芯片發(fā)生了 Global signals SEFI (全局信號的單粒子功能中斷)或POR SEFI (上電復(fù)位電路的單粒子功能中斷),執(zhí)行步驟(4.5);
[0024](4.5)通過復(fù)位重配置或者斷電重配置進(jìn)行SEFI故障恢復(fù)。
[0025]所述步驟(3)具體為:
[0026](5.1)啟動(dòng)看門狗,在DSP正常工作過程中產(chǎn)生喂狗信號,并監(jiān)測DSP芯片發(fā)來的工作狀態(tài)信號,若工作狀態(tài)信號為預(yù)期的正確值,則進(jìn)行步驟(5.2);否則,認(rèn)為DSP芯片發(fā)生了單粒子功能中斷,執(zhí)行步驟(5.3);
[0027](5.2)判斷檢測點(diǎn)保存條件是否滿足,若屬于要保護(hù)的檢測點(diǎn),則通過存儲(chǔ)器控制模塊將檢測點(diǎn)的內(nèi)容保存至第二存儲(chǔ)器,存儲(chǔ)完成后返回步驟(5.1);否則,直接返回步驟(5.1);所述要保護(hù)的檢測點(diǎn)是指:由用戶指定的DSP程序中需要做保存動(dòng)作的位置或者由指定固定間隔時(shí)間自動(dòng)做保存動(dòng)作的位置;
[0028](5.3)啟動(dòng)DSP狀態(tài)檢測及恢復(fù)模塊中的DSP復(fù)位邏輯,并執(zhí)行檢測點(diǎn)恢復(fù);所述檢測點(diǎn)恢復(fù)的內(nèi)容包括= (I)DSP程序執(zhí)行現(xiàn)場:包含控制寄存器和通用寄存器;(2)程序執(zhí)行棧;(3)程序的計(jì)算數(shù)據(jù)集合。
[0029]所述執(zhí)行檢測點(diǎn)恢復(fù)具體為:
[0030]檢測點(diǎn)的恢復(fù)由硬件觸發(fā),即被SEFI檢測恢復(fù)單元中的DSP狀態(tài)檢測及恢復(fù)模塊觸發(fā)中斷,根據(jù)中斷信號復(fù)位DSP,DSP重新啟動(dòng)后,自動(dòng)引導(dǎo),然后以異常處理的方式執(zhí)行檢測點(diǎn)恢復(fù);在檢測點(diǎn)恢復(fù)過程中,從第二存儲(chǔ)器中讀取DSP程序上一個(gè)檢測點(diǎn)的信息,將信息加載到寄存器和堆棧中,然后跳入指定的程序地址,重新執(zhí)行被中斷的程序。
[0031]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
[0032](I)本發(fā)明為了滿足數(shù)字信號處理系統(tǒng)空間環(huán)境適應(yīng)力要求,采用檢測DONE信號、BUSY信號和FAR值以及狀態(tài)寄存器值和控制寄存器值的方法檢測系統(tǒng)的單粒子功能中斷,解決了由于SELECTMAP接口、POR上電復(fù)位電路的SEFI引起的FPGA上電配置及刷新失效的問題。
[0033](2)本發(fā)明通過回寫配置文件及檢測點(diǎn)存儲(chǔ)文件或者系統(tǒng)復(fù)位的方式實(shí)現(xiàn)系統(tǒng)功能的恢復(fù),大大降低數(shù)字信號處理系統(tǒng)在空間輻射環(huán)境下運(yùn)行時(shí)發(fā)生單粒子功能中斷的概率,提升系統(tǒng)的抗單粒子能力。
【附圖說明】
[0034]圖1為本發(fā)明防護(hù)系統(tǒng)的原理框圖;
[0035]圖2為本發(fā)明防護(hù)方法流程圖;
[0036]圖3為本發(fā)明用于系統(tǒng)FPGA的SEFI檢測及恢復(fù)流程圖;
[0037]圖4為本發(fā)明用于系統(tǒng)DSP的SEFI檢測及恢復(fù)流程圖。
【具體實(shí)施方式】
[0038]本發(fā)明提供了一種適應(yīng)于數(shù)字信號處理平臺(tái)的系統(tǒng)級單粒子效應(yīng)防護(hù)系統(tǒng)及防護(hù)方法,采用SEFI檢測恢復(fù)單元進(jìn)行系統(tǒng)的狀態(tài)檢測,判斷FPGA和DSP若發(fā)生SEFI,采取恢復(fù)措施。針對FPGA的