首页 新闻 工控搜 大讲坛 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动伺服
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
反射内存网在某半实物仿真系统中通信协议的设计
北京维控致远科技有限责任公司
收藏本文     查看收藏

摘 要 介绍了反射内存网的工作原理及在某半实物仿真系统中的应用。结合该仿真系统的特点和功能要求,详细讨论了一种适用的反射内存通信协议的设计方案。该通信协议已经成功应用于某半实物仿真系统中。

  关键词 实时网络, 半实物仿真, 反射内存网 GEPCI5565 反射内存卡 反射内存卡价格 反射内存出售

1 引 言

半实物仿真又称为硬件在回路中仿真(Hardware-in-the-loop,简称HIL),是一种在仿真系统中接入实物,以取代相应部分的数学模型的仿真。它通过联网技术将各仿真机连接在一起,以保证节点之间的数据传递。实时性是半实物仿真的基本要求。

传统的网络技术,如以太网、FDDI等在实时应用中存在以下几方面的缺点:数据传输速率不高;在网络负载较大时,网上数据传输延迟较大,且延迟具有不可预期性;网络通信需要借助许多网络协议来完成,降低了通信效率[2]

反射内存网(Reflective memory network)是一种基于高速网络的共享存储器技术的实时网络,与传统的联网技术相比,它除了具有严格的传输确定性和可预测性外,还具有速度高、通信协议简单、宿主机负载轻、软硬件平台适应性强、支持中断信号的传输等特点[5]。在本系统中,仿真的帧周期为ms级,传统网络技术无法满足系统的高实时性要求,所以采用VMIC公司的支持PCI总线的反射内存卡(Reflective memory)VMIPCI-5565组建实时网络。

2 反射内存网工作原理

反射内存网主要是由反射内存板通过光纤等传输介质连接而成的。每个反射内存板都占有一段内存地址,网上任何计算机向本地反射内存板写数据时,该数据和相应的内存地址将被广播到网上所有其他反射内存板并存储在相同的位置[2]。于是,计算机将数据写入其本地反射内存板后,在极短的时间内,网上所有计算机的CPU都可以访问这个新数据。由于反射内存使用简单的读写方式,对CPU来说就相当于标准的RAM,而且反射内存的数据更新是通过硬件操作实现的,其网络延迟仅是仿真结点数n和所用带宽比例B%的函数,有:τ=f(n,B%)[3],网络延迟大大减小,保证了实时性。

3 半实物仿真系统概述

3.1 组成及功能

 图1 某通信对抗半实物分布式仿真系统硬件结构图

该系统分为数字仿真和实时仿真两部分。数字仿真由仿真管理与控制仿真机、数据库、效能评估工作站及视景仿真机通过1000M以太网组成,负责完成仿真数据的存储、显示及效能评估功能。实时仿真由仿真管理、控制仿真机与四台实物及实物仿真机组成,负责完成系统的实时仿真功能;其中,实物通过接口处理卡与实物仿真机相连,各仿真机之间通过反射内存网进行仿真命令、仿真参数及实时仿真数据的传输。

3.2 系统实时仿真工作过程

当实时仿真开始,仿真管理与控制仿真机根据不同的仿真阶段,向实物仿真机发送不同的仿真参数,并通过发送命令来控制仿真机进行参数加载工作;各实物仿真机在加载参数后,每隔100ms向仿真管理与控制仿真机发送一次实物的实时仿真数据,并由仿真管理与控制仿真机分发给数字仿真的各节点。

4 反射内存网协议设计方案

根据系统的功能及实时仿真工作过程,反射内存网协议可分为两个部分:命令通信协议和实时仿真数据传输协议。

4.1 命令通信协议

主要传输仿真管理与控制仿真机的各项命令给实物仿真机,以实现仿真系统的各项功能,包括初始化、仿真开始/暂停/恢复/停止,参数加载、侦查干扰等。

命令通信分为两种。第一种为带参数命令通信,即发送方先将该命令所需参数写入RFM的命令参数区,然后发送命令;接收方收到命令后,到相应参数区域获取数据。如“想定参数加载”命令,先向命令参数区写入作战想定参数,再发送该命令;接收方收到命令后,到想定参数区读取数据。第二种为无参数命令通信,即不写参数直接发送命令,如“仿真暂停/恢复”命令。下面主要讨论命令的发送和接收过程。

4.1.1 通信流程设计

由于系统的仿真命令有时需要连续发送,所以,必须确认接收方已正确收到该命令,才能发送下一条命令。根据这种情况,采用1byte(8位)表示命令类型(即最多可以表示2×8 - 1 = 255个命令),并为发送方设置一个发送标志位Status_Send(1byte)用以写入命令,一个回复标志位Status_Reply(1byte)用来察看接收方的回复。其中,写入命令采用RFM提供的Poke函数,查询命令采用Peek函数。发送命令和接收命令的流程如图2所示:


 
                            
图2   反射内存网命令发送和接收流程图   

