?

微型星敏感器抗單粒子翻轉設計和驗證

2024-01-08 10:13王燕清杜偉峰占曉敏鐘金鳳
航天器環境工程 2023年6期
關鍵詞:看門狗寄存器標定

王燕清,杜偉峰,金 荷,占曉敏,鐘金鳳,張 磊

(上海航天控制技術研究所,上海 201109)

0 引言

星敏感器是一種以恒星作為測量參考基準的空間姿態敏感器,是迄今為止航天器上姿態測量精度最高的敏感器,具有實時捕獲姿態信息且不隨時間產生漂移等優點,在對地遙感、深空探測、空間攻防等航天應用中具有重要的戰略意義[1-2]。隨著以美國星鏈(Starlink)為代表的互聯網星座衛星的發展,衛星需要星敏感器滿足輕小型、高精度、低成本、批量化、生產周期短的技術要求[3],因此微型星敏感器的電路系統需要選用高集成度、小封裝的電子元器件。在半導體電荷存儲器,如靜態隨機存儲器(SRAM)[4]和動態隨機存儲器(RAM)[5]中,高能離子入射會在MOS 晶體管的阱區和源漏端引發電子-空穴對,產生的寄生電流會使存儲單元比特狀態改變,導致單粒子翻轉(SEU)錯誤;且隨著器件的特征尺寸越來越小,以往大尺寸器件中不明顯的效應(如單粒子效應)顯得愈發突出而成為新的器件損傷因素[6-12]。

目前針對SEU 現象采取的防護措施包括硬件設計和軟件設計兩方面。文獻[13]提出的單粒子效應防護措施主要包括加強元器件選用控制、軟硬件冗余設計以及關鍵器件限流等,需要對選用的低等級元器件在地面通過輻照試驗進行測定;然而輻照試驗周期長、費用高,因此,在商業航天中考慮到低成本和快速研制需求,微型星敏感器選用了大量低等級元器件,并不適合采取上述防護措施。文獻[14]提出的抗SEU 可靠性設計認為,選用抗SEU 器件,配置刷新芯片進行回讀刷新和定時刷新等是解決SEU 的根本辦法。但是抗SEU 器件、配置刷新芯片價格昂貴,且體積較大,不能滿足微型星敏感器的小型化設計和成本控制要求。文獻[15]提出的抗SEU 技術采用傳統的DSP+FPGA 架構,增加反熔絲元器件作為檢測和邏輯譯碼單元,通過回讀對比功能進行監控和處理。該方法主要依靠反熔絲元器件的高可靠性保證,但受成本和體積約束,同樣不適用于微型星敏感器。

本文從微型星敏感器的電路框架硬件平臺和器件選用的特點出發,根據星敏感器工作流程,給出了流程監控狀態字實時檢測軟件運行狀態的方案;同時對于SRAM 區運行的程序和寄存于Flash中的程序進行比對和校正,通過向姿軌控分系統提供統計分類復位次數和產品狀態字的方式由系統用戶進行綜合診斷干預,旨在快速有效地發現和解決SEU 問題。

1 某星敏感器在軌SEU 現象

SEU 現象的發生與空間天然輻射環境和衛星運行區域有關[13]。某星座衛星為太陽同步軌道衛星,軌道高度500~800 km。2023 年2 月下旬,在太陽風暴和地球磁場的相互作用下,該星座衛星上的微型星敏感器在相近的時間段內相繼出現SEU 導致在軌工作異常的現象,無法正常為航天器提供準確的姿態數據,在整星對星敏感器斷電、上電重啟后恢復了正常工作。星敏感器故障現象和數據表現如表1 所示。

表1 某衛星上微型星敏感器在軌SEU 故障現象和數據表現Table 1 In-orbit SEU fault and data performance of micro star sensors on a satellite

2 電路架構和軟件工作流程

微型星敏感器采用傳統的DSP+FPGA 架構[16],其中:FPGA 采用MICROSEMI 公司的Flash 型器件,抗SEU 能力較強;DSP 采用TI 公司的TMS320XX系列器件。微型星敏感器的應用軟件在ISSI 公司的SRAM 中運行,而SRAM 中容易發生SEU 現象??紤]到微型星敏感器主要應用于商業航天,不適合選用高等級元器件,因此需要通過軟件設計增強器件發生SEU 時星敏感器檢測和恢復的能力,從而提高整機的可靠性。為此,需對微型星敏感器應用軟件的工作流程進行梳理。星敏感器可在星跟蹤和全天識別兩種模式間切換,正常工作時99.9%的情況下處于星跟蹤模式,其流程如圖1 所示。

