代中華 劉本奇 吳迪
摘要
針對目前部隊(duì)實(shí)戰(zhàn)演習(xí)后需對典型態(tài)勢進(jìn)行復(fù)盤推演的需求,提出了一種基于VxWorks操作系統(tǒng)的場景信息記錄重演方法的設(shè)計(jì)思想,并對該方法的設(shè)計(jì)以及實(shí)現(xiàn)過程進(jìn)行了詳細(xì)介紹。該方法記錄實(shí)戰(zhàn)演習(xí)過程中的通信數(shù)據(jù),存儲于本機(jī)硬盤中,具有占有存儲空間較小、操作簡單、反應(yīng)時(shí)間短等優(yōu)點(diǎn)。
【關(guān)鍵詞】VxWorks操作系統(tǒng) 場景記錄 場景重演
1 引言
目前,部隊(duì)海上實(shí)戰(zhàn)演習(xí)時(shí)戰(zhàn)場態(tài)勢復(fù)雜多變,可概括的分為兩方面信息:戰(zhàn)場環(huán)境信息、戰(zhàn)場目標(biāo)信息。戰(zhàn)場環(huán)境信息是指作戰(zhàn)空間中除人員與武器裝備以外的客觀環(huán)境,包含海、陸、空中一切與作戰(zhàn)有關(guān)的地理環(huán)境、水文氣象環(huán)境、特殊環(huán)境等信息。戰(zhàn)場目標(biāo)信息是指各種實(shí)時(shí)或即時(shí)情報(bào)信息,主要指飛機(jī)的飛行航跡、艦船的行駛航跡、導(dǎo)彈的飛行航跡、武器裝備的狀態(tài)等信息。演習(xí)時(shí)來自多個(gè)維度并且十分復(fù)雜的戰(zhàn)場信息往往轉(zhuǎn)瞬即逝,為了加強(qiáng)事后模擬訓(xùn)練效果,經(jīng)常需要事后對典型戰(zhàn)場態(tài)勢進(jìn)行復(fù)盤推演、戰(zhàn)術(shù)分析。為滿足這種需求,目前通常采用在裝備外配置附屬的場景記錄儀或者外置錄像設(shè)備的辦法。外置場景記錄儀主要用于記錄作戰(zhàn)過程中的作戰(zhàn)網(wǎng)絡(luò)上的通訊信息,具有操作簡單、記錄文件占有存儲空間小、可配置較大硬盤等優(yōu)點(diǎn),但是同樣存在不能脫離裝備獨(dú)立工作、占有物理空間大、裝備狀態(tài)復(fù)雜的缺點(diǎn)。外置錄像設(shè)備記錄的是裝備的的圖像信息,操作簡便、穩(wěn)定性好、易于實(shí)現(xiàn),但同樣存在占有存儲空間大、需要額外的物理空間的不足。針對以上背景本文提出了一種基于VxWorks操作系統(tǒng)的場景信息記錄重演模塊設(shè)計(jì)思想,場景信息記錄模塊內(nèi)嵌在裝備軟件中,即軟件運(yùn)行過程中,當(dāng)操作員按下鍵盤上某個(gè)功能按鍵或者鼠標(biāo)選擇某個(gè)菜單項(xiàng)時(shí),裝備能夠?qū)?dāng)前某段時(shí)間內(nèi)作戰(zhàn)網(wǎng)上的報(bào)文信息以數(shù)據(jù)文件的形式保存到本機(jī)硬盤上,,事后再對數(shù)據(jù)文件進(jìn)行回訪,供復(fù)盤推演、戰(zhàn)術(shù)分析。
2 運(yùn)行平臺及原理說明
記錄重演模塊的組成及原理如圖1所示。
軟件運(yùn)行平臺主要由網(wǎng)絡(luò)接收單元、核心處理單元、操作控制單元、數(shù)據(jù)存儲單元、顯示單元組成。網(wǎng)絡(luò)接收單元:負(fù)責(zé)完成時(shí)間、導(dǎo)航、水文氣象等環(huán)境信息以及海、陸、空多維度目標(biāo)信息的接收,配置滿足PICMG2.16的千兆以太網(wǎng)接口。核心處理單元:為軟件的運(yùn)行平臺,負(fù)責(zé)完成數(shù)據(jù)處理、文件存儲、文件管理、綜合顯示等工作,采用Inte1945GME芯片,配置雙核處理器、主頻1.66GHz、DDR3容量4G。操控單元:負(fù)責(zé)人與裝備的信息交互,開始記錄、結(jié)束記錄、開始回放、停止回放等命令由此輸入,由鼠標(biāo)、鍵盤等部件組成。數(shù)據(jù)存儲單元:數(shù)據(jù)存儲選用支持IDE接口的電子盤實(shí)現(xiàn),核心處理模塊收到需要存儲的數(shù)據(jù)時(shí)通過對SATA接口寄存器的讀寫來完成與具有IDE接口的電子盤的通訊,存儲容量64G。顯示單元:負(fù)責(zé)記錄重演狀態(tài)、硬盤容量、文件列表等綜合信息顯示,配置20.1英寸的液晶顯示屏。
原理為,開始記錄時(shí)網(wǎng)絡(luò)接收單元將收到的作戰(zhàn)數(shù)據(jù)報(bào)文信息通過CPCI總線傳遞到核心處理模塊進(jìn)行加時(shí)戳等數(shù)據(jù)預(yù)處理并按照當(dāng)前的北京時(shí)間形成文件名,同事將即時(shí)網(wǎng)絡(luò)信息通過SATA接口將數(shù)據(jù)保存在數(shù)據(jù)存儲單元中。結(jié)束記錄時(shí),形成文件并更新記錄文件目錄信息。重演時(shí),操作員通過操控單元及顯示單元打開文件播放器窗口,選擇需要重演的文件將數(shù)據(jù)讀出至緩存中,通過報(bào)文解析任務(wù)解碼后送至顯示單元進(jìn)行場景重演。
3 軟件設(shè)計(jì)
3.1 軟件框架
記錄重演軟件是在VxWorks操作系統(tǒng)、驅(qū)動程序和支撐軟件的基礎(chǔ)上開發(fā)的應(yīng)用軟件。操作系統(tǒng)采用美國WindRiver公司開發(fā)的一款優(yōu)秀的商用操作系統(tǒng)VxWorks5.5.1,該系統(tǒng)目前廣泛應(yīng)用在航空、航天、軍工、工業(yè)控制等領(lǐng)域,是業(yè)界最流行的嵌入式操作系統(tǒng)之一,并具有高性能的Wind內(nèi)核、多任務(wù)實(shí)時(shí)調(diào)度、時(shí)間片輪轉(zhuǎn)調(diào)度、優(yōu)先級搶占調(diào)度、良好的可裁減性等特點(diǎn)。驅(qū)動層包含:網(wǎng)卡驅(qū)動、顯示驅(qū)動、USB接口模塊等。支撐軟件采用了窗口管理及可視化控件、綜合圖形圖像顯示中間件EGKo其中,EGK是當(dāng)今較優(yōu)秀的嵌入式跨平臺CHGUI控件庫之一,可支持VxWorks、Jari-Works、Linux等操作系統(tǒng)。EGK采用面向?qū)ο蟮腃+十平臺無關(guān)框架,提供全特征的可裁剪和可定制的控件集,用于實(shí)現(xiàn)基于事件驅(qū)動的跨平臺的用戶圖形界面開發(fā)。用戶可以在既有控件集的基礎(chǔ)上進(jìn)行控件的二次開發(fā),即用戶自定義控件,以符合特殊應(yīng)用場合的需求。應(yīng)用層軟件軟件開發(fā)采用圖形開發(fā)工具EGK接口API以及面向?qū)ο蟮脑O(shè)計(jì)方法,包含了人機(jī)界面中基本的窗口和控件,開發(fā)時(shí)主要用到了以下四個(gè)接口類:Egk-Widget(控件基類)、Egk_Group(控件組類)、Egk_Window(窗口類)和Egk(全局類)。
通常場景記錄重演作為裝備系統(tǒng)軟件的一個(gè)部分,通常以軟件模塊的形式內(nèi)嵌在系統(tǒng)軟件中,按照功能又劃分為信息記錄軟件模塊、場景信息重演軟件模塊、場景文件維護(hù)管理模塊三部分,組成如圖2所示。
3.2 信息記錄模塊
在實(shí)戰(zhàn)或者演習(xí)過程中,當(dāng)操作員認(rèn)為有必要保存某段場景信息時(shí),他可以通過一鍵選擇進(jìn)行文件記錄,也可以通過停止按鍵停止文件記錄,記錄的場景信息存儲在本機(jī)數(shù)據(jù)存儲單元中。選擇開始記錄后,首先判斷剩余存儲容量是否滿足記錄條件,滿足則繼續(xù)記錄,不滿足則按照彈出的提示信息,盡快整理、刪除記錄文件或者轉(zhuǎn)儲至外部存儲空間;其次判斷是否有網(wǎng)絡(luò)數(shù)據(jù),有網(wǎng)絡(luò)數(shù)據(jù)時(shí)開始存儲數(shù)據(jù),點(diǎn)擊停止記錄按鍵時(shí)文件關(guān)閉形成.rpl格式存儲文件,文件名采用開始記錄時(shí)的北京時(shí)間對文件進(jìn)行命名;沒有數(shù)據(jù)時(shí)彈出提示信息不形成文件;當(dāng)文件存儲至設(shè)定大小或者設(shè)定時(shí)長時(shí),定義為文件存儲己滿,自動停止記錄并形成文件。為保證播放過程中進(jìn)度條拖動順暢,文件記錄時(shí)時(shí)長最好不要超過4h,本文設(shè)計(jì)有RecordTick定時(shí)器,當(dāng)時(shí)長達(dá)到4h時(shí),定義為文件己滿,自動停止記錄并形成文件。數(shù)據(jù)記錄流程圖如圖3。
3.3 信息重演模塊
為實(shí)現(xiàn)友好的人機(jī)交互體驗(yàn),文件重演窗口設(shè)計(jì)為常見的播放器風(fēng)格,實(shí)現(xiàn)過程中采用了EGK圖形開發(fā)工具的Egk Group、Egk-Box、Egk_Select_Browser、Egk Button等多種控件。場景信息重演時(shí),可打開重演文件管理畫面,如圖4。根據(jù)文件名的日期及時(shí)間信息找到所需的文件進(jìn)行播放,如文件損壞或異常則給出提示信息、并自動結(jié)束回放。如回放正常,重演數(shù)據(jù)經(jīng)裝備系統(tǒng)軟件報(bào)文解析后送至顯示單元進(jìn)行顯示,播放窗口支持文件暫停、快進(jìn)、快退、進(jìn)度條拖動退出等功能。重演過程中,操作員可觀察分析當(dāng)時(shí)的場景信息,但是無法進(jìn)行目標(biāo)的錄取、撤銷等參與其中的操作。
播放過程具體流程如圖5。
3.4 文件管理模塊
隨著使用時(shí)間的加長,存儲單元的文件數(shù)會越來越多,過多文件難免會帶來文件查找繁瑣、占用存儲空間等問題,這就需要定期清理文件。針對這種需要,本文還設(shè)計(jì)實(shí)現(xiàn)了記錄文件管理窗口,在該界面下客歲損壞或者不在具有使用價(jià)值的文件,直接進(jìn)行刪除,如圖6所示。重要的文件或者典型的作戰(zhàn)態(tài)勢信息可直接導(dǎo)出至外部存儲設(shè)備進(jìn)行歸檔處理。導(dǎo)出文件時(shí)文件可在PC端通過FTP或者FTP工具(IpswitchWS_FTP軟件)連接數(shù)據(jù)存儲單元,選擇路徑后進(jìn)行文件下載處理。
3.5 軟件實(shí)現(xiàn)
在軟件開發(fā)過程中,利用Tomado2.2 開發(fā)環(huán)境特有的主機(jī)一目標(biāo)機(jī)的開發(fā)方式完成軟件的編譯和調(diào)試。主機(jī)選用裝有Window XP系統(tǒng)的PC機(jī),配置雙核處理器、2.93GHz主頻、2G內(nèi)存。目標(biāo)機(jī)為配置Intel X86處理器的顯控臺,裝有VxWorks 5.5.1操作系統(tǒng)。開發(fā)調(diào)試時(shí)將編譯好的OUT可執(zhí)行文件并通過網(wǎng)絡(luò)加載到目標(biāo)機(jī)RAM中運(yùn)行,開發(fā)過程簡單方便、易于調(diào)試。當(dāng)程序調(diào)試好后,利用開發(fā)套件工具將程序固化在電子硬盤內(nèi),系統(tǒng)上電后將根據(jù)配置文件中的入口函數(shù)及可執(zhí)行文件名自動啟動固化的應(yīng)用程序。
記錄部分代碼示例如下:
taskSpawn("tRecording",100,VX_FP_TASK,0x200000,(FUNCPTR)Recording,0,0,0,0,0,0,0,0,0,0);//創(chuàng)建記錄模塊任務(wù)
void Recording()//記錄函數(shù),進(jìn)行寫文件操作
{
fwrite(&timeStamp,sizeof(DWORD),1,fp);//寫時(shí)戳
fwrite(src,sizeof(char),len,fp);//寫數(shù)據(jù)
}
重演部分代碼示例如下:
tidFromReplay=taskSpawn("tReplay",120,VX_FP_TASK,Ox20000,(FUNCPTR)ReplayData,0,0,0,0,0,0,0,0,0,0);//重演任務(wù)
void ReplayData()//進(jìn)行報(bào)文解析并送顯示單元顯示
{
fread(&recvBufl.bufferl,1,1400,fpSysNet);//讀數(shù)據(jù)
handleReplayData();//報(bào)文解析顯示
}
4 結(jié)束語
本文對在VxWorks操作系統(tǒng)下場景信息記錄技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了詳細(xì)描述,并對該功能進(jìn)行了工程實(shí)現(xiàn),實(shí)現(xiàn)結(jié)果表明場景記錄重演模塊切實(shí)有效。相比傳統(tǒng)技術(shù)該方法具有操作簡便、可移植性強(qiáng)、占有存儲空間小等優(yōu)點(diǎn)。該技術(shù)已經(jīng)被作者運(yùn)用于實(shí)際工作中,并取得了良好的效果。但是該技術(shù)同樣存在數(shù)據(jù)重演時(shí),操作員不能像實(shí)戰(zhàn)一樣進(jìn)行參數(shù)更改、目標(biāo)錄取、目標(biāo)撤銷等不足,這也是作者下一步研究的重點(diǎn)。
參考文獻(xiàn)
[1]葛曉菁.基于嵌入式VxWorks的視頻數(shù)據(jù)循環(huán)記錄算法[J].電視技術(shù),2015,39(21).
[2]王勛,畢篤彥.基于Zapex1510的機(jī)載數(shù)字音視頻記錄系統(tǒng)設(shè)[J].電視技術(shù),2003,92(03):92-94.
[3]WindRiverSystem,Inc.WindML ProgrammerGuide,3.0,2002.
[4]WindRiverSystem,Inc.VxWorksProgrammer Guide,5.4,1999.
[5]劉東濤,肖峰.基于VxWorks的人機(jī)界面圖形開發(fā)系統(tǒng)設(shè)計(jì)[J].指揮控制與仿真,2011(08):33.
[6]孔詳營,柏桂枝.嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及其開發(fā)環(huán)Tornado[M].北京:中國電力出版社,2002.
[7]Wind River Systems,Inc.Tomado APIProgrammer Guide,2.0[M].Wind RiverSystems,irIc.1999.160-167.
[8]黃英蘭.Tornado目標(biāo)機(jī)服務(wù)器實(shí)現(xiàn)機(jī)制探討[J].微處理機(jī),2009(12).