发送命令流程:发送方向Status_Send写入命令值,并不断查询Status_Reply。当查询到同样的命令值时,表示接收方已经正确收到发送方命令;当查询到与发送不同的命令值时,表示接收方没有正确接收到命令;当查询时间大于1s时,表示接收方没有收到命令;然后发送方复位Status_Reply为0。
接收命令流程:接收方获知有命令后,从Status_Send读取命令值,并将该命令值写入Status_Reply,同时复位Status_Send为0。

4.1.2 传输方式

接收方获知命令有两种方式:①中断方式,即发送方写入命令值后,发送中断SendEvent;接收方响应中断CallEvent,到Status_Send读取命令。②查询方式,即接收方定时查询Status_Send,当Status_Send等于0为无命令状态,不等于0为有命令状态。

查询标志区也存在两种方式:while循环查询和1ms多媒体定时器查询。

根据传输方式的不同,我们设计了4种方案:

●方案一:发送方写入(Poke)命令值,发送中断SendEvent,用while查询(Peek) Status_Reply;接收方响应中断CallEvent。

●方案二:发送方写入(Poke)命令值,用1msTimer查询Status_Reply;接收方用1msTimer查询(Peek)Status_Send。

●方案三:发送方写入(Poke)命令值,用while查询Status_Reply;接收方用1msTimer查询(Peek)Status_Send。

●方案四:发送方写入(Poke)命令值,用while查询Status_Reply;接收方用while查询(Peek)Status_Send。

4种方案的性能测试结果见表1。

         
 

测试结果分析:

根据表1所给出的测试结果,方案一的单次通信时间最短,但平均时间较大,原因是当系统同时进行其他操作时,RFM中断响应的优先级并不是Windows系统中的最高级,导致系统对该中断响应处理较慢。从仿真的稳定性考虑,不宜采用该方案。方案四单次通信时间和平均时间最为稳定,但测试过程中发现,接收方采用while循环方式查询RFM,即使程序创建一个独立的线程来完成该接收工作,占用的系统资源也是很大的,系统几乎无法进行其他操作,用户界面响应很慢。从系统资源考虑,不宜采用该方案。根据方案二和方案三的时间对比,宜采用较为稳定的方案三作为本系统的命令通信协议。

4.2 数据传输协议设计

主要传输各实物的实时仿真数据给仿真管理与控制仿真机。

如果按带参数命令方式进行发送,即写入仿真数据后发送命令通知仿真管理与控制仿真机,则需要3~4(ms)× 4(台) = 12~16(ms)的时间完成数据接收过程,而本系统要求仿真的帧周期小于10ms,无法达到性能指标。

根据各仿真机所传数据量不大的特点,采用一种在反射内存卡上设置数据缓存区的方法,即通过改变偏移地址将一个数据区增加为多个(N个)相同的数据区,每个数据区都设有一个数据标志位Data_Flag_N。当Data_Flag_ N为0时,表示该数据区为空,即没有数据可以被读取;当Data_Flag_ N为1时,表示该数据区已写完,可以被读取。仿真开始后,发送方开启100ms定时器,按照从1到N的顺序向缓存区写入数据,并置位Data_Flag_ N = 1;接收方开启50ms定时器,按照同样的顺序查询Data_Flag_ N,当Data_Flag_ N = 1时读取第N个缓存区的数据,并复位Data_Flag_ N为0。

由于该协议减少了双方通信握手的复杂度,而反射内存卡的读写操作时间约为1ms,实时仿真数据传输只需要1~2(ms)× 4(台) = 4~8(ms)即可完成,经过实验测试,能够满足本系统的实时性指标。

5 小 结

本文根据系统的功能需求和性能指标,为反射内存网提出了一种采用查看命令回复的命令通信协议和采用读取数据缓存区的实时数据传输协议。该协议简单明了、易于编程实现,同时具有很好的扩展性,在本仿真系统中已得到很好的验证。

参考文献
1 Milan Jovanovic and Veljko Milutinovic. An Overview of Reflective Memory Systems Concurrency, IEEE [see also IEEE Parallel & Distributed Technology] , 1999;7(2): 56~64.
2 顾颖彦. 反射内存网实时通信技术的研究[J]. 计算机工程,2002;(7):143~144.
3 经彤,李贵山,康继昌. 基于高速网络结构实时传输多媒体信息. 计算机工程与应用,1997; (9): 14~17.
4 孔文华. 利用反射内存网络构成分布式实时仿真环境[J]. 计算机仿真,1997; (10): 8~11.
5 刘志国,王仕成,金光军.基于实时网络的激光制导武器半实物仿真系统设计[J]. 计算机仿真,2003; (5): 20~21.


 

状 态: 离线

公司简介
产品目录

公司名称: 北京维控致远科技有限责任公司
联 系 人: 王经理
电  话: 150-11088874
传  真:
地  址: 北京市海淀区
邮  编: 10086
主  页:
 
该厂商相关技术文摘:
PCI-5565反射内存网络解决方案
反射内存下导弹半实物仿真实时数据采集系统设计
反射内存卡VMIPCI-5565
反射内存卡
更多文摘...
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2009 Gkong.com, All Rights Reserved