一种场景信息记录重演方法的设计与实现

2018-02-26 09:45代中华刘本奇吴迪
电子技术与软件工程 2018年16期

代中华 刘本奇 吴迪

摘要

针对目前部队实战演习后需对典型态势进行复盘推演的需求,提出了一种基于VxWorks操作系统的场景信息记录重演方法的设计思想,并对该方法的设计以及实现过程进行了详细介绍。该方法记录实战演习过程中的通信数据,存储于本机硬盘中,具有占有存储空间较小、操作简单、反应时间短等优点。

【关键词】VxWorks操作系统 场景记录 场景重演

1 引言

目前,部队海上实战演习时战场态势复杂多变,可概括的分为两方面信息:战场环境信息、战场目标信息。战场环境信息是指作战空间中除人员与武器装备以外的客观环境,包含海、陆、空中一切与作战有关的地理环境、水文气象环境、特殊环境等信息。战场目标信息是指各种实时或即时情报信息,主要指飞机的飞行航迹、舰船的行驶航迹、导弹的飞行航迹、武器装备的状态等信息。演习时来自多个维度并且十分复杂的战场信息往往转瞬即逝,为了加强事后模拟训练效果,经常需要事后对典型战场态势进行复盘推演、战术分析。为满足这种需求,目前通常采用在装备外配置附属的场景记录仪或者外置录像设备的办法。外置场景记录仪主要用于记录作战过程中的作战网络上的通讯信息,具有操作简单、记录文件占有存储空间小、可配置较大硬盘等优点,但是同样存在不能脱离装备独立工作、占有物理空间大、装备状态复杂的缺点。外置录像设备记录的是装备的的图像信息,操作简便、稳定性好、易于实现,但同样存在占有存储空间大、需要额外的物理空间的不足。针对以上背景本文提出了一种基于VxWorks操作系统的场景信息记录重演模块设计思想,场景信息记录模块内嵌在装备软件中,即软件运行过程中,当操作员按下键盘上某个功能按键或者鼠标选择某个菜单项时,装备能够将当前某段时间内作战网上的报文信息以数据文件的形式保存到本机硬盘上,,事后再对数据文件进行回访,供复盘推演、战术分析。

2 运行平台及原理说明

记录重演模块的组成及原理如图1所示。

软件运行平台主要由网络接收单元、核心处理单元、操作控制单元、数据存储单元、显示单元组成。网络接收单元:负责完成时间、导航、水文气象等环境信息以及海、陆、空多维度目标信息的接收,配置满足PICMG2.16的千兆以太网接口。核心处理单元:为软件的运行平台,负责完成数据处理、文件存储、文件管理、综合显示等工作,采用Inte1945GME芯片,配置双核处理器、主频1.66GHz、DDR3容量4G。操控单元:负责人与装备的信息交互,开始记录、结束记录、开始回放、停止回放等命令由此输入,由鼠标、键盘等部件组成。数据存储单元:数据存储选用支持IDE接口的电子盘实现,核心处理模块收到需要存储的数据时通过对SATA接口寄存器的读写来完成与具有IDE接口的电子盘的通讯,存储容量64G。显示单元:负责记录重演状态、硬盘容量、文件列表等综合信息显示,配置20.1英寸的液晶显示屏。

原理为,开始记录时网络接收单元将收到的作战数据报文信息通过CPCI总线传递到核心处理模块进行加时戳等数据预处理并按照当前的北京时间形成文件名,同事将即时网络信息通过SATA接口将数据保存在数据存储单元中。结束记录时,形成文件并更新记录文件目录信息。重演时,操作员通过操控单元及显示单元打开文件播放器窗口,选择需要重演的文件将数据读出至缓存中,通过报文解析任务解码后送至显示单元进行场景重演。

3 軟件设计

3.1 软件框架

记录重演软件是在VxWorks操作系统、驱动程序和支撑软件的基础上开发的应用软件。操作系统采用美国WindRiver公司开发的一款优秀的商用操作系统VxWorks5.5.1,该系统目前广泛应用在航空、航天、军工、工业控制等领域,是业界最流行的嵌入式操作系统之一,并具有高性能的Wind内核、多任务实时调度、时间片轮转调度、优先级抢占调度、良好的可裁减性等特点。驱动层包含:网卡驱动、显示驱动、USB接口模块等。支撑软件采用了窗口管理及可视化控件、综合图形图像显示中间件EGKo其中,EGK是当今较优秀的嵌入式跨平台CHGUI控件库之一,可支持VxWorks、Jari-Works、Linux等操作系统。EGK采用面向对象的C+十平台无关框架,提供全特征的可裁剪和可定制的控件集,用于实现基于事件驱动的跨平台的用户图形界面开发。用户可以在既有控件集的基础上进行控件的二次开发,即用户自定义控件,以符合特殊应用场合的需求。应用层软件软件开发采用图形开发工具EGK接口API以及面向对象的设计方法,包含了人机界面中基本的窗口和控件,开发时主要用到了以下四个接口类:Egk-Widget(控件基类)、Egk_Group(控件组类)、Egk_Window(窗口类)和Egk(全局类)。

通常场景记录重演作为装备系统软件的一个部分,通常以软件模块的形式内嵌在系统软件中,按照功能又划分为信息记录软件模块、场景信息重演软件模块、场景文件维护管理模块三部分,组成如图2所示。

