何燁貞,李 健,彭 宏
(中國電子科技集團公司第三十二研究所,上海 嘉定 201822)
隨著衛星技術不斷發展,星載綜合射頻系統的功能需求變得越來越復雜和多樣化。傳統的星載綜合射頻系統平臺通常基于硬件設備,其配置和功能相對固定;因此當計算需求增長或發生變化時,需要手動添加、升級或更換硬件設備,這可能導致配置變得煩瑣和耗時,并限制了平臺的可擴展性。此外,傳統平臺通常需要手動配置和管理,包括網絡設置、設備調整和故障排除等。這需要大量的人工干預和操作,容易出現人為錯誤,并且會增加管理的復雜性和成本。傳統平臺中的硬件設備通常只能為特定的應用程序或服務提供資源,而不能靈活共享和利用資源。這導致資源利用率較低,可能造成資源浪費和性能瓶頸。傳統平臺通常缺乏自動化和編程接口,無法實現快速配置、自動化管理和編程化的操作。這使得平臺的管理和維護過程更加煩瑣和耗時,并且限制了平臺的靈活性和可擴展性。傳統平臺通常缺乏全局視圖和整體管理的能力。管理人員可能需要在不同的設備和系統之間切換,無法全面了解整個系統,這增加了管理的復雜性和困難。
本文設計了一種星載綜合射頻系統軟件定義平臺,將波形軟件與底層硬件平臺分離,促進波形軟件的可移植性和重復使用,避免重新開發波形的成本。鑒于星載系統的特殊環境和資源限制,該設計方案致力于應對資源緊張環境所帶來的輕量通信、動態重構及潛在的單粒子翻轉問題。
為了實現星載綜合射頻系統中的軟硬件解耦[1],本文采用了軟件組件化和硬件構件化的方法[2],由管理系統動態映射軟硬件之間的關系[3],實現系統的靈活重構。本文提出的軟件定義星載綜合射頻系統的軟件架構如圖1 所示。

