杨健康 张增 董保良 杨绍琛
【摘要】传统的半实物仿真电台的构建往往是一种型号实际装备构建一种对应的半实物仿真电台,导致尺寸不统一、复用率差、成本高、维护难等问题。本文采用模块化、一体化的设计方法,将半实物仿真电台分为通用仿真主机和个性仿真面板,并重点对仿真面板自识别电路和软件进行了设计,实现了在同一个通用仿真主机上可兼容不同型号的个性仿真面板的功能,同时软件能自动加载新型号电台程序。
【关键词】半实物仿真 电台面板 自识别
随着新军事革命兴起,各类信息装备更新换代周期减短,尤其是通信装备的配发难以跟上装备更新步调,而且配发的新型通信装备需要大量地训练来掌握装备操作技能。若是长期大量动用实装进行通信训练,装备损耗大,人力物力需求多,协同和保障复杂,对训练场地要求高,难保证实装训练需求。
半实物仿真训练器材具有成本低、逼真度高、组网控制灵活、维护简便等优势,已成为模拟训练系统的一个重要组成部分。如今亟需研制一种能兼容不同型号装备的半实物仿真电台的来解决上述问题。本文通过半实物仿真电台的面板自识别设计与实现,可为半实物仿真电台的构建提供一个统一的软硬件框架,为快速开发新型半实物仿真电台提供技术基础。
一、总体设计
半实物仿真电台采用模块化、一体化的设计方法,在现有各型号半实物仿真电台的基础上,研究其共性的部分及个性部分并进行优化设计,使它具备兼容各型号的功能。为此,在设计实现中将半实物仿真电台分成两部分,一是具有共性特征的核心处理单元,即通用仿真主机,二是具有个性特征的面板外观和操作,即个性仿真面板。通用仿真主机和个性仿真面板通过统一的、简单的机械连接和电气连接,使用统一的通用仿真主机,更换不同型号的仿真面板,可构建各种不同型号的仿真电台。
半实物仿真电台根据实装设备特点,在实现其功能的基础上,使其具有通用性、可重构性、高稳定性、高可靠性、低功耗等特点。
因此,在设计实现上,采用ARM嵌入式平台,选用三星公司的ARM11S3C6410处理器硬件平台进行硬件设计,软件操作系统采用Windows CE 6.0。
二、仿真面板自识别接口电路设计
采用GPIO采集技术,在仿真面板的音频板上进行自识别接口电路设计。引出6个GPIO接口,每个GPIO接口设置成可放置跳帽的插座形式,插座一端接GPIO脚,另一端接数字地。
通过对6个GPIO插座放置跳帽的排列组合,即6个GPIO接口高低电平的排列组合构成不同个性面板的标识,从而实现对不同型号仿真面板的自动识别。
三、仿真面板自识别软件的实现
3.1开机自启动模块软件实现
开机自启动模块主要实现仿真电台自识别软件开机后自启动,实现方法是将应用程序(文件名为PTTClientCE.exe)路径写入注册表启动项中。代码如下:
应用程序所在目录下,向注册表添加GPIO驱动注册表内容。
GPIO驱动注册表添加内容为:
[HKEY_LOCAL_MACHINE\init]
“Launch80”=“NANDFLASH\\TESTk\\PTTClientCE.exe”,//注册表启动项
3.2 GPIO驱动模块软件实现
由于嵌入式设备硬件平台的多样性,针对不同的硬件需要编写不同的驱动程序来屏蔽底层硬件的多样性,使上层应用程序的开发不需要理解底层设备的实现细节。GPIO驱动程序的开发正是Windows CE 6.0嵌入式系统应用开发中的一个技术难点。本文采用基于WinCE的驱动程序模型中接口固定、最常用的驱动程序即流接口驱动程序。这种驱动程序的函数实现一组固定的函数,这些函数称为流接口函数,这些流接口函数使得应用程序可以通过文件系统访问这些驱动程序。
在VS2005中Platform Builder fnr CE 6.0开发环境下,创建GPIO驱动程序目录及文件。在GPIO.cpp文件中,添加完善接口函数的内容。在GPIO_Init0函数中完成虚拟地址映射,在GPIO_Deinit()中释放虚拟地址空间和各种资源。代码如下:
对于GPQ2-5口,GPQCON0控制寄存器的输入,输出配置,GPQPUD控制寄存器的上拉/下拉/禁用配置,GPQDAT负责数据寄存器的读写,代码可参照GPH8接口。
在GPIO.DEF文件中,提供驱动接口。
编译GPIO驱动程序目录,可生成GPIO.dll,供应用程序在动态库中调用。
3.3面板识别模块软件实现
主要是对仿真面板识别电路中的GPIO进行采集,计算仿真面板标识码,根据仿真面板编码自动加载相应的应用程序。
四、实验验证
利用Windows CE 6.0编写一个可运行于S3C6410开发板GPIO驱动GPIO.dll,利用Visual Studio 2005 SP1编写1个可运行于S3C6410开发板Windows CE 6.0操作系统上的应用程序,即面板自识别程序PTTClinetCE.exe,放于核心板NandFlash\TEST目录下,同时将电台A、电台B和电台c仿真电台程序电台A.exe、电台B.exe和电台C.exe和运行相关文件也放于NandFlash\TEST目录下。为了测试方便,面板自识别程序为MFC对话框形式,并在对话框上显示SW1~SW6插座上GPIO引脚的状态、面板标识码大小和当前的调用程序。
开机后,先启动程序trITClinetCE.exe,该程序使用GPIO驱动,读取仿真面板音频板上的自识别电路设置的GPIO状态,识别不同型号的仿真面板,从而自动加载不同电台的主界面。
本文对面板自识别功能进行了测试,测试表明,在同一个通用仿真主机上,可快速更换仿真电台面板,更换面板后电后能自动加载新电台程序,能够满足实际应用的需要。