何燁貞,李 健,彭 宏
(中國電子科技集團公司第三十二研究所,上海 嘉定 201822)
隨著衛(wèi)星技術(shù)不斷發(fā)展,星載綜合射頻系統(tǒng)的功能需求變得越來越復(fù)雜和多樣化。傳統(tǒng)的星載綜合射頻系統(tǒng)平臺通?;谟布O(shè)備,其配置和功能相對固定;因此當(dāng)計算需求增長或發(fā)生變化時,需要手動添加、升級或更換硬件設(shè)備,這可能導(dǎo)致配置變得煩瑣和耗時,并限制了平臺的可擴展性。此外,傳統(tǒng)平臺通常需要手動配置和管理,包括網(wǎng)絡(luò)設(shè)置、設(shè)備調(diào)整和故障排除等。這需要大量的人工干預(yù)和操作,容易出現(xiàn)人為錯誤,并且會增加管理的復(fù)雜性和成本。傳統(tǒng)平臺中的硬件設(shè)備通常只能為特定的應(yīng)用程序或服務(wù)提供資源,而不能靈活共享和利用資源。這導(dǎo)致資源利用率較低,可能造成資源浪費和性能瓶頸。傳統(tǒng)平臺通常缺乏自動化和編程接口,無法實現(xiàn)快速配置、自動化管理和編程化的操作。這使得平臺的管理和維護過程更加煩瑣和耗時,并且限制了平臺的靈活性和可擴展性。傳統(tǒng)平臺通常缺乏全局視圖和整體管理的能力。管理人員可能需要在不同的設(shè)備和系統(tǒng)之間切換,無法全面了解整個系統(tǒng),這增加了管理的復(fù)雜性和困難。
本文設(shè)計了一種星載綜合射頻系統(tǒng)軟件定義平臺,將波形軟件與底層硬件平臺分離,促進波形軟件的可移植性和重復(fù)使用,避免重新開發(fā)波形的成本。鑒于星載系統(tǒng)的特殊環(huán)境和資源限制,該設(shè)計方案致力于應(yīng)對資源緊張環(huán)境所帶來的輕量通信、動態(tài)重構(gòu)及潛在的單粒子翻轉(zhuǎn)問題。
為了實現(xiàn)星載綜合射頻系統(tǒng)中的軟硬件解耦[1],本文采用了軟件組件化和硬件構(gòu)件化的方法[2],由管理系統(tǒng)動態(tài)映射軟硬件之間的關(guān)系[3],實現(xiàn)系統(tǒng)的靈活重構(gòu)。本文提出的軟件定義星載綜合射頻系統(tǒng)的軟件架構(gòu)如圖1 所示。
圖1 系統(tǒng)基礎(chǔ)軟件支撐平臺技術(shù)架構(gòu)
軟件定義衛(wèi)星通信載荷系統(tǒng)包括嵌入式操作系統(tǒng)、數(shù)字信號處理器(Digital Signal Processor,DSP)操作系統(tǒng)、星載綜合射頻系統(tǒng)構(gòu)件化集成部署運行環(huán)境、星載應(yīng)用和波形應(yīng)用。嵌入式操作系統(tǒng)和DSP 操作系統(tǒng)分別運行在主控模塊和信號處理模塊上。波形應(yīng)用包括組件、節(jié)點、平臺和應(yīng)用。通過波形組件化和組件復(fù)用,開發(fā)人員開發(fā)波形的效率得到了提高。
星載應(yīng)用包括CPU 構(gòu)件、DSP 構(gòu)件和現(xiàn)場可編程門陣列(Field Programmable Gate Arrays,F(xiàn)PGA)構(gòu)件。在波形運行時,波形組件會動態(tài)映射到構(gòu)件上。當(dāng)某個構(gòu)件發(fā)生故障時,系統(tǒng)可以通過故障檢測和動態(tài)重構(gòu)的方式,用其他可用的構(gòu)件替代受損的構(gòu)件,從而提高系統(tǒng)的穩(wěn)定性。
集成部署運行管理框架是構(gòu)件化運行環(huán)境的核心功能部件[4],是對底層軟件和硬件的高層次抽象,提供域管理服務(wù)、設(shè)備管理服務(wù)、應(yīng)用管理服務(wù)、日志服務(wù)等功能。系統(tǒng)資源狀態(tài)監(jiān)控服務(wù)實時顯示系統(tǒng)中的所有節(jié)點信息。實時監(jiān)測系統(tǒng)的CPU、內(nèi)存、磁盤等資源使用情況,提供性能指標(biāo)和警報,有助于優(yōu)化系統(tǒng)性能。輕量級分布式通信中間件屏蔽底層通信機制,提供統(tǒng)一消息格式和硬件訪問接口。
本節(jié)主要對上述系統(tǒng)架構(gòu)中關(guān)鍵復(fù)雜技術(shù)進行基本闡述?;谲浖M件化、硬件構(gòu)件化、軟硬件動態(tài)映射的基本思想[5],并考慮到星載系統(tǒng)的特殊環(huán)境和資源限制,有3 個關(guān)鍵問題需要解決:(1)軟件組件和硬件構(gòu)件之間的動態(tài)重構(gòu)問題;(2)構(gòu)件之間的通信問題;(3)潛在的單粒子翻轉(zhuǎn)問題。第1 個通過應(yīng)用部署藍圖實現(xiàn),第2 個通過輕量級分布式通信中間件和地址映射表實現(xiàn),最后一個通過三模冗余進行安全加固。
系統(tǒng)的動態(tài)重構(gòu)是指系統(tǒng)在資源和任務(wù)情況發(fā)生改變時,基于重構(gòu)規(guī)則,使用不同的映射或配置方式,實現(xiàn)系統(tǒng)軟硬件資源的映射關(guān)系調(diào)整。
系統(tǒng)重構(gòu)的實現(xiàn)依賴于重構(gòu)規(guī)則。重構(gòu)規(guī)則包括資源的選擇原則和優(yōu)先級策略等,是整個系統(tǒng)資源分配策略的核心。重構(gòu)規(guī)則需要綜合考慮冗余、空閑資源、運行模式、任務(wù)優(yōu)先級、降級配置等因素的限制,對重構(gòu)的條件、動作和約束進行規(guī)范。在重構(gòu)規(guī)則的約束下,軟件藍圖、硬件藍圖和應(yīng)用部署藍圖有機結(jié)合,使系統(tǒng)重構(gòu)能夠適應(yīng)承載各種不同功能組件,將功能模式所需的軟件能力映射到具體的硬件模塊上運行,從而實現(xiàn)不同的任務(wù)模式。
系統(tǒng)重構(gòu)的標(biāo)準規(guī)則包括以下要點:
(1)模塊必須處于加電且正常工作狀態(tài),處理器類型需符合軟件模塊要求;
(2)處理器當(dāng)前的處理能力和內(nèi)存要滿足軟件構(gòu)件的需求,模塊當(dāng)前的通信接口速率要滿足軟件組件的要求;
(3)優(yōu)先選擇負載較輕的模塊;
(4)若仍然沒有可用資源,則重構(gòu)失敗。
這些規(guī)則確保了系統(tǒng)重構(gòu)過程中的資源選擇和配置滿足要求,從而保證了系統(tǒng)的穩(wěn)定性和性能。系統(tǒng)重構(gòu)可分為規(guī)劃重構(gòu)和故障重構(gòu)兩種類型。
2.1.1 規(guī)劃重構(gòu)
規(guī)劃重構(gòu)是在工作模式改變時進行的重構(gòu)[6],星載綜合射頻系統(tǒng)的工作模式包括電子偵察模式、通信廣播模式和微波成像模式。規(guī)劃重構(gòu)針對所有軟件組件,根據(jù)重構(gòu)規(guī)則從硬件構(gòu)件CPU、DSP 和FPGA 模塊中選擇目標(biāo)處理器進行部署。
重構(gòu)流程如下:
(1)發(fā)起功能重構(gòu)并指定重構(gòu)工作模式;
(2)收集重構(gòu)節(jié)點的硬件設(shè)備狀態(tài);
(3)根據(jù)重構(gòu)模式指令,檢索和驗證存儲設(shè)備中相應(yīng)的軟件藍圖,結(jié)合硬件設(shè)備狀態(tài)信息,按照重構(gòu)規(guī)則分析資源是否滿足軟件重構(gòu)部署的需求,并控制完成規(guī)劃重構(gòu)。
2.1.2 故障重構(gòu)
故障重構(gòu)是在硬件構(gòu)件CPU、DSP 和FPGA 模塊發(fā)生故障時,重新為軟件組件選擇可以替代故障處理器的目標(biāo)處理器,它不會改變現(xiàn)有的工作模式和部署狀態(tài)。通過這種方式,系統(tǒng)能夠在故障時高效地替換單個構(gòu)件,以保證系統(tǒng)的穩(wěn)定性和功能的完整性。
星載綜合射頻系統(tǒng)中的硬件包括CPU、DSP 和FPGA。CPU 和DSP 分別搭載嵌入式實時操作系統(tǒng)和DSP 實時操作系統(tǒng),它們采用輕量級分布式通信中間件作為通信方式[7],而FPGA 沒有操作系統(tǒng)支持,因此它采用地址映射表通信[8]。
2.2.1 輕量級分布式通信中間件
CPU 與CPU、CPU 與DSP、DSP 與DSP 之 間的通信可以通過輕量級分布式通信中間件來進行。傳統(tǒng)的分布式通信方法,如TCP/IP,具有較高的運行成本,并且TCP/IP 協(xié)議棧在小型系統(tǒng)如DSP 上不適用。本文設(shè)計的輕量級分布式通信中間件體系結(jié)構(gòu)如圖2 所示,其具有以下特點:
圖2 輕量級分布式通信中間件
(1)同時兼容不同操作系統(tǒng)、CPU 和傳輸媒介,適用于整個分布式異構(gòu)系統(tǒng)中的本地通信和遠程通信。該中間件允許不同平臺之間進行通信,并且支持多種通信介質(zhì),包括共享內(nèi)存、RapidIO、千兆以太網(wǎng)和網(wǎng)絡(luò)協(xié)議棧。
(2)具備靈活的擴展性,可以適應(yīng)大型系統(tǒng),并支持任意拓撲結(jié)構(gòu),使得分布式系統(tǒng)能夠?qū)崿F(xiàn)平臺間的相互獨立連接。
輕量級分布式通信中間件協(xié)議棧由會話層和傳輸層兩個層級組成。會話層負責(zé)實現(xiàn)傳輸功能,其中包括通過名稱查找通信終端的命名服務(wù),以及異步通知通信關(guān)閉的鏈接監(jiān)控服務(wù)。傳輸層則負責(zé)實現(xiàn)可靠有序傳輸任意大小消息的機制,并根據(jù)不同的傳輸媒介使用相應(yīng)的傳輸協(xié)議。
會話層在系統(tǒng)中承擔(dān)著遠程通信和本地通信的功能。在遠程通信中,會話層負責(zé)解析遠程通信終端的名稱,建立或刪除與遠程通信終端的本地代理,并進行源端到目的端系統(tǒng)之間的通信。而在本地通信中,會話層處理本地操作系統(tǒng)與應(yīng)用程序之間的交互。
傳輸層為會話層提供可靠的傳輸機制。在非可靠傳輸媒介(如以太網(wǎng))的情況下,傳輸層需要實現(xiàn)流控和重傳機制,以應(yīng)對丟包情況,并提供對端監(jiān)控機制,以增加傳輸?shù)目煽啃?。這增加了傳輸層的復(fù)雜性。而在可靠傳輸媒介(如共享內(nèi)存和RapidIO)的情況下,傳輸層可以簡化處理。
通過以上兩個層級的結(jié)合,輕量級分布式通信中間件協(xié)議棧能夠提供高效可靠的進程間通信解決方案,適應(yīng)不同傳輸媒介和異構(gòu)系統(tǒng)的需求。
輕量級分布式通信中間件的基本操作包括以下步驟:
(1)加載核心程序:在操作系統(tǒng)啟動后,加載輕量級分布式通信中間件的核心程序。
(2)建立物理連接:根據(jù)通信需求選擇合適的通信介質(zhì)(如TCP、以太網(wǎng)卡、共享內(nèi)存),建立物理連接。
(3)創(chuàng)建邏輯連接:在物理連接建立后,創(chuàng)建邏輯連接。
(4)應(yīng)用程序通信:創(chuàng)建通信節(jié)點,并通過通信節(jié)點進行通信操作,發(fā)送數(shù)據(jù)給對端或接收對端發(fā)送的數(shù)據(jù)。
(5)通信信號(Signal):定義信號的結(jié)構(gòu)體,并為信號數(shù)據(jù)包分配內(nèi)存,填充數(shù)據(jù)后進行發(fā)送。
(6)搜尋通信節(jié)點:搜索對端節(jié)點,獲取對端節(jié)點的標(biāo)識。
(7)發(fā)送數(shù)據(jù)(Send):向?qū)Χ税l(fā)送數(shù)據(jù)。
(8)接收數(shù)據(jù)(Receive):接收對端發(fā)送的數(shù)據(jù)。
(9)監(jiān)控對端節(jié)點:監(jiān)控對端節(jié)點的狀態(tài),當(dāng)對端關(guān)閉時會接收到特定的信號。
2.2.2 基于地址映射表的通信
FPGA 與FPGA、FPGA 與DSP、FPGA 與CPU之間的通信可以通過基于地址映射表的通信規(guī)范來進行[9]。地址映射表是維護邏輯地址和物理地址之間映射關(guān)系的表格,每個邏輯名稱和邏輯標(biāo)識都對應(yīng)著唯一的物理端口信息。用戶只需要關(guān)注通信兩端的邏輯ID,而無須關(guān)注實際的物理端口。這樣的設(shè)計簡化了通信操作,提供了方便的接口。
靜態(tài)隨機存取存儲器(Static Random Access Memory,SRAM)型FPGA 以其可重復(fù)編程和高度靈活性等特性,廣泛應(yīng)用于宇航電子設(shè)備中。然而,在宇宙輻射環(huán)境中,F(xiàn)PGA 容易受到單粒子翻轉(zhuǎn)(Single Event Upset,SEU)的影響。這種現(xiàn)象發(fā)生在宇宙高能粒子射入FPGA 的敏感區(qū)域時,可能導(dǎo)致FPGA 中存儲單元的邏輯狀態(tài)翻轉(zhuǎn),從而引發(fā)軟件錯誤,嚴重時甚至可能損壞硬件電路。尤其隨著FPGA 晶體管尺寸不斷縮小,輻射對SRAM 存儲單元的影響日益顯著。
此外,隨著集成電路工藝尺寸不斷減小,瞬態(tài)脈沖在傳輸過程中很難被衰減。由于電路工作速度的提高和時鐘頻率的增大,單粒子瞬態(tài)(Single Event Transients,SET)對軟件錯誤的影響越來越明顯,特別是對組合邏輯電路而言。
為了緩解SEU 和SET 的影響,常見的方法之一是采用三模冗余[10](Triple Modular Redundancy,TMR)。如圖3 所示,TMR 利用3 個相同的模塊(module)同時執(zhí)行相同的操作,其中3 路信號通過多數(shù)表決器(voter)進行投票,根據(jù)少數(shù)服從多數(shù)的原則輸出結(jié)果。這樣可以確保一個模塊的錯誤輸出不會傳播到下一個模塊,只要不同模塊不同時發(fā)生故障,就可以抵消錯誤,保證最終輸出的準確性。這種方法能夠顯著增強單粒子效應(yīng)對電路的影響。
圖3 三模冗余進行安全加固
本文提出了一種面向星載綜合射頻系統(tǒng)的軟件定義平臺,其核心設(shè)計思想是軟件組件化和軟硬件解耦。通過將系統(tǒng)功能劃分為獨立的組件,實現(xiàn)了模塊化開發(fā)和維護的優(yōu)勢。同時,平臺還支持軟硬件之間的動態(tài)重構(gòu),能夠根據(jù)任務(wù)模式和資源狀態(tài)的變化,靈活地調(diào)整軟硬件之間的映射關(guān)系,提高系統(tǒng)的適應(yīng)性和靈活性。為了滿足不同傳輸媒介和異構(gòu)系統(tǒng)的需求,該平臺采用了一種輕量級分布式通信機制。該通信機制具有高效可靠的特性,能夠提供可靠的進程間通信解決方案。它可以適應(yīng)不同的傳輸媒介,確保數(shù)據(jù)的可靠傳輸和及時交互,滿足異構(gòu)系統(tǒng)之間的通信需求。同時,星載綜合射頻系統(tǒng)由于其運行環(huán)境的特殊性,需要考慮宇宙空間環(huán)境中的射線、輻射、電磁干擾等造成的粒子翻轉(zhuǎn)問題。通過在系統(tǒng)中引入冗余模塊,并三路投票,保證最終輸出的正確性。
綜上所述,本文提出的面向星載綜合射頻系統(tǒng)的軟件定義平臺通過軟件組件化、軟硬件解耦、動態(tài)重構(gòu)、三模冗余和輕量級分布式通信機制等關(guān)鍵技術(shù),為星載綜合射頻系統(tǒng)提供了靈活、高效、可靠的軟件定義解決方案。