石薇 王永 常亮 王明亮
(1 中國科學(xué)院上海微小衛(wèi)星創(chuàng)新研究院, 上海 201203)(2 上海微小衛(wèi)星工程中心, 上海 201203)(3 上海飛機(jī)設(shè)計(jì)研究院, 上海 201210)
衛(wèi)星作為高成本的復(fù)雜航天產(chǎn)品,針對(duì)其研制過程中論證手段缺乏、聯(lián)調(diào)驗(yàn)證方法落后、新型裝備任務(wù)演練缺少演練平臺(tái)等導(dǎo)致的方案反復(fù)、測(cè)試不充分、研制周期長等問題,將數(shù)字虛擬化技術(shù)引入衛(wèi)星全生命周期中,可實(shí)現(xiàn)對(duì)開發(fā)測(cè)試支撐,破除硬件限制,實(shí)現(xiàn)低成本、低風(fēng)險(xiǎn),高保真,高效率的硬件模擬行為[1]。能夠支持衛(wèi)星軟件各分系統(tǒng)并行作業(yè),在衛(wèi)星硬件未全部就緒的情況下,提供開展軟件開發(fā)、測(cè)試作業(yè)的條件保障;拓展仿真模擬應(yīng)用,支持單星及系統(tǒng)間測(cè)控、運(yùn)控等系統(tǒng)仿真測(cè)試,構(gòu)建虛擬衛(wèi)星、系統(tǒng)模擬仿真體系,降低成本、風(fēng)險(xiǎn);在此基礎(chǔ)上進(jìn)行在軌維護(hù)服務(wù),結(jié)合歷史數(shù)據(jù)與當(dāng)前數(shù)據(jù),使用數(shù)字化模型與交叉耦合算法,實(shí)現(xiàn)衛(wèi)星的故障預(yù)測(cè)、定位、診斷等,及時(shí)在地面上對(duì)在軌衛(wèi)星進(jìn)行修復(fù)或任務(wù)調(diào)整等操作[2]。
文獻(xiàn)[3]以虛擬化仿真來模擬硬件,結(jié)合姿軌控動(dòng)力學(xué)模型等給出的外部數(shù)據(jù),進(jìn)行星務(wù)軟件在軌維護(hù)驗(yàn)證。文獻(xiàn)[4]基于可擴(kuò)充處理器架構(gòu)第八版(SPARC V8)的虛擬中央處理器(CPU)及其外部設(shè)備仿真,開展星載軟件測(cè)試驗(yàn)證。文獻(xiàn)[5]基于虛擬測(cè)試框架軟件(VTEST)開發(fā)出一款虛擬數(shù)字信號(hào)處理器(DSP)及其外部設(shè)備,應(yīng)用于軟件測(cè)試。文獻(xiàn)[6]提出了太陽同步軌道衛(wèi)星能源系統(tǒng)的結(jié)構(gòu)框架,給出能量平衡計(jì)算方法和結(jié)果。文獻(xiàn)[7]設(shè)計(jì)簡(jiǎn)便的散熱面面積及隔熱層厚度計(jì)算模型,具有優(yōu)化熱系統(tǒng)動(dòng)態(tài)特性的效果。綜上,數(shù)字衛(wèi)星以CPU虛擬仿真為核心,通過硬件行為模擬,結(jié)合力學(xué)等專業(yè)數(shù)學(xué)模型仿真,構(gòu)造低成本高效率的仿真衛(wèi)星。另外,大部分仿真在控制、電子、機(jī)械等單領(lǐng)域方面開展工作,而在多領(lǐng)域協(xié)同仿真方面,仍處于初步階段。
本文所述數(shù)字衛(wèi)星不需要借助其他工具,可跨系統(tǒng)運(yùn)行,支持多種CPU虛擬處理器和多種外部設(shè)備,聯(lián)合不同物理場(chǎng)下的數(shù)學(xué)模型,擴(kuò)展了數(shù)字衛(wèi)星仿真的覆蓋面,加強(qiáng)了仿真的真實(shí)性。
區(qū)別于任務(wù)級(jí)仿真,基于信息流的數(shù)字衛(wèi)星構(gòu)建方法以虛擬處理器為基礎(chǔ),裝載未修改的星載軟件,結(jié)合耦合數(shù)學(xué)模型,搭建基于真實(shí)硬件、物理環(huán)境的數(shù)字衛(wèi)星,如圖1所示。