圖1 系統基礎軟件支撐平臺技術架構
軟件定義衛星通信載荷系統包括嵌入式操作系統、數字信號處理器(Digital Signal Processor,DSP)操作系統、星載綜合射頻系統構件化集成部署運行環境、星載應用和波形應用。嵌入式操作系統和DSP 操作系統分別運行在主控模塊和信號處理模塊上。波形應用包括組件、節點、平臺和應用。通過波形組件化和組件復用,開發人員開發波形的效率得到了提高。
星載應用包括CPU 構件、DSP 構件和現場可編程門陣列(Field Programmable Gate Arrays,FPGA)構件。在波形運行時,波形組件會動態映射到構件上。當某個構件發生故障時,系統可以通過故障檢測和動態重構的方式,用其他可用的構件替代受損的構件,從而提高系統的穩定性。
集成部署運行管理框架是構件化運行環境的核心功能部件[4],是對底層軟件和硬件的高層次抽象,提供域管理服務、設備管理服務、應用管理服務、日志服務等功能。系統資源狀態監控服務實時顯示系統中的所有節點信息。實時監測系統的CPU、內存、磁盤等資源使用情況,提供性能指標和警報,有助于優化系統性能。輕量級分布式通信中間件屏蔽底層通信機制,提供統一消息格式和硬件訪問接口。
本節主要對上述系統架構中關鍵復雜技術進行基本闡述。基于軟件組件化、硬件構件化、軟硬件動態映射的基本思想[5],并考慮到星載系統的特殊環境和資源限制,有3 個關鍵問題需要解決:(1)軟件組件和硬件構件之間的動態重構問題;(2)構件之間的通信問題;(3)潛在的單粒子翻轉問題。第1 個通過應用部署藍圖實現,第2 個通過輕量級分布式通信中間件和地址映射表實現,最后一個通過三模冗余進行安全加固。
系統的動態重構是指系統在資源和任務情況發生改變時,基于重構規則,使用不同的映射或配置方式,實現系統軟硬件資源的映射關系調整。
系統重構的實現依賴于重構規則。重構規則包括資源的選擇原則和優先級策略等,是整個系統資源分配策略的核心。重構規則需要綜合考慮冗余、空閑資源、運行模式、任務優先級、降級配置等因素的限制,對重構的條件、動作和約束進行規范。在重構規則的約束下,軟件藍圖、硬件藍圖和應用部署藍圖有機結合,使系統重構能夠適應承載各種不同功能組件,將功能模式所需的軟件能力映射到具體的硬件模塊上運行,從而實現不同的任務模式。
系統重構的標準規則包括以下要點:
(1)模塊必須處于加電且正常工作狀態,處理器類型需符合軟件模塊要求;
(2)處理器當前的處理能力和內存要滿足軟件構件的需求,模塊當前的通信接口速率要滿足軟件組件的要求;
(3)優先選擇負載較輕的模塊;
(4)若仍然沒有可用資源,則重構失敗。
這些規則確保了系統重構過程中的資源選擇和配置滿足要求,從而保證了系統的穩定性和性能。系統重構可分為規劃重構和故障重構兩種類型。
2.1.1 規劃重構
規劃重構是在工作模式改變時進行的重構[6],星載綜合射頻系統的工作模式包括電子偵察模式、通信廣播模式和微波成像模式。規劃重構針對所有軟件組件,根據重構規則從硬件構件CPU、DSP 和FPGA 模塊中選擇目標處理器進行部署。
重構流程如下:
(1)發起功能重構并指定重構工作模式;
(2)收集重構節點的硬件設備狀態;
(3)根據重構模式指令,檢索和驗證存儲設備中相應的軟件藍圖,結合硬件設備狀態信息,按照重構規則分析資源是否滿足軟件重構部署的需求,并控制完成規劃重構。
2.1.2 故障重構
故障重構是在硬件構件CPU、DSP 和FPGA 模塊發生故障時,重新為軟件組件選擇可以替代故障處理器的目標處理器,它不會改變現有的工作模式和部署狀態。通過這種方式,系統能夠在故障時高效地替換單個構件,以保證系統的穩定性和功能的完整性。
星載綜合射頻系統中的硬件包括CPU、DSP 和FPGA。CPU 和DSP 分別搭載嵌入式實時操作系統和DSP 實時操作系統,它們采用輕量級分布式通信中間件作為通信方式[7],而FPGA 沒有操作系統支持,因此它采用地址映射表通信[8]。
2.2.1 輕量級分布式通信中間件
CPU 與CPU、CPU 與DSP、DSP 與DSP 之 間的通信可以通過輕量級分布式通信中間件來進行。傳統的分布式通信方法,如TCP/IP,具有較高的運行成本,并且TCP/IP 協議棧在小型系統如DSP 上不適用。本文設計的輕量級分布式通信中間件體系結構如圖2 所示,其具有以下特點:

