国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

航天嵌入式軟件動力學(xué)仿真環(huán)境的通用軟件架構(gòu)*

2017-07-05 16:09:54蔡雨辰王振華

蔡雨辰,奚 坤,黎 藜,王振華

( 北京控制工程研究所,北京 100094)

?

航天嵌入式軟件動力學(xué)仿真環(huán)境的通用軟件架構(gòu)*

蔡雨辰,奚 坤,黎 藜,王振華

( 北京控制工程研究所,北京 100094)

針對航天嵌入式軟件測試環(huán)境通用化需求,提出動力學(xué)軟件的通用化設(shè)計方法.基于航天動力學(xué)仿真的特點,設(shè)計靈活、通用和易于擴展的軟件框架、接口數(shù)據(jù)結(jié)構(gòu)和接口函數(shù),適用于在研型號的所有接口處理方式.該方法在實際型號工作中完成應(yīng)用,顯著提高了動力學(xué)軟件的研制速度,動力學(xué)軟件運行穩(wěn)定,精度滿足測試要求. 關(guān)鍵詞: 航天嵌入式軟件測試;通用測試環(huán)境;動力學(xué)軟件

0 引 言

確認測試是航天嵌入式軟件可靠性、安全性的重要保障.由于航天嵌入式軟件的工作狀態(tài)受運行環(huán)境的影響,確認測試通常在半物理仿真環(huán)境中進行[1-3].在半物理仿真測試環(huán)境中,被測軟件運行在真實的星載硬件平臺上,外圍部件則通過動力學(xué)軟件進行模擬.動力學(xué)軟件與星載硬件平臺完成數(shù)據(jù)交換,形成閉環(huán)測試,是確認測試環(huán)境的重要組成部分[4-6].

隨著航天軟件功能逐漸復(fù)雜,型號研制周期不斷縮短,確認測試面臨新的挑戰(zhàn).為提高確認測試環(huán)境的搭建速度,節(jié)約測試設(shè)備成本投入,通用化設(shè)計成為確認測試環(huán)境建設(shè)方面的研究熱點[7].作為確認測試環(huán)境的重要組成部分,動力學(xué)軟件的通用化設(shè)計不僅決定了確認測試環(huán)境的通用化程度,而且直接影響測試環(huán)境的功能和性能.

傳統(tǒng)動力學(xué)軟件設(shè)計沒有統(tǒng)一的框架和標準,其接口設(shè)計、結(jié)構(gòu)設(shè)計往往是根據(jù)具體的型號需求以及編程人員的個人習(xí)慣完成,移植性、維護性差,不利于確認測試環(huán)境的通用化.本文針對動力學(xué)軟件的特點,結(jié)合在研各型號軟件確認測試對動力學(xué)軟件的功能、性能需求,提出了航天動力學(xué)軟件的通用化設(shè)計方法.該設(shè)計方法統(tǒng)一了動力學(xué)軟件的框架和接口,設(shè)計性能能夠滿足航天型號任務(wù)的要求,為確認測試環(huán)境的通用化奠定了基礎(chǔ).

1 總體架構(gòu)設(shè)計

動力學(xué)軟件應(yīng)具備的功能及描述如表1所示.

表1 動力學(xué)軟件功能及描述Tab.1 Function and description of the dynamic software

鑒于表1所示動力學(xué)軟件的功能要求,設(shè)計動力學(xué)軟件的通用架構(gòu)如圖1所示.

初始化函數(shù)在動力學(xué)軟件上電、復(fù)位時調(diào)用,在其中對仿真周期、各遙測通道發(fā)送周期、1553B總線BC端收/發(fā)周期、1553B總線RT端發(fā)送周期進行設(shè)置,同時可對各UDP端口號、收發(fā)字節(jié)長度、1553B板卡初始化相關(guān)參數(shù)進行配置.主循環(huán)用于動力學(xué)仿真計算、敏感器數(shù)據(jù)打包、動力學(xué)控制命令解析、1553B數(shù)據(jù)打包/解析等操作.主循環(huán)控制周期可單獨配置.

框架提供8路遙測出口,由8個周期調(diào)用的發(fā)送函數(shù)構(gòu)成,每個發(fā)送函數(shù)對應(yīng)一個端口.框架提供5路動力學(xué)控制入口,由5個中斷回調(diào)函數(shù)構(gòu)成,當檢測到UDP數(shù)據(jù)包到達后,動力學(xué)軟件立即調(diào)用對應(yīng)端口的回調(diào)函數(shù),完成控制指令處理.