圖1 基于信息流的數(shù)字衛(wèi)星設(shè)計(jì)框架
該框架對(duì)衛(wèi)星平臺(tái)進(jìn)行元器件級(jí)顆粒度的分解,針對(duì)芯片、電路建立最基本仿真單元,并在此基礎(chǔ)上進(jìn)行虛擬化構(gòu)建,以達(dá)到對(duì)整星信息流級(jí)別的精細(xì)仿真。
為了模擬衛(wèi)星復(fù)雜多源數(shù)據(jù)生成,該構(gòu)建方法還集成了多個(gè)可配置的衛(wèi)星數(shù)學(xué)模型,包括空間姿態(tài)動(dòng)力學(xué)、軌道動(dòng)力學(xué)、能源平衡等空間環(huán)境模型等。數(shù)學(xué)模型與底層硬件虛擬化相結(jié)合,可實(shí)現(xiàn)對(duì)高層次模塊的模擬。
信息流仿真系統(tǒng)包括芯片級(jí)仿真單元、電路級(jí)仿真單元和類計(jì)算機(jī)仿真單元;芯片級(jí)仿真單元直接運(yùn)行目標(biāo)代碼進(jìn)行指令解析,或存在寄存器界面和狀態(tài)輪轉(zhuǎn);電路級(jí)仿真單元去除寄存器界面,以電信號(hào)為主要輸入輸出;類計(jì)算機(jī)仿真單元進(jìn)行行為級(jí)仿真以替代運(yùn)行目標(biāo)代碼。信息流仿真系統(tǒng)、時(shí)鐘同步裝置及實(shí)時(shí)網(wǎng)絡(luò)通信裝置構(gòu)成平臺(tái)級(jí)仿真單元,平臺(tái)級(jí)仿真單元的信息流與真實(shí)衛(wèi)星的信息流保持一致,如表1所示。

