, , , , 亞航
(1.北京空間飛行器總體設計部, 北京 100094; 2.北京空間技術研制試驗中心, 北京 100094)
空間數據系統咨詢委員會(consultative committee for space data systems,CCSDS)成立于1982年,是空間數據系統領域最權威的組織,目前有11個成員組織以及30個觀察員組織,主要負責制定空間數據系統的國際標準,含星載接口、空間鏈路、空間互聯網、任務操作和信息管理、交互支持、系統工程等6個領域。截止目前,全球超過800個航天器上實現和應用了CCSDS系列標準。
CCSDS航天器星載接口業務領域(spacecraft onboard interface services,SOIS)目前的工作重點是SEDS(SOIS Electronic Data Sheet)相關研究。針對目前實現星載軟件快速集成和測試的需求,SEDS可以實現對設備信息以及業務接口信息的描述,并通過工具自動生成星載軟件、測試用例以及相關文檔,從而減少星載軟件集成、測試、維護時間,并保各個研制階段數據的一致性。該標準的實現應用有利于縮短星載綜合電子系統的研制周期、降低研制風險與成本。本文對SEDS標準及國外研究應用現狀進行分析,對星載綜合電子系統進行研究說明,基于該系統對SEDS的應用進行設計驗證。
在SOIS體系結構中,EDS(electronic data sheet)主要的用途是對設備信息以及業務接口信息進行描述,簡稱SEDS。它包含以下內容:SOIS各協議層之間數據雙向交換的接口;組成上述接口的指令和參數;實現兩組接口間映射的構件服務;組成構件的狀態機、變量、行為;作為以上參考的類型、變量、編碼和術語。
在SEDS的使用上,除了對設備進行描述外,還可用SEDS描述業務的接口、業務間的連接關系、業務的配置參數、系統的配置參數,將體系架構中原本概念性的通信管理轉化為通過SEDS描述各層業務配置以及連接關系的實體。描述設備的參數以及軟件業務的配置參數和業務之間的接口關系。此外,SEDS還有許多其它的用途。例如地面操作人員可以將設備的SEDS采用工具進行轉換,可自動生成任務的數據庫,便于生成對設備的控制指令以及解析設備下行的遙測。在空間站等應用,若航天員將一臺新的設備接入空間站的系統網絡,當設備將自身的SEDS存儲于設備內部,通過即插即用的機制,空間站內可以自動識別該設備并將該設備的數據以及SEDS信息發布,航天員通過筆記本可以訂閱該設備的數據以及SEDS,通過 SEDS的解析工具對設備的數據進行解析,即可在界面進行數據查看。
通過SEDS產生星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析文件等,可以減少文檔的不確定性和不一致性,避免在需求變更時修改大量的文件。目前地面測試使用的電子數據表單采用CCSDS的XTCE標準進行描述,當前主要偏重于遙控和遙測格式,后續通過擴展對于星載業務接口的描述采用SEDS標準后,SEDS和XTCE可以通過工具進行轉換,綜合SEDS和XTCE各自的優勢實現對整個航天器接口軟件及文檔的電子表單化。
目前,在國際領域最先展開SEDS應用的是NASA和ESA。NASA的戈達德飛行中心在其cFE核心飛行軟件架構中實現了SEDS應用;ESA目前也正在采用JAVA開發工具用于支持SEDS的生成和解析。
NASA核心軟件系統cFE已用于多個型號,基于軟件總線進行各軟件組件之間的消息通信,并開發了配套的組件配置工具,其源碼公開,不僅用于航天器,也用于無人機等系統。NASA已計劃將該軟件架構參考SOIS體系架構定義的接口,進行進一步完善,使之能適應SOIS體系架構。在NASA的cFE核心飛行軟件架構中,采用了SEDS的技術自動生成軟件配置信息,方便軟件的按需配置和組裝。SEDS可以定義設備的接口也可以定義所有軟件構件的接口。通過工具掃描代碼頭文件輔助生成SEDS,對SEDS進行修改后可再生成新的代碼,同時可通過SEDS生成測試用的遙控指令并解析遙測數據。NASA已經開發出一款工具,該工具將軟件構件SEDS和任務配置文件作為輸入然后生成C 語言的頭文件。頭文件包含消息定義和工程單元轉換。目前,該工具集成在cFS(核心飛行系統)創建系統中,被多個NASA中心使用。
來自歐洲SCISYS公司已經研究EDS多年,并正在開發工具支持SEDS的生成和解析。該工具采用JAVA開發,可以根據SEDS自動生成星載軟件代碼。SEDS的生成及使用過程為:在開發初期,通過設備的參數生成SEDS文件,通過工具SEDS文件可生成參數、驗證相關的文檔,此時生成的SEDS文件通過工具可以生成星載部分構件,比如設備驅動,還可以生成用于仿真的輸入。之后在項目開發過程中,當新增設備或設備參數改變時可直接更新SEDS;系統的模型或者數據也可生成SEDS,當系統數據或者設備數據變化時它們之間互相影響都可以通過EDS對數據進行修改,修改后的SEDS文件通過工具對文檔自動生成,進行更新。在綜合測試時,EDS直接可作為其輸入而省去了文檔,因為SEDS中直接包含了其所有的文檔數據。
星載綜合電子體系結構是基于SOIS開發的一種分層的體系結構,每一層包含了多種業務及協議。在該體系結構中,一方面將SOIS標準的業務和協議映射為可重用的軟件構件,另一方面將軟件構件統一劃分為中間件層,與操作系統層、應用層一起共同組成整個綜合電子系統軟件。該結構中核心部分為中間件層,該層軟件構件包含了CCSDS、ECSS的多種標準協議,并通過標準化的接口對應用層提供服務,如圖1所示。

