520彩票开户

航天
航空
核工业
船舶
兵器
军事电子
综合
可靠性
仪器仪表
主动化
电子元器件
电容器、LC滤波器 电阻器、电位器 PCB电路板 真空电子器件 连接器 二极管、晶体管半导体 集成电路和微电子组件 LED系列产品 光电器件 光学材料与光电元器件 继电器 电感元件 集成电路和微电子组件 频率把持和频率选择元件 电子设备用机电元件 电子材料 广播电视制作、播出、发射和传输设备 其它
传感器
光纤传感器 光电传感器 压力传感器 热学量传感器 物位测量系列 声学量传感器 流量传感器 湿度传感器 气体传感器 电学量传感器 速度传感器 力传感器 地位传感器 位移传感器 光学量传感器 加速度传感器 标准传感器 磁学量传感器 其它传感器
电工器材
电线、电缆 开关电线 插头、插座 电动机 绝缘材料 低压电器 高压电器 防雷及电涌掩护器 室内外照明设备 便携式照明设备 灯泡、灯座、整流器 其他
电源
EPS消防应急电源 UPS不间断电源 稳压电源 变频电源 净化电源 特种电源 发电机组 开关电源(AC/DC) 逆变电源(DC/AC) 模块电源(DC/DC) 电池 其它电源产品
通用机械
轴承 密封件 紧固件、连接件 弹簧 泵及真空设备 阀门 齿轮、蜗杆、链传动件 减速箱 气动元件 液压元件 过滤件 工业皮带 清洗、清算设备 制冷设备 电热设备 涂装设备 仓储设备 干燥设备 混杂设备 其它未分类
行业设备
机床 机床配附件 塑料机械 包装设备 电焊、切割设备 印刷设备 环保设备 焊接材料与附件 电子产品制作设备 化工设备 铸造及热处理设备 冶炼设备 橡胶机械 玻璃加工设备 实验机 储运设备 过滤设备 空气净化装置 检测设备 安全、防护、消防设备 其它
当前地位:方案 » 航空解决方案 » 正文

基于反射内存的实时网络系统设计

点击图片查看原图
  • 发布日期:2019-04-29 09:32
  • 有效期至:长期有效
  • 方案区域:全国
  • 浏览次数8
  • 留言咨询
 
详细阐明
 

0 引言

在半实物仿真系统中需要实时地传输、操作和分析数据,并在此基础上作出相应的把持,实时网络技巧是半实物仿真系统中必不可少技巧之一。基于反射内存的实时网络技巧目前已发展较为成熟的一种性能精良、概念新鲜的实时网络技巧[1]。相对于以往基于TCP/IP或UDP/IP实时网络技巧来说,它极大的进步了系统实时通信、数据反射和信号调试的能力,使散布式仿真系统结构的设计及实现更为简略。本文介绍了基于VMI-5565反射内存卡组建实时网络的方法,并就利用VC++6.0实现实时网络通信进行了研究。

1反射内存通信原理及实时网络构建

1.1 反射内存通信原理

反射内存光纤网络采用了先进特别的技巧,具备了很强的支撑散布实时系统的数据传输能力[2]。在每个需要实时通信的节点上插入反射内存网卡(节点卡),每块节点卡都有自己独立的局部内存,它通过局部内存映射将网卡上的局部内存映射到主机内存,用户读写网卡上的数据就如同读写主机内存上的数据一样快速方便。另外,每块反射内存网卡又通过网络内存映射,将散布节点卡上的局部内存映射到一个虚拟的全局内存,即每个节点在写入本地节点卡的数据同时也写入所有其他节点卡的内存。这样,用户对本地节点内存的读写相当于对全局内存进行读写,而这个全局内存是所有散布节点都可见反射的,从而实现散布节点间的数据通信[3]。通过这种方法,所有的节点能透明并断定地传送中断、消息或者数据块到其他的节点。

1.2  VMI-5565实时网络产品简介

520彩票开户VMI-5565反射内存产品是美国VMIC公司于本世纪初推出的网络通信产品系列。其特点是通过驱动软件写到某一个节点反射内存板上某一地址单元的数据,可同时通过HUB主动映射写到实时网络上所有节点的反射内存板上的对应地址单元。同时,也支撑直接内存访问(DMA)方法的数据块传输。每块反射内存板通过卡上跳线设置在网络上的唯一ID号。其技巧性能指标如下:

(1).实时性能:数据传输率可达47.1Mbyte/s到174Mbyte/s;

(2). 负载能力:通过选用两种不同型号的反射内存板,具有64M字节至128M字节的可选负载能力;

(3). 传输距离:支撑10km长度的単模光纤300m长度的多模光纤;