3.2 信息记录模块

在实战或者演习过程中,当操作员认为有必要保存某段场景信息时,他可以通过一键选择进行文件记录,也可以通过停止按键停止文件记录,记录的场景信息存储在本机数据存储单元中。选择开始记录后,首先判断剩余存储容量是否满足记录条件,满足则继续记录,不满足则按照弹出的提示信息,尽快整理、删除记录文件或者转储至外部存储空间;其次判断是否有网络数据,有网络数据时开始存储数据,点击停止记录按键时文件关闭形成.rpl格式存储文件,文件名采用开始记录时的北京时间对文件进行命名;没有数据时弹出提示信息不形成文件;当文件存储至设定大小或者设定时长时,定义为文件存储己满,自动停止记录并形成文件。为保证播放过程中进度条拖动顺畅,文件记录时时长最好不要超过4h,本文设计有RecordTick定时器,当时长达到4h时,定义为文件己满,自动停止记录并形成文件。数据记录流程图如图3。

3.3 信息重演模块

为实现友好的人机交互体验,文件重演窗口设计为常见的播放器风格,实现过程中采用了EGK图形开发工具的Egk Group、Egk-Box、Egk_Select_Browser、Egk Button等多种控件。场景信息重演时,可打开重演文件管理画面,如图4。根据文件名的日期及时间信息找到所需的文件进行播放,如文件损坏或异常则给出提示信息、并自动结束回放。如回放正常,重演数据经装备系统软件报文解析后送至显示单元进行显示,播放窗口支持文件暂停、快进、快退、进度条拖动退出等功能。重演过程中,操作员可观察分析当时的场景信息,但是无法进行目标的录取、撤销等参与其中的操作。

播放过程具体流程如图5。

3.4 文件管理模块

随着使用时间的加长,存储单元的文件数会越来越多,过多文件难免会带来文件查找繁琐、占用存储空间等问题,这就需要定期清理文件。针对这种需要,本文还设计实现了记录文件管理窗口,在该界面下客岁损坏或者不在具有使用价值的文件,直接进行删除,如图6所示。重要的文件或者典型的作战态势信息可直接导出至外部存储设备进行归档处理。导出文件时文件可在PC端通过FTP或者FTP工具(IpswitchWS_FTP软件)连接数据存储单元,选择路径后进行文件下载处理。

3.5 软件实现

在软件开发过程中,利用Tomado2.2 开发环境特有的主机一目标机的开发方式完成软件的编译和调试。主机选用装有Window XP系统的PC机,配置双核处理器、2.93GHz主频、2G内存。目标机为配置Intel X86处理器的显控台,装有VxWorks 5.5.1操作系统。开发调试时将编译好的OUT可执行文件并通过网络加载到目标机RAM中运行,开发过程简单方便、易于调试。当程序调试好后,利用开发套件工具将程序固化在电子硬盘内,系统上电后将根据配置文件中的入口函数及可执行文件名自动启动固化的应用程序。

记录部分代码示例如下:

taskSpawn("tRecording",100,VX_FP_TASK,0x200000,(FUNCPTR)Recording,0,0,0,0,0,0,0,0,0,0);//创建记录模块任务

void Recording()//记录函数,进行写文件操作

{

fwrite(&timeStamp,sizeof(DWORD),1,fp);//写时戳

fwrite(src,sizeof(char),len,fp);//写数据

}

重演部分代码示例如下:

tidFromReplay=taskSpawn("tReplay",120,VX_FP_TASK,Ox20000,(FUNCPTR)ReplayData,0,0,0,0,0,0,0,0,0,0);//重演任务

void ReplayData()//进行报文解析并送显示单元显示

{

fread(&recvBufl.bufferl,1,1400,fpSysNet);//读数据

handleReplayData();//报文解析显示

}

4 结束语

本文对在VxWorks操作系统下场景信息记录技术的设计与实现进行了详细描述,并对该功能进行了工程实现,实现结果表明场景记录重演模块切实有效。相比传统技术该方法具有操作简便、可移植性强、占有存储空间小等优点。该技术已经被作者运用于实际工作中,并取得了良好的效果。但是该技术同样存在数据重演时,操作员不能像实战一样进行参数更改、目标录取、目标撤销等不足,這也是作者下一步研究的重点。

参考文献

[1]葛晓菁.基于嵌入式VxWorks的视频数据循环记录算法[J].电视技术,2015,39(21).

[2]王勋,毕笃彦.基于Zapex1510的机载数字音视频记录系统设[J].电视技术,2003,92(03):92-94.

[3]WindRiverSystem,Inc.WindML ProgrammerGuide,3.0,2002.

[4]WindRiverSystem,Inc.VxWorksProgrammer Guide,5.4,1999.

[5]刘东涛,肖峰.基于VxWorks的人机界面图形开发系统设计[J].指挥控制与仿真,2011(08):33.

[6]孔详营,柏桂枝.嵌入式实时操作系统VxWorks及其开发环Tornado[M].北京:中国电力出版社,2002.

[7]Wind River Systems,Inc.Tomado APIProgrammer Guide,2.0[M].Wind RiverSystems,irIc.1999.160-167.

[8]黄英兰.Tornado目标机服务器实现机制探讨[J].微处理机,2009(12).