圖1 綜合電子體系結構
3.1.1 應用層
應用層包含遙控、遙測、時間管理、內務管理、熱控管理、能源管理、載荷管理以及其他一些擴展應用等頂層功能,可使用底層提供的業務,通過對這些業務進行實例化來生成不同的應用進程。
這幾年,蘭州大氣治污用“笨”辦法狠抓落實。整個蘭州市區被劃成1482個網格,逐一落實減排責任。所有重點排污企業實行干部24小時駐廠監察,1296臺鍋爐全部進行煤改氣。2013年以來,因為治污不力問責近千名干部,一批治污得力的干部獲提拔重用?,F在,蘭州市每個格子里有多少臺燃煤爐子、每臺爐子“吃”多少煤,能精確到個位數。重拳治污之下,蘭州市能源結構迅速優化,城市布局逐漸合理,為科學治污騰挪出空間。2015年蘭州GDP比2009年翻了一番多,治污不但沒有影響發展,還給城市帶來轉型機遇。10. 任欽:《蘭州樣本》,《經濟參考報》,2017年1月6日。
3.1.2 應用支持層
應用支持層包括SOIS定義的命令與數據獲取業務(包含設備訪問業務、數據池業務、設備虛擬化業務),應用程序訪問星上設備;文件及包存儲業務用于航天器內以及航天器間的計算機文件系統中傳輸文件;時間訪問業務用于獲取航天器時間;消息傳輸業務用于星上兩個應用程序之間的消息傳遞;PUS定義的標準業務基本覆蓋目前航天器綜合電子系統的通用功能。
3.1.3 傳輸層
傳輸/網絡層一般只在有多個子網且子網間的應用程序需要相互通信時才使用,它提供應用程序間端對端的數據傳輸業務。此處使用空間包協議進行選路,并對空間包協議進行了擴展,在其副導頭增加了源/目的地址信息,可擴展支持UDP/IP等協議。
3.1.4 子網層
子網層包含空間鏈路和星載鏈路,提供一系列業務供上層的應用程序支持層和傳輸層業務調用,空間鏈路主要由上行TC協議和COP-1協議、下行AOS協議提供。星載鏈路包括包業務、存儲器訪問業務、同步業務。除了上述標準業務外,還提供一個統一通用的總線接口業務,于每一種鏈路,可通過相應的匯聚協議以及數據鏈路層協議,使之能支持子網的標準業務,從而對上層屏蔽底層鏈路的不同。目前支持的鏈路包括1553B總線、SpaceWire總線、串口、ML接口、DS接口等。
3.1.5 操作系統及硬件
操作系統層將操作系統的各接口進行封裝,提供統一應用程序編程接口。任何操作系統只要支持該結構中統一的訪問接口,即可在星載綜合電子系統中進行應用,因此,可支持操作系統的更新。其組成包括實時操作系統、設備驅動程序、板級支持包(BSP)、基礎函數庫等。
SEDS的應用可以貫穿綜合電子系統開發的各個生命周期,如圖2所示。在軟件設計和開發階段,設備SEDS通過設計人員編寫生成;業務接口SEDS分為兩類,一類是已經具有的軟件構件或者模型,可通過工具直接生成SEDS,另一個類是新的軟件構件可通過編寫生成,生成后可作為構件模型的輸入。在軟件測試階段,以上生成的這些SEDS可以通過工具讀取作為仿真測試的輸入,保證正確性的同時減少了測試各種配置工作;在后期整器測試階段以及航天器飛行地面控制階段,這些電子表單還可以通過地面系統工具生成數據庫等,該數據庫也可用于開發方測試、三方測試以及在軌測試等??傊娮颖韱我坏┬纬?,它的應用貫穿于項目開發和運行的各個階段。

