, , , , 亞航
(1.北京空間飛行器總體設計部, 北京 100094; 2.北京空間技術研制試驗中心, 北京 100094)
空間數(shù)據(jù)系統(tǒng)咨詢委員會(consultative committee for space data systems,CCSDS)成立于1982年,是空間數(shù)據(jù)系統(tǒng)領域最權(quán)威的組織,目前有11個成員組織以及30個觀察員組織,主要負責制定空間數(shù)據(jù)系統(tǒng)的國際標準,含星載接口、空間鏈路、空間互聯(lián)網(wǎng)、任務操作和信息管理、交互支持、系統(tǒng)工程等6個領域。截止目前,全球超過800個航天器上實現(xiàn)和應用了CCSDS系列標準。
CCSDS航天器星載接口業(yè)務領域(spacecraft onboard interface services,SOIS)目前的工作重點是SEDS(SOIS Electronic Data Sheet)相關研究。針對目前實現(xiàn)星載軟件快速集成和測試的需求,SEDS可以實現(xiàn)對設備信息以及業(yè)務接口信息的描述,并通過工具自動生成星載軟件、測試用例以及相關文檔,從而減少星載軟件集成、測試、維護時間,并保各個研制階段數(shù)據(jù)的一致性。該標準的實現(xiàn)應用有利于縮短星載綜合電子系統(tǒng)的研制周期、降低研制風險與成本。本文對SEDS標準及國外研究應用現(xiàn)狀進行分析,對星載綜合電子系統(tǒng)進行研究說明,基于該系統(tǒng)對SEDS的應用進行設計驗證。
在SOIS體系結(jié)構(gòu)中,EDS(electronic data sheet)主要的用途是對設備信息以及業(yè)務接口信息進行描述,簡稱SEDS。它包含以下內(nèi)容:SOIS各協(xié)議層之間數(shù)據(jù)雙向交換的接口;組成上述接口的指令和參數(shù);實現(xiàn)兩組接口間映射的構(gòu)件服務;組成構(gòu)件的狀態(tài)機、變量、行為;作為以上參考的類型、變量、編碼和術語。
在SEDS的使用上,除了對設備進行描述外,還可用SEDS描述業(yè)務的接口、業(yè)務間的連接關系、業(yè)務的配置參數(shù)、系統(tǒng)的配置參數(shù),將體系架構(gòu)中原本概念性的通信管理轉(zhuǎn)化為通過SEDS描述各層業(yè)務配置以及連接關系的實體。描述設備的參數(shù)以及軟件業(yè)務的配置參數(shù)和業(yè)務之間的接口關系。此外,SEDS還有許多其它的用途。例如地面操作人員可以將設備的SEDS采用工具進行轉(zhuǎn)換,可自動生成任務的數(shù)據(jù)庫,便于生成對設備的控制指令以及解析設備下行的遙測。在空間站等應用,若航天員將一臺新的設備接入空間站的系統(tǒng)網(wǎng)絡,當設備將自身的SEDS存儲于設備內(nèi)部,通過即插即用的機制,空間站內(nèi)可以自動識別該設備并將該設備的數(shù)據(jù)以及SEDS信息發(fā)布,航天員通過筆記本可以訂閱該設備的數(shù)據(jù)以及SEDS,通過 SEDS的解析工具對設備的數(shù)據(jù)進行解析,即可在界面進行數(shù)據(jù)查看。
通過SEDS產(chǎn)生星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析文件等,可以減少文檔的不確定性和不一致性,避免在需求變更時修改大量的文件。目前地面測試使用的電子數(shù)據(jù)表單采用CCSDS的XTCE標準進行描述,當前主要偏重于遙控和遙測格式,后續(xù)通過擴展對于星載業(yè)務接口的描述采用SEDS標準后,SEDS和XTCE可以通過工具進行轉(zhuǎn)換,綜合SEDS和XTCE各自的優(yōu)勢實現(xiàn)對整個航天器接口軟件及文檔的電子表單化。
目前,在國際領域最先展開SEDS應用的是NASA和ESA。NASA的戈達德飛行中心在其cFE核心飛行軟件架構(gòu)中實現(xiàn)了SEDS應用;ESA目前也正在采用JAVA開發(fā)工具用于支持SEDS的生成和解析。
NASA核心軟件系統(tǒng)cFE已用于多個型號,基于軟件總線進行各軟件組件之間的消息通信,并開發(fā)了配套的組件配置工具,其源碼公開,不僅用于航天器,也用于無人機等系統(tǒng)。NASA已計劃將該軟件架構(gòu)參考SOIS體系架構(gòu)定義的接口,進行進一步完善,使之能適應SOIS體系架構(gòu)。在NASA的cFE核心飛行軟件架構(gòu)中,采用了SEDS的技術自動生成軟件配置信息,方便軟件的按需配置和組裝。SEDS可以定義設備的接口也可以定義所有軟件構(gòu)件的接口。通過工具掃描代碼頭文件輔助生成SEDS,對SEDS進行修改后可再生成新的代碼,同時可通過SEDS生成測試用的遙控指令并解析遙測數(shù)據(jù)。NASA已經(jīng)開發(fā)出一款工具,該工具將軟件構(gòu)件SEDS和任務配置文件作為輸入然后生成C 語言的頭文件。頭文件包含消息定義和工程單元轉(zhuǎn)換。目前,該工具集成在cFS(核心飛行系統(tǒng))創(chuàng)建系統(tǒng)中,被多個NASA中心使用。
來自歐洲SCISYS公司已經(jīng)研究EDS多年,并正在開發(fā)工具支持SEDS的生成和解析。該工具采用JAVA開發(fā),可以根據(jù)SEDS自動生成星載軟件代碼。SEDS的生成及使用過程為:在開發(fā)初期,通過設備的參數(shù)生成SEDS文件,通過工具SEDS文件可生成參數(shù)、驗證相關的文檔,此時生成的SEDS文件通過工具可以生成星載部分構(gòu)件,比如設備驅(qū)動,還可以生成用于仿真的輸入。之后在項目開發(fā)過程中,當新增設備或設備參數(shù)改變時可直接更新SEDS;系統(tǒng)的模型或者數(shù)據(jù)也可生成SEDS,當系統(tǒng)數(shù)據(jù)或者設備數(shù)據(jù)變化時它們之間互相影響都可以通過EDS對數(shù)據(jù)進行修改,修改后的SEDS文件通過工具對文檔自動生成,進行更新。在綜合測試時,EDS直接可作為其輸入而省去了文檔,因為SEDS中直接包含了其所有的文檔數(shù)據(jù)。
星載綜合電子體系結(jié)構(gòu)是基于SOIS開發(fā)的一種分層的體系結(jié)構(gòu),每一層包含了多種業(yè)務及協(xié)議。在該體系結(jié)構(gòu)中,一方面將SOIS標準的業(yè)務和協(xié)議映射為可重用的軟件構(gòu)件,另一方面將軟件構(gòu)件統(tǒng)一劃分為中間件層,與操作系統(tǒng)層、應用層一起共同組成整個綜合電子系統(tǒng)軟件。該結(jié)構(gòu)中核心部分為中間件層,該層軟件構(gòu)件包含了CCSDS、ECSS的多種標準協(xié)議,并通過標準化的接口對應用層提供服務,如圖1所示。
圖1 綜合電子體系結(jié)構(gòu)
3.1.1 應用層
應用層包含遙控、遙測、時間管理、內(nèi)務管理、熱控管理、能源管理、載荷管理以及其他一些擴展應用等頂層功能,可使用底層提供的業(yè)務,通過對這些業(yè)務進行實例化來生成不同的應用進程。
這幾年,蘭州大氣治污用“笨”辦法狠抓落實。整個蘭州市區(qū)被劃成1482個網(wǎng)格,逐一落實減排責任。所有重點排污企業(yè)實行干部24小時駐廠監(jiān)察,1296臺鍋爐全部進行煤改氣。2013年以來,因為治污不力問責近千名干部,一批治污得力的干部獲提拔重用。現(xiàn)在,蘭州市每個格子里有多少臺燃煤爐子、每臺爐子“吃”多少煤,能精確到個位數(shù)。重拳治污之下,蘭州市能源結(jié)構(gòu)迅速優(yōu)化,城市布局逐漸合理,為科學治污騰挪出空間。2015年蘭州GDP比2009年翻了一番多,治污不但沒有影響發(fā)展,還給城市帶來轉(zhuǎn)型機遇。10. 任欽:《蘭州樣本》,《經(jīng)濟參考報》,2017年1月6日。
3.1.2 應用支持層
應用支持層包括SOIS定義的命令與數(shù)據(jù)獲取業(yè)務(包含設備訪問業(yè)務、數(shù)據(jù)池業(yè)務、設備虛擬化業(yè)務),應用程序訪問星上設備;文件及包存儲業(yè)務用于航天器內(nèi)以及航天器間的計算機文件系統(tǒng)中傳輸文件;時間訪問業(yè)務用于獲取航天器時間;消息傳輸業(yè)務用于星上兩個應用程序之間的消息傳遞;PUS定義的標準業(yè)務基本覆蓋目前航天器綜合電子系統(tǒng)的通用功能。
3.1.3 傳輸層
傳輸/網(wǎng)絡層一般只在有多個子網(wǎng)且子網(wǎng)間的應用程序需要相互通信時才使用,它提供應用程序間端對端的數(shù)據(jù)傳輸業(yè)務。此處使用空間包協(xié)議進行選路,并對空間包協(xié)議進行了擴展,在其副導頭增加了源/目的地址信息,可擴展支持UDP/IP等協(xié)議。
3.1.4 子網(wǎng)層
子網(wǎng)層包含空間鏈路和星載鏈路,提供一系列業(yè)務供上層的應用程序支持層和傳輸層業(yè)務調(diào)用,空間鏈路主要由上行TC協(xié)議和COP-1協(xié)議、下行AOS協(xié)議提供。星載鏈路包括包業(yè)務、存儲器訪問業(yè)務、同步業(yè)務。除了上述標準業(yè)務外,還提供一個統(tǒng)一通用的總線接口業(yè)務,于每一種鏈路,可通過相應的匯聚協(xié)議以及數(shù)據(jù)鏈路層協(xié)議,使之能支持子網(wǎng)的標準業(yè)務,從而對上層屏蔽底層鏈路的不同。目前支持的鏈路包括1553B總線、SpaceWire總線、串口、ML接口、DS接口等。
3.1.5 操作系統(tǒng)及硬件
操作系統(tǒng)層將操作系統(tǒng)的各接口進行封裝,提供統(tǒng)一應用程序編程接口。任何操作系統(tǒng)只要支持該結(jié)構(gòu)中統(tǒng)一的訪問接口,即可在星載綜合電子系統(tǒng)中進行應用,因此,可支持操作系統(tǒng)的更新。其組成包括實時操作系統(tǒng)、設備驅(qū)動程序、板級支持包(BSP)、基礎函數(shù)庫等。
SEDS的應用可以貫穿綜合電子系統(tǒng)開發(fā)的各個生命周期,如圖2所示。在軟件設計和開發(fā)階段,設備SEDS通過設計人員編寫生成;業(yè)務接口SEDS分為兩類,一類是已經(jīng)具有的軟件構(gòu)件或者模型,可通過工具直接生成SEDS,另一個類是新的軟件構(gòu)件可通過編寫生成,生成后可作為構(gòu)件模型的輸入。在軟件測試階段,以上生成的這些SEDS可以通過工具讀取作為仿真測試的輸入,保證正確性的同時減少了測試各種配置工作;在后期整器測試階段以及航天器飛行地面控制階段,這些電子表單還可以通過地面系統(tǒng)工具生成數(shù)據(jù)庫等,該數(shù)據(jù)庫也可用于開發(fā)方測試、三方測試以及在軌測試等??傊?,電子表單一旦形成,它的應用貫穿于項目開發(fā)和運行的各個階段。
圖2 SEDS應用頂層設計
圖3是以星載軟件中遙測采集功能為例,由左向右,依次對應星載綜合電子系統(tǒng)的硬件、子網(wǎng)層、傳輸層、應用支持層、應用層。左邊D1、D2、D3是不同的設備,其中D1、D2分別通過RS422、CSB總線與RTU1(遠置單元)連接,RTU1通過1553B與星載綜合電子系統(tǒng)中央管理單元(SUM)連接;D2則直接通過1553B與SUM相連接。采集這些設備的遙測數(shù)據(jù),首先通過1553B和串口匯聚協(xié)議完成遙測采集和組織,形成空間包,通過空間包協(xié)議將包發(fā)送至應用支持層,消息傳輸業(yè)務的消息發(fā)送原語將遙測發(fā)送至應用層的遙測處理模塊,遙測數(shù)據(jù)經(jīng)過處理后,通過空間鏈路下傳至地面。
在此過程中,SEDS開始于設備,SEDS描述設備信息時,由于不同的設備支持不同的數(shù)據(jù),所以設備描述的SEDS包括設備的訪問接口、設備的功能接口、設備的訪問協(xié)議、設備虛擬控制步驟、子網(wǎng)層的使用信息等,例如SEDS1、SEDS2、SEDS3。隨著綜合電子系統(tǒng)結(jié)構(gòu)分層,越靠上層,設備SEDS聚合度越高,數(shù)量也越少,例如SEDS5它匯聚了SEDS1和SEDS2的相關信息后,又加入了1553B匯聚的訪問接口。 而SEDS描述業(yè)務接口,主要描述業(yè)務的之間的雙向數(shù)據(jù)交換的接口,包含業(yè)務/構(gòu)件的參數(shù)(可以是輸入或者輸出)、命令、業(yè)務的原語、三者的映射關系以及表示業(yè)務之間關系的狀態(tài)機。
圖3 SEDS描述設備、業(yè)務接口
目前地面綜合測試系統(tǒng)、發(fā)射基地數(shù)據(jù)系統(tǒng)以及飛控中心數(shù)據(jù)系統(tǒng)使用的電子數(shù)據(jù)表單采用CCSDS的XTCE標準進行描述,主要偏重于遙控和遙測格式,其應用主要于地面進行數(shù)據(jù)上注和解析。星載業(yè)務接口/設備的描述采用SEDS標準,后續(xù)可以通過工具進行SEDS和XTCE轉(zhuǎn)換,如圖4所示。星載業(yè)務接口/設備SEDS和任務配置文件為輸入,生成XTCE標準的數(shù)據(jù)庫,提供不同的任務系統(tǒng)使用該轉(zhuǎn)換有利于星上數(shù)據(jù)與地面數(shù)據(jù)的銜接,即SEDS不僅可以用于星上軟件開發(fā)的各個生命周期,可以用于地面系統(tǒng)。
圖4 SEDS與XTCE的轉(zhuǎn)換
基于星載綜合電子系統(tǒng)SMU的43個軟件構(gòu)件,其功能涵蓋CCSDS空間鏈路協(xié)議、SOIS的9種標準業(yè)務及協(xié)議、空間互聯(lián)網(wǎng)領域協(xié)議、1553B協(xié)議、ECSS的PUS協(xié)議中12種業(yè)務、匯聚協(xié)議、驅(qū)動,開發(fā)了43份業(yè)務接口的SEDS,針對與SMU有接口的設備開發(fā)了15份設備SEDS,在軟件開發(fā)階段、調(diào)試測試階段、單元測試、組裝測試以及確認測試等階段,均以SEDS作為了測試的輸入。經(jīng)統(tǒng)計,在現(xiàn)階段星載綜合電子系統(tǒng)的開發(fā)測試階段,時間節(jié)省約35%,集成代碼自動生成部分占62%,與此同時,未出現(xiàn)由于文件問題引起的接口狀態(tài)不一致等問題。通過SEDS開發(fā)、測試在快速集成、可重用性、可靠性方面有著突出作用,主要體現(xiàn)在:
1)快速集成測試。由于SEDS描述了業(yè)務的配置參數(shù)、接口、以及業(yè)務間的連接關系,根據(jù)需求選取相關的軟件構(gòu)件之后,通過SEDS描述這些構(gòu)件之間調(diào)用關系,通過工具便可生成互相調(diào)用的代碼,可實現(xiàn)星載綜合電子系統(tǒng)內(nèi)部的快速集成。在開發(fā)測試階段和整星測試階段,通過設備的SEDS,實現(xiàn)即插即用,大量的減少了測試期間的配置工作,縮短測試周期。
2)可重用性。目前開發(fā)的軟件構(gòu)件均以入庫,與之接口相對的SEDS也已入庫,對于同一構(gòu)件應用于不同領域,由于其參數(shù)、接口、調(diào)用關系固定,所以業(yè)務接口的SEDS可重用。對于同一設備,當其通信協(xié)議固定的同時,設備的SEDS在航天器整個研制周期可以重用,以上重用度越高,開發(fā)效率也越高。
3)可靠性。通過SEDS產(chǎn)生星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析文件等,,可以減少文檔的不確定性和不一致性;SEDS采用工具進行轉(zhuǎn)換后,自動生成任務的數(shù)據(jù)庫,保證了軟件開發(fā)、集成、測試的各個階段數(shù)據(jù)的一致性,提高了各個階段數(shù)據(jù)的可靠性。
通過SEDS對設備信息以及業(yè)務接口信息進行描述,自動生成星載軟件,可實現(xiàn)星載綜合電子系統(tǒng)快速集成與測試。通過SEDS可以自動生成星載軟件代碼、測試用例、接口控制文檔、遙控指令、遙測解析軟件等,可減少文檔的不確定性和不一致性,避免在需求變更時修改大量的文件。與此同時通過擴展SEDS與地面XTCE的自動轉(zhuǎn)換還可實現(xiàn)軟件開發(fā)者、綜合測試、飛控中心、設備生產(chǎn)者之間靈活可靠的數(shù)據(jù)交互。SEDS實現(xiàn)快速集成與測試的同時,它的可重用性和可靠性有助于提高開發(fā)效率,從而實現(xiàn)整個航天器研制周期的縮短。