(航天東方紅衛(wèi)星有限公司,北京 100094)
近年來(lái),擴(kuò)頻微波統(tǒng)一測(cè)控系統(tǒng)已廣泛應(yīng)用于我國(guó)航天測(cè)控領(lǐng)域,它利用偽隨機(jī)碼序列對(duì)傳送的信息數(shù)據(jù)進(jìn)行調(diào)制傳輸,依靠高速率擴(kuò)頻碼保證測(cè)距精度,從而實(shí)現(xiàn)測(cè)距、遙控、遙測(cè)及時(shí)間同步一體化。擴(kuò)頻應(yīng)答機(jī)是衛(wèi)星測(cè)控的設(shè)備之一,其與地面測(cè)控站配合工作,完成衛(wèi)星的測(cè)控和工程測(cè)量任務(wù),它接收、解調(diào)來(lái)自地面測(cè)控站發(fā)送的遙控信息及來(lái)自地面站發(fā)送的測(cè)距幀信息,同時(shí)采集測(cè)距相關(guān)信息填入下行測(cè)距幀中,調(diào)制后發(fā)送至地面站;對(duì)遙測(cè)數(shù)據(jù)進(jìn)行調(diào)制后發(fā)送給地面測(cè)控站。
由于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和數(shù)字信號(hào)處理(DSP)有計(jì)算速度快等優(yōu)點(diǎn),星載擴(kuò)頻應(yīng)答機(jī)的基帶部分采用了FPGA 加DSP的結(jié)構(gòu),完成擴(kuò)頻信號(hào)解調(diào)捕獲等相關(guān)功能。
國(guó)內(nèi)外相關(guān)領(lǐng)域?qū)PGA 的太空應(yīng)用正處于發(fā)展階段,對(duì)其中亟待解決的可靠性問(wèn)題研究相對(duì)較多,尤其是抗單粒子翻轉(zhuǎn)(SEU)研究是一項(xiàng)重要的課題。FPGA 和DSP 兩種器件對(duì)單粒子翻轉(zhuǎn)的敏感,其抗單粒子能力直接影響了擴(kuò)頻應(yīng)答機(jī)的功能和性能,以及整星測(cè)控信道的可靠性。本文的研究目的是提高擴(kuò)頻應(yīng)答機(jī)抗SEU 的能力,盡量減少SEU 對(duì)擴(kuò)頻應(yīng)答機(jī)功能的影響,確保衛(wèi)星測(cè)控鏈路的穩(wěn)定和可靠。
本文首先對(duì)單機(jī)層面擴(kuò)頻應(yīng)答機(jī)抗SEU 的方法進(jìn)行了介紹,列舉了幾種目前小衛(wèi)星使用的擴(kuò)頻應(yīng)答機(jī)中FPGA 和DSP 抗SEU 的設(shè)計(jì)方法,又從系統(tǒng)層面提出了由星上特定設(shè)備根據(jù)規(guī)定的原則對(duì)應(yīng)答機(jī)進(jìn)行關(guān)機(jī)和開(kāi)機(jī)操作以消除SEU 故障的方法,最后對(duì)目前我國(guó)小衛(wèi)星擴(kuò)頻應(yīng)答機(jī)在軌飛行結(jié)果進(jìn)行了統(tǒng)計(jì)和總結(jié),驗(yàn)證了本文所述方法的正確性和有效性。
SEU 是發(fā)生在具有單穩(wěn)態(tài)或雙穩(wěn)態(tài)的邏輯器件和邏輯電路的一種帶電粒子輻射效應(yīng)。當(dāng)單個(gè)空間高能帶電粒子轟擊到大規(guī)模的邏輯型微電子器件的芯片時(shí),沿著粒子的入射軌跡,在芯片內(nèi)部的P型半導(dǎo)體和N 型半導(dǎo)體交界面(PN 結(jié))附近區(qū)域發(fā)生電離效應(yīng),生成一定數(shù)量的電子-空穴對(duì)。如果這時(shí)芯片處于加電狀態(tài),這些由于輻射產(chǎn)生的載流子將在芯片內(nèi)部的電場(chǎng)作用下發(fā)生漂移和重新分布,從而改變了芯片內(nèi)部正常載流子的運(yùn)動(dòng)和分布狀態(tài),當(dāng)這種改變足夠大時(shí),將引起器件電性能狀態(tài)的改變,造成邏輯器件或電路的邏輯錯(cuò)誤,如存儲(chǔ)器單元中存儲(chǔ)的數(shù)據(jù)發(fā)生翻轉(zhuǎn),進(jìn)而引起數(shù)據(jù)處理錯(cuò)誤,電路邏輯功能混亂,程序故障,甚至死機(jī)。
常用于航天器研制的FPGA 產(chǎn)品主要分為兩種:基于反熔絲的一次性編程FPGA 和基于隨機(jī)靜態(tài)存儲(chǔ)器(Static Random Access Memory,SRAM)型的FPGA。目前,我國(guó)航天領(lǐng)域使用的超大規(guī)模邏輯型微電子電路XQR2V1000和XQR2V3000均為SRAM 型FPGA。SRAM 型FPGA 發(fā)展的工藝特點(diǎn)仍以互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,Bu1kCMOS)為主,其配置信息都存儲(chǔ)在SRAM 中,它與一次編程的反熔絲FPGA相比,容易受到單粒子輻射效應(yīng)的影響,發(fā)生單粒子翻轉(zhuǎn)和鎖定等故障,主要有以下2個(gè)原因[1-3]:
(1)基于SRAM 型FPGA 的配置數(shù)據(jù)存儲(chǔ)在芯片內(nèi)部的SRAM 中,而SRAM 對(duì)SEU 較為敏感;
(2)基于SRAM 型FPGA 的可編程邏輯開(kāi)關(guān)主要采用多路選擇器實(shí)現(xiàn),內(nèi)部邏輯功能主要采用查找表實(shí)現(xiàn),而多路選擇器與查找表對(duì)單粒子輻射效應(yīng)都較為敏感。
當(dāng)存儲(chǔ)設(shè)計(jì)邏輯的SRAM 在軌發(fā)生單粒子翻轉(zhuǎn)后,整個(gè)FPGA 功能可能失效。
目前,小衛(wèi)星使用的S頻段非相干體制擴(kuò)頻應(yīng)答機(jī)共有4個(gè)模塊,分別為接收通道、發(fā)送通道、下位機(jī)和數(shù)字基帶模塊。擴(kuò)頻應(yīng)答機(jī)基帶采用FPGA 加DSP的結(jié)構(gòu),組成如圖1所示。主要由A54SX32、XQR2V1000、SMJ320C6415組成,A54SX32是系統(tǒng)中央管理單元,統(tǒng)一管理XQR2V1000、SMJ320C6415。
圖1 應(yīng)答機(jī)數(shù)字基帶的組成框圖Fig.1 Composing frame of digital baseband
數(shù)字基帶部分完成的主要功能包括:捕獲、解調(diào)解擴(kuò)上行擴(kuò)頻信號(hào),精細(xì)估計(jì)上行擴(kuò)頻信號(hào)相位和多普勒頻率,形成持續(xù)的發(fā)送報(bào)文,將相位、多普勒頻率遙測(cè)信息和采樣時(shí)刻等信息擴(kuò)頻調(diào)制發(fā)送到地面站。若其發(fā)生SEU 故障后,可能影響應(yīng)答機(jī)的功能和性能,甚至威脅到衛(wèi)星的安全,故在整星及單機(jī)設(shè)計(jì)時(shí)須考慮抗SEU 設(shè)計(jì),減小其帶來(lái)的影響,下文分別從單機(jī)和系統(tǒng)兩個(gè)層面介紹抗SEU 的方法。
根據(jù)應(yīng)用的不同,單機(jī)級(jí)抗SEU 的設(shè)計(jì)可以從2個(gè)方面開(kāi)展:
(1)改進(jìn)用戶(hù)設(shè)計(jì),屏蔽軟錯(cuò)誤對(duì)應(yīng)用的影響,避免產(chǎn)生軟失效;
(2)采取自主診斷和修復(fù)措施,減少軟失效恢復(fù)時(shí)間。
高可靠硬件系統(tǒng)結(jié)構(gòu)是實(shí)現(xiàn)上述設(shè)計(jì)的重要前提,是實(shí)現(xiàn)冗余加固和其他補(bǔ)充措施的基礎(chǔ)。設(shè)計(jì)的根本原則是按照對(duì)于空間單粒子效應(yīng)的敏感程度進(jìn)行功能分層,由單粒子效應(yīng)不敏感的高可靠器件作為系統(tǒng)仲裁和智能控制單元,采用高可靠單元(HRU)加DSP 加FPGA 的金字塔型處理平臺(tái)結(jié)構(gòu)[4-6]。HRU 是指采用反熔絲型FPGA(A54SX32),其對(duì)FPGA和DSP的運(yùn)行狀態(tài)進(jìn)行監(jiān)控,通過(guò)完善的檢測(cè)和故障處理手段,避免由于發(fā)生單粒子翻轉(zhuǎn)而導(dǎo)致的功能異常。
基帶處理FPGA 抗SEU 的主要措施如下。
1)配置存儲(chǔ)區(qū)回讀校驗(yàn)
監(jiān)控FPGA 每30min對(duì)處理FPGA 的配置存儲(chǔ)區(qū)進(jìn)行回讀校驗(yàn),將回讀數(shù)據(jù)與可編程只讀存儲(chǔ)器(PROM)中的備份文件進(jìn)行逐位比較,當(dāng)發(fā)現(xiàn)不一致時(shí)會(huì)刷新配置存儲(chǔ)區(qū)。
2)“看門(mén)狗”設(shè)計(jì)
基帶處理FPGA 根據(jù)時(shí)鐘管理單元產(chǎn)生一個(gè)“喂狗”方波輸入到反熔絲型FPGA 中,由其執(zhí)行FPGA 時(shí)鐘基準(zhǔn)的監(jiān)測(cè),在“看門(mén)狗”“喂狗”周期內(nèi),若未收到“喂狗”信號(hào)則對(duì)基帶處理FPGA 進(jìn)行重新引導(dǎo)。
3)三模冗余設(shè)計(jì)[7-9]
基帶處理FPGA 設(shè)計(jì)對(duì)內(nèi)部重要數(shù)據(jù)的寄存器采取三取二多數(shù)表決設(shè)計(jì)(Triple Module Redundancy,TMR),重要數(shù)據(jù)是長(zhǎng)期存在的,并且其翻轉(zhuǎn)將造成應(yīng)答機(jī)功能錯(cuò)誤的數(shù)據(jù),包括PN 碼的生成多項(xiàng)式及初相數(shù)據(jù)、擴(kuò)頻碼解擴(kuò)積分長(zhǎng)度參數(shù)、下位機(jī)接口數(shù)據(jù)傳輸同步字等。
4)低速時(shí)鐘的雙采樣設(shè)計(jì)
針對(duì)外部接口的低速數(shù)據(jù)時(shí)鐘,采用雙采樣的方式濾掉數(shù)據(jù)傳輸時(shí)鐘上的抖動(dòng)。
擴(kuò)頻應(yīng)答機(jī)基帶DSP采取的抗SEU 設(shè)計(jì)措施如下。
1)重要全局變量的三模冗余設(shè)計(jì)
關(guān)鍵變量的選取準(zhǔn)則為:長(zhǎng)時(shí)間存在的變量(如主程序的大循環(huán)控制變量)和主程序重要的全局指針、重要的全局標(biāo)志。這些變量關(guān)系到DSP運(yùn)行程序的總體進(jìn)程,而且存在的時(shí)間比較長(zhǎng),發(fā)生單粒子翻轉(zhuǎn)的概率比一些臨時(shí)局部變量大的多,影響也更加嚴(yán)重,它們的翻轉(zhuǎn)可能導(dǎo)致信號(hào)處理結(jié)果的大范圍錯(cuò)誤。
2)“看門(mén)狗”設(shè)計(jì)
DSP工作正常時(shí),根據(jù)自身運(yùn)行的狀態(tài),在每個(gè)處理流程內(nèi)定期生成方波信號(hào)。反熔絲型FPGA在“狗咬”時(shí)間內(nèi)收到該脈沖,則認(rèn)為DSP 工作正常,否則對(duì)DSP 程序重新進(jìn)行引導(dǎo)。一旦DSP 程序由于某些原因出現(xiàn)故障,“喂狗”信號(hào)會(huì)變得較長(zhǎng)或者停止。
3)動(dòng)態(tài)刷新設(shè)計(jì)
DSP根據(jù)自身的工作狀態(tài),在空閑的時(shí)候會(huì)對(duì)外設(shè)設(shè)置進(jìn)行動(dòng)態(tài)刷新,用以清除外設(shè)配置存儲(chǔ)器的單粒子翻轉(zhuǎn)。DSP根據(jù)自身的工作狀態(tài),在空閑的時(shí)候會(huì)對(duì)內(nèi)部存儲(chǔ)區(qū)和關(guān)鍵數(shù)據(jù)區(qū)進(jìn)行校驗(yàn),如果發(fā)現(xiàn)這部分區(qū)域的內(nèi)容發(fā)生翻轉(zhuǎn),它會(huì)通過(guò)通用I/O 腳的上跳動(dòng)作,向反熔絲型FPGA 主動(dòng)申請(qǐng)動(dòng)態(tài)刷新。反熔絲型FPGA 在收到DSP 的動(dòng)態(tài)刷新申請(qǐng)時(shí),會(huì)對(duì)DSP的程序區(qū)和關(guān)鍵數(shù)據(jù)區(qū)進(jìn)行重新寫(xiě)入操作,重新寫(xiě)入操作不會(huì)對(duì)DSP正在進(jìn)行的邏輯功能產(chǎn)生干擾。
4)內(nèi)部程序和關(guān)鍵數(shù)據(jù)區(qū)檢錯(cuò)和修復(fù)
采用Berger編碼檢驗(yàn)算法[10],對(duì)被檢區(qū)域進(jìn)行編碼運(yùn)算處理,計(jì)算結(jié)果為一個(gè)32位數(shù)據(jù),分別存放在3個(gè)不同的地方備份。進(jìn)行單粒子翻轉(zhuǎn)檢測(cè)前對(duì)存放的數(shù)據(jù)再次比較,表決輸出,檢測(cè)到錯(cuò)誤則通過(guò)輸出一個(gè)錯(cuò)誤信號(hào)指示,利用監(jiān)控FPGA 對(duì)程序區(qū)和關(guān)鍵數(shù)據(jù)區(qū)進(jìn)行刷新,以完成錯(cuò)誤的修復(fù)。
5)程序區(qū)巡檢
DSP巡檢模塊的作用是在DSP工作正常時(shí),定期巡回檢測(cè)程序區(qū):將DSP的內(nèi)部程序區(qū)進(jìn)行累加校驗(yàn),得出一個(gè)結(jié)果,和已知結(jié)果進(jìn)行比較,如果不一致,立即申請(qǐng)重新加載程序。
定期巡檢程序執(zhí)行情況,如果異常,停止看門(mén)狗“喂狗”脈沖,請(qǐng)求復(fù)位DSP。反熔絲型FPGA 收到復(fù)位命令后,對(duì)DSP進(jìn)行程序引導(dǎo)和初始化等工作。
由于DSP器件Cache區(qū)的動(dòng)態(tài)特性,無(wú)法對(duì)其進(jìn)行預(yù)計(jì)和檢測(cè),因此當(dāng)DSP的Cache區(qū)出現(xiàn)單粒子翻轉(zhuǎn)后,仍然有可能導(dǎo)致DSP 工作異常;且當(dāng)異常未導(dǎo)致DSP 死機(jī)時(shí),A54SX32 中的“看門(mén)狗”不能發(fā)揮作用,DSP就無(wú)法自主退出異常狀態(tài)。故在系統(tǒng)層面進(jìn)行了抗SEU 設(shè)計(jì),由星上特定設(shè)備根據(jù)規(guī)定的原則對(duì)應(yīng)答機(jī)進(jìn)行關(guān)機(jī)和開(kāi)機(jī)操作,以有效地解除單粒子故障,恢復(fù)星地測(cè)控信道,具體設(shè)計(jì)方法如下(見(jiàn)圖2)。
圖2 系統(tǒng)級(jí)擴(kuò)頻應(yīng)答機(jī)處理SEU 故障操作流程圖Fig.2 Flow chart of solving transponder’s SEU fault at system level
(1)根據(jù)風(fēng)險(xiǎn)分散的原則,分別由管理單元A和管理單元B 對(duì)擴(kuò)頻應(yīng)答機(jī)進(jìn)行在軌有條件的自主管理;為了防止兩臺(tái)應(yīng)答機(jī)同時(shí)被關(guān)閉的可能,管理單元A 和管理單元B 的定時(shí)器設(shè)置可以相差一定時(shí)間。
(2)在進(jìn)行衛(wèi)星長(zhǎng)期業(yè)務(wù)管理時(shí),地面測(cè)控系統(tǒng)應(yīng)在不長(zhǎng)于24h內(nèi)上行2條指令:“管理單元A 定時(shí)器清零指令”和“管理單元B 定時(shí)器清零指令”。星上接收到該上注指令時(shí),說(shuō)明地面上行信道暢通,管理單元A 或管理單元B 定時(shí)器歸零后重新開(kāi)始計(jì)數(shù);
(3)如果星上一直沒(méi)有接收到“管理單元A 定時(shí)器清零指令”和“管理單元B 定時(shí)器清零指令”,當(dāng)管理單元A 或管理單元B計(jì)數(shù)器溢出時(shí),說(shuō)明地面上行鏈路出現(xiàn)問(wèn)題,此時(shí)對(duì)擴(kuò)頻應(yīng)答機(jī)整機(jī)關(guān)機(jī),間隔10s后再開(kāi)機(jī);然后計(jì)數(shù)器再次從零開(kāi)始計(jì)數(shù);
(4)為在某些特殊情況下,加速星地信道問(wèn)題處理,允許通過(guò)地面上注指令,縮短管理單元A 或管理單元B的計(jì)時(shí)時(shí)間長(zhǎng)度。當(dāng)管理單元A 或管理單元B 收到加速指令后,計(jì)數(shù)器計(jì)數(shù)一定時(shí)間后后對(duì)應(yīng)答機(jī)進(jìn)行關(guān)機(jī)和開(kāi)機(jī)操作。
本文對(duì)我國(guó)小衛(wèi)星領(lǐng)域不同軌道高度小衛(wèi)星的擴(kuò)頻應(yīng)答機(jī)在軌FPGA 和DSP發(fā)生SEU 的情況進(jìn)行了統(tǒng)計(jì)(見(jiàn)表1)。當(dāng)擴(kuò)頻應(yīng)答機(jī)發(fā)生SEU 后,通過(guò)第4節(jié)所述的方法自主恢復(fù)的概率超過(guò)99%,其余1%采用第5節(jié)所述系統(tǒng)級(jí)的方法進(jìn)行恢復(fù),保證了衛(wèi)星遙控和遙測(cè)的正常發(fā)送與執(zhí)行,驗(yàn)證了上述方法的有效性和正確性。
表1 擴(kuò)頻應(yīng)答機(jī)發(fā)生SEU 情況統(tǒng)計(jì)表Table 1 Statistics of transponder occurring SEU
本文對(duì)非相干擴(kuò)頻應(yīng)答機(jī)抗SEU 的設(shè)計(jì)方法進(jìn)行了研究,從單機(jī)和系統(tǒng)層面介紹了由星上特定設(shè)備根據(jù)規(guī)定的原則對(duì)應(yīng)答機(jī)進(jìn)行關(guān)機(jī)和開(kāi)機(jī)操作的抗SEU 方法。根據(jù)目前在軌飛行的情況來(lái)看,擴(kuò)頻應(yīng)答機(jī)能夠在軌穩(wěn)定運(yùn)行,保證了衛(wèi)星測(cè)控鏈路的安全和可靠,采用上述方法能夠?qū)?yīng)答機(jī)FPGA和DSP等單粒子敏感器件受單粒子影響進(jìn)行糾正和恢復(fù)。應(yīng)答機(jī)采取的單機(jī)和系統(tǒng)級(jí)的抗SEU 的方法合理可行,可作為其它星載單粒子敏感器件抗SEU 設(shè)計(jì)的參考。
(References)
[1]Nozomu Nishinaga,Masayoshi Yoneda.Availability analysis of Xilinx FPGA on orbit[C].Military and Aerospace Programmable Logic Devices(MAPLD).Washington D.C.:NASA Office of Logic Design,2005
[2]丁義剛.空間輻射環(huán)境單粒子效應(yīng)研究[J].航天器環(huán)境工程,2007,24(5):283-290 Ding Yigang.Single event effects in space radiation environment[J].Spacecraft Enviroment Engineering,2007,24(5):283-290(in Chinese)
[3]Sonza Reorda,Paccagnella A.Analyzing SEU effects in SRAM-based FPGAs[C].IOLTS2003:IEEE On-line Testing Symposium.New York:IEEE,2003
[4]刑克飛,楊俊,王躍科,等.星載軟件無(wú)線(xiàn)電平臺(tái)及其單粒子效應(yīng)研究方法[J].空間科學(xué)學(xué)報(bào),2006,26(7):477-481 Xing Kefei,Yang Jun,Wang Yueke,et al.Single event simulation and evaluation methodology for spaceborne software radio platform[J].Space Sci.,2006,26(6):477-481(in Chinese)
[5]Robert F,Hodson,Kevin Somervill,et al.An architecture for recongfigurable computing in space[C].Military and Aerospace Programmable Logic Devices(MAPLD).Washington D.C.:NASA Office of Logic Design,2005
[6]Chandru Mirchandani.Using software rules to enhance FPGA reliability[C].Military and Aerospace Programmable Logic Devices(MAPLD).Washington D.C.:NASA Office of Logic Design,2005
[7]黃影,張春元,劉東.SRAM 型FPGA 的抗SEU 方 法研究[J].中國(guó)空間科學(xué)技術(shù),2007,4:57-64 Huang Ying,Zhang Chunyuan,Liu Dong.Research on SEU mitigation of FPGA BASE-on SRAM[J].Chinese Space Science and Technology,2007,27(4):57-64(in Chinese)
[8]Pratt B,Johnson E,Wirthlin M,et al.Improving FPGA design robustness with partial TMR[C]//Military and Aerospace Programmable Logic Devices (MAPLD.Washington D.C.:NASA Office of Logic Design,2005
[9]Fuller E,Caffrey M,Salazar A,et al.Radiation testing update,SEU mitigation,and availability analysis of the Virtex FPGA for space reconfigurable computing[C]//Military and Aerospace Programmable Logic Devices(MAPLD).Washington D.C.:NASA Office of Logic Design,2000
[10]Lo J C.An SFS Berger check prediction ALU and its application to self checking processor designs[J].IEEE Trans.on Computer Aided-Design,1992,11(4):525-540