邢卓異 朱舜杰 黃曉峰 盛瑞卿
(北京空間飛行器總體設計部,北京 100094)
軟件定義技術從20世紀90年代出現以來,已經在網絡[1-2]、大數據存儲[3-4]、汽車[5-6]等行業得到充分的應用,其核心思想是通過統一的界面實現軟硬件解耦,從“面向專用功能,軟硬件定制化設計”轉向“標準化硬件預置,軟件面向應用需求快速迭代升級”。軟件定義技術及思想啟發了航天領域,并在航天器上得到應用,從早期的天線頻段、功率、覆蓋度可調,到出現“軟件定義航天器”的概念,軟件定義技術有望從根本上改變航天器的生產模式與產業生態,引發航天產業新一輪的技術革新[7]。
國內外從“軟件定義載荷”、“開放式應用加載”、“平臺與載荷電氣解耦”等方面開展了軟件定義航天器研究。這些嘗試多是在傳統航天器系統架構的基礎上,進行“局部”的更改和升級,無法全面滿足未來航天器的發展需求。本文首先分析了未來航天器發展的總體趨勢和軟件定義航天器的發展現狀,針對未來航天器靈活、快速和自主的發展需求,提出了一種軟件定義航天器系統架構,并對該架構的技術特征、技術優勢和可行性進行了分析,對其中的關鍵技術進行研究,希望未來能夠在統一的軟件定義航天器系統架構下形成標準的協議規范,促進軟件定義航天器技術的發展。
自1957年10月4日蘇聯發射人類第1顆人造地球衛星斯普特尼克-1(Sputnik-1)以來,航天器逐步從冷戰時期彰顯國力的科技制高點,變為服務民眾的基礎設施。近年來,以太空探索技術(SpaceX)公司的“星鏈”計劃為代表的商業航天項目大量涌現,航天活動持續蓬勃發展,每年火箭發射次數連續“破百”,每年發射的航天器數量激增,從2013年100多顆每年增加到目前1200多顆每年。未來,航天器的發射數量預期將持續快速增長。隨著天地一體化信息網絡的建立、人工智能等技術的廣泛應用,航天產品和服務將全面融入人類社會的學習、生產和生活。屆時,人們可以隨時、隨地、按需獲得航天器各類便捷服務,諸如實景圖像、全球全時衛星通信、災害即時預警及太空旅游等。航天服務將極大提升人類生活的便利性和幸福感。縱觀通信、導航、遙感、空間科學、載人和深空探測六大航天領域,未來航天器將具有更強的靈活性、快速性和自主性。
(1)靈活性。隨著技術水平的不斷進步,航天器設計壽命不斷提升。例如,“國際通信衛星”設計壽命從1990年以后就基本達到15年左右并在不斷提高,目前國際通信衛星-20的設計壽命已達到了25年。在如此長的壽命周期內,相關技術會持續進步且新技術也會不斷涌現,但是航天器一般在發射前幾年就已經將技術狀態固化,無法適應用戶需求的快速迭代。未來航天器必然需要更高的靈活性,能夠通過在軌升級、在軌重構實現航天器功能在軌可定義,靈活適應不同的用戶需求及工作場景。
(2)快速性。隨著航天器的發射數量不斷增加、用戶各種新需求不斷涌現,未來航天器需要更快速地實現設計、生產、測試等一系列研制活動,大幅度縮短研制周期、降低成本,實現批量化生產。
(3)自主性。隨著航天器發射數量和壽命的增長,在軌運行的航天器數量將出現爆發式增長(例如“星鏈”計劃包含4萬多顆衛星),當前高度依賴地面的航天器運行方式將難以維系。因此,未來航天器必然具有更高的自主性,具備長期自主運行的能力,能夠獨立完成任務。隨著人工智能技術的發展,航天器將具備智能化服務的能力。
軟件定義技術可以使航天器的軟硬件解耦,支持硬件通用化、在軌功能定義等,為滿足航天器未來發展需求提供了技術途徑。美國、歐洲、中國等均開展了“軟件定義航天器”的嘗試,大致可以分為“傳統航天器+軟件定義載荷”、“平臺+中間件+載荷”及“智能航天器”3條不同的技術路線。
波音公司的波音衛星系統-702(BSS-702)系列[8-9]、歐洲通信衛星公司的“量子”(Quantum)衛星[10]、空客公司的“一星”(OneSat)[11]、泰雷茲-阿萊尼亞航天公司的“太空靈感”(Space Inspire)[12]等任務,采用型譜化航天器平臺配置“軟件定義載荷”的架構,以滿足頻率、波束、覆蓋區域重構的任務需求,進而靈活實現通信、偵察、導航等功能。這一路線的優點是技術成熟,缺點是功能定義能力局限在載荷部分,航天器平臺的功能定義能力受限,并且仍是傳統的研制模式,敏捷設計能力有限。
美國國防高級研究計劃局(DARPA)為實現多用途批量生產,提出了“黑杰克”(Black Jack)[13]架構驗證項目。“黑杰克”項目相對傳統航天器增加了中間件,負責整星業務管理,實現數據融合、指揮與控制,平臺僅負責與載荷機構連接,平臺、載荷與中間件獨立研制,采用標準接口連接。“黑杰克”架構的優點是航天器平臺與載荷解耦,通過中間件實現整星功能定義,可實現性較強;缺點是沒有完全實現軟硬件解耦,平臺、載荷內部缺乏功能定義能力,一定程度上限制了軟件定義技術優勢的發揮。
中國科學院軟件所的天智一號[14]、洛馬公司的“智星”(SmartSat)[15]、矢量空間(Vector Space)公司的銀河天空-1(Galactic Sky-1)等任務,以“計算機+外設”的思路設計航天器架構,其本質是在型譜化的航天器平臺裝上一個操作系統。操作系統實現了軟件和硬件的解耦,為航天應用軟件創造了一個與航天器平臺無關的執行環境,用戶可以根據航天器任務要求上傳所需要的任何應用程序。這種類似于計算機的智能航天器架構的優點是智能、開放,用戶可訪問、可定義航天器功能,天然地適應軟件定義和互聯網模式,缺點也是過于計算機化,未涵蓋對航天器自身特點及對機械和熱接口的針對性設計。
可見,“傳統航天器+軟件定義載荷”、“平臺+中間件+載荷”的模式,均是在現有航天器平臺基礎上的升級,對航天器平臺缺乏軟件定義能力,無法實現完全的“功能可定義”,航天器的靈活性、快速性受到限制。“智能航天器”的模式把航天器簡單地看作與計算機類似的電子電氣系統,忽視了航天器的固有特征。例如,設備需要溫度控制,以適應空間環境,需要承受發射過程的振動條件等。“智能航天器”的架構固然簡潔,但其底層硬件配置、功能服務框架沒有針對航天器基本功能需求進行設計,設備的機械、熱控、電源接口沒有納入到架構設計中。為此,本文從未來航天器靈活、自主和快速的發展需求出發,基于軟件定義技術軟硬件解耦的核心思想,設計了一種軟件定義航天器系統架構。該架構考慮航天器是一種融機、電、熱、信息于一體的復雜物理信息系統,通過標準化的機、電、熱、信息接口,將通用化硬件設備相互連接,利用器載操作系統實現軟件和硬件解耦,提供航天器姿態/軌道控制、溫度控制等基礎服務,并向用戶開放應用。相比以往的軟件定義航天器架構,該架構將軟件定義擴展至整個航天器,并充分考慮了航天器的固有特征。
系統架構是對系統元素及元素之間關系的抽象描述。系統架構的重要性在于它決定了一個系統的主體結構、宏觀特性,以及具有的基本功能和特性。正如大型建筑物設計成功的關鍵在于主體結構,復雜系統設計成功的關鍵在于系統宏觀層次上結構設計的正確性和合理性。航天器的系統元素包括感知器、作動器、計算平臺、電源裝置等硬件設備和操作系統、硬件抽象、功能服務等軟件組件;元素關系包括硬件設備之間的機、電、熱、信息接口,硬件與軟件之間的抽象接口及軟件組件之間的應用接口等。
本文基于軟硬件解耦的核心思想,對上述航天器系統元素及元素關系進行架構設計,提出了一種軟件定義航天器系統架構,如圖1所示。