在1553B總線數(shù)據(jù)處理中,由于RT端接收數(shù)據(jù)的到達時刻未知,因此設(shè)置RT接收中斷實現(xiàn)對RT端數(shù)據(jù)接收的及時響應(yīng)[8].其他的1553B總線操作(包括BC端收、發(fā),RT端發(fā))則放置在周期函數(shù)中處理.工程實踐表明,此設(shè)計能夠有效提高1553B數(shù)據(jù)處理效率,若將RT端接收置于周期處理函數(shù)中定期查詢,則需增加大量的處理時間(30個RT的全子地址查詢一次消耗約250 ms).

2 循環(huán)結(jié)構(gòu)設(shè)計

基于通用性考慮,動力學(xué)軟件提供一個主循環(huán)周期函數(shù).然而,在實際動力學(xué)計算中,通常包含多種循環(huán)周期(如動力學(xué)運算周期為10 ms,慣性敏感器數(shù)據(jù)處理通常周期為40 ms等).傳統(tǒng)的動力學(xué)軟件設(shè)計通常是在主循環(huán)中為不同的周期設(shè)置單獨的計數(shù)器變量,以主循環(huán)周期為基準,通過循環(huán)計數(shù)完成所需的周期調(diào)用.這種方式的循環(huán)結(jié)構(gòu)不僅不夠直觀,而且當存在循環(huán)嵌套時,很容易引起計數(shù)錯誤.

針對以上問題,本文提出利用一個計數(shù)器變量實現(xiàn)不同周期計數(shù)的方法.在程序設(shè)計中,計數(shù)器的取值存在上界,需在適當時機令計數(shù)器翻轉(zhuǎn)并重新開始計數(shù).設(shè)計數(shù)器為TMAX時翻轉(zhuǎn),則TMAX的選取需保證計數(shù)器翻轉(zhuǎn)后不會影響各計數(shù)周期的計數(shù).設(shè)計數(shù)周期集合為ΨT={T1,T2,…,Tn},Tn∈Ν,易知,TMAX的取值需滿足:

TMAX={t|t∈Ν且t|Ti,i=1,2,…,n}

(1)

由式(1)可知,LΨT是TMAX的一個取值,其中LΨT為ΨT中所有元素的最小公倍數(shù).則計數(shù)器tCNT的計數(shù)方式為:

(2)

對于周期Tn,當Tn滿足Tn|tCNT時,即表示計數(shù)周期已到,則進入對應(yīng)處理分支.

3 接口設(shè)計

接口通用化是動力學(xué)軟件通用設(shè)計的核心.按照處理方式的不同,動力學(xué)軟件的接口主要劃分為位口、串口、1553B總線.接口通用化設(shè)計需考慮I/O操作、故障設(shè)置、靈活性、擴展性等方面,包括數(shù)據(jù)結(jié)構(gòu)設(shè)計和接口函數(shù)設(shè)計.

3.1 位口

位口包括電平方式和脈沖方式.電平方式位口的輸入、輸出只需考慮電平狀態(tài),脈沖方式位口的輸入、輸出除電平狀態(tài)外,還需考慮脈沖寬度.

電平、脈沖方式的位口輸入采用相同的數(shù)據(jù)結(jié)構(gòu),如圖2所示.

該數(shù)據(jù)結(jié)構(gòu)能夠記錄最近的15次電平或脈沖的狀態(tài)信息.其中,“有效信息個數(shù)”給出最近兩次采樣之間,總共記錄的位口信息個數(shù),以電平狀態(tài)翻轉(zhuǎn)作為分隔;每個“位口信息”包含“電平狀態(tài)”(高、低)以及該狀態(tài)的持續(xù)時間.

電平方式位口輸出只需要包含電平狀態(tài)信息,脈沖方式位口輸出除電平狀態(tài)信息外,還需脈沖寬度信息.

位口的輸入、輸出接口函數(shù)需要傳遞對應(yīng)的數(shù)據(jù)結(jié)構(gòu),輸出時,硬件板卡根據(jù)電平狀態(tài)和脈沖寬度(脈沖位口)輸出相應(yīng)的電平信號;輸入時,動力學(xué)軟件根據(jù)數(shù)據(jù)位口輸入數(shù)據(jù)結(jié)構(gòu)判斷采集到的電平信息.