圖1 星敏感器星跟蹤流程Fig.1 Star tracking process of a star sensor

從圖1 可以發現,星跟蹤模式下,軟件功能模塊包括:角速率估計;四元數和光軸指向估計;星矢量之和的計算;二分查找;查找視場內的導航星;計算導航星在星敏感器坐標系下的坐標;反算導航星在探測器像面上的坐標;姿態解算。

軟件在SRAM 中運行;當發生SEU 時,功能模塊數據錯誤將使工作流程出現混亂。因此,通過對正常工作流程的實時監控可以及時發現流程異常、診斷SEU 問題。

3 抗單粒子翻轉方法

3.1 軟件流程監控

結合第2 章對微型星敏感器電路架構和軟件工作流程的分析,為提高器件發生SEU 時的檢測和恢復能力,需要增強軟件和FPGA 產品的可靠性。為了監測SEU 發生時刻及在軟件流程中的位置,增加軟件對星敏感器全天識別與星跟蹤流程各個模塊的自主檢測功能,以便實時發現SEU 現象并進行自主復位;同時上報系統用戶,通過系統級保護恢復機制來提高系統的抗SEU 能力和可靠性。

采用流程監控字方式,開辟一個監控寄存器,用于軟件運行流程監控(功能類似看門狗),監控功能僅在星敏感器正常工作模式(即全天識別模式和星跟蹤模式)下運行,其流程如圖2 所示。

圖2 星敏感器軟件運行流程監控Fig.2 Flow monitoring for software running of a star sensor

正常工作模式下,軟件運行時依次向FPGA寫入監控字(全天識別或星跟蹤模式下),由FPGA檢測寫入寄存器中的監控字是否完整正確:若寫入的監控字在設定的安全時間內不更新或不符合上述流程監控規則時,判定軟件運行流程異常,同時,FPGA 對軟件進行復位,流程監控復位次數加1。

3.2 程序比對檢測

微型星敏感器受到空間輻射影響會發生SEU,出現應用軟件運行異常,因此需要對軟件進行實時檢測和校正。微型星敏感器的應用軟件、導航星庫、標定參數和壞像元參數均存儲3 份(A、B、C)于Flash 中,且這3 份數據完全一致。DSP 地址空間中,程序Flash 的起始地址為0x000000。

應用軟件、導航星庫、標定參數和壞像元參數在Flash 存儲器中的存儲要求見表2。

表2 微型星敏感器程序Flash 數據存儲要求Table 2 Flash data storage requirements for micro star sensor program

微型星敏感器上電后,應用軟件、導航星庫、標定參數和壞像元參數依次從Flash 加載至程序SRAM中運行,SRAM 存儲空間為1 Mbyte×16 bit。DSP 地址空間中,程序SRAM 的主程序段地址為0x400000至0x441000。

程序比對檢測流程如圖3 所示。應用軟件在執行每幀圖像周期的全天識別模式或星跟蹤模式過程中,向FPGA 寄存器寫入監控字,之后分別讀取Flash 中的A、B、C 份和程序SRAM 軟件,并將上述4 份軟件寫入FPGA 的塊RAM 中,完成后軟件再向FPGA 寄存器寫入對應的監控字。FPGA 得到檢測通知并進行軟件比對,比對原則為:FPGA 將Flash 中的3 份軟件進行三取二比對,并將三取二結果與程序SRAM 軟件進行比對,若比對結果存在不一致,則FPGA 對DSP 器件進行復位,應用軟件重新從Flash 加載至程序SRAM 中,程序比對復位次數加1。完成上述流程后,開始下一輪比對檢測。

圖3 程序比對檢測流程Fig.3 Flowchart for software comparison and testing

3.3 分類復位計數