圖1 軟件定義航天器系統架構Fig.1 Architecture for software-defined spacecraft
圖1中,系統架構分為4層,自底向上分別為設備層、連接層、功能層和應用層。設備層對外界物理環境進行感知和作動,將航天器的各類信息通過連接層形成數據流、控制流、能源流與上層交互,在功能層實現對航天器的功能抽象。用戶可以根據航天器任務需求,通過功能層中的功能組合,定制不同的應用層服務。
設備層包含航天器系統中的各種物理實體,如感知部件、作動部件、計算部件、電源部件及結構支撐部件等,是航天器與外界環境交互的終端,可以通過傳感器感知外界信息,并接收系統的指令驅動作動器與外界環境相互作用,同時為系統提供電源、計算、結構等硬件資源。
軟件定義航天器系統架構中設備層為標準化、產品化設備,需要滿足規范的機、電、熱、信息接口要求,從而實現硬件可替換。設備層可以分為平臺設備,器載超算平臺和載荷設備。它們都采用模塊化設計,并通過可重構接口單元接入系統,實現設備即插即用[16-17]。可重構接口單元具有相同的硬件,但是根據不同的設備可以配置不同的固件或定制的軟件,從而可以最大限度地兼容各類設備,并向上層系統提供統一的接口,實現硬件可重構。器載超算平臺集成了各種計算/存儲資源,如中央處理器(CPU),圖像處理單元(GPU),數字信號處理器(DSP),可編程門陣列(FPGA),非易失大容量存儲(FLASH)陣列等,具備強大的器上實時信息處理和海量數據存儲能力,是整個航天器的信息中樞。器載超算平臺上運行著支持動態加載的器載操作環境。
連接層實現了航天器系統中各種物理實體的有效連接。航天器各類物理設備確定后,通過連接層實現節點的各類物理連接,以滿足物理實體的安裝需求、供電需求、熱控需求及信息交互需求等。
軟件定義航天器系統架構中連接層由標準統一的熱總線、數據總線和電源母線組成,所有的設備都通過可重構接口單元接入系統。可重構接口單元向上級系統提供標準的熱接口、數據接口、電接口,對下級模塊化設備支持各種常見的接口,如RS422,LVDS,1553B等。系統需要升級或更換某個功能模塊時,只需要對接口單元的固件進行相應的升級和配置就可以適應新模塊。連接層與設備層構成了航天器的硬件部分,是實現軟件定義航天器的硬件核心,總體上采用以器載超算平臺為中心的集中式拓撲結構。
功能層是對航天器系統中各類物理實體動作的抽象,向下通過連接層轉換為數據流、控制流和能源流,驅動物理設備實現航天器的各項功能,向上為應用層提供應用接口,便于用戶進行配置、組合、調用,以實現對應的服務。
功能層是將航天器基本功能向硬件動作轉換的橋梁,通過驅動協議控制物理設備,也為航天器應用軟件提供相應接口。軟件定義航天器系統架構中功能層由操作系統和服務框架兩個部分組成。功能層的最底層是實時操作系統,如SPACEOS,RT-Linux,VxWorks,RTEMS等,負責基礎的進程調度、底層硬件驅動等。操作系統還包括一個硬件抽象子層,它將硬件抽象化,隱藏硬件設備的接口細節,為操作系統提供虛擬硬件資源,從而實現軟硬件分離。航天器軟硬件之間的耦合關系解除后,器載軟件及算法便可以獨立研制和快速迭代。操作系統之上建立器載服務框架。該服務框架將器載應用常用的基礎業務封裝起來,為開發者提供統一的服務接口。開發者只需要在此框架內完成自身的主要業務內容即可,而不用為航天器如何通信、如何控制姿態這樣基礎且專業的問題而“重新發明輪子”。
應用層是面向用戶的,主要負責完成用戶定制的各類服務/任務,用戶不需要考慮底層物理設備的工作機制或原理,只需要通過應用接口方便快捷地與航天器進行交互。
軟件定義航天器架構中器載應用包括系統應用和用戶應用,系統應用一般具有更高的權限,可以控制航天器的最底層。用戶應用的權限是有限的,被置于系統的監管之下,由應用層中的器載應用綜合調度管理程序進行控制。用戶可以在軌發布應用(APP)、動態加載各種軟件組件,把各種強大的新算法不斷地集成到航天器系統中,不但可以通過在軌重構為航天器系統增加新的功能,還可以通過改進算法提升航天器的性能,或者對出現的故障進行修復。
本文提出的架構充分體現了軟件定義技術的核心思想,即通過統一的交界面,將軟件與硬件解耦合。在硬件性能足夠的前提下,軟件開發者負責滿足不同用戶的差異化需求,硬件開發者在統一的規范架構下專注于提高硬件性能。這種軟件定義的方式可以最大化地降低開發周期與成本,賦予系統功能更新與升級的靈活度。該架構的技術特征可以歸納為設計分層化、接口規范化、硬件通用化、功能軟件化、資源虛擬化。
(1)設計分層化。采用分層化設計,實現軟硬件解耦。通過統一界面將軟硬件剝離,打破傳統的軟硬件耦合結構。軟件由用戶自定義,硬件全面標準化。
(2)接口規范化。構建規范架構,統一軟硬件的界面。操作系統向上開放標準化接口,并通過硬件抽象層,向下兼容各類硬件平臺。
(3)硬件通用化。采用標準化機、電、熱、信息接口,保證硬件通用性。硬件的通用化為實現系統功能與硬件“脫鉤”奠定基礎,使硬件設計關注底層的通用功能,而與系統的具體任務解綁定。
(4)功能軟件化。系統功能主要由應用軟件來實現。系統提供基礎的功能服務框架,應用軟件在此框架內利用不同的基礎功能服務進行配置或重構,從而迅速適應各種不同應用場景的功能需求。
(5)資源虛擬化。在軟件和硬件之間提供一個抽象層,實現將物理資源轉換為邏輯或虛擬的資源。運行在抽象層之上的應用或管理軟件,能在不掌握底層資源物理細節的條件下管理和使用這些資源。
3.2.1 系統架構對比
傳統航天器系統架構的各層之間沒有形成標準化接口,設備層采用定制化設備,連接層需要根據設備層定制,功能層與硬件緊密耦合,無法實現在軌功能重構。一旦某個設備或者需求發生變化,將會傳導至整個系統,研制周期和成本居高不下。應用層一般需要根據工作程序,通過地面指令完成用戶任務,靈活性、自主性不足,系統不具備開放性。
軟件定義航天器系統架構設備層采用符合接口標準的設備,支持即插即用。連接層采用標準機、電、熱、信息接口,將標準化設備接入航天器。連接層可訪問所有硬件資源,實現內部資源全開放。功能層由操作系統統一管理,并通過服務框架為應用層的程序提供基本功能的管理與調用接口。接口完全封裝,與硬件、應用程序解耦。應用層向第三方開放,運行航天器系統自帶的基礎應用程序和豐富的商業應用,應用程序及系統軟件均可以在軌加載和更新。
3.2.2 研制模式對比
傳統航天器系統架構下,航天器的研制試驗主要采用針對具體任務和用戶需求的“量身定制”模式。過去的航天器設計、研制和驗證過程全部圍繞特定任務展開,航天器的設計與具體任務緊密聯系,軟硬件設計相互耦合。硬件產品形式各異,無法實現部組件互換。軟件產品互不兼容,軟件重用性差。研制周期長、成本高,在軌使用不靈活,功能重構能力差。
如圖2所示,在軟件定義航天器系統架構下,航天器的研制試驗向標準化、產品化發展。航天器不再針對特定任務進行設計和驗證,而是主要考慮用戶的通用需求,通過預置硬件資源和基礎服務功能,形成成熟可靠的通用型譜。針對用戶的特殊需求,通過應用軟件的方式進行快速響應和持續迭代升級。軟件定義航天器系統架構采用開放的應用軟件接口規范,應用軟件設計人員只需要按照接口規范編制滿足用戶特定需求的應用即可,而不需要考慮航天器的具體設計。應用軟件可以在虛擬化數字平臺中完成測試和驗證,再上注至在軌航天器即可實現用戶需求。因此,軟件定義航天器的研制試驗與具體應用場景相剝離,航天器甚至可以在具體應用確定前預先開展設計、試驗、生產、發射和部署,航天器的研制周期將有效縮短。
本文提出的軟件定義航天器系統架構,能夠適應不同用戶的需求,可以很好解決現有研制模式存在的不足,滿足未來航天器靈活、快速和自主的發展需求,具體如下。
軟件定義航天器系統架構支持功能可重構、資源全開放、信息深加工,可以滿足未來航天器靈活性的發展需求。功能可重構是指通過動態加載應用軟件和系統組件,重新定義航天器的在軌功能。資源全開放是指在確保航天器安全前提下內部資源完全開放可訪問,通過軟件重構發揮航天器硬件的全部潛力。信息深加工是指實現在軌數據靈活處理,促使航天器從數據提供者向信息提供者轉變。
軟件定義航天器系統架構支持敏捷化設計、批量化生產、數字化測試,可以滿足未來航天器快速性的發展需求。敏捷化設計是指在硬件通用化、架構標準化的支持下,設計場景走向“硬件和基礎功能預置+應用軟件設計”的模式,地面僅完成硬件和基礎軟件的設計驗證,更多的應用功能通過在軌軟件定義實現,極大簡化設計流程。批量化生產是指將航天器硬件的生產、驗證與具體任務“脫鉤”,實現航天器平臺化、模塊化,極大壓縮制造、總裝時間。數字化測試是指大部分功能性能測試將在數字化的模擬平臺實現,“設計-制造-測試-改進”流程中設計與測試可以并行開展,縮短整體研制流程。
軟件定義航天器系統架構支持自主運行、智能服務,可以滿足未來航天器自主性的發展需求。自主運行是指航天器能夠自主完成健康監測與修復、器上數據管理及在軌資源調度,降低對地面的依賴。智能服務是指從簡單的信息獲取向服務提供轉變,具備較高的智能水平,可識別、提取用戶需求,并針對性實施任務。
實現軟件定義航天器系統架構的關鍵技術包括開放架構與規范、器載操作系統、器載超算平臺和安全機制共4個方面,如圖3所示。

