虛擬+現(xiàn)實(shí):半實(shí)物仿真測試有效保證嵌入式系統(tǒng)的健壯與可靠


隨著現(xiàn)代信息技術(shù)與軟硬件技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的功能日益強(qiáng)大,嵌入式設(shè)備和軟件應(yīng)用領(lǐng)域越來越寬泛。近年來,嵌入式軟件代碼量呈爆炸式增長,對(duì)測試的要求越來越高,尤其是涉及防務(wù)、航空、汽車等安全關(guān)鍵領(lǐng)域。
更加全面、系統(tǒng)的測試方法是必不可少的。更好的測試方法可以:
檢驗(yàn)嵌入式軟件是否滿足需求;
檢驗(yàn)預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別;
保障裝備質(zhì)量。

▲圖1:近20年車輛代碼增幅
01

測試環(huán)境

嵌入式軟件通常需要在特定的仿真測試環(huán)境中進(jìn)行測試。仿真測試環(huán)境主要分為全實(shí)物仿真(目標(biāo)機(jī)仿真)環(huán)境、半實(shí)物仿真(硬件在環(huán)仿真)環(huán)境、全數(shù)字仿真環(huán)境。
●?全實(shí)物仿真環(huán)境:建立真實(shí)的嵌入式環(huán)境并與外圍物理設(shè)備相連接,形成閉環(huán)測試。該環(huán)境下測試所得結(jié)果的真實(shí)性最強(qiáng),但是構(gòu)造和使用的成本最為昂貴,可控行也比較差,難以進(jìn)行數(shù)據(jù)收集和故障重現(xiàn)。一旦出現(xiàn)故障,很有可能會(huì)損害外部設(shè)備甚至整個(gè)物理環(huán)境,造成巨大的財(cái)產(chǎn)、人員損失。
●?半實(shí)物仿真環(huán)境:在目標(biāo)機(jī)上測試軟件,用仿真器模擬外部環(huán)境,以提供激勵(lì)信息和接收反饋信息。該環(huán)境下測試接近實(shí)裝測試,可靠性強(qiáng)。具有較好地收集數(shù)據(jù)、更容易地進(jìn)行故障重現(xiàn)、可控性強(qiáng)且能實(shí)現(xiàn)自動(dòng)化測試,風(fēng)險(xiǎn)小,收益大。
●?全數(shù)字仿真環(huán)境:用軟件來仿真嵌入式環(huán)境和外圍物理設(shè)備,也稱為虛擬仿真,使用的都是虛擬的東西,例如:虛擬的控制器和虛擬的被測對(duì)象。這種仿真測試的可信度主要取決于模型的準(zhǔn)確度,總體來說可信度低,應(yīng)用場景少,與實(shí)際裝備運(yùn)行區(qū)別大。
對(duì)比三種測試環(huán)境,可以看出半實(shí)物仿真同其它類型的仿真方法相比具有經(jīng)濟(jì)地實(shí)現(xiàn)更高真實(shí)度的可能性。從系統(tǒng)的觀點(diǎn)來看,半實(shí)物仿真允許在系統(tǒng)中接入部分實(shí)物,意味著可以把部分實(shí)物放在系統(tǒng)中進(jìn)行考察,從而使部件能在滿足系統(tǒng)整體性能指標(biāo)的環(huán)境中得到檢驗(yàn),因此半實(shí)物仿真是提高系統(tǒng)設(shè)計(jì)的可靠性和研制質(zhì)量的必要手段。
02

半實(shí)物仿真測試的先進(jìn)性和特點(diǎn)

半實(shí)物仿真,又稱為硬件在回路中的仿真(Hardware in the Loop Simulation),是指在仿真實(shí)驗(yàn)系統(tǒng)的仿真回路中接入部分實(shí)物的實(shí)時(shí)仿真。
半實(shí)物仿真技術(shù)自20世紀(jì)60年代問世直到目前美國研制航天飛機(jī),始終盛行不衰。美國大多數(shù)國防項(xiàng)目承包商都有一個(gè)或多個(gè)半實(shí)物仿真實(shí)驗(yàn)室,這些實(shí)驗(yàn)室代表了當(dāng)前世界先進(jìn)水平。
其先進(jìn)性體現(xiàn)在:(1) 有高速高精度的仿真機(jī);
(2) 有先進(jìn)完備的環(huán)境模擬設(shè)備。國內(nèi)半實(shí)物仿真技術(shù)在導(dǎo)彈制導(dǎo)、火箭控制、衛(wèi)星姿態(tài)控制等應(yīng)用研究方面也達(dá)到了較高水平。半實(shí)物仿真的特點(diǎn)是:
(1) 在回路中接入實(shí)物,必須實(shí)時(shí)運(yùn)行,即仿真模型的時(shí)間標(biāo)尺和自然時(shí)間標(biāo)尺相同。
(2) 需要解決控制器與仿真計(jì)算機(jī)之間的接口問題。
(3) 半實(shí)物仿真的實(shí)驗(yàn)結(jié)果比數(shù)字仿真更接近實(shí)際。
03