圖2 輕量級分布式通信中間件
(1)同時兼容不同操作系統、CPU 和傳輸媒介,適用于整個分布式異構系統中的本地通信和遠程通信。該中間件允許不同平臺之間進行通信,并且支持多種通信介質,包括共享內存、RapidIO、千兆以太網和網絡協議棧。
(2)具備靈活的擴展性,可以適應大型系統,并支持任意拓撲結構,使得分布式系統能夠實現平臺間的相互獨立連接。
輕量級分布式通信中間件協議棧由會話層和傳輸層兩個層級組成。會話層負責實現傳輸功能,其中包括通過名稱查找通信終端的命名服務,以及異步通知通信關閉的鏈接監控服務。傳輸層則負責實現可靠有序傳輸任意大小消息的機制,并根據不同的傳輸媒介使用相應的傳輸協議。
會話層在系統中承擔著遠程通信和本地通信的功能。在遠程通信中,會話層負責解析遠程通信終端的名稱,建立或刪除與遠程通信終端的本地代理,并進行源端到目的端系統之間的通信。而在本地通信中,會話層處理本地操作系統與應用程序之間的交互。
傳輸層為會話層提供可靠的傳輸機制。在非可靠傳輸媒介(如以太網)的情況下,傳輸層需要實現流控和重傳機制,以應對丟包情況,并提供對端監控機制,以增加傳輸的可靠性。這增加了傳輸層的復雜性。而在可靠傳輸媒介(如共享內存和RapidIO)的情況下,傳輸層可以簡化處理。
通過以上兩個層級的結合,輕量級分布式通信中間件協議棧能夠提供高效可靠的進程間通信解決方案,適應不同傳輸媒介和異構系統的需求。
輕量級分布式通信中間件的基本操作包括以下步驟:
(1)加載核心程序:在操作系統啟動后,加載輕量級分布式通信中間件的核心程序。
(2)建立物理連接:根據通信需求選擇合適的通信介質(如TCP、以太網卡、共享內存),建立物理連接。
(3)創建邏輯連接:在物理連接建立后,創建邏輯連接。
(4)應用程序通信:創建通信節點,并通過通信節點進行通信操作,發送數據給對端或接收對端發送的數據。
(5)通信信號(Signal):定義信號的結構體,并為信號數據包分配內存,填充數據后進行發送。
(6)搜尋通信節點:搜索對端節點,獲取對端節點的標識。
(7)發送數據(Send):向對端發送數據。
(8)接收數據(Receive):接收對端發送的數據。
(9)監控對端節點:監控對端節點的狀態,當對端關閉時會接收到特定的信號。
2.2.2 基于地址映射表的通信
FPGA 與FPGA、FPGA 與DSP、FPGA 與CPU之間的通信可以通過基于地址映射表的通信規范來進行[9]。地址映射表是維護邏輯地址和物理地址之間映射關系的表格,每個邏輯名稱和邏輯標識都對應著唯一的物理端口信息。用戶只需要關注通信兩端的邏輯ID,而無須關注實際的物理端口。這樣的設計簡化了通信操作,提供了方便的接口。
靜態隨機存取存儲器(Static Random Access Memory,SRAM)型FPGA 以其可重復編程和高度靈活性等特性,廣泛應用于宇航電子設備中。然而,在宇宙輻射環境中,FPGA 容易受到單粒子翻轉(Single Event Upset,SEU)的影響。這種現象發生在宇宙高能粒子射入FPGA 的敏感區域時,可能導致FPGA 中存儲單元的邏輯狀態翻轉,從而引發軟件錯誤,嚴重時甚至可能損壞硬件電路。尤其隨著FPGA 晶體管尺寸不斷縮小,輻射對SRAM 存儲單元的影響日益顯著。
此外,隨著集成電路工藝尺寸不斷減小,瞬態脈沖在傳輸過程中很難被衰減。由于電路工作速度的提高和時鐘頻率的增大,單粒子瞬態(Single Event Transients,SET)對軟件錯誤的影響越來越明顯,特別是對組合邏輯電路而言。
為了緩解SEU 和SET 的影響,常見的方法之一是采用三模冗余[10](Triple Modular Redundancy,TMR)。如圖3 所示,TMR 利用3 個相同的模塊(module)同時執行相同的操作,其中3 路信號通過多數表決器(voter)進行投票,根據少數服從多數的原則輸出結果。這樣可以確保一個模塊的錯誤輸出不會傳播到下一個模塊,只要不同模塊不同時發生故障,就可以抵消錯誤,保證最終輸出的準確性。這種方法能夠顯著增強單粒子效應對電路的影響。

圖3 三模冗余進行安全加固
本文提出了一種面向星載綜合射頻系統的軟件定義平臺,其核心設計思想是軟件組件化和軟硬件解耦。通過將系統功能劃分為獨立的組件,實現了模塊化開發和維護的優勢。同時,平臺還支持軟硬件之間的動態重構,能夠根據任務模式和資源狀態的變化,靈活地調整軟硬件之間的映射關系,提高系統的適應性和靈活性。為了滿足不同傳輸媒介和異構系統的需求,該平臺采用了一種輕量級分布式通信機制。該通信機制具有高效可靠的特性,能夠提供可靠的進程間通信解決方案。它可以適應不同的傳輸媒介,確保數據的可靠傳輸和及時交互,滿足異構系統之間的通信需求。同時,星載綜合射頻系統由于其運行環境的特殊性,需要考慮宇宙空間環境中的射線、輻射、電磁干擾等造成的粒子翻轉問題。通過在系統中引入冗余模塊,并三路投票,保證最終輸出的正確性。
綜上所述,本文提出的面向星載綜合射頻系統的軟件定義平臺通過軟件組件化、軟硬件解耦、動態重構、三模冗余和輕量級分布式通信機制等關鍵技術,為星載綜合射頻系統提供了靈活、高效、可靠的軟件定義解決方案。