, ,
(1.上海交通大學 電子與通信工程學院,上海 200240; 2.上海衛星工程研究所,上海 200240)
隨著近年來航天產業的不斷發展,商業衛星發射的爆發式的增長,按照傳統3~5年的大衛星的研發周期不能滿足商業航天的業務需求。宇航級的器件受到禁運、供貨周期長,并且價格昂貴等特點限制,是影響商業航天公司對衛星成本和風險控制的主要因素,因此采用商業現貨(COTS)器件替代宇航級器件成為了商業航天公司發展的一個主要方向。但是COTS器件通常不能直接在空間應用上直接使用,需要利用三模冗余(TMR)技術或者其他冗余措施來避免空間效應引起的故障,而通常該類冗余措施使系統設計復雜化,增加了額外的開發成本,引入了新的技術風險。
本文綜合對比了國內外一般COTS器件的星載計算機設計模式??紤]到商業衛星在空間實際工作環境,如大部分商業衛星為低軌觀測或通訊衛星,設計壽命較短,以及星載業務處理能力的需求不斷提高,提出了一種基于COTS器件的高費效比商業衛星計算機。該計算機平臺根據商業衛星運行環境的特點,合理的選用冗余加固措施,在保證星載計算機平臺運行安全可靠的同時,不復雜化系統設計,提高了衛星的星載業務處理能力,滿足商業衛星空間工作安全性、可靠性和星載業務擴展的需求。
目前商業衛星公司對衛星產品的設計模式還是在摸索階段,發射的衛星大多為工作在100~1 000 km 的低軌地球觀察衛星或者商業通訊衛星。一般空間輻射環境中會引發器件產生故障的主要有輻射累積的總劑量效應(TID)和單粒子事件(SEE)。在這個軌道上輻射總劑量引起的故障不嚴重,約為1~2 rad(Si)/天,一般器件耐輻射劑量在5 krad(Si)以上[4],考慮到貼鉛皮和衛星結構等屏蔽措施,總劑量指標滿足大部分商業衛星的壽命要求,所以對于低軌衛星來說引發故障的主要原因是由高能帶電粒子造成的單粒子翻轉。受單粒子翻轉影響最大的是大規模邏輯處理芯片和存儲器件,有針對性的對COTS器件實行板級和系統級的冗余加固措施可以有效的避免單粒子引起的功能中斷。

圖1 SCS750板計算機體系框圖
圖1是美國MAXWELL公司的SCS750單板計算機的系統結構框圖,該設計綜合了芯片TMR的三模冗余技術、指令同步技術和EDAC技術,選用3個IBM的PowerPC750Fx,通過表決機制輸出計算結果,并且使用EDAC技術保護存儲系統,在檢測到3個處理器輸出結果不一致的時候,通過程序s的回卷,再重新同步,繼續執行,SC750在保證處理器在軌運行可靠性的同時,處理能力達到了1 800 MIPS[1]。

圖2 “4DSP+FPGA”體系框圖
圖2是以高可靠的并行星載計算機任務為需求,構建了“4DSP+FPGA”的多處理器并行星載計算機體系結構,提出了運行一種“3+1”(3并行1備份)的工作模式,可以將出錯的處理器進行替換提升了系統的可靠性,同時利用了DSP快速、豐富的對外接口實現多處理器的數據信息交互,以保證計算機的高性能需求[2,10]。