圖2 SEDS應用頂層設計
圖3是以星載軟件中遙測采集功能為例,由左向右,依次對應星載綜合電子系統的硬件、子網層、傳輸層、應用支持層、應用層。左邊D1、D2、D3是不同的設備,其中D1、D2分別通過RS422、CSB總線與RTU1(遠置單元)連接,RTU1通過1553B與星載綜合電子系統中央管理單元(SUM)連接;D2則直接通過1553B與SUM相連接。采集這些設備的遙測數據,首先通過1553B和串口匯聚協議完成遙測采集和組織,形成空間包,通過空間包協議將包發送至應用支持層,消息傳輸業務的消息發送原語將遙測發送至應用層的遙測處理模塊,遙測數據經過處理后,通過空間鏈路下傳至地面。
在此過程中,SEDS開始于設備,SEDS描述設備信息時,由于不同的設備支持不同的數據,所以設備描述的SEDS包括設備的訪問接口、設備的功能接口、設備的訪問協議、設備虛擬控制步驟、子網層的使用信息等,例如SEDS1、SEDS2、SEDS3。隨著綜合電子系統結構分層,越靠上層,設備SEDS聚合度越高,數量也越少,例如SEDS5它匯聚了SEDS1和SEDS2的相關信息后,又加入了1553B匯聚的訪問接口。 而SEDS描述業務接口,主要描述業務的之間的雙向數據交換的接口,包含業務/構件的參數(可以是輸入或者輸出)、命令、業務的原語、三者的映射關系以及表示業務之間關系的狀態機。

圖3 SEDS描述設備、業務接口
目前地面綜合測試系統、發射基地數據系統以及飛控中心數據系統使用的電子數據表單采用CCSDS的XTCE標準進行描述,主要偏重于遙控和遙測格式,其應用主要于地面進行數據上注和解析。星載業務接口/設備的描述采用SEDS標準,后續可以通過工具進行SEDS和XTCE轉換,如圖4所示。星載業務接口/設備SEDS和任務配置文件為輸入,生成XTCE標準的數據庫,提供不同的任務系統使用該轉換有利于星上數據與地面數據的銜接,即SEDS不僅可以用于星上軟件開發的各個生命周期,可以用于地面系統。

圖4 SEDS與XTCE的轉換
基于星載綜合電子系統SMU的43個軟件構件,其功能涵蓋CCSDS空間鏈路協議、SOIS的9種標準業務及協議、空間互聯網領域協議、1553B協議、ECSS的PUS協議中12種業務、匯聚協議、驅動,開發了43份業務接口的SEDS,針對與SMU有接口的設備開發了15份設備SEDS,在軟件開發階段、調試測試階段、單元測試、組裝測試以及確認測試等階段,均以SEDS作為了測試的輸入。經統計,在現階段星載綜合電子系統的開發測試階段,時間節省約35%,集成代碼自動生成部分占62%,與此同時,未出現由于文件問題引起的接口狀態不一致等問題。通過SEDS開發、測試在快速集成、可重用性、可靠性方面有著突出作用,主要體現在:
1)快速集成測試。由于SEDS描述了業務的配置參數、接口、以及業務間的連接關系,根據需求選取相關的軟件構件之后,通過SEDS描述這些構件之間調用關系,通過工具便可生成互相調用的代碼,可實現星載綜合電子系統內部的快速集成。在開發測試階段和整星測試階段,通過設備的SEDS,實現即插即用,大量的減少了測試期間的配置工作,縮短測試周期。
2)可重用性。目前開發的軟件構件均以入庫,與之接口相對的SEDS也已入庫,對于同一構件應用于不同領域,由于其參數、接口、調用關系固定,所以業務接口的SEDS可重用。對于同一設備,當其通信協議固定的同時,設備的SEDS在航天器整個研制周期可以重用,以上重用度越高,開發效率也越高。
3)可靠性。通過SEDS產生星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析文件等,,可以減少文檔的不確定性和不一致性;SEDS采用工具進行轉換后,自動生成任務的數據庫,保證了軟件開發、集成、測試的各個階段數據的一致性,提高了各個階段數據的可靠性。
通過SEDS對設備信息以及業務接口信息進行描述,自動生成星載軟件,可實現星載綜合電子系統快速集成與測試。通過SEDS可以自動生成星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析軟件等,可減少文檔的不確定性和不一致性,避免在需求變更時修改大量的文件。與此同時通過擴展SEDS與地面XTCE的自動轉換還可實現軟件開發者、綜合測試、飛控中心、設備生產者之間靈活可靠的數據交互。SEDS實現快速集成與測試的同時,它的可重用性和可靠性有助于提高開發效率,從而實現整個航天器研制周期的縮短。