對于電平位口,輪詢檢查“有效信息個數(shù)”對應(yīng)的“位口信息”,判斷是否存在有效電平狀態(tài).對于脈沖位口,操作流程如圖3所示.

3.2 串口

串口通常用于數(shù)據(jù)接收及應(yīng)答,串口的輸入、輸出數(shù)據(jù)結(jié)構(gòu)如圖4所示.

其中,所有的開關(guān)均用于測試故障設(shè)置,如“串口應(yīng)答開關(guān)”控制串口是否發(fā)送應(yīng)答信息.根據(jù)“接收失敗次數(shù)”和“接收成功次數(shù)”可以獲知兩次采用期間串口的工作狀態(tài),若“接收成功次數(shù)”大于1則說明有數(shù)據(jù)被覆蓋,若“接收失敗次數(shù)”大于0,則說明串口曾經(jīng)通信失敗.“接收數(shù)據(jù)時間差”可以獲得接收數(shù)據(jù)時刻與控制周期的時間偏差.

串口輸入、輸出函數(shù)只需完成串口數(shù)據(jù)結(jié)構(gòu)的傳遞即可根據(jù)與硬件的協(xié)議約定實現(xiàn)對串口的控制.

3.3 1553B總線

1553B總線接口包括BC端和RT端,其輸入、輸出的數(shù)據(jù)結(jié)構(gòu)如圖5所示.

“RT地址”、“RT子地址”用于標識發(fā)送或接收數(shù)據(jù)的RT;“發(fā)送或接收數(shù)據(jù)緩沖”提供發(fā)送或接收數(shù)據(jù)緩沖區(qū)的頭指針;“A/B總線選擇”控制BC端選擇通訊總線.

BC端發(fā)送、接收以及RT端發(fā)送的接口函數(shù)只需傳送圖5所示數(shù)據(jù)結(jié)構(gòu)即可通知1553B板卡[9-10]完成相應(yīng)操作,RT端接收通過中斷回調(diào)函數(shù)實現(xiàn),回調(diào)函數(shù)傳回圖5所示數(shù)據(jù)結(jié)構(gòu)信息(不包含“示數(shù)據(jù)總線選擇”),通過上述信息可定位通訊的RT并完成數(shù)據(jù)接收.

3.4 遙測接口

遙測接口將星端的遙測數(shù)據(jù)通過UDP協(xié)議發(fā)送至外部監(jiān)控計算機.通用框架提供8個UDP中斷函數(shù),可通過初始化函數(shù)分別設(shè)置各個函數(shù)的調(diào)用周期.

動力學(xué)軟件將通過位口、串口、1553B總線接口等采集到的星端遙測數(shù)據(jù)在UDP中斷函數(shù)中打包并通過以太網(wǎng)發(fā)送.

3.5 動力學(xué)控制入口

動力學(xué)控制入口為動力學(xué)軟件提供外部干預(yù)的通道.通用架構(gòu)提供8個UDP中斷函數(shù),可通過初始化函數(shù)分別設(shè)置各中斷函數(shù)對應(yīng)的UDP端口號.

外部控制程序通過對應(yīng)端口號向動力學(xué)軟件發(fā)送控制命令,監(jiān)測到UDP數(shù)據(jù)包達到后將觸發(fā)對應(yīng)的UDP中斷函數(shù),在其中完成相應(yīng)指令的處理.

4 結(jié)果驗證

本文所述動力學(xué)軟件通用設(shè)計方法已在兩個型號的通用測試平臺上應(yīng)用,基于通用架構(gòu)和接口,軟件環(huán)境的搭建和調(diào)試時間縮短了近2/3.搭建完成的動力學(xué)軟件運行穩(wěn)定,實時性好,圖6所示為動力學(xué)軟件中同時進行4種周期運算時,隨機抽取的1 000個實際周期時間.由圖可知,動力學(xué)軟件運行周期穩(wěn)定,基準定時精度優(yōu)于3 μs.

5 結(jié) 論

本文提出了一種航天動力學(xué)軟件的通用設(shè)計方法,給出了動力學(xué)軟件的通用框架和接口.通用框架依據(jù)動力學(xué)軟件的功能特點而設(shè)計,具有較大的靈活性和通用性,實測運行穩(wěn)定,精度高.循環(huán)結(jié)構(gòu)設(shè)計提高了程序的可讀性,且程序設(shè)計和維護更加方便.接口設(shè)計充分考慮型號需求,根據(jù)處理方式的區(qū)別給出脈沖位口、電平位口、串口、1553B接口的數(shù)據(jù)結(jié)構(gòu)和函數(shù)定義.按照通用框架和接口進行動力學(xué)軟件搭建,顯著提高了編碼和調(diào)試速度,為型號研制工作提供了有效保障.