半實(shí)物仿真系統(tǒng)的基本組成和原理

半實(shí)物仿真系統(tǒng)是一種硬件在環(huán)實(shí)時(shí)技術(shù),把實(shí)物利用計(jì)算機(jī)接口嵌入到軟件環(huán)境中去,并要求系統(tǒng)的軟件和硬件都要實(shí)時(shí)運(yùn)行,從而模擬整個(gè)系統(tǒng)的運(yùn)行狀態(tài)。
●?仿真計(jì)算機(jī):仿真計(jì)算機(jī)是實(shí)時(shí)仿真系統(tǒng)的核心部分,它運(yùn)行實(shí)體對(duì)象和仿真環(huán)境的數(shù)學(xué)模型和程序。一般來說,采用層次化、模塊化的建模法,將模塊化程序劃分為不同的速率塊,在仿真計(jì)算機(jī)中按速率塊實(shí)時(shí)調(diào)度運(yùn)行。對(duì)于復(fù)雜的大型仿真系統(tǒng),可用多臺(tái)計(jì)算機(jī)聯(lián)網(wǎng)實(shí)時(shí)運(yùn)行。
●?物理效應(yīng)設(shè)備:物理效應(yīng)設(shè)備的作用是模擬復(fù)現(xiàn)真實(shí)世界的物理環(huán)境,形成仿真環(huán)境或稱為虛擬環(huán)境。物理效應(yīng)設(shè)備實(shí)現(xiàn)的技術(shù)途徑多種多樣,方案之一是采用伺服控制回路,通過伺服控制回路控制形成相應(yīng)的物理量,方案之二是在已儲(chǔ)存好的數(shù)據(jù)庫中搜索相應(yīng)的數(shù)據(jù),轉(zhuǎn)化為相應(yīng)的物理量。
●?接口設(shè)備:仿真計(jì)算機(jī)輸出的驅(qū)動(dòng)信號(hào)經(jīng)接口變換后驅(qū)動(dòng)相應(yīng)的物理效應(yīng)設(shè)備。接口設(shè)備同時(shí)將操作人員或?qū)嵨锵到y(tǒng)的控制輸入信號(hào)饋入仿真計(jì)算機(jī)。
04

半實(shí)物仿真開發(fā)環(huán)境ETest

ETest半實(shí)物仿真測試開發(fā)環(huán)境,提供圖形化的測試用例開發(fā)環(huán)境,自動(dòng)生成測試腳本;測試結(jié)果數(shù)據(jù)可以在線監(jiān)控,同時(shí)生成測試結(jié)果信息,并自動(dòng)生成符合要求的測試報(bào)告;ETest為開放性平臺(tái),提供C/C++, Python, Lua, Java等API,圖形化監(jiān)控軟件界面可以根據(jù)用戶需求定制。ETest已經(jīng)在航空、航天、兵器、船舶等多個(gè)軍工領(lǐng)域科研單位數(shù)以百計(jì)的項(xiàng)目中中得到過廣泛使用和驗(yàn)證,性能穩(wěn)定可靠。ETest 通用性強(qiáng),針對(duì)不同的被測對(duì)象,無需從零開發(fā)測試工具,可以利用ETest快速搭建各類專業(yè)化仿真測試工裝。與傳統(tǒng)模式開發(fā)對(duì)比,在時(shí)間、人力等成本上降低80%以上,擴(kuò)展靈活,覆蓋充分。ETest支持的操作系統(tǒng)除了中標(biāo)麒麟、銀河麒麟、統(tǒng)信軟件外,還支持windows linux Mac以及實(shí)時(shí)的RT linux等。