引言
傳統(tǒng)的試驗(yàn)存在著試驗(yàn)組織過(guò)程復(fù)雜、試驗(yàn)成本代價(jià)高昂、試驗(yàn)易受自然客觀條件限制等問(wèn)題。利用通用體系結(jié)構(gòu)(如DIS,HLA,TENA)構(gòu)建仿真試驗(yàn)系統(tǒng)來(lái)模擬現(xiàn)實(shí)中的靶場(chǎng)試驗(yàn),可以解決部分傳統(tǒng)靶場(chǎng)試驗(yàn)中存在的問(wèn)題。HIT-GPTA平臺(tái)即是基于HLA體系結(jié)構(gòu)建立的通用仿真實(shí)驗(yàn)平臺(tái),該平臺(tái)可提高試驗(yàn)資源的互操作性、重用性和組合應(yīng)用能力,可以根據(jù)具體的任務(wù)需要將分布在各靶場(chǎng)、設(shè)施中的試驗(yàn)、仿真及高性能計(jì)算能力集成起來(lái),構(gòu)成一個(gè)用于試驗(yàn)的開(kāi)放式環(huán)境。
仿真試驗(yàn)系統(tǒng)存在著對(duì)高速、實(shí)時(shí)性等相關(guān)性能指標(biāo)的要求,而HIT-GPTA平臺(tái)為方便資源的集成與可重復(fù)利用,采用了Windows+以太網(wǎng)的模式進(jìn)行設(shè)計(jì),為提高HIT-GPTA平臺(tái)在仿真試驗(yàn)領(lǐng)域的應(yīng)用,需要提高平臺(tái)的實(shí)時(shí)性。Windows+以太網(wǎng)的模式的優(yōu)點(diǎn)在于資源的重復(fù)利用及系統(tǒng)構(gòu)建方便,不足在于實(shí)時(shí)性受限于Windows系統(tǒng)的性能和以太網(wǎng)的傳輸速率。為擴(kuò)展平臺(tái)在實(shí)時(shí)仿真領(lǐng)域的應(yīng)用,需要擴(kuò)展一個(gè)實(shí)時(shí)的仿真支撐系統(tǒng)以提高仿真平臺(tái)的整體實(shí)時(shí)性。RTX是美國(guó)Ardence公司開(kāi)發(fā)的基于Windows操作系統(tǒng)的實(shí)時(shí)解決方案。RTX 向Windows 添加一個(gè)實(shí)時(shí)子系統(tǒng)(RTSS),實(shí)時(shí)性能由RTX 子系統(tǒng)提供,具有完全自己獨(dú)立的實(shí)時(shí)性能強(qiáng)大的調(diào)度器。反射內(nèi)存網(wǎng)內(nèi)每個(gè)節(jié)點(diǎn)上的反射內(nèi)存卡存儲(chǔ)器中都有其他節(jié)點(diǎn)的共享數(shù)據(jù)拷貝,相較于仿真系統(tǒng)的仿真步長(zhǎng)而言,反射內(nèi)存網(wǎng)的數(shù)據(jù)傳輸延遲可以忽略。為提高HIT-GPTA平臺(tái)的實(shí)時(shí)性,本設(shè)計(jì)采用了RTX與Windows相結(jié)合的機(jī)制,將實(shí)時(shí)性要求較高的數(shù)據(jù)傳輸接口及處理算法在RTX 內(nèi)實(shí)現(xiàn),提高仿真系統(tǒng)數(shù)據(jù)處理及調(diào)度的實(shí)時(shí)性,采用反射內(nèi)存網(wǎng)替代以太網(wǎng),提高了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。該仿真模式在武器裝備的半實(shí)物仿真、調(diào)試、高覆蓋率測(cè)試等領(lǐng)域,具有廣闊的應(yīng)用前景。
1 實(shí)時(shí)仿真系統(tǒng)簡(jiǎn)介
本設(shè)計(jì)中采用RTX+Windows的設(shè)計(jì)方式改進(jìn)了仿真系統(tǒng)算法及調(diào)度的實(shí)時(shí)性,采用了反射內(nèi)存網(wǎng)提高了節(jié)點(diǎn)之間數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,并為各種總線(xiàn)接口設(shè)計(jì)了RTX系統(tǒng)下的驅(qū)動(dòng)程序,提高設(shè)備接入的實(shí)時(shí)性。改進(jìn)后的設(shè)計(jì)如圖1所示,該實(shí)時(shí)系統(tǒng)包含以下幾個(gè)組成部分:平臺(tái)接口模塊、實(shí)時(shí)仿真組件、實(shí)時(shí)流程控制、設(shè)備驅(qū)動(dòng)接口、反射內(nèi)存網(wǎng)絡(luò)。平臺(tái)接口模塊承擔(dān)定義仿真類(lèi)型、配置仿真參數(shù)、處理非實(shí)時(shí)數(shù)據(jù)、顯示仿真結(jié)果等任務(wù)。實(shí)時(shí)仿真組件運(yùn)行實(shí)時(shí)仿真算法,是實(shí)時(shí)仿真系統(tǒng)的主體。實(shí)時(shí)流程控制是仿真系統(tǒng)的控制中樞,用于控制仿真系統(tǒng)的執(zhí)行流程。設(shè)備驅(qū)動(dòng)接口用于向仿真系統(tǒng)接入實(shí)物設(shè)備,使仿真系統(tǒng)具有了半實(shí)物仿真的能力。反射內(nèi)存網(wǎng)絡(luò)用于完成各仿真節(jié)點(diǎn)之間的數(shù)據(jù)交互。該系統(tǒng)的實(shí)時(shí)仿真部分采用Windows+RTX的設(shè)計(jì)模式,Windows部分對(duì)應(yīng)Win32進(jìn)程,為非實(shí)時(shí)進(jìn)程,完成非實(shí)時(shí)的仿真任務(wù);RTX部分對(duì)應(yīng)RTSS進(jìn)程,為實(shí)時(shí)進(jìn)程,完成實(shí)時(shí)仿真運(yùn)算,通過(guò)共享內(nèi)存與Win32進(jìn)程通信,獲取配置數(shù)據(jù)并更新發(fā)布數(shù)據(jù),通過(guò)反射內(nèi)存操作,完成與實(shí)時(shí)組件之間的訂購(gòu)發(fā)布,同時(shí)接受流程控制組件的調(diào)度的推進(jìn)。
對(duì)該系統(tǒng)各組成部分的功能進(jìn)行分析可以發(fā)現(xiàn),可以從兩個(gè)方面保證仿真系統(tǒng)實(shí)時(shí)性:一是建立一個(gè)完成實(shí)時(shí)仿真運(yùn)算的實(shí)時(shí)仿真子系統(tǒng);二是構(gòu)建實(shí)時(shí)數(shù)據(jù)傳輸鏈路,包括數(shù)據(jù)的傳輸、設(shè)備的接入等。
2 實(shí)時(shí)仿真子系統(tǒng)設(shè)計(jì)
實(shí)時(shí)仿真子系統(tǒng)包括仿真平臺(tái)接口、實(shí)時(shí)仿真設(shè)備、實(shí)時(shí)流程控制等幾個(gè)部分。
2.1 平臺(tái)接口
模塊圖1 中非實(shí)時(shí)組件、本地通信代理、信息傳輸管理平臺(tái)等部分屬于仿真平臺(tái)接口模塊。仿真平臺(tái)接口提供參數(shù)的配置用戶(hù)接口界面,由用戶(hù)對(duì)仿真系統(tǒng)進(jìn)行配置,配置完成后生成仿真接口文件,供實(shí)時(shí)仿真組件加載和使用。此外,仿真平臺(tái)接口還承擔(dān)實(shí)時(shí)系統(tǒng)與非實(shí)時(shí)系統(tǒng)的交互任務(wù),完成系統(tǒng)內(nèi)實(shí)時(shí)設(shè)備與非實(shí)時(shí)設(shè)備的交互。
仿真平臺(tái)的參數(shù)配置主要包含表1中的內(nèi)容。
仿真優(yōu)先級(jí)規(guī)定了各仿真節(jié)點(diǎn)的執(zhí)行次序。優(yōu)先級(jí)設(shè)定如下:不同設(shè)備可以處于同一優(yōu)先級(jí),執(zhí)行權(quán)限相同,無(wú)先后順序要求,但是低優(yōu)先級(jí)的設(shè)備要等待高優(yōu)先級(jí)設(shè)備全部執(zhí)行完成后才能獲得執(zhí)行權(quán)限。本地仿真時(shí)采用共享內(nèi)存作為仿真系統(tǒng)各節(jié)點(diǎn)交互數(shù)據(jù)的中介,分布式仿真時(shí)采用反射內(nèi)存作為各節(jié)點(diǎn)之間的數(shù)據(jù)傳輸途徑。兩種方式的配置方式類(lèi)似,可做統(tǒng)一處理。反射內(nèi)存結(jié)構(gòu)設(shè)計(jì)如圖2所示。
2.2 實(shí)時(shí)仿真組件
實(shí)時(shí)仿真組件包含兩個(gè)進(jìn)程,該模板的Win32進(jìn)程為平臺(tái)組件,繼承自組件基類(lèi),提供與平臺(tái)的接口,RTSS進(jìn)程為實(shí)時(shí)進(jìn)程,運(yùn)行實(shí)時(shí)仿真算法,并讀寫(xiě)反射內(nèi)存完成實(shí)時(shí)訂購(gòu)發(fā)布。靜態(tài)建模完成后,由Win32進(jìn)程創(chuàng)建RTSS進(jìn)程,RTSS初始化完成后仿真組件準(zhǔn)備就緒,根據(jù)推進(jìn)命令及流程控制命令進(jìn)行相關(guān)仿真。實(shí)時(shí)仿真組件運(yùn)行流程如圖3所示。
仿真開(kāi)始后RTSS進(jìn)程根據(jù)仿真節(jié)拍的順序進(jìn)行仿真,節(jié)拍開(kāi)始時(shí)查詢(xún)仿真標(biāo)識(shí),當(dāng)所有高優(yōu)先級(jí)的組件仿真完成后,從共享內(nèi)存(本地仿真)或反射內(nèi)存(分布式仿真)中取出訂購(gòu)數(shù)據(jù),進(jìn)行仿真計(jì)算;完成后將發(fā)布數(shù)據(jù)寫(xiě)入反射內(nèi)存,根據(jù)抽樣間隔將數(shù)據(jù)抽點(diǎn)寫(xiě)入共享內(nèi)存,交由Win32 進(jìn)程發(fā)布;設(shè)置組件相關(guān)的仿真標(biāo)識(shí)。Win32進(jìn)程檢測(cè)共享內(nèi)存的更新?tīng)顟B(tài),有數(shù)據(jù)更新時(shí)將所更新的數(shù)據(jù)發(fā)布到平臺(tái),供其他非實(shí)時(shí)組件訂購(gòu)。
實(shí)時(shí)仿真組件的兩個(gè)進(jìn)程之間通過(guò)共享內(nèi)存通信,并通過(guò)互斥信號(hào)量來(lái)保證讀寫(xiě)的正確進(jìn)行。每個(gè)仿真組件分別創(chuàng)建發(fā)布區(qū)和訂購(gòu)區(qū)共享內(nèi)存,為發(fā)布區(qū)創(chuàng)建“雙事件”進(jìn)行互鎖,確保共享內(nèi)存的讀/寫(xiě)安全與及時(shí);為訂購(gòu)區(qū)創(chuàng)建互斥信號(hào)量確保讀/寫(xiě)統(tǒng)一。
2.3 實(shí)時(shí)流程控制
實(shí)時(shí)流程控制是仿真系統(tǒng)的控制中樞,通過(guò)分析系統(tǒng)各組成部分的運(yùn)行狀態(tài)決定下一步的仿真動(dòng)作?;镜姆抡婷钣虚_(kāi)始、初始化、同步、暫停、運(yùn)行、停止等命令,實(shí)時(shí)流程控制設(shè)計(jì)了開(kāi)放式的接口,便于擴(kuò)展仿真控制命令。
靜態(tài)建模完成后,啟動(dòng)流程控制組件的實(shí)時(shí)進(jìn)程,讀取仿真信息文件,組件自身完成初始化并設(shè)置相關(guān)寄存器。然后按照流程控制的各個(gè)步驟完成發(fā)布流程控制命令,各設(shè)備根據(jù)具體的流程控制命令執(zhí)行相應(yīng)操作。實(shí)時(shí)流程控制組件運(yùn)行流程圖如圖4所示。
3 實(shí)時(shí)數(shù)據(jù)傳輸鏈路構(gòu)建
提高仿真系統(tǒng)實(shí)時(shí)性的另一個(gè)途徑是提高數(shù)據(jù)傳輸鏈路的實(shí)時(shí)性,這主要從兩個(gè)方面來(lái)提高,一是提高仿真實(shí)物設(shè)備接入的實(shí)時(shí)性;另一個(gè)是提高系統(tǒng)內(nèi)各節(jié)點(diǎn)之間數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。
3.1 實(shí)時(shí)設(shè)備驅(qū)動(dòng)
一般的實(shí)時(shí)仿真系統(tǒng)都會(huì)有實(shí)物設(shè)備接入系統(tǒng),為提高仿真系統(tǒng)的實(shí)時(shí)性,必須提高設(shè)備接入的實(shí)時(shí)性。
實(shí)物設(shè)備是通過(guò)驅(qū)動(dòng)程序接入到仿真系統(tǒng)中的,Win-dows的實(shí)時(shí)性由于系統(tǒng)本身的調(diào)度機(jī)制難以達(dá)到實(shí)時(shí)系統(tǒng)的需求,必須為實(shí)物設(shè)備設(shè)計(jì)在RTX 系統(tǒng)中的驅(qū)動(dòng)程序。如圖1中所示,實(shí)物設(shè)備通過(guò)各種總線(xiàn)接口接入到上位機(jī)的系統(tǒng)中,仿真組件的RTSS進(jìn)程通過(guò)訪(fǎng)問(wèn)設(shè)備驅(qū)動(dòng)程序完成對(duì)設(shè)備的控制。RTX設(shè)備驅(qū)動(dòng)可直使用Visual Studio開(kāi)發(fā)工具開(kāi)發(fā),工程向?qū)е苯由沈?qū)動(dòng)框架程序,開(kāi)發(fā)簡(jiǎn)單且開(kāi)發(fā)周期較短。
3.2 實(shí)時(shí)數(shù)據(jù)傳輸
實(shí)時(shí)支撐子系統(tǒng)的數(shù)據(jù)傳輸采用反射內(nèi)存網(wǎng)完成。反射內(nèi)存網(wǎng)內(nèi)每個(gè)節(jié)點(diǎn)的存儲(chǔ)器中都有其他節(jié)點(diǎn)的共享數(shù)據(jù)拷貝,相較于上位機(jī)的仿真節(jié)拍,數(shù)據(jù)的傳輸延遲可以忽略。通過(guò)反射內(nèi)存,各個(gè)仿真系統(tǒng)可以及時(shí)地獲取仿真控制命令和仿真數(shù)據(jù)。使用反射內(nèi)存進(jìn)行仿真節(jié)點(diǎn)的數(shù)據(jù)傳輸可以極大地縮小數(shù)據(jù)鏈路的延遲,保證仿真系統(tǒng)的整體實(shí)時(shí)性。
4 測(cè)試結(jié)果及分析
為對(duì)比改進(jìn)的結(jié)果,對(duì)含有實(shí)時(shí)支撐平臺(tái)和不含實(shí)時(shí)支撐平臺(tái)的仿真系統(tǒng)進(jìn)行了測(cè)試,測(cè)試流程按照仿真周期遞減開(kāi)始測(cè)試,結(jié)果如表2所示。
從測(cè)試結(jié)果可知,仿真系統(tǒng)中加入實(shí)時(shí)支撐子系統(tǒng)后可以極大地提高仿真系統(tǒng)整體的實(shí)時(shí)性,彌補(bǔ)了HIT-GPTA平臺(tái)的一個(gè)缺陷。
5 結(jié)語(yǔ)
本文對(duì)組成仿真系統(tǒng)的各個(gè)環(huán)節(jié)的實(shí)時(shí)性進(jìn)行了分析,從軟件、驅(qū)動(dòng)、硬件三個(gè)層次改進(jìn)仿真系統(tǒng)的各組成部分,縮小了仿真延遲的最大瓶頸,提高了仿真系統(tǒng)的整體實(shí)時(shí)性。
-
WINDOWS
+關(guān)注
關(guān)注
3文章
3521瀏覽量
88317 -
HLA
+關(guān)注
關(guān)注
0文章
18瀏覽量
10771 -
實(shí)時(shí)仿真
+關(guān)注
關(guān)注
0文章
22瀏覽量
8644
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論