520彩票开户(4). 扩大性:単个HUB支撑8个节点。通过级联HUB,最多可支撑256个节点。

1.3 基于反射内存的实时网络构建

实时网络现行的网络拓扑结构重要有环型、星型结构等几种结构。一般来说,环形结构组网简略。下面以三个节点为例,简略阐明环形结构组网过程。三个节点需要三块VMI5565卡及3根单股光纤。首先将三块卡进行统一编址,分辨为节点0、节点1、节点2,并将其插入到对应的打算机中,具体编址方法见2.1节。将节点0的反射内存卡的RX端与将节点1的反射内存卡的TX端连接,同时将节点1的RX端与T节点2的TX端连接,节点2的RX与节点0的TX连接,如图1所示:

反射内存卡环型拓扑结构实时网示意图

 

图1环形拓扑实时网络示意图

520彩票开户环形结构组网简略,但是在利用的时候,必须将所有的节点打算机全部打开才干进行通信,在节点较多时,利用不方便,且容易造成因人为失误而导致仿真实验失败的情况。

星型实时网络由一个实时网络HUB和实时节点卡组成。安装了实时网络节点卡的打算机通过光纤连接在HUB上。HUB供给了一个共享内存空间,每个节点在本地都有一个该共享内存空间的映射。当任意一个实时处理机在本地节点卡的内存空间中操作时,HUB内共享内存空间的数据就会被更新。同时,其它节点上的共享内存映射空间中的对应数据会被立即更新。这种实时网络具有低延迟、高传输率的优点,确保所有节点数据快速更新。仍以三个节点为例,阐明其结构。其结构图如图2所示:

反射内存卡星型拓扑结构实时网示意图

 

图2 星型拓扑结构实时网示意图

星型结构则利用时比较方便,只需打开需用的节点打算机并给HUB加电即可,工作牢固、可靠,但相对环形拓扑结构来说,增长了一个实时网络HUB,雷同节点数,需要的光纤也增长了一倍,增长了成本。

520彩票开户在具体利用中,可根据节点数量来进行实时网络拓扑结构选择。节点较少时选择环形拓扑,可有效地节俭成本,节点较多时,可选择星型拓扑,利用更为方便。

笔者参与设计并投入利用的仿真系统采用了星型拓扑结构,该系统共有8个节点,分辨对应把持台打算机、视景打算机、程序解算打算机、设备把持打算机等打算机。该系统目前已经成功应与于某半实物仿真系统中。由于该半实物仿真系统不是本文重点内容,在此不做进一步阐明。

2  反射内存存储空间分配

2.1 反射内存编址

520彩票开户在组网前,需要对每块反射内存卡进行统一编址,以便反射内存网络形成一致的持续的共享空间而不会产生冲突。在VMI5565反射内存卡上,有一排8个小开关,用这些开关即可完成统一编址。8个小开关全部打开时,内部地址为00000000,对应的反射内存卡为节点0,仅第1个打开时,内部地址为00000001,对应的反射内存卡为节点1,第二个打开为节点2,依次类推,按照二进制编码方法排列,依次为0,1,2,4,8,16,32,单个HUB支撑8个节点。

2.2反射内存地址空间分配

由于实时网络系统的内存地址空间有限,所以每个节点打算机写入内存的数据需科学、合理和严格方案。常用的数据写入方法有两种,第一种是不进行地址空间分配,而按照具体节点进行数据通信,即将数据发送端直接将所需的数据打包发送到对应的数据吸收端。例如,0号节点需要将名为ff的数据传递给1号节点,其语法如下(VC++6.0下):

发送方(0号节点):

……

520彩票开户retstatus=RFM2gWrite(rh,1,(void *)ff,sizeof(float)*9);

  ……

吸收方(1号节点):

 ……

retstatus=RFM2gRead(rh,1,(void *)ff,sizeof(float)*9);

  ……

520彩票开户此种方法在数据量大的时候,会引起溢出,无法保证同一帧数据的完整性,另外,当一段数据为多个节点同时需要时,此种方法就不够方便。因此,目前常用的方法是将反射内存空间进行分配。

反射内存地址空间分配是通过软件接口把持文件定义好所有须利用内存空间的数据变量地址,同类数据持续分配地址单元,以便其它节点的打算机可以用直接内存访问方法一次性快速读取大批数据。同时,由于节点上的打算机在某个时刻写到某一内存地址段的多个数据会在下一仿真周期以新的成果刷新此段数据,为了保证其它打算机节点读到该地址段帧的数据是同一帧的数据,需为这段数据定义专门的地址单元标记该段数据的读写状态。用此种方法时,可利用如下句子进行操作(VC++6.0下):

