, ,
(1.上海交通大學(xué) 電子與通信工程學(xué)院,上海 200240; 2.上海衛(wèi)星工程研究所,上海 200240)
隨著近年來航天產(chǎn)業(yè)的不斷發(fā)展,商業(yè)衛(wèi)星發(fā)射的爆發(fā)式的增長,按照傳統(tǒng)3~5年的大衛(wèi)星的研發(fā)周期不能滿足商業(yè)航天的業(yè)務(wù)需求。宇航級(jí)的器件受到禁運(yùn)、供貨周期長,并且價(jià)格昂貴等特點(diǎn)限制,是影響商業(yè)航天公司對(duì)衛(wèi)星成本和風(fēng)險(xiǎn)控制的主要因素,因此采用商業(yè)現(xiàn)貨(COTS)器件替代宇航級(jí)器件成為了商業(yè)航天公司發(fā)展的一個(gè)主要方向。但是COTS器件通常不能直接在空間應(yīng)用上直接使用,需要利用三模冗余(TMR)技術(shù)或者其他冗余措施來避免空間效應(yīng)引起的故障,而通常該類冗余措施使系統(tǒng)設(shè)計(jì)復(fù)雜化,增加了額外的開發(fā)成本,引入了新的技術(shù)風(fēng)險(xiǎn)。
本文綜合對(duì)比了國內(nèi)外一般COTS器件的星載計(jì)算機(jī)設(shè)計(jì)模式??紤]到商業(yè)衛(wèi)星在空間實(shí)際工作環(huán)境,如大部分商業(yè)衛(wèi)星為低軌觀測(cè)或通訊衛(wèi)星,設(shè)計(jì)壽命較短,以及星載業(yè)務(wù)處理能力的需求不斷提高,提出了一種基于COTS器件的高費(fèi)效比商業(yè)衛(wèi)星計(jì)算機(jī)。該計(jì)算機(jī)平臺(tái)根據(jù)商業(yè)衛(wèi)星運(yùn)行環(huán)境的特點(diǎn),合理的選用冗余加固措施,在保證星載計(jì)算機(jī)平臺(tái)運(yùn)行安全可靠的同時(shí),不復(fù)雜化系統(tǒng)設(shè)計(jì),提高了衛(wèi)星的星載業(yè)務(wù)處理能力,滿足商業(yè)衛(wèi)星空間工作安全性、可靠性和星載業(yè)務(wù)擴(kuò)展的需求。
目前商業(yè)衛(wèi)星公司對(duì)衛(wèi)星產(chǎn)品的設(shè)計(jì)模式還是在摸索階段,發(fā)射的衛(wèi)星大多為工作在100~1 000 km 的低軌地球觀察衛(wèi)星或者商業(yè)通訊衛(wèi)星。一般空間輻射環(huán)境中會(huì)引發(fā)器件產(chǎn)生故障的主要有輻射累積的總劑量效應(yīng)(TID)和單粒子事件(SEE)。在這個(gè)軌道上輻射總劑量引起的故障不嚴(yán)重,約為1~2 rad(Si)/天,一般器件耐輻射劑量在5 krad(Si)以上[4],考慮到貼鉛皮和衛(wèi)星結(jié)構(gòu)等屏蔽措施,總劑量指標(biāo)滿足大部分商業(yè)衛(wèi)星的壽命要求,所以對(duì)于低軌衛(wèi)星來說引發(fā)故障的主要原因是由高能帶電粒子造成的單粒子翻轉(zhuǎn)。受單粒子翻轉(zhuǎn)影響最大的是大規(guī)模邏輯處理芯片和存儲(chǔ)器件,有針對(duì)性的對(duì)COTS器件實(shí)行板級(jí)和系統(tǒng)級(jí)的冗余加固措施可以有效的避免單粒子引起的功能中斷。
圖1 SCS750板計(jì)算機(jī)體系框圖
圖1是美國MAXWELL公司的SCS750單板計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)框圖,該設(shè)計(jì)綜合了芯片TMR的三模冗余技術(shù)、指令同步技術(shù)和EDAC技術(shù),選用3個(gè)IBM的PowerPC750Fx,通過表決機(jī)制輸出計(jì)算結(jié)果,并且使用EDAC技術(shù)保護(hù)存儲(chǔ)系統(tǒng),在檢測(cè)到3個(gè)處理器輸出結(jié)果不一致的時(shí)候,通過程序s的回卷,再重新同步,繼續(xù)執(zhí)行,SC750在保證處理器在軌運(yùn)行可靠性的同時(shí),處理能力達(dá)到了1 800 MIPS[1]。
圖2 “4DSP+FPGA”體系框圖
圖2是以高可靠的并行星載計(jì)算機(jī)任務(wù)為需求,構(gòu)建了“4DSP+FPGA”的多處理器并行星載計(jì)算機(jī)體系結(jié)構(gòu),提出了運(yùn)行一種“3+1”(3并行1備份)的工作模式,可以將出錯(cuò)的處理器進(jìn)行替換提升了系統(tǒng)的可靠性,同時(shí)利用了DSP快速、豐富的對(duì)外接口實(shí)現(xiàn)多處理器的數(shù)據(jù)信息交互,以保證計(jì)算機(jī)的高性能需求[2,10]。
圖3 基于三模冗余通用計(jì)算機(jī)體系框圖
圖3同樣為針對(duì)低成本高可靠商用小衛(wèi)星方案給出的基于三模冗余的微納衛(wèi)星通用計(jì)算機(jī)平臺(tái),F(xiàn)PGA根據(jù)每次收到的CPU的最新狀態(tài)后進(jìn)行更新,仲裁模塊根據(jù)3個(gè)SPI數(shù)據(jù)冗余交換區(qū)的數(shù)據(jù)進(jìn)行三取二判斷,將判決結(jié)果告知各CPU,各CPU依據(jù)判決結(jié)果,判斷自己是否為當(dāng)班計(jì)算機(jī)[3]。片外存儲(chǔ)芯片為了減少面積和FPGA的設(shè)計(jì)復(fù)雜度,選用了自帶EDAC的SRAM器件。
由于受到COTS器件等級(jí)的限制,大多數(shù)COTS沒有芯片級(jí)的抗輻射設(shè)計(jì)和輻射指標(biāo),采用系統(tǒng)級(jí)的多核或多處理器冗余設(shè)計(jì),可以有效的彌補(bǔ)COTS器件在宇航應(yīng)用中可靠性上的缺陷。但是多核或多處理器的冗余加固設(shè)計(jì)需要在同步點(diǎn)比對(duì)處理器的輸出結(jié)果[1-2],多點(diǎn)的分布式同步設(shè)計(jì)增加了系統(tǒng)調(diào)試和故障分析的復(fù)雜性,引入了額外的技術(shù)風(fēng)險(xiǎn)。
一般將產(chǎn)生的故障分為兩類:一類是可檢測(cè)故障,在產(chǎn)生故障后進(jìn)入故障處理現(xiàn)場(chǎng),進(jìn)行故障處理和隔離,避免故障進(jìn)一步傳播;第二類是產(chǎn)生不可檢測(cè)故障,程序繼續(xù)執(zhí)行,故障傳播直至衛(wèi)星平臺(tái)崩潰。第二類故障幾乎是災(zāi)難性的,在選用COTS器件或組件進(jìn)行計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的時(shí)候,需要盡可能的避免第二類故障的發(fā)生。
對(duì)計(jì)算機(jī)系統(tǒng)內(nèi)各個(gè)功能模塊進(jìn)行分類,大致可分為:處理器模塊、存儲(chǔ)器模塊、接口通訊模塊、運(yùn)行保障模塊。
1)處理器模塊可以通過關(guān)鍵器件三模冗余的策略,檢測(cè)關(guān)鍵器輸出的結(jié)果,當(dāng)檢測(cè)結(jié)果不一致,進(jìn)入到故障處理模式,或采用單粒子免疫的反熔絲器件。
2)存儲(chǔ)器模塊的單粒子翻轉(zhuǎn)故障可以通過軟硬件的EDAC技術(shù)降低發(fā)生功能中斷故障的概率,或者選用單粒子免疫的磁性隨機(jī)存儲(chǔ)器(MRAM)。
3)接口通訊模塊的故障依賴通訊協(xié)議來保障,當(dāng)通訊中發(fā)生校驗(yàn)錯(cuò)誤或超時(shí)響應(yīng),通過重新請(qǐng)求數(shù)據(jù)或者編碼還原原始數(shù)據(jù)。
4)運(yùn)行保障模塊故障,一般不能被本板計(jì)算機(jī)檢測(cè),只能通過切機(jī)操作,切換到備用計(jì)算機(jī)運(yùn)行,斷電復(fù)位故障機(jī)器。
綜合考慮計(jì)算機(jī)系統(tǒng)的運(yùn)算性能、可擴(kuò)展性、可靠性和可測(cè)試性,選用了汽車級(jí)的雙核鎖步處理器作為核心處理芯片。片外存儲(chǔ)器為了簡化FPGA和PCB板的設(shè)計(jì),選用單粒子免疫的磁性隨機(jī)存儲(chǔ)器(MRAM)。MRAM掉電不易失,可以作為掉電復(fù)位后的重要數(shù)據(jù)備份區(qū),并且有和SRAM一樣的訪問速度。使用單粒子免疫的反熔絲器件FPGA作功能接口和CPCI總線的擴(kuò)展,在FPGA內(nèi)對(duì)關(guān)鍵寄存器和內(nèi)部RAM做TMR和EDAC,計(jì)算機(jī)系統(tǒng)框圖如圖4所示。
圖4 基于COTS器件商業(yè)衛(wèi)星計(jì)算機(jī)系統(tǒng)框圖
主處理器選用TMS570LS3137為內(nèi)嵌Cortex-R4F帶有浮點(diǎn)運(yùn)算的微處理器,該芯片運(yùn)行再180 Mhz主頻下,處理性能高達(dá)298 MIPS。TMS570LS3137器件是一款用于安全系統(tǒng)的高性能汽車級(jí)系列微控制器。此安全架構(gòu)包括:以Lock-Step(鎖步模式)運(yùn)行的雙核CPU和3 MB帶EDAC的內(nèi)置FLASH和256KB帶EDAC內(nèi)嵌SRAM。 針對(duì)商業(yè)低軌衛(wèi)星,高能帶電粒子引起的單粒子效應(yīng)是引起衛(wèi)星故障的主要因素,內(nèi)嵌EDAC技術(shù)的FLASH和SRAM有效降低了單粒子效應(yīng)引起的功能中斷和不可檢測(cè)故障的概率。
圖5 TMS570雙核鎖步模式框圖
圖5為TMS570的雙核鎖步運(yùn)行模式框圖。檢測(cè)芯片和主芯片分別前后延遲兩個(gè)時(shí)鐘周期以后,在比較模塊中進(jìn)行輸出比對(duì),若發(fā)生比對(duì)錯(cuò)誤進(jìn)入到故障處理模式中,避免故障繼續(xù)傳播。雙核鎖步的這種方式不僅可以減少板級(jí)系統(tǒng)設(shè)計(jì)的額外開銷,編程模型和單核的一致,簡化了開發(fā)模型,但是這種檢測(cè)方式只存在CPU與外部總線之間,外部資源無法檢檢測(cè)[5]。因此片外存儲(chǔ)器選用單粒子免疫掉電不易失的MRAM器件,并且TMS570片內(nèi)的存儲(chǔ)器件采用EDAC進(jìn)行數(shù)據(jù)冗余,確保衛(wèi)星系統(tǒng)的正常運(yùn)行。
eCos是一款面向深度嵌入式應(yīng)用的開源實(shí)時(shí)操作系統(tǒng)(RTOS)。它已被部署在各種各樣的市場(chǎng)和設(shè)備上,在空間應(yīng)用和地面終端上有較多的應(yīng)用案例。2011年5月,“奮進(jìn)號(hào)”航天飛機(jī)于2011年5月16日成功發(fā)射,并將Alpha磁譜儀(AMS)宇宙線探測(cè)器運(yùn)送到國際空間站中,其中作為主數(shù)據(jù)采集的四冗余計(jì)算機(jī)采用了eCos做為操作系統(tǒng)[6]。Thrane公司的Sailor mini-C海事衛(wèi)星終端采用了eCos操作系統(tǒng)負(fù)責(zé)艦載安全,導(dǎo)航和星地網(wǎng)絡(luò)一體化通信系統(tǒng)。功能包括遇險(xiǎn)警報(bào)和消息,電子郵件,傳真,GPS位置調(diào)查報(bào)告和記錄[7]。
圖6是TMS570的地址映射表。在軟件開發(fā)中,eCos將任務(wù)主要分為兩部分:星上業(yè)務(wù)任務(wù),包含了數(shù)管業(yè)務(wù)和姿軌控業(yè)務(wù);運(yùn)行可靠保障任務(wù),運(yùn)行可靠保障任務(wù)為低優(yōu)先級(jí)的背景任務(wù),主要負(fù)責(zé)遍歷讀取存儲(chǔ)器的各地址段和對(duì)重要數(shù)據(jù)進(jìn)行自主的冗余備份。運(yùn)行可靠保障任務(wù)遍歷讀取片內(nèi)FLASH地址段0x20000000~0x202FFFFF,片內(nèi)SRAM地址段0x08000000~0x083FFFFF,如果發(fā)生單比特為位的單粒子錯(cuò)誤,則產(chǎn)生單比特中斷,由軟件回寫正確數(shù)據(jù)。若發(fā)生多比特中斷,復(fù)位當(dāng)前機(jī),若功能仍異常,則將控制權(quán)交給備份機(jī)器,以免故障影響范圍擴(kuò)大。運(yùn)行可靠保障任務(wù)還對(duì)重要關(guān)鍵數(shù)據(jù)自主的備份到0x6400000地址段,該地址段為MRAM映射地址段。
圖6 TMS570地址映射表
TMS570無法配置成從片外PROM啟動(dòng),并且程序空間位于片內(nèi)FLASH,若片內(nèi)FLASH發(fā)生單粒子翻轉(zhuǎn)則會(huì)產(chǎn)生不可恢復(fù)故障。因此針對(duì)片內(nèi)用于存儲(chǔ)程序段的FLASH進(jìn)行分析。FLASH的翻轉(zhuǎn)以FLASH K9XXG08UXA系列為參考,單粒子效應(yīng)試驗(yàn)在線性能量傳遞值小于時(shí),沒有發(fā)現(xiàn)單粒子鎖定現(xiàn)象,空間輻射環(huán)境采用ADAMS 90%最壞情況模型,太陽同步軌道高度965 Km,單粒子翻轉(zhuǎn)錯(cuò)誤發(fā)生概率大約為[8]。K9XXG08UXA1以8 Gbit為例,可知單比特翻轉(zhuǎn)概率為,TMS570片內(nèi)FLASH為3MByte,同時(shí)在一個(gè)編碼區(qū)里面發(fā)生兩位比特位的翻轉(zhuǎn)才會(huì)發(fā)生不可恢復(fù)的單粒子功能中斷,因此發(fā)生兩位或兩位以上的不可恢復(fù)故障概率為。
f(x)=P2×Q
(1)
式中,P是器件單比特翻轉(zhuǎn)概率,Q是EDAC編碼后的邏輯字節(jié)大小(即 8 bit+編碼區(qū)比特)。同樣的,在這個(gè)軌道上SRAM約為,DRAM約為[4],TMS570片內(nèi)SRAM為256 KB,則發(fā)生兩位或兩位以上不可恢復(fù)的概率為。TMS570在雙核互鎖模式只有兩個(gè)CPU輸出相同才會(huì)輸出,在發(fā)生單粒子翻轉(zhuǎn)并且雙核輸出一致的概率很小,認(rèn)為不會(huì)發(fā)生,因此滿足低軌商業(yè)衛(wèi)星的實(shí)際生產(chǎn)要求。
由2.4的論證可知,存儲(chǔ)器采用EDAC技術(shù)或采用單粒子免疫的MRAM器件進(jìn)行加固,安全性和可靠性均能滿足低軌衛(wèi)星的運(yùn)行環(huán)境的要求,而直接對(duì)處理器進(jìn)行三模冗余加固受到工藝的限制,比較困難,因此影響商業(yè)計(jì)算機(jī)系統(tǒng)安全的主要是由單粒子翻轉(zhuǎn)引起的處理器內(nèi)部寄存器的跳變導(dǎo)致的PC指針錯(cuò)誤跳轉(zhuǎn)、錯(cuò)誤地址操作等。通常處理器的加固方案是通過多核或多處理器冗余備份和自檢,進(jìn)行故障隔離和快速恢復(fù)。
2.5.1 指令同步三模冗余(TMR)星載計(jì)算機(jī)
以SCS750單板計(jì)算機(jī)是指令同步的三模冗余星載計(jì)算機(jī),其故障現(xiàn)場(chǎng)處理流程如圖,當(dāng)檢測(cè)到單粒子翻轉(zhuǎn)以后,三態(tài)隔離故障處理器,通過TMR技術(shù)保存正確數(shù)據(jù)到有EDAC加固的存儲(chǔ)器中,回寫正確數(shù)據(jù)到故障處理器中,重新同步3個(gè)微處理器。SCS750片外存儲(chǔ)區(qū)同樣采用EDAC技術(shù)加固措施。運(yùn)行在LEO和GEO軌道,單板發(fā)生不可檢測(cè)的單粒子故障概率約為,故障恢復(fù)時(shí)間為1 ms[9]。該設(shè)計(jì)方案為三核指令同步運(yùn)行,對(duì)于軟件設(shè)計(jì)來說屏蔽了底層多核的故障隔離和備份操作(由FPGA完成),可以基本繼承單核的開發(fā)模式,操作系統(tǒng)移植也較為簡單,但是FPGA基于60x的三核鎖步運(yùn)行實(shí)現(xiàn)比較困難。PowerPC的性能高但是功耗大,以國微SM750為例,單核處理器運(yùn)行在150 Mhz情況下,功耗約為5 W,則推算三核冗余方案為15 W。
圖7 SCS750單板計(jì)算機(jī)故障處理示意圖
2.5.2 任務(wù)同步多處理器星載計(jì)算機(jī)
多處理器星載計(jì)算機(jī)通過約定同步點(diǎn)來達(dá)到功能模塊或者任務(wù)的同步,載同步點(diǎn)進(jìn)行輸出結(jié)果比對(duì)和恢復(fù)點(diǎn)。以多處理器大規(guī)模星載計(jì)算機(jī)為例,工作在“3+1”模式下,備份DSP根據(jù)各個(gè)DSP歷史運(yùn)行數(shù)據(jù)進(jìn)行判斷,然后對(duì)某個(gè)運(yùn)行DSP進(jìn)行備份,DSP運(yùn)行的時(shí)候通過設(shè)置“比較點(diǎn)”和“比較隊(duì)列”,并且對(duì)處理的任務(wù)進(jìn)行“處理進(jìn)度備份”和快速“恢復(fù)站”技術(shù),通過比較“比較隊(duì)列”的輸出結(jié)果,最優(yōu)情況可以在出現(xiàn)問題以后,在比較點(diǎn)無縫銜接,但是最差情況需要等待故障處理器重啟,恢復(fù)到比較點(diǎn)繼續(xù)運(yùn)行[10]。該計(jì)算機(jī)系統(tǒng)的故障恢復(fù)性能對(duì)插入“比較點(diǎn)”的位置選擇和如何選擇任務(wù)模塊的劃分依賴很大,軟件設(shè)計(jì)模式和計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的耦合度較高,增加了額外的設(shè)計(jì)成本和風(fēng)險(xiǎn)。
2.5.3 指令同步雙核互鎖星載計(jì)算機(jī)
雙核Lock-Step處理器同樣屏蔽了底層多核故障隔離的操作,同樣繼承了單核軟件的開發(fā)模式。但是雙核Lock-Step處理器為指令同步自檢輸出,沒有故障恢復(fù)功能,因此在出現(xiàn)問題后直接進(jìn)入到故障處理入口,進(jìn)行復(fù)位操作或者其他故障隔離措施,圖8是雙核Lock-Step處理器的故障處理流程。
圖8 雙核互鎖處理器故障處理流程
由表1可以看到,雙核Lock-Step處理器星載計(jì)算機(jī)優(yōu)點(diǎn)是可以繼承單核的開發(fā)模式,相比任務(wù)同步的多處理器開發(fā)模型簡單,并且沒有額外的軟件故障處理開銷,298 MIPS的處理性能和的不可測(cè)故障發(fā)生概率,已經(jīng)可以滿足大部分商業(yè)衛(wèi)衛(wèi)星處理平臺(tái)的要求。缺點(diǎn)是相比指令同步的三模冗余計(jì)算機(jī)在處理器發(fā)生故障以后,只能進(jìn)行故障隔離重啟恢復(fù)計(jì)算機(jī),因此在設(shè)計(jì)系統(tǒng)軟件的時(shí)候需要控制處理器的啟動(dòng)時(shí)間。
表1 3種星載計(jì)算機(jī)設(shè)計(jì)模式比較
基于COTS器件的高費(fèi)效比商業(yè)衛(wèi)星計(jì)算機(jī)有著高可靠、高性能、低成本快速研發(fā)等優(yōu)勢(shì),適合空間科學(xué)實(shí)驗(yàn)和新技術(shù)的空間應(yīng)用演示,分布式空間任務(wù)的部署和快速偵查等應(yīng)用。圖9為基于COTS器件的高費(fèi)效比商業(yè)衛(wèi)星計(jì)算機(jī),其中硬件設(shè)計(jì)方案已經(jīng)應(yīng)用在“和德一號(hào)”商用AIS(船舶自動(dòng)識(shí)別)海事衛(wèi)星上,該衛(wèi)星于2017年11月15日在中國太原衛(wèi)星發(fā)射中心由長征四號(hào)丙運(yùn)載火箭成功發(fā)射并順利進(jìn)入預(yù)定軌道,目前衛(wèi)星各項(xiàng)技術(shù)指標(biāo)正常,任務(wù)順利展開。
圖9 基于COTS器件商業(yè)衛(wèi)星計(jì)算機(jī)平臺(tái)
本文針對(duì)商業(yè)衛(wèi)星計(jì)算機(jī)的發(fā)展,提出了一種基于COTS器件的高費(fèi)效比的商業(yè)衛(wèi)星計(jì)算機(jī),通過采用EDAC技術(shù)、選用單粒子免疫的器件和基于雙核Lock-Step處理器,通過推論分析滿足一般商業(yè)低軌衛(wèi)星的工作環(huán)境要求。該系統(tǒng)基于COTS器件開發(fā),利用雙核互鎖處理器單核開發(fā)模型的優(yōu)勢(shì),在保證系統(tǒng)可靠性前提下,不增加系統(tǒng)的復(fù)雜度,并提升了星載數(shù)據(jù)的處理能力,降低了衛(wèi)星研發(fā)成本。計(jì)算機(jī)系統(tǒng)已經(jīng)在“和德一號(hào)” 上驗(yàn)證,系統(tǒng)安全可靠,并且在空間科學(xué)實(shí)驗(yàn)、分布式空間任務(wù)部署和快速偵查等領(lǐng)域中具有良好的應(yīng)用前景。