服务热线
400-032-5918
引 言
随着装备性能的提高,装备的控制周期已达到 1 ms 甚至百微秒量级 随着设备性能的提高,设备的控制周期已经达到1 ms甚至100微秒量级[1]。因此,采用虚拟仿真系统中常用的反射存储网络进行数据传输。虚拟模型通过网络传输数据,虚拟模型通过相应的串行接口卡,如RS 422和1553B通信卡与安装的模型进行通信。因此,如果能直接实现反射内存网络中数据与串行接口之间的直接数据传输图2示出了多功能通信板的总体框图。一般来说,该板由主机交互模块、DDR2模块、RS 422模块和光纤接口模块四部分组成。每个模块安装在Avalon总线上,用于数据交互。Avalon交换总线定义的内联策略使任何Avalon总线上的主外设能够与任何从外设通信。,通信卡的通用性和仿真系统的实时性将大大提高在广播通信测试中,节点0的计算机作为发送数据包的数据源,环路节点1和2在收到数据包后执行存储操作,同时按顺序转发数据包。当数据分组返回到节点0时,节点删除数据分组并且不转发它。最后,读取并比较三个节点的内存数据。在该测试中,12字节大小的数据包用于长期连续测试。实际测试结果表明,传输误码率小于10-15。。当今市场上常见的反射式存储器网络产品已不能满足虚拟仿真系统单独对网络功能的需求,因此开发基于反射式存储器的多功能通信模块对半实物仿真系统具有重要意义。1多功能通信模块原理及工作模式反射式存储网络示意图如图1所示。多功能通信板组成的反射存储网络通过光纤连接。网络上的每台计算机都通过CPCI插槽插入多功能通信板,形成网络上的一个节点。2总体方案设计。因此对虚拟仿真系统中通常采用的反射内存网络进行数据传输。虚拟模型之间通过网络传递数据,虚拟模型与实装模型之间通过相应的串行接口卡进行通讯,例如 RS 422、1553B 通讯板卡。因此若能直接实现反射内存网中数据与串行接口之间的直接数据传输[2],将极大地提高通讯卡的通用性和仿真系统的实时性[3]。
当今市面上常见的反射内存网络产品无法单独满足虚拟仿真系统对网络功能的需求,所以基于反射内存的多功能通讯模块的研制对于半实物仿真系统有着十分重要的意义。
1 多功能通讯模块原理及工作模式
反射内存网络示意图如图 1 所示。多功能通讯板卡组建的反射内存网络通过光纤连接而成。网上的每台计算机通过CPCI 插槽插入一块多功能通讯板卡形成网络上的一个节点。
网络上每个节点的局部内存都映射到一个虚拟的全局内存,构成分布式共享存储器。用户对本地节点内存的读写相当于对全局内存的读写。对于本地节点内存的读写可以由宿主机或带有 RS 422 接口的设备完成。多功能通讯板卡上集成了4 路 RS 422 接口,使带有 RS 422 的设备能直接访问反射内存网。
2 总体方案设计[1]
[2]
2.1 宿主机交互模块设计
宿主机交互模块负责处理板卡和宿主机的信息交互,实现数据解析、数据组帧和打包、与Avalon 总线交互等功能。该模块由CPCI 总线的接口单元、数据解析单元和数据组帧单元等构成。宿主机交互模块框图如图 3 所示。
PLX9054 的工作模式采用C 模式,传输方式选择 DMA模式。
数据解析单元通过PCI 总线的地址位来区分上位机的数据种类 3.2 RS 422功能测试。上位机发送的数据种类有经由RS 422 接口的数据、广播到反射内存网络的数据、读写本地内存的数据 测试模型2与测试1一致。以节点3上的RS 422设备为数据源,广播12字节大小的数据包,最后比较各节点的内存数据。每个通道按照9 600 b/s、115.2 Kb/s、1 Mb/s、8位9位字长三种波特率分别测试,设备收发的数据与每个节点存储区的数据完全一致。。为了更好地管理数据,将反射内存网络中的内存划分为两大区域 :地址 0x00000000~0x000FFFF 是 RS 422 数据, 地址0x0010000~0x8000000 是通用内存数据。
数据组帧加包是为了解决从单一数据源发送数据到不同出口而产生的数据带宽不同、协议不匹配等问题 3.3网络传输速率测试。为了方便数据交互,统一各路数据结构,根据目前反射内存网络没有形成协议标准的现状,设计其实现机制和数据结构如下所示:
(1) 发送到 RS422接口的数据由命令标志位和数据位构成。其中命令标志位用于区分数据帧和命令帧。命令帧包括波特率配置和字长配置。
(2) 发送到反射内存网络的数据格式由帧头标志、节点号、中断标志、协议号标志、包长度组成。其中节点号表示该数据包的源节点号,协议号标志表示该数据包的数据源采用的协议。帧头标志位用于区分帧头和地址帧、数据帧、校验帧。
(3) 为了提高系统带宽, 宿主机交互模块集成了四个Avalon总线主端口,由于每个总线主机均有自己的专用互联, 总线主机只需抢占共享从机,而非总线本身,因此不会造成总线拥塞。Avalon接口性能很高,可每个时钟传输 1次,所以对上下行数据的传输速率的影响可忽略不计。
2.2 光纤接口模块设计
图 4 所示为光纤接口模块。该模块由光电收发器、编解码控制、数据仲裁和数据解析等功能单元组成。其中,光传输模块采用集成光电转换方案,其支持的最高串行数据传输率为1.062 5 Gb/s。
各功能单元之间为保持数据的完整性,设计了多个FIFO来缓存接收和发送数据。解决上下接口速率不匹配、跨时钟 域的问题。
在高速串行收发器中,内置有 8 B/10 B 解码器可以检查出单比特错误,同时还内置有CRC 校验器,能够有效发现错误并纠正单比特错误。利用这两种方案能够将错误有效反馈给上层进行处理。
2.3 RS422模块设计
图 5 所示为 RS 422 模块。该模块主要由UART 模块、控制模块和RS 422 接口电路组成。
UART 在Avalon 总线体系里是一个常用的字符型外围设备测试3遵循测试1的测试模型。主机在DMA模式下读写。测试过程中,节点0的主机启动数据写入和传输,同时启动RTX系统提供的0.1 ms时钟。当通过环形网络更新数据时,停止计时以获得数据写入速率。每次发送100包,发送500次,总有效数据20万MB。测试数据列于表1。通过主机读取内存数据,每次读取100个数据包,读取500次,有效数为20万MB,得到数据读取速率。表2列出了数据读取测试。,为Altera FPGA上的嵌入式系统和外部设备提供了串行字符流通信方式。主控制模块的主要功能单元为UART 控制、地址匹配和数据打包等。同时控制模块内嵌 3 个Avalon 主端口和 1 个Avalon 从端口,通过 Avalon 总线与其他模块进行数据交互。
3 主要功能及性能指标测试
测试时搭建由虚拟机和实物设备构成的半实物仿真系统验证基于反射内存的多功能板卡的各项功能及性能。
3.1 反射内存网络功能测试
测试网络采用由三个节点、光纤互联组成的环状链路, 其中一个网络节点接入RS 422 设备,测试是否能构成共享内存网络。测试模型如图 6 所示。
在广播通讯测试中,节点 0 计算机作为数据源发送数据 包,环路节点 1、2 收到数据包后执行存储操作,同时按序转 发数据包。当数据包回到节点 0 时,该节点删除数据包,不 再转发,最后将 3 个节点的内存数据读取比较。本次测试用大 小为 12 字节的数据包进行了长时间连续测试。实际测试结果 表明传输中的误码率低于 10-15。[3]
当数据量较小时,传输速率不高,因为大部分时间成本都在中断传输和逻辑判断上。当传输数据变大时,传输速率更快并趋于稳定。
3.4 传输延时测试
传输延时包括节点间延时和节点内延时,测试模型如图 7所示。相邻节点之间完成数据发送接收过程的延时测试,需要依次经过发送节点发送单元、光电收发器、光纤、光电收发器、接收节点接收单元,其中光纤长度为 10m。通过 100 次测试单板自收发,可测得节点与节点间的时延平均为 244.4ns。节点内部处理相邻节点发送的数据并转发时会造成延时。完成以上一次收发需要经过两次节点间时延和一次节点内时延。经过 100次测试,得出节点内平均时延为 263.2 ns。
4 结 语
通过一系列实验测试证明,基于反射内存的多功能通讯板卡设计合理,满足高速(带宽最高为 30 MB/s)、可靠(误码
率低于10-15)、可预测(时延是深亚微秒级)、多功能(支持多模式的RS 422)等要求。目前,该板卡已应用在虚拟仿真平台。需要指出的是,该板卡上还集成了 RS 232、1533B、CAN 等通讯模块,改动FPGA 程序即可扩展板卡的通讯能力。
3.4传输延迟测试传输延迟包括节点间延迟和节点内延迟,测试模型如图7所示。要完成相邻节点间数据收发过程的延时测试,需要依次经过发射节点的发射单元、光电收发器、光纤、光电收发器和接收节点的接收单元,其中光纤长度为10m。通过100次测试单板的自发送和自接收,可以测得节点间的时延为244.4ns,当一个节点内部处理相邻节点发送的数据并转发时,会造成时延。上述一次发送和接收的完成需要经过两次节点间时延和一次节点内时延。经过100次测试,节点的平均时延为263.2 ns。