数据写入节点:

520彩票开户……

    retstatus=RFM2gWrite(rh,0520彩票开户x500, (void *)ff,sizeof(float)*9);

……

数据读取节点:

520彩票开户……

retstatus=RFM2gRead(rh,0x500,

520彩票开户(void *)ff,sizeof(float)*9);

520彩票开户……

数据写入节点只需将ff数据写入到固定的地址(0x500),需要用到此段数据的节点均可到该地址进行读写,此种方法下,发送法不需关注吸收方,而只需按照事先约好的数据存储地址写入即可,同样,吸收方也是如此。

2.3 地址空间分配时的注意事项

在反射内存空间地址分配时,须注意所分配的空间应大于所需传递的数据长度并有必定的余量,应按照单个数据的字节数和数据段的数据个数来进行仔细打算所需的存储空间。

520彩票开户在地址空间分配及实时通信过程中,应有专用的数据记载空间和节点,做好实验状态和实验成果的记载。同时在每次仿真开端前应清空射内存中原有的数据,以防造成误操作,从而对仿真设备造成损坏。

3  在VC++下的实时通信协议设计

   在VC++下利用反射内存网实现实时通信之前,要进行驱动安装与环境变量设置。具体内容见参考文献[4]520彩票开户。设置完成后,方可进行相干操作。在笔者完成的实时系统中,采用VC环消息Message方法进行传递进行。首先是完成头文件加载与反射内存卡打开并使之处于使能状态,随后是等候触发。按照反射内存统一编址方法进行通信协议设计,具体如下。

3.1 反射内存卡初始化及使能

520彩票开户   在VC++环境下,首先要完成反射内存卡的头文家加载与发射内存卡打开及使能,参考代码如下:

 

#include "rfm2g.h"//反射内存头文件;

……

Main()

{

……

If((retstatus=RFM2gOpen(rfmFn,&rh))!= RFM2G_SUCCESS)

    {

        printf("Cannot open RFM2G\n");

520彩票开户        exit(0);

    }  

    if(rh == (RFM2GHANDLE) NULL){

        printf( "%s>  rh = %x ", me, rh );

    }   //断定是否打开成功

retstatus=RFM2gEnableEvent(rh,RFM2GEVENT_INTR1); //使能反射内存卡,等候时间触发;

……

}

3.2 发送吸收协议

    初始化完成后,通信开端。为了确保数据实时传输的正确性,数据的发送、吸收双方需要握手协议。这一点在牵扯到仿真设备初始化的半实物仿真过程中尤为重要。设发送方在0x500地址处写入TX=1,等候吸收方应答信号。吸收方在0x500处读到TX并断定TX=1,完成筹备工作后在0520彩票开户x1000处写入RX=1。当发送方收到RX并确认为RX=1时,正式数据开端发送,实时仿真开端。双方具体操作如下。

3.2.1发送操作

520彩票开户   发送方首先进行握手信号发送,等候应答成功后,开端发送数据。仿真过程结束后发送TX=2,通知吸收方通信完成,待到对方应答后,关闭反射内存,实时通信结束。

以发送名为ff数据至0520彩票开户x500为例,全部通信过程参考代码如下:

  ……

RFM2gClear(&rh);

TX=1;

retstatus=RFM2gWrite(rh,0520彩票开户x500, (void *)TX,sizeof(float)*9);//发送TX

520彩票开户retstatus=RFM2gSendEvent(rh,32,

RFM2GEVENT_INTR1,0x0);//发送消息事件;

while(1){

retstatus=RFM2gRead(rh,0520彩票开户x51, (void *)RX,sizeof(float)*9);

    if(fabs(RX-1)<0.000001 )

          break;

printf("wait RX…%lf\n",fabs(RX-1));

}

printf("RX Readly...\n");//握手成功

retstatus=RFM2gWrite(rh,0520彩票开户x500,(void *)ff,sizeof(float)*9);//发送ff

retstatus=RFM2gSendEvent(rh,32,RFM2GEVENT_INTR1,0x0);//发送消息

……

520彩票开户If(stop=start)//仿真完成

{

TX=2;

retstatus=RFM2gWrite(rh,0520彩票开户x500,(void *)TX,sizeof(float)*9);//发送TX

retstatus=RFM2gSendEvent(rh,32,RFM2GEVENT_INTR1,0x0);//发送消息事件;

while(1){    retstatus=RFM2gRead(rh,0520彩票开户x510,(void *)RX,sizeof(float)*9);

if(fabs(RX-2)<0.000001 )

         break;

520彩票开户printf("wait RX…%lf\n",fabs(RX-1));

}

printf("Retaime TR over...\n");

retstatus=RFM2gDisableEvent(rh,

RFM2GEVENT_INTR1);//关闭使能反射内存;

520彩票开户RFM2gClose(&rh);//关闭反射内存;

520彩票开户}//仿真过程结束,关闭反射内存