圖3 關鍵技術示意Fig.3 Diagram of key technologies
為了最大程度實現一器多用,利用軟件定義技術實現航天器功能重構,需要建立開放的架構與接口規范,保證軟硬件接口開放,降低航天器的建造和使用成本,從而充分調動市場力量挖掘新技術、新需求與新應用。具體包括:①制定用戶應用軟件規范,定義航天器應用軟件的標準接口,實現航天器基本功能框架。應用軟件規范要求易懂且方便推廣,航天器基本功能框架要求完備且簡潔。②制定通用硬件接口規范,定義航天器設備的機、電、熱、信息標準接口,確保符合規范的設備可接入航天器。③統一軟硬件解耦架構,保證標準硬件與軟件可以順利地接入航天器,所有硬件資源可被用戶訪問。
操作系統是連接航天器硬件與軟件的界面,是調度航天器資源的平臺。軟件定義航天器需要操作系統統一調度資源,完成航天器基本管理,并在此基礎上支持用戶應用。具體包括:①支持航天器應用與軟件的在軌重構。②支持設備虛擬化,保證設備能夠即插即用,通用設備可互換。③支持軟件加載重定向,可根據需求加載新的系統軟件,實現操作系統在軌升級。
器載超算平臺為器上自主任務管理、海量數據處理、信息智能提取等復雜任務提供強大的計算資源保障。具體包括:①空間高性能計算機架構設計。②多種異構計算平臺的容錯高可靠性設計。③環境適應性設計,保證超算平臺能夠適應以熱環境、單粒子等空間輻射環境為代表的空間環境,保持連續、可靠運行。
航天器開放必然帶來安全性方面的風險,需要系統開展安全性研究,建立貫穿航天器設計、制造與運行始終的安全機制。具體包括:①器載操作系統安全技術,維護操作系統長期可靠運行,維持系統功能穩定,能夠對威脅航天器安全的操作進行檢測與隔離。②軟件缺陷檢測技術,在航天器軟件上注之前進行缺陷檢測,確保航天器安全。③入侵檢測及隔離技術,對入侵等惡意攻擊行為進行檢測與隔離。④地面站安全防護技術,保證地面站在引入商業應用后依然能夠保持足夠的安全性。
軟件定義技術將顯著改變未來航天器的設計、生產與應用模式。發展軟件定義航天器的首要任務是提出合適的系統架構。本文提出的軟件定義航天器架構能夠有效地實現軟硬件分離。硬件方面采用即插即用的標準化設備,形成通用化的航天器平臺,顯著降低航天器成本與研制周期。在軟件方面,建立了基礎功能框架,支持開放式應用軟件加載,將應用軟件開發從系統設計中剝離,降低航天器應用成本與技術門檻,擴大航天器應用范圍與用戶群體。該架構具有設計分層化、接口規范化、硬件通用化、功能軟件化、資源虛擬化的技術特征,能夠很好地滿足未來航天器的發展需求。下一步,將在該系統架構的基礎上,形成軟硬件接口協議規范,推動軟件定義航天器技術的發展。