一种模拟训练用测试系统可重构模块设计思路
2022-01-04陈育良CHENYuliang盛沛SHENGPei徐学文XUXuewen
陈育良CHEN Yu-liang;盛沛SHENG Pei;徐学文XU Xue-wen
(海军航空大学,烟台 264001)
0 引言
当前,海军战术导弹技术阵地测试专业人员的培养及训练还是依托实装进行,这种方式存在着3 个方面的问题:一是无法满足大批次人员集中训练、弹型覆盖不全;二是无法做到故障现象随意设定;三是会缩短实装寿命[1]。训练仿真系统为上述问题的解决提供了途径。然而,就目前的现状来看,随着各类新型装备大量配发部队,传统的训练仿真系统也暴露出一些弊端。这些模拟器内部、系统间耦合严重,升级、剪裁困难,且随着所使用的货架产品淘汰、研发人员离岗等问题无法升级或维修。每年有大量训练模拟器淘汰和产生,这些模拟器动辄几百上千万,造成了巨大的资源浪费。因此,研发一种可以随意更改、剪裁、升级、维修的新型训练模拟器就显得尤为重要。
训练仿真系统常用的仿真方法有物理仿真和软件仿真[2]。其中软件仿真往往有一定的局限性,逼真程度不高,训练效果不如物理仿真;而物理仿真往往投资大,周期长、升级维修困难。随着武器装备的更新换代,训练仿真系统自然需要进行同步的升级改造,其面板的变更、剪裁、添加是最常见的需求[3][4]。然而目前大部分的训练仿真系统却难以实现上述目标,这是因为在其设计时就没有考虑这些需求,往往在其内部存在大量的耦合关系,布线随意、控制逻辑混乱。为了解决此问题,本文提出一种模拟训练系统模块设计方案,从降低人机交互界面到仿真程序间得耦合得角度出发,进行可重构模拟器设计。从顶层设计层面解决面板变更所带来的各种耦合问题[5]。
1 可重构模块的构建
1.1 常见模拟器研制方法问题梳理
测试训练模拟系统实际上是在物理和虚拟两个层面上实现人机交互[6-8]。其人机交互界面越接近实物、交互逻辑越真实,那么其仿真训练效果越好。因此,模拟系统搭建的核心工作有四个:一是物理及虚拟人机交互界面的制作,二是物理人机交互界面(即各面板)的数据采集工作;三是采集控制程序的编写;四是应用层的构建工作。如图1 所示四者之间主要包括三种耦合:系统模型与外部接口间的耦合、各人机界面后采集系统间的耦合以及控制程序之间的耦合。这些耦合决定了对系统进行必要的升级、改造时所做出的必要变更必然会对变更之外的耦合关系进行修改,从而增加了调整难度。那么,可重构设计的重点就是通过合理的设计采集系统,使得上述耦合关系降到最低,进而降低系统的变更难度。
图1 可重构模块构成原理图
1.2 可重构模块设计原则
为了实现上述技术目标,并且能够做到用较少的资源实现系统需求,提出以下几点设计原则:
①从属原则。采集板卡属于模块,采集板卡能够通过组合的方式构建多种模块;模块属于物理人机界面,必须能够为人机界面挑选(组合)出合适的模块。
②线性原则。为了降低系统耦合程度,要求所有采集板功能必须尽可能单一。模块可以是多功能的,但是组成其的采集卡必须是功能越简单越好。
③即用原则。所设计或选择的板卡必须易于重构,即其发生重构、增删时无需重新设置。
④统一原则。为了统一管理数据,模拟训练主程序必须通过模块调用人机交互面板上的各接口。无论电器连接如何实现,模拟训练主程序都是在调用内存中的数据,而这些数据只有在使用时才被赋予特定的物理意义;在使用前,它们仅代表各模块的状态。
1.3 可重构模块的构建方法
可重构模块构建思路可以总结为:尽量减少单个人机交互界面被调整、剪裁、添加的时候,其它界面所受到的影响。根据经验,采集量主要分为开出量、开入量、模出量和模入量等。合理地设计这些物理量的每一条传输通路,能够使上述工作变为多个简单传输通路的变更。那么人机交互界面的重构就变成了多个模块及其对应的传输通路的变更工作的简单叠加,简化了调整过程。
本文提出的可重构模块采用了可选板卡组合的方式,任何模块可以根据需求由5 种板卡自由组合,图2 是其构成原理图。其中TMS320F2812 及其外围电路作为主板,是每个模块的核心部件。主板作为每个模块的控制及收发核心在每个模块内必须有且仅有一个,而且在整套系统中的地址必须是唯一的。主控单元通过PC104 总线与5 类采集板卡相连。采集板卡采用FPGA 作为核心部件,利用FPGA 的灵活性降低开发难度。由于本文是从顶层设计层面进行讨论,主板及采集板卡的电路设计不是讨论的重点,因此在此不做赘述。
图2 可重构模块构成原理图
2 可重构模块存储模型
可重构模块的应用难点在于解决消息的点对点传输问题。即如何使得上位计算机能够准确地将所采集的数据存储到指定变量内等待调用。因此,消息传输的规则是重点问题。为了确保板卡引脚状态与上位机内数据的一致性,本文提出的消息传输及拆包规则是:每个DI 引脚占用单个位,AI、AO、PWM 等量均占用16 位。那么板卡引脚数据的存储模型如图3 所示。
图3 可重构模块存储模型示意图
①首先模块内的采集板卡在上电后通过其标识检测引脚进行类型识别。
②模块主板根据步骤①所获得的类型识别结果在内存中形成相应的板卡类型码供形成通讯报文时使用。
③根据输入或输出的不同,板卡根据上位机指令驱动指定板卡进行相应操作并存入内存,或根据指令将内存中的数据传输给指定板卡。
④主板调用包含步骤②类别码在内的内存数据组成报文,数据报文按照模块地址、板卡类型、偏移量及数据的格式进行传送。
⑤上位机接收到数据以后,按照上述步骤进行拆包。
⑥将拆包数据存储在模块相应变量内以待调用。
3 软件架构
上世纪90 年代,为实现飞机软件的结构化(反映系统模块划分和协作之间的关系),由堪耐基梅隆大学软件研究所为军方设计了一种称为结构化模型的软件架构[9-10]。它的主要设计亮点是把一个复杂系统拆分为几个小系统、小单元,分包给多个开发组进行并行开发,这样既分担了风险又使得任务周期大大缩短[11-12]。
图4 所示是一个经典的结构化模型,把整个复杂系统分割成管理层和应用层两个大类,进一步又细分为仿真组件、子系统控制器、周期调度器、事件处理器和时间同步器五个组件,其功能如下:
图4 结构化软件架构示意图
①仿真组件存放现实对象的各种模式,将各种模式开发为对应虚拟模型。
②子系统控制器存放各单元之间的接口,对子系统进行管控。
③周期调度器执行周期性仿真任务的调度管理。
④事件处理器进行信息交互。
⑤时间同步器即时钟管理器。
本文根据上述软件架构设计方法进行适应性改进,将软件分割为三个层次:管理层、应用层和通讯层。需要说明的是,应用层是可重构训练模拟器软件设计的核心环节,它决定了设计出的产品能否满足预期的目标,即剪裁灵活、维修升级方便。将应用层划分为至少三个层次,即环境组件、接口组件以及外部模型组件。整个应用层架构关系如图5 中所示。相较于经典结构化模型架构额外添加了通讯层。该层面向的对象是所有模型,并且整个系统还可以通过通讯层与外部仿真模型进行通讯。该层可供采用的火线1394、以太网等技术较为成熟[13-14],再此不再赘述。
图5 本文软件架构设计
4 结束语
本文方法的好处是能够利用有限的板卡资源组合出多种可重构模块,同时能够保证上位机所获取得数据与人机交互界面上得所有终端有效关联。当模拟训练系统发生重构时,板卡可以被拆解用于构建新的模块,节省了成本和时间。