技術(shù)領(lǐng)域
[0001] 本
發(fā)明涉及航空、航天測試領(lǐng)域,尤其涉及一種數(shù)字化星載姿控軟件測試平臺(tái)。
背景技術(shù)
[0002] 星載軟件研制主要分為需求分析、設(shè)計(jì)和測試三個(gè)階段,其中測試約占整個(gè)研制過程50%時(shí)間,特別是對(duì)于規(guī)模、邏輯、計(jì)算量等較大的星載姿控軟件,其測試的工作量更大。但由于星載軟件是運(yùn)行在專用的
硬件環(huán)境下的嵌入式軟件,其測試過程還受硬件平臺(tái)限制,導(dǎo)致星載姿控軟件測試容易成為星載軟件研制的短板,甚至?xí)绊懻麄€(gè)衛(wèi)星研制過程的進(jìn)度。
[0003] 針對(duì)星載姿控軟件具有與硬件環(huán)境關(guān)聯(lián)較小的特性,
現(xiàn)有技術(shù)提出一種數(shù)字化的星載姿控軟件測試平臺(tái)方案,采用硬件引入閉環(huán)方式進(jìn)行星載姿控軟件測試。參見
附圖1,現(xiàn)有星載姿控軟件測試環(huán)境示意圖。姿控軟件10運(yùn)行于實(shí)時(shí)嵌入式硬件環(huán)境(即星載計(jì)算機(jī)11)中,其采集敏感器12的數(shù)據(jù)并進(jìn)行計(jì)算和處理,得到控制指令,輸出至執(zhí)行機(jī)構(gòu)13;同時(shí)姿控仿真機(jī)14采集執(zhí)行機(jī)構(gòu)13控制量,利用執(zhí)行機(jī)構(gòu)13控制量進(jìn)行遞推,得到當(dāng)前衛(wèi)星
姿態(tài),進(jìn)而反算出敏感器12預(yù)期值,將值輸出至敏感器12,通過此種方式實(shí)現(xiàn)閉環(huán)運(yùn)行。該方案可快捷建立測試平臺(tái)并將其用于姿控軟件調(diào)試、測試,規(guī)避硬件約束的同時(shí),大大提高軟件測試效率。
[0004] 上述測試環(huán)境中,星載計(jì)算機(jī)11、敏感器12、執(zhí)行機(jī)構(gòu)13均為星上單機(jī),姿控仿真機(jī)14一般采用PC機(jī)+
接口板卡的形式搭建,也即測試需要硬件支持;同時(shí)該測試環(huán)境為實(shí)時(shí)系統(tǒng),則測試所需時(shí)間與真實(shí)時(shí)間一致,導(dǎo)致測試方法受硬件約束同時(shí)效率較低,造成軟件研制往往落后于硬件,且軟件測試無法與硬件研制同步,從而拉長了整個(gè)衛(wèi)星型號(hào)研制的周期。
[0005] 因此,需要提供一種新的星載姿控軟件測試平臺(tái),以解決現(xiàn)有測試平臺(tái)受硬件和實(shí)時(shí)約束的問題。
發(fā)明內(nèi)容
[0006] 本發(fā)明的目的在于,針對(duì)現(xiàn)有技術(shù)中現(xiàn)有測試平臺(tái)受硬件和實(shí)時(shí)約束的問題,提供一種數(shù)字化星載姿控軟件測試平臺(tái),將姿控軟件運(yùn)行環(huán)境移植至非實(shí)時(shí)的PC機(jī),并通過TCP/IP數(shù)據(jù)接口構(gòu)成閉環(huán)測試平臺(tái),解決了硬件和實(shí)時(shí)約束的弊端。
[0007] 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種數(shù)字化星載姿控軟件測試平臺(tái),包括星載姿控軟件端和動(dòng)
力學(xué)端;所述星載姿控軟件端和所述動(dòng)力學(xué)端通過TCP/IP接口實(shí)現(xiàn)敏感器數(shù)據(jù)包和控制指令包的數(shù)據(jù)交互;所述星載姿控軟件端受所述敏感器數(shù)據(jù)包激勵(lì)運(yùn)行,并采用非實(shí)時(shí)PC機(jī)周期運(yùn)行姿控軟件,所述星載姿控軟件端內(nèi)設(shè)有一段映射星載計(jì)算機(jī)RAM空間的內(nèi)存,實(shí)現(xiàn)姿控軟件全局變量定義以及姿控軟件與其他模
塊的數(shù)據(jù)交互。
[0008] 進(jìn)一步,所述敏感器數(shù)據(jù)包由動(dòng)力學(xué)端發(fā)送至星載姿控軟件端,所述敏感器數(shù)據(jù)包由固定數(shù)據(jù)
幀頭、星上時(shí)間和各單機(jī)數(shù)據(jù)組成。各單機(jī)數(shù)據(jù)中模擬量采用轉(zhuǎn)換之后的
數(shù)字量輸出。
[0009] 進(jìn)一步,所述控制指令包由星載姿控軟件端發(fā)送至動(dòng)力學(xué)端,所述控制指令包由固定數(shù)據(jù)幀頭以及動(dòng)力學(xué)端所需執(zhí)行機(jī)構(gòu)控制指令數(shù)據(jù)組成。
[0010] 所述星載姿控軟件端進(jìn)一步包括輸入
數(shù)據(jù)處理模塊、姿控軟件運(yùn)行模塊以及輸出數(shù)據(jù)處理模塊;所述輸入數(shù)據(jù)處理模塊用于將接收到的敏感器數(shù)據(jù)包進(jìn)行解析處理,并存至所述星載姿控軟件端內(nèi)存中
指定位置,作為姿控單機(jī)
采樣數(shù)據(jù);所述姿控軟件運(yùn)行模塊讀取相應(yīng)姿控單機(jī)采樣數(shù)據(jù)作為采樣值,直接調(diào)用姿控主函數(shù)并周期運(yùn)行;所述輸出數(shù)據(jù)處理模塊根據(jù)所述姿控軟件運(yùn)行模塊處理結(jié)果以及控制指令包進(jìn)行組包,通過所述TCP/IP接口發(fā)送至所述動(dòng)力學(xué)端。
[0011] 所述動(dòng)力學(xué)端進(jìn)一步包括動(dòng)力學(xué)模型、TCP/IP接收模塊、解幀模塊、單位延遲模塊、組幀模塊以及TCP/IP發(fā)送模塊;所述TCP/IP接收模塊用于進(jìn)行控制指令包的數(shù)據(jù)接收;所述解幀模塊分別與所述TCP/IP接收模塊以及動(dòng)力學(xué)模型相連,用于對(duì)所述TCP/IP接收模塊所接收的數(shù)據(jù)進(jìn)行解幀并輸入動(dòng)力學(xué)模型;所述單位延遲模塊與所述動(dòng)力學(xué)模型相連,用于對(duì)動(dòng)力學(xué)模型進(jìn)行周期采樣實(shí)現(xiàn)動(dòng)力學(xué)模型遞推步長和姿控軟件周期的匹配;所述組幀模塊分別與所述單位延遲模塊以及TCP/IP發(fā)送模塊相連,用于對(duì)敏感器數(shù)據(jù)包進(jìn)行組幀;所述TCP/IP發(fā)送模塊用于將所述組幀模塊組幀后的數(shù)據(jù)發(fā)送至所述星載姿控軟件端。
[0012] 進(jìn)一步,所述TCP/IP接收模塊以及TCP/IP發(fā)送模塊參數(shù)設(shè)置均為所述星載姿控軟件端的IP地址和端口。所述單位延遲模塊采樣時(shí)間為姿控軟件的運(yùn)行周期。
[0013] 本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明將現(xiàn)有測試環(huán)境硬件進(jìn)行數(shù)字化,在對(duì)姿控軟件改動(dòng)最小的情形下,將姿控軟件運(yùn)行環(huán)境移植至非實(shí)時(shí)的PC機(jī),保留原有的數(shù)據(jù)流,并通過TCP/IP數(shù)據(jù)接口,構(gòu)成閉環(huán)測試平臺(tái),解決了硬件和實(shí)時(shí)約束的弊端。
附圖說明
[0014] 圖1,現(xiàn)有星載姿控軟件測試環(huán)境示意圖;
[0015] 圖2,本發(fā)明所述的數(shù)字化星載姿控軟件測試平臺(tái)的架構(gòu)示意圖;
[0016] 圖3,本發(fā)明所述的星載姿控軟件端運(yùn)行
流程圖。
具體實(shí)施方式
[0017] 下面結(jié)合附圖對(duì)本發(fā)明提供的數(shù)字化星載姿控軟件測試平臺(tái)的具體實(shí)施方式做詳細(xì)說明。
[0018] 參考圖2,本發(fā)明所述的數(shù)字化星載姿控軟件測試平臺(tái)的架構(gòu)示意圖,所述測試平臺(tái)包括星載姿控軟件端21和動(dòng)力學(xué)端22,星載姿控軟件端21和動(dòng)力學(xué)端22通過TCP/IP接口23實(shí)現(xiàn)敏感器數(shù)據(jù)包和控制指令包的數(shù)據(jù)交互。其中,所述星載姿控軟件端21受所述敏感器數(shù)據(jù)包激勵(lì)運(yùn)行,并采用非實(shí)時(shí)PC機(jī)周期運(yùn)行姿控軟件;所述星載姿控軟件端21內(nèi)同時(shí)設(shè)有一段映射星載計(jì)算機(jī)RAM空間的內(nèi)存,實(shí)現(xiàn)姿控軟件全局變量定義以及姿控軟件與其他模塊的數(shù)據(jù)交互。本發(fā)明通過將姿控軟件運(yùn)行環(huán)境移植至非實(shí)時(shí)的PC機(jī)(星載姿控軟件端21),并將星載姿控軟件端21和動(dòng)力學(xué)端22兩者間的硬件接口轉(zhuǎn)換為TCP/IP接口23,而保留原有的數(shù)據(jù)流,通過此方式構(gòu)成閉環(huán)測試平臺(tái),解決了硬件和實(shí)時(shí)的約束弊端。
[0019] 所述敏感器數(shù)據(jù)包由動(dòng)力學(xué)端22發(fā)送至星載姿控軟件端21,所述敏感器數(shù)據(jù)包由固定數(shù)據(jù)幀頭(0xEB905716)、星上時(shí)間和各單機(jī)數(shù)據(jù)組成。由于需要與真實(shí)單機(jī)接口匹配,其中對(duì)于串口、CAN等數(shù)字接口的單機(jī),其數(shù)據(jù)與真實(shí)單機(jī)遙測數(shù)據(jù)格式一致;對(duì)于各單機(jī)數(shù)據(jù)中模擬量采用轉(zhuǎn)換之后的數(shù)字量輸出,如輸出0V則對(duì)應(yīng)0x800。
[0020] 以包括星敏A、星敏B、陀螺1、陀螺2、數(shù)字太敏以及反作用輪均為串口,模擬太敏為模擬量的衛(wèi)星為例,其敏感器數(shù)據(jù)包格式如下表1所示。
[0021]
[0022] 表1敏感器數(shù)據(jù)包格式。
[0023] 所述控制指令包由星載姿控軟件端21發(fā)送至動(dòng)力學(xué)端22,所述控制指令包由固定數(shù)據(jù)幀頭(0xEB905716)以及動(dòng)力學(xué)端22所需執(zhí)行機(jī)構(gòu)控制指令數(shù)據(jù)組成。動(dòng)力學(xué)端22所需執(zhí)行機(jī)構(gòu)控制指令數(shù)據(jù)可根據(jù)動(dòng)力學(xué)模型需要進(jìn)行協(xié)議數(shù)據(jù)格式。以上述衛(wèi)星為例,其動(dòng)力學(xué)模型需要指令數(shù)據(jù)為反作用輪指令
電壓、磁力矩器
開關(guān)標(biāo)記、推力器開機(jī)時(shí)長,則控制指令包數(shù)據(jù)格式如下表2所示。
[0024]
[0025] 表2控制指令包格式。
[0026] 星載姿控軟件端21與星載計(jì)算機(jī)在硬件、
操作系統(tǒng)等方面完全不同,而在邏輯處理、數(shù)值計(jì)算方面無差異;而姿控軟件主要功能和測試重點(diǎn)為邏輯和數(shù)值計(jì)算方面,與硬件接口、操作系統(tǒng)相關(guān)內(nèi)容很少。因此,通過星載姿控軟件端21實(shí)現(xiàn)將運(yùn)行于星載計(jì)算機(jī)中的姿控軟件移植至普通PC機(jī)中,并實(shí)現(xiàn)其周期運(yùn)行。在星載姿控軟件端21中利用VC++6.0建立
服務(wù)器和循環(huán)
進(jìn)程,在循環(huán)進(jìn)程中偵聽動(dòng)力學(xué)端22數(shù)據(jù)。同時(shí)星載姿控軟件端21中開辟一段內(nèi)存映射星載計(jì)算機(jī)的RAM空間,實(shí)現(xiàn)姿控軟件全局變量定義,同時(shí)實(shí)現(xiàn)姿控軟件與其他模塊的數(shù)據(jù)交互。
[0027] 所述星載姿控軟件端21進(jìn)一步包括輸入數(shù)據(jù)處理模塊211、姿控軟件運(yùn)行模塊212以及輸出數(shù)據(jù)處理模塊213。
[0028] 所述輸入數(shù)據(jù)處理模塊211用于將接收到的敏感器數(shù)據(jù)包進(jìn)行解析處理,并存至所述星載姿控軟件端21內(nèi)存中指
定位置,作為姿控單機(jī)采樣數(shù)據(jù),姿控軟件運(yùn)行時(shí)從內(nèi)存中讀取對(duì)應(yīng)數(shù)據(jù)作為采樣值。
[0029] 所述姿控軟件運(yùn)行模塊212讀取相應(yīng)姿控單機(jī)采樣數(shù)據(jù)作為采樣值,直接調(diào)用姿控主函數(shù)并周期運(yùn)行。本發(fā)明中姿控軟件運(yùn)行與嵌入式環(huán)境中運(yùn)行類似;嵌入式環(huán)境中運(yùn)行方式為發(fā)起任務(wù)調(diào)用姿控主函數(shù),并通過
信號(hào)量進(jìn)行周期控制;而本發(fā)明為直接調(diào)用姿控主函數(shù)并周期運(yùn)行,例如通過每接收到1次敏感器數(shù)據(jù)包調(diào)用1次的方式實(shí)現(xiàn)周期運(yùn)行。
[0030] 基于對(duì)姿控軟件改動(dòng)最小原則,通過宏定義區(qū)分星載計(jì)算機(jī)環(huán)境和平臺(tái)測試環(huán)境,并通過#ifdef的方式屏蔽軟件中硬件接口、操作系統(tǒng)相關(guān)的功能;由于采用宏定義的方式實(shí)現(xiàn)移植,則可通過改變宏定義實(shí)現(xiàn)適應(yīng)星載計(jì)算機(jī)或平臺(tái)測試的編譯和運(yùn)行。針對(duì)上述衛(wèi)星,在星載姿控軟件中僅使用7個(gè)#ifdef。
[0031] 所述輸出數(shù)據(jù)處理模塊213根據(jù)所述姿控軟件運(yùn)行模塊212處理結(jié)果以及控制指令包進(jìn)行組包,通過所述TCP/IP接口23發(fā)送至所述動(dòng)力學(xué)端22。
[0032] 星載姿控軟件端21受敏感器數(shù)據(jù)包激勵(lì)運(yùn)行,在接收到完整敏感器數(shù)據(jù)包后依次完成輸入數(shù)據(jù)處理、姿控軟件運(yùn)行、輸出數(shù)據(jù)處理,其流程如圖3所示。
[0033] 所述動(dòng)力學(xué)端22在原有MATLAB/Simulink動(dòng)力學(xué)模型
基礎(chǔ)上增加TCP/IP收發(fā)、數(shù)據(jù)解幀、采樣控制和數(shù)據(jù)組幀等功能,包括TCP/IP接收模塊221、解幀模塊222、動(dòng)力學(xué)模型223、單位延遲模塊224、組幀模塊225以及TCP/IP發(fā)送模塊226。
[0034] 所述TCP/IP接收模塊221用于進(jìn)行控制指令包的數(shù)據(jù)接收。所述解幀模塊222分別與所述TCP/IP接收模塊221以及動(dòng)力學(xué)模型223相連,用于對(duì)所述TCP/IP接收模塊221所接收的數(shù)據(jù)進(jìn)行解幀并輸入動(dòng)力學(xué)模型223。所述單位延遲模塊224與所述動(dòng)力學(xué)模型223相連,用于對(duì)動(dòng)力學(xué)模型223進(jìn)行周期采樣實(shí)現(xiàn)動(dòng)力學(xué)模型223遞推步長和姿控軟件周期的匹配;其中動(dòng)力學(xué)模型223中遞推步長一般為5ms~50ms,而姿控軟件周期一般為250~1000ms。所述組幀模塊225分別與所述單位延遲模塊224以及TCP/IP發(fā)送模塊226相連,用于對(duì)敏感器數(shù)據(jù)包進(jìn)行組幀。所述TCP/IP發(fā)送模塊226用于將所述組幀模塊225組幀后的數(shù)據(jù)發(fā)送至所述星載姿控軟件端21。
[0035] 所述TCP/IP接收模塊221以及TCP/IP發(fā)送模塊226參數(shù)設(shè)置均為所述星載姿控軟件端21的IP地址和端口;解幀模塊222和組幀模塊225根據(jù)數(shù)據(jù)包格式設(shè)置解幀、組幀;單位延遲模塊224中采樣時(shí)間設(shè)置為姿控軟件的運(yùn)行周期。
[0036] 本發(fā)明將現(xiàn)有測試環(huán)境硬件進(jìn)行數(shù)字化,在對(duì)姿控軟件改動(dòng)最小的情形下,將姿控軟件運(yùn)行環(huán)境移植至非實(shí)時(shí)的PC機(jī),保留原有的數(shù)據(jù)流,并通過TCP/IP數(shù)據(jù)接口,構(gòu)成閉環(huán)測試平臺(tái),解決了硬件和實(shí)時(shí)約束的弊端。
[0037] 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。