微型星敏感器設置3 種復位方式,用于對流程監控、程序比對和看門狗超時復位次數進行統計,同時為用戶診斷提供參考。其中,系統復位主要是為了防止應用程序跑飛或者死循環,當DSP 長時間不向FPGA 發送喂狗信號或者FPGA 監控字寄存器長時間不更新時,FPGA 對DSP 進行復位,軟件重新從Flash 加載至程序SRAM 中,看門狗超時復位次數加1。DSP 對分類復位計數只讀。微型星敏感器設置的狀態字分類復位計數寄存器為32 位寄存器,各位的定義見表3。

表3 微型星敏感器狀態字分類復位計數寄存器位定義Table 3 Definition of classified reset count of status word for micro star sensors

4 測試試驗驗證

為了驗證第2 章所述通過分類復位計數來診斷SEU 故障方法的有效性,需要人為制造錯誤來模擬在軌SEU 事件:第一種方法是開發單粒子效應模擬軟件,通過在軌編程模擬單粒子效應逐次隨機更改程序SRAM 中的1 bit 數據;第二種方法是通過仿真器,分別修改程序中使用的恒星庫、角距庫、壞像元以及標定參數等重要數據,模擬產品中這些數據被單粒子破壞的情況。

4.1 流程監控、程序比對、看門狗超時測試

通過上述在軌編程和仿真器修改數據的測試方法人為制造數據錯誤后,觸發星敏感器的流程監控錯誤、程序比對錯誤或看門狗超時從而觸發軟件復位操作,通過觀察遙測數據包中分類復位計數寄存器的內容,可以統計各類復位情況。微型星敏感器程序Flash 數據存儲要求如表4 所示。

表4 微型星敏感器程序Flash 數據存儲要求Table 4 Flash data storage requirements for micro star sensor program

從測試結果分析,星敏感器通過流程監控、程序比對、看門狗超時復位等可以對SEU 造成的故障進行自我診斷和恢復,有效避免類似在軌數據異常情況的發生。

4.2 星庫變量、壞像元、標定參數數據維護測試

該測試項目用于測試星敏感器應用軟件利用Flash 中燒錄的星庫、壞像元和標定參數信息,對程序SRAM 中星庫變量、壞像元、標定參數等重要數據進行校驗,對SRAM 中被破壞的數據進行自動恢復。

通過仿真器模擬產品中重要數據被單粒子破壞后數據維護的測試情況如表5 所示。從表中可以看出,通過仿真器將程序中使用的恒星庫、角距庫、壞像元以及標定參數等重要數據進行修改來模擬數據被單粒子破壞的情況,最終被破壞的數據均成功恢復為正確值,表明在軌出現SEU 數據錯誤時,可以被自動維護修正。

表5 星庫變量、壞像元、標定參數數據維護測試Table 5 Maintenance and testing of library, bad pixel data, and calibration parameters

5 結束語

本文針對微型星敏感器在軌SEU 引起的異?,F象,基于商業衛星微型星敏感器的元器件低成本、小封裝等特點,從電路架構和軟件工作流程出發,設計了軟件流程監控、程序比對檢測、看門狗超時復位等軟件增強設計來提高器件的抗SEU 能力,并通過地面修改相關參數或者隨機生成錯誤的方式進行模擬驗證。分析測試數據,表明該方案對于SEU 產生的故障可以及時發現、有效恢復,從出現故障到發現故障的時間<19 s,從發現故障到恢復星敏感器姿態正常輸出的時間<0.2 s,是原先需要地面判斷和控制所需時間的千分之一。同時,該方案可為地面基站遙測控制范圍外的航天器發生故障時的自主恢復提供有效保證,提高了微型星敏感器的在軌可靠性,也為航天飛行器的其他單機產品提供了一種新的抗SEU 解決方案。

后續將開展地面SEU 環境試驗,進一步驗證該SEU 解決方案的有效性。

猜你喜歡
看門狗寄存器標定
使用朗仁H6 Pro標定北汽紳寶轉向角傳感器
Lite寄存器模型的設計與實現
把他叫醒
分簇結構向量寄存器分配策略研究*
基于勻速率26位置法的iIMU-FSAS光纖陀螺儀標定
船載高精度星敏感器安裝角的標定
一種采用FPGA實現的通用看門狗電路
把它叫醒
把它叫醒
基于Harris-張正友平面標定法的攝像機標定算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合