表1 信息流仿真適用對(duì)照表
為實(shí)現(xiàn)高效率的指令級(jí)精確CPU仿真,建立一種分層的統(tǒng)一時(shí)間管理系統(tǒng),獨(dú)立于指令集模擬,可設(shè)置任意精度,支持多處理器系統(tǒng),同時(shí)能夠?yàn)橥鈬O(shè)備提供時(shí)鐘。該時(shí)鐘系統(tǒng)便于管理,運(yùn)行速度快,能夠滿足系統(tǒng)仿真平臺(tái)對(duì)時(shí)間系統(tǒng)的實(shí)時(shí)性要求。
對(duì)處理器進(jìn)行源碼級(jí)仿真,目標(biāo)代碼不經(jīng)修改直接加載,仿真處理器執(zhí)行目標(biāo)碼的時(shí)間屬性,如指令執(zhí)行時(shí)間、延時(shí)時(shí)間等,盡量精確與實(shí)際保持一致。對(duì)于抽象出的時(shí)間等屬性,提供可配置的方式,進(jìn)行相應(yīng)調(diào)節(jié)。
總線、邏輯部件等硬件具有相似的運(yùn)行特征,這類硬件一端為寄存器操作界面,另一端為信息交互界面;外部信息與處理器間通過輸入輸出設(shè)備(I/O)讀寫操作進(jìn)行數(shù)據(jù)處理,采用行為級(jí)仿真對(duì)總線、邏輯部件進(jìn)行仿真。
著重從時(shí)序及實(shí)時(shí)地址映射處理邏輯部件模型:對(duì)串口、總線等硬件考慮時(shí)間特性模擬,并對(duì)傳輸速率及傳輸方式進(jìn)行模擬;采用實(shí)時(shí)I/O空間映射算法,減少I/O地址讀寫占據(jù)的大量內(nèi)存映射空間,縮短查詢時(shí)間。
對(duì)不具備操作界面的邏輯控制模塊等采用行為仿真模擬,使用標(biāo)準(zhǔn)化信息流仿真技術(shù)設(shè)計(jì)思想,來設(shè)計(jì)外設(shè)接口,建立相應(yīng)模型庫。
根據(jù)需要對(duì)衛(wèi)星的單機(jī)建立類計(jì)算機(jī)仿真或行為級(jí)仿真模型。類計(jì)算機(jī)仿真如前所述,行為級(jí)仿真步驟如下:①對(duì)于單機(jī)對(duì)外接口的數(shù)據(jù)包,根據(jù)數(shù)據(jù)協(xié)議來定義單機(jī)輸入輸出等相關(guān)的數(shù)據(jù)結(jié)構(gòu)。②定義單機(jī)數(shù)據(jù)成員屬性,例如單機(jī)對(duì)外各種遙測(cè)量、加電開關(guān)機(jī)標(biāo)志。利用已經(jīng)從外部數(shù)據(jù)源導(dǎo)入到本地的數(shù)據(jù)量對(duì)單機(jī)成員屬性的刷新設(shè)置等。③定義單機(jī)接口,根據(jù)單機(jī)數(shù)據(jù)格式約定,對(duì)上行遙控信道發(fā)送來的指令進(jìn)行解析,對(duì)于指令中的遙測(cè)包請(qǐng)求、特殊包請(qǐng)求指令等所有指令進(jìn)行相應(yīng)包的組幀或者相應(yīng)的單機(jī)動(dòng)作。④定義單機(jī)通道接口,根據(jù)單機(jī)對(duì)外接口類型及數(shù)量,建立相應(yīng)的單機(jī)對(duì)外通信信道。
各模塊使用高精度時(shí)鐘同步裝置進(jìn)行時(shí)統(tǒng),標(biāo)準(zhǔn)交互接口進(jìn)行通信互聯(lián),使信息流仿真與真實(shí)衛(wèi)星系統(tǒng)完全一致。仿真間的時(shí)序通過時(shí)間同步保證,區(qū)分高頻事件與低頻事件,使用統(tǒng)一時(shí)間管理系統(tǒng)以不同方式管理,保證整體仿真協(xié)調(diào)一致。分層分發(fā)時(shí)間基準(zhǔn),通過異構(gòu)的方式,逐層采用不同策略同步,通過關(guān)鍵節(jié)點(diǎn)匯合,降低不同模塊相互干擾,解耦仿真部件仿真速度差異性。
提出一種將多種物理場(chǎng)融合交叉實(shí)現(xiàn)的設(shè)計(jì),通過對(duì)真實(shí)環(huán)境進(jìn)行建模構(gòu)建。單機(jī)仿真模型中具有物理學(xué)意義的數(shù)據(jù)由耦合數(shù)字模型提供,單機(jī)協(xié)議屬性的數(shù)據(jù)由信息流仿真模擬。以陀螺為例,陀螺角速度、溫度、功耗等數(shù)據(jù)通過耦合數(shù)字模型仿真計(jì)算,陀螺加電狀態(tài)等通過信息流仿真提供。
通過加載DLL耦合數(shù)字模型的方式,實(shí)現(xiàn)耦合數(shù)字模型與信息流仿真的交互,見圖2。

圖2 信息流仿真與耦合數(shù)字模型交互實(shí)現(xiàn)
仿真耦合數(shù)字模型由子系統(tǒng)模型與子系統(tǒng)模型間交叉狀態(tài)組成,如圖3所示。根據(jù)衛(wèi)星力、電、熱等連續(xù)仿真模型和事件驅(qū)動(dòng)等離散仿真模型來區(qū)分,將子系統(tǒng)模型分為連續(xù)系統(tǒng)模型和離散系統(tǒng)模型兩類,對(duì)系統(tǒng)的連續(xù)、離散屬性采用狀態(tài)方程或離散事件系統(tǒng)規(guī)范進(jìn)行描述。