圖3 基于三模冗余通用計算機體系框圖
圖3同樣為針對低成本高可靠商用小衛星方案給出的基于三模冗余的微納衛星通用計算機平臺,FPGA根據每次收到的CPU的最新狀態后進行更新,仲裁模塊根據3個SPI數據冗余交換區的數據進行三取二判斷,將判決結果告知各CPU,各CPU依據判決結果,判斷自己是否為當班計算機[3]。片外存儲芯片為了減少面積和FPGA的設計復雜度,選用了自帶EDAC的SRAM器件。
由于受到COTS器件等級的限制,大多數COTS沒有芯片級的抗輻射設計和輻射指標,采用系統級的多核或多處理器冗余設計,可以有效的彌補COTS器件在宇航應用中可靠性上的缺陷。但是多核或多處理器的冗余加固設計需要在同步點比對處理器的輸出結果[1-2],多點的分布式同步設計增加了系統調試和故障分析的復雜性,引入了額外的技術風險。
一般將產生的故障分為兩類:一類是可檢測故障,在產生故障后進入故障處理現場,進行故障處理和隔離,避免故障進一步傳播;第二類是產生不可檢測故障,程序繼續執行,故障傳播直至衛星平臺崩潰。第二類故障幾乎是災難性的,在選用COTS器件或組件進行計算機系統設計的時候,需要盡可能的避免第二類故障的發生。
對計算機系統內各個功能模塊進行分類,大致可分為:處理器模塊、存儲器模塊、接口通訊模塊、運行保障模塊。
1)處理器模塊可以通過關鍵器件三模冗余的策略,檢測關鍵器輸出的結果,當檢測結果不一致,進入到故障處理模式,或采用單粒子免疫的反熔絲器件。
2)存儲器模塊的單粒子翻轉故障可以通過軟硬件的EDAC技術降低發生功能中斷故障的概率,或者選用單粒子免疫的磁性隨機存儲器(MRAM)。
3)接口通訊模塊的故障依賴通訊協議來保障,當通訊中發生校驗錯誤或超時響應,通過重新請求數據或者編碼還原原始數據。
4)運行保障模塊故障,一般不能被本板計算機檢測,只能通過切機操作,切換到備用計算機運行,斷電復位故障機器。
綜合考慮計算機系統的運算性能、可擴展性、可靠性和可測試性,選用了汽車級的雙核鎖步處理器作為核心處理芯片。片外存儲器為了簡化FPGA和PCB板的設計,選用單粒子免疫的磁性隨機存儲器(MRAM)。MRAM掉電不易失,可以作為掉電復位后的重要數據備份區,并且有和SRAM一樣的訪問速度。使用單粒子免疫的反熔絲器件FPGA作功能接口和CPCI總線的擴展,在FPGA內對關鍵寄存器和內部RAM做TMR和EDAC,計算機系統框圖如圖4所示。

圖4 基于COTS器件商業衛星計算機系統框圖
主處理器選用TMS570LS3137為內嵌Cortex-R4F帶有浮點運算的微處理器,該芯片運行再180 Mhz主頻下,處理性能高達298 MIPS。TMS570LS3137器件是一款用于安全系統的高性能汽車級系列微控制器。此安全架構包括:以Lock-Step(鎖步模式)運行的雙核CPU和3 MB帶EDAC的內置FLASH和256KB帶EDAC內嵌SRAM。 針對商業低軌衛星,高能帶電粒子引起的單粒子效應是引起衛星故障的主要因素,內嵌EDAC技術的FLASH和SRAM有效降低了單粒子效應引起的功能中斷和不可檢測故障的概率。