[1] 張新邦.航天器半物理仿真應(yīng)用研究[J].航天控制,2015,33(1):55-68. ZHANG X B.The research on application of hardware in the loop simulation for spacecraft[J].Aerospace Control,2015,33(1):55-68.

[2] 鐘德明,劉斌,阮鐮.嵌入式軟件仿真測試環(huán)境軟件體系結(jié)構(gòu)研究[J].北京航空航天大學(xué)學(xué)報,2005,31(10):1130-1134. ZHONG D M, LIU B, RUAN L. Research on software architecture of embedded software simulation testing environment[J].Journal of Beijing university of Aeronautics and Astronautics,2013,32(3):62-65.

[3] LI Z Y, LI X M. Design and implementation of semi-physical simulation system for URAV’s tracking[J].Measurement & Control Technology,2013,32(3):62-65.

[4] HUANG T Q, GUO L L, ZENG H B. Integrated simulation modes study of dynamics and control based onrecurdyn[J].Aerospace Control,2010,28(3):60-64.

[5] 羅勇,公磊.第三方軟件評測類型及方法研究[J].科技廣場,2015,(12):60-64. LUO Y, GONG L. Research on classification and method for third-party software evaluation and testing[J].Science Mosaic,2015,(12):60-64.

[6] 朱晏慶.航天嵌入式軟件測試探究[J].中國科技縱橫,2014,(19):22-22. ZHU Y Q. Explore on aerospace embedded softwaretest[J].China Science & Technology Panorama Magazine,2014,(19):22-22.

[7] MUHAMMAD Z I, ANDREA A LIONEL B. Environment modeling and simulation for automated testing of soft real-time embeddedsoftware[J].Software & Systems Modeling,2015,14(1):483-524.

[8] LIU Y S, SHENG L Y, FENG X Z. The key technology research of 1553B bus data flow interface of satellite[J].Journal of Astronautic Metrology and Measurement,2013,33(5):52-56.

[9] ZHANG Z M, LUO Y H, SHAO Q G, et al. Design of 1555B bus communication interface module based on the architecture of C8051F040 microcontroller and BU61580[J].Measurement & Control Technology,2013,32(12):110-113.

[10] ZHANG J, YANG K, YAN Y Q, et al. Simulation testing system design and typical bug analysis in interface testing based on 1553B[J].Measurement & Control Technology,2016,35(2):115-117,120.

Universal Software Framework for Dynamics Simulation ofAerospace Embedded Software

CAI Yuchen, XI Kun, LI Li, WANG Zhenhua

(BeijingInstituteofControlEngineering,Beijing100094,China)

In order to develop the general construction of the aerospace embedded software testing environment, a general method for the aerospace dynamics software design is proposed. Based on the characteristics of aerospace dynamic simulation, a flexible generic and extensible software framework, interface data structures as well as interface functions are proposed, which are applied to all the simulation requirements of spacecraft under developing. The given method is applied in practical work. The programming progress is significantly increased, and the dynamics software is running stably and with high precision.

aerospace embedded software testing; general testing environment; dynamics software

*國防基礎(chǔ)科研資助項目(JCKY2016203B006).

2016-08-27

蔡雨辰(1984—),男,工程師,研究方向為嵌入式軟件測試;奚 坤(1983—),男,高級工程師,研究方向為嵌入式軟件設(shè)計;黎 藜(1983—),女,工程師,研究方向為嵌入式軟件測試;王振華(1982—),男,高級工程師,研究方向為嵌入式軟件測試.

TN492

A

1674-1579(2017)03-0066-05

10.3969/j.issn.1674-1579.2017.03.011

江西省| 卢湾区| 固原市| 依兰县| 汉沽区| 山西省| 松桃| 修水县| 五大连池市| 桦甸市| 秦安县| 灵山县| 徐州市| 甘孜县| 丰原市| 手游| 神池县| 太康县| 和静县| 衡水市| 湘潭县| 怀化市| 阜阳市| 鄂托克前旗| 开远市| 三台县| 乐至县| 广安市| 自贡市| 南雄市| 句容市| 拉孜县| 泗阳县| 河间市| 荣昌县| 凉城县| 上饶县| 西平县| 凤凰县| 平江县| 岳阳县|