520彩票开户……

3.2.2 吸收操作

吸收操作类似于发送操作,只需要在初始化完成后,有一个等候事件触发的命令即可。当收到事件触发后,即从0x500处读入数据并断定数据,当收到的数据同预设一致时,发送应答信号至0x510,并筹备吸收数据。当吸收到数据为Tx=2时,即返回RX=2并结束使能反射内存卡,关闭反射内存卡,通信结束。等候触发的代码如下,其他类似于发送方。

……

520彩票开户RFM2gClear(&rh);

retstatus=RFM2gWaitForEvent(rh,&info);

……

520彩票开户retstatus=RFM2gDisableEvent(rh,RFM2GEVENT_INTR1);//关闭使能反射内存;

RFM2gClose(&rh);//关闭反射内存;

}//仿真过程结束,关闭反射内存

520彩票开户……

利用上述方法即可实现实时通信过程。

4 在Windows下实现实时通信

由于Windows是多任务操作系统,因此常见的实时系统常采用DOS等单任务系统,或者是购置RTW模块并实现Windows下的实时性设计。但是,在实时性恳求不是很高的情况下(仿真步长>0.5ms)时,可以通过进步过程优先级并强制关闭其他过程的方法来实现强实时打算。同时,可以通过获取打算机机器时间并以此来进行仿真步长的准断定时。采用此方法,可有效地实现各个节点的时间统一管理,可有效地进步系统的实时性。在实际利用过程中,仿真步长可根据全部系统的单步打算、把持的耗时情况以及仿真对象的实际情况进行选择,并选择合适的方法(中断、查询)来实现仿真周期的准断定时。

520彩票开户笔者完成的实时系统设计中,通过查询方法并采用逝世循环的情势,实现了仿真周期为0.5毫秒的半实物仿真。实际测试(测试环境:CPUP4 2.8GHZ 512M)统计成果表明,在采用实时处理以后,完成一步打算帧周期定时误差最大为1.2毫秒,采用实时处理以后,平均帧误差在30奥妙,最大为130奥妙。采用实时处理后的反射内存网两个节点之间的数据传输时间误差均值小于80奥妙,最大值小于200奥妙。经过任务优先级调剂后的仿真过程受操作系统影响较小,在所得到的测试成果中,99%在40-50奥妙以内,最大值不超过130奥妙,实时网数据延时最大值不超过150奥妙,完整满足仿真步长在0.5毫秒以上的系统仿真任务。

5 小结

本文重要介绍了基于反射内存卡的实时网络系统设计方法,并给出了具体的通信协议及注意事项,同时,就如何在Windows系统下实现实时通信进行了简要介绍。利用该方法设计的实时系统已在某半实物仿真实验室中利用,经验证,该系统具有通信实时性好,数据传输速度快,传输可靠性高的特点,满足实时仿真需要,取得了良好的效果,被实践证明是一种成熟、有效的方法。


 

  

 

 

参考文献:

520彩票开户[1]  胡小江, 钱志博.基于LabVIEW的实时网络接口开发[J].电子技巧利用,2005(3):28~29.

[2]  杨涤,杨旭,系统实时仿真开发环境与利用[M].北京:请华大学出版社,2002,5~8.

[3] VMICPCI-5565 REFLECTIVE MEMORY BOARD PRODUCT MANUAL, VME Microsystems International Corporation.

520彩票开户[4 David .J.Kruglinski, Scot Wingo,George Shepherd著,渴望图书创作室 译. Visual C++6.0技巧内幕(第五版)[M].北京:北京渴望电子出版社,2000,395~402

 

 

作者简介:

520彩票开户林晓焕(1964-),女,西安阎良人,硕士生导师,重要研究方向为数据通信与打算机把持;唐长春(1979-),女,四川蓬溪人,硕士研究生,重要研究方向为把持系统设计与仿真;柳文安(1981-),男,陕西洋县人,工程师,重要研究方向为把持系统设计与系统仿真。

 
0条 [查看全部]  相干评论

公司信息







该企业最新方案
在线客服

0759-2216160

© 2008-2017 运营商: 湛江市东龙网络科技有限公司 国防科技网 jqwanguan.com 广东通信管理局备案:
全国公安机关 备案信息 可信网站不良举报 文明转播
520彩票注册 520彩票网上购买 520彩票如何购买 520彩票怎么买 520彩票app 520彩票app下载 520彩票网址 520彩票官网 520彩票官方网站 520彩票网站