圖3 耦合數(shù)字模型實(shí)現(xiàn)
對(duì)衛(wèi)星進(jìn)行數(shù)字化建模時(shí),考慮每個(gè)離散事件的特性,便于不同特性模型通過對(duì)應(yīng)算法進(jìn)行集成。對(duì)衛(wèi)星動(dòng)力學(xué)模型細(xì)分為剛體、多體、柔性等動(dòng)力學(xué)庫,根據(jù)不同需求選擇相應(yīng)模型;衛(wèi)星能源仿真根據(jù)姿軌控動(dòng)力學(xué)模型輸出的姿態(tài)變化,基于信息流仿真得到的不同負(fù)載的運(yùn)行等對(duì)電源系統(tǒng)的影響,構(gòu)建了動(dòng)態(tài)電源系統(tǒng)能量平衡的仿真系統(tǒng),對(duì)衛(wèi)星的具體能量狀態(tài)進(jìn)行計(jì)算并建模;熱分析模型通過動(dòng)力學(xué)模型輸出結(jié)果,以及能源計(jì)算輸出的功耗,計(jì)算衛(wèi)星外表面的空間外熱流,使用線性化方法求解整星的連續(xù)溫度場(chǎng)分布。
動(dòng)力學(xué)模型通過計(jì)算機(jī)程序模擬衛(wèi)星在空間受控或不受控情況下真實(shí)的軌道和姿態(tài)運(yùn)動(dòng)及與衛(wèi)星姿軌控分系統(tǒng)有關(guān)的空間力學(xué)、光學(xué)、磁學(xué)環(huán)境,計(jì)算與姿軌控系統(tǒng)有關(guān)的物理量、量測(cè)量及控制量[8]。動(dòng)力學(xué)模型在不同約束條件下等呈現(xiàn)不同的特征,本文針對(duì)不同衛(wèi)星結(jié)構(gòu)、軌道高度、衛(wèi)星單機(jī)下建立模型庫,擺脫商業(yè)分析軟件(STK、Matlab等)的束縛,根據(jù)需求生成相應(yīng)的C程序動(dòng)力學(xué)模型,見圖4。

圖4 C程序動(dòng)力學(xué)模型庫
能量平衡分析是衛(wèi)星長期安全可靠運(yùn)行的必要條件和重要保障,精確計(jì)算衛(wèi)星實(shí)時(shí)能源狀態(tài)變化一直是當(dāng)下能源系統(tǒng)設(shè)計(jì)的難題[9-10]。
實(shí)時(shí)能源模型根據(jù)動(dòng)力學(xué)模型輸出的光照條件和帆板數(shù)據(jù)計(jì)算帆板輸出電流,結(jié)合動(dòng)力學(xué)模型輸出的位置和姿態(tài),通過信息流仿真得到單機(jī)開關(guān)狀態(tài),將單機(jī)功耗代入計(jì)算,得到衛(wèi)星實(shí)時(shí)功耗和放電深度,較精確得到衛(wèi)星實(shí)時(shí)能源情況,驗(yàn)證衛(wèi)星所設(shè)計(jì)的能源系統(tǒng)平衡效果,為能源系統(tǒng)設(shè)計(jì)的適當(dāng)調(diào)整提供了參考依據(jù)。見圖5。

圖5 能源平衡模型庫
通過線性插值建立實(shí)時(shí)電池容量與蓄電池電壓之間的轉(zhuǎn)換,便于蓄電池充放電控制,同時(shí)給出熱分析模型中計(jì)算所需的實(shí)時(shí)功耗。
熱分析一般采用熱網(wǎng)絡(luò)法計(jì)算衛(wèi)星外熱流與瞬態(tài)溫度場(chǎng)[8],實(shí)時(shí)熱控環(huán)節(jié)的溫度變化難以掌握。本文所述的熱分析模型采用簡(jiǎn)潔、準(zhǔn)確的計(jì)算方式,通過動(dòng)力學(xué)模型給出的軌道參數(shù)和姿態(tài)信息,計(jì)算地球陰影、光照狀態(tài),得出地球、太陽和衛(wèi)星之間的位置關(guān)系,計(jì)算衛(wèi)星外表面的空間外熱流;根據(jù)能源模型計(jì)算得到的衛(wèi)星實(shí)時(shí)功耗以及三種實(shí)時(shí)外熱流計(jì)算結(jié)果,對(duì)衛(wèi)星艙內(nèi)、散熱面、核心單機(jī)的溫度進(jìn)行處理,使用線性化方法開發(fā)符合衛(wèi)星傳熱建模需求的求解器;然后將各個(gè)模塊整合,形成完整的動(dòng)態(tài)連續(xù)熱分析模型。
外熱流建模計(jì)算并輸出每一時(shí)刻(τ)下衛(wèi)星每個(gè)外表面面元的3種外熱流的大小。對(duì)于不規(guī)則衛(wèi)星外表面,可通過外表面投影計(jì)算[7]。對(duì)衛(wèi)星建立有內(nèi)熱源的三維非穩(wěn)態(tài)導(dǎo)熱微分方程求解動(dòng)態(tài)連續(xù)溫度,見圖6。

圖6 熱分析模型庫
計(jì)算得到的溫度結(jié)果影響動(dòng)力學(xué)模型中單機(jī)模型輸出,更精細(xì)化地仿真當(dāng)前衛(wèi)星狀態(tài)。
提出的面向信息流的耦合數(shù)字衛(wèi)星構(gòu)建方法所建立的虛擬衛(wèi)星已成功應(yīng)用于多個(gè)型號(hào)中。在衛(wèi)星技術(shù)設(shè)計(jì)驗(yàn)證時(shí),提供虛擬運(yùn)行環(huán)境,驗(yàn)證技術(shù)可行性;在開發(fā)調(diào)試過程中,無需硬件支持,提供衛(wèi)星軟件并行研發(fā)手段以及迭代進(jìn)化環(huán)境;在測(cè)試驗(yàn)證階段,支持單星及星座系統(tǒng)間、測(cè)控、運(yùn)控、演練等大型試驗(yàn),降低成本和風(fēng)險(xiǎn);在軌維護(hù)階段,快速提供故障反演平臺(tái),及時(shí)對(duì)在軌衛(wèi)星進(jìn)行修復(fù)或任務(wù)調(diào)整等操作。
通過測(cè)試機(jī)在數(shù)字衛(wèi)星與硬件實(shí)物上的運(yùn)行結(jié)果,星務(wù)、測(cè)控、姿軌控、能源、熱控等功能均正確仿真,表2為某數(shù)字衛(wèi)星與在軌衛(wèi)星比較結(jié)果,真星與數(shù)字衛(wèi)星結(jié)果保持一致,數(shù)字衛(wèi)星運(yùn)行正確。

表2 數(shù)字衛(wèi)星與在軌衛(wèi)星運(yùn)行結(jié)果對(duì)比
本文提出面向信息流的數(shù)字衛(wèi)星構(gòu)建方法,以衛(wèi)星內(nèi)部的信息流為研究對(duì)象,將復(fù)雜的衛(wèi)星模型分解為單機(jī)、芯片等較小模型;綜合動(dòng)力學(xué)、能源、熱分析等算法,建立了衛(wèi)星耦合交叉模型,改變了以往依賴單個(gè)系統(tǒng)仿真進(jìn)行論證規(guī)劃的設(shè)計(jì)局面,實(shí)現(xiàn)了多種論證方案任務(wù)滿足度的快速評(píng)估。最后,將所提出的方法在仿真平臺(tái)中實(shí)現(xiàn),初步說明所提出的方法適用于衛(wèi)星研制全周期,提升衛(wèi)星系統(tǒng)設(shè)計(jì)效率。