圖5 TMS570雙核鎖步模式框圖
圖5為TMS570的雙核鎖步運行模式框圖。檢測芯片和主芯片分別前后延遲兩個時鐘周期以后,在比較模塊中進行輸出比對,若發生比對錯誤進入到故障處理模式中,避免故障繼續傳播。雙核鎖步的這種方式不僅可以減少板級系統設計的額外開銷,編程模型和單核的一致,簡化了開發模型,但是這種檢測方式只存在CPU與外部總線之間,外部資源無法檢檢測[5]。因此片外存儲器選用單粒子免疫掉電不易失的MRAM器件,并且TMS570片內的存儲器件采用EDAC進行數據冗余,確保衛星系統的正常運行。
eCos是一款面向深度嵌入式應用的開源實時操作系統(RTOS)。它已被部署在各種各樣的市場和設備上,在空間應用和地面終端上有較多的應用案例。2011年5月,“奮進號”航天飛機于2011年5月16日成功發射,并將Alpha磁譜儀(AMS)宇宙線探測器運送到國際空間站中,其中作為主數據采集的四冗余計算機采用了eCos做為操作系統[6]。Thrane公司的Sailor mini-C海事衛星終端采用了eCos操作系統負責艦載安全,導航和星地網絡一體化通信系統。功能包括遇險警報和消息,電子郵件,傳真,GPS位置調查報告和記錄[7]。
圖6是TMS570的地址映射表。在軟件開發中,eCos將任務主要分為兩部分:星上業務任務,包含了數管業務和姿軌控業務;運行可靠保障任務,運行可靠保障任務為低優先級的背景任務,主要負責遍歷讀取存儲器的各地址段和對重要數據進行自主的冗余備份。運行可靠保障任務遍歷讀取片內FLASH地址段0x20000000~0x202FFFFF,片內SRAM地址段0x08000000~0x083FFFFF,如果發生單比特為位的單粒子錯誤,則產生單比特中斷,由軟件回寫正確數據。若發生多比特中斷,復位當前機,若功能仍異常,則將控制權交給備份機器,以免故障影響范圍擴大。運行可靠保障任務還對重要關鍵數據自主的備份到0x6400000地址段,該地址段為MRAM映射地址段。

圖6 TMS570地址映射表
TMS570無法配置成從片外PROM啟動,并且程序空間位于片內FLASH,若片內FLASH發生單粒子翻轉則會產生不可恢復故障。因此針對片內用于存儲程序段的FLASH進行分析。FLASH的翻轉以FLASH K9XXG08UXA系列為參考,單粒子效應試驗在線性能量傳遞值小于時,沒有發現單粒子鎖定現象,空間輻射環境采用ADAMS 90%最壞情況模型,太陽同步軌道高度965 Km,單粒子翻轉錯誤發生概率大約為[8]。K9XXG08UXA1以8 Gbit為例,可知單比特翻轉概率為,TMS570片內FLASH為3MByte,同時在一個編碼區里面發生兩位比特位的翻轉才會發生不可恢復的單粒子功能中斷,因此發生兩位或兩位以上的不可恢復故障概率為。
f(x)=P2×Q
(1)
式中,P是器件單比特翻轉概率,Q是EDAC編碼后的邏輯字節大小(即 8 bit+編碼區比特)。同樣的,在這個軌道上SRAM約為,DRAM約為[4],TMS570片內SRAM為256 KB,則發生兩位或兩位以上不可恢復的概率為。TMS570在雙核互鎖模式只有兩個CPU輸出相同才會輸出,在發生單粒子翻轉并且雙核輸出一致的概率很小,認為不會發生,因此滿足低軌商業衛星的實際生產要求。
由2.4的論證可知,存儲器采用EDAC技術或采用單粒子免疫的MRAM器件進行加固,安全性和可靠性均能滿足低軌衛星的運行環境的要求,而直接對處理器進行三模冗余加固受到工藝的限制,比較困難,因此影響商業計算機系統安全的主要是由單粒子翻轉引起的處理器內部寄存器的跳變導致的PC指針錯誤跳轉、錯誤地址操作等。通常處理器的加固方案是通過多核或多處理器冗余備份和自檢,進行故障隔離和快速恢復。
2.5.1 指令同步三模冗余(TMR)星載計算機
以SCS750單板計算機是指令同步的三模冗余星載計算機,其故障現場處理流程如圖,當檢測到單粒子翻轉以后,三態隔離故障處理器,通過TMR技術保存正確數據到有EDAC加固的存儲器中,回寫正確數據到故障處理器中,重新同步3個微處理器。SCS750片外存儲區同樣采用EDAC技術加固措施。運行在LEO和GEO軌道,單板發生不可檢測的單粒子故障概率約為,故障恢復時間為1 ms[9]。該設計方案為三核指令同步運行,對于軟件設計來說屏蔽了底層多核的故障隔離和備份操作(由FPGA完成),可以基本繼承單核的開發模式,操作系統移植也較為簡單,但是FPGA基于60x的三核鎖步運行實現比較困難。PowerPC的性能高但是功耗大,以國微SM750為例,單核處理器運行在150 Mhz情況下,功耗約為5 W,則推算三核冗余方案為15 W。

圖7 SCS750單板計算機故障處理示意圖
2.5.2 任務同步多處理器星載計算機
多處理器星載計算機通過約定同步點來達到功能模塊或者任務的同步,載同步點進行輸出結果比對和恢復點。以多處理器大規模星載計算機為例,工作在“3+1”模式下,備份DSP根據各個DSP歷史運行數據進行判斷,然后對某個運行DSP進行備份,DSP運行的時候通過設置“比較點”和“比較隊列”,并且對處理的任務進行“處理進度備份”和快速“恢復站”技術,通過比較“比較隊列”的輸出結果,最優情況可以在出現問題以后,在比較點無縫銜接,但是最差情況需要等待故障處理器重啟,恢復到比較點繼續運行[10]。該計算機系統的故障恢復性能對插入“比較點”的位置選擇和如何選擇任務模塊的劃分依賴很大,軟件設計模式和計算機系統設計的耦合度較高,增加了額外的設計成本和風險。
2.5.3 指令同步雙核互鎖星載計算機
雙核Lock-Step處理器同樣屏蔽了底層多核故障隔離的操作,同樣繼承了單核軟件的開發模式。但是雙核Lock-Step處理器為指令同步自檢輸出,沒有故障恢復功能,因此在出現問題后直接進入到故障處理入口,進行復位操作或者其他故障隔離措施,圖8是雙核Lock-Step處理器的故障處理流程。

圖8 雙核互鎖處理器故障處理流程
由表1可以看到,雙核Lock-Step處理器星載計算機優點是可以繼承單核的開發模式,相比任務同步的多處理器開發模型簡單,并且沒有額外的軟件故障處理開銷,298 MIPS的處理性能和的不可測故障發生概率,已經可以滿足大部分商業衛衛星處理平臺的要求。缺點是相比指令同步的三模冗余計算機在處理器發生故障以后,只能進行故障隔離重啟恢復計算機,因此在設計系統軟件的時候需要控制處理器的啟動時間。

表1 3種星載計算機設計模式比較
基于COTS器件的高費效比商業衛星計算機有著高可靠、高性能、低成本快速研發等優勢,適合空間科學實驗和新技術的空間應用演示,分布式空間任務的部署和快速偵查等應用。圖9為基于COTS器件的高費效比商業衛星計算機,其中硬件設計方案已經應用在“和德一號”商用AIS(船舶自動識別)海事衛星上,該衛星于2017年11月15日在中國太原衛星發射中心由長征四號丙運載火箭成功發射并順利進入預定軌道,目前衛星各項技術指標正常,任務順利展開。

圖9 基于COTS器件商業衛星計算機平臺
本文針對商業衛星計算機的發展,提出了一種基于COTS器件的高費效比的商業衛星計算機,通過采用EDAC技術、選用單粒子免疫的器件和基于雙核Lock-Step處理器,通過推論分析滿足一般商業低軌衛星的工作環境要求。該系統基于COTS器件開發,利用雙核互鎖處理器單核開發模型的優勢,在保證系統可靠性前提下,不增加系統的復雜度,并提升了星載數據的處理能力,降低了衛星研發成本。計算機系統已經在“和德一號” 上驗證,系統安全可靠,并且在空間科學實驗、分布式空間任務部署和快速偵查等領域中具有良好的應用前景。