实时反射内存网络是一种为使多个独立的计算机进行数据共享而特别设计的共享内存系统。实时反射内存网络在系统中的每个节点放置一个共享内存的独立的拷贝。每个节点都有写入数据访问和读取本地内存的权限。当数据写入本地内存,FPGA 捕获并发送数据到实时反射内存中网络下数据写入本地内存并送到下一节点,数据写入本地内存并送到下一节点,直到数据回到源发送的节点才将网络中的数据移除。由于这种特别的硬件
和一系列的节点,在极短的时间内,网络中所有的节点都被更新,在同样的地址有同样的数据。本地处理器可以随时访问内存中的数据,而不需要以随时访问内存中的数据,而不需要通过网络进行访问。由此,每个计算机都有新的的内存数据拷贝。在 4节点的实例中,仅需要 2.1us,所有的计算机都会收到写入实时反射内存的数据。实时反射内存卡(节点)由本地内存,PCI(或 PCIE,VME)接口,和提供计算机访问和实时网络内存网络更新的仲裁逻辑组成。实时反射内存卡可以与计算机总线连接,安装在VME,PCI/PCI-X,CPCI,PCIE 和其它标准系统中。这可以使大多部工作站和单板计算机通过实时网络内存连接而不用考虑与背板接口的互通性。其它串行网络连接计算机和 PLC 进行连接的地方,但它不是所有应用的解决方案。实时反射内存在实时是主要考虑因素的的系统中起到很大的作用。在需要低潜伏期,高速通迅的系统中,实时反射内存提供超高性能硬件和易用性。使用类似实时反射内存的低软件开销,高速,硬件驱动网络在整个网络和独立的网络节点有低的潜伏期,短潜伏时间性能对建立一个仿真的实时系统是十分重要的。
PCI5565 PCI-5565 PMC5565 VMIC5565 反射内存 反射内存卡 GE反射内存
反射内存网中的每个反射内存节点(任何5565反射内存卡)以菊花链的形式用光纤线互联。第一块卡的发送必须连接到第二块卡的接收端,第二块卡的发送端连接到第三块卡的接收端,以此类推,直到再连接到第一块卡的接收端完成一个完整的环形连接。也可以将所有节点连接到一个或多个ACC-5595反射内存HUB,每个节点的接收和发送都必须连接,如果没有检测到光信号或失去同步反射内存卡RFM-5565将不会发送数据包(例如光纤线已损坏)。反射内存网中每个节点的节点号必须一,节点号通过板上的拨码开关S2进行设置,任何两个节点不能有设置成同一个节点号,每个板卡的节点号可以在通过NODEID进行读取显示,节点号的顺序并不重要。
主系统对反射内存卡的板载SDRAM的写操作后,反射内内卡的硬件检测电路将自动发起一个整个反射内存网的数据传输动作。这个写操作可以是一个简单的PIO写或是一个DMA周期。当产生一个对SDRAM的写操作时,RFM-5565反射内存卡自动将数据和其它相关的信息写入到发送缓冲器中(其它相关信息包括节点号,数据地址等信息),在发送缓冲器中,发送电路检测数据,并且将数据变成一个4到64字节长度可变的数据包。通过光纤接口发送到下一个板卡的接收端口。接收电路检查数据包是否有错误,当无错误发生时数据被接收。接收电路解开数据包并且将数据存储到板载的接收缓冲器。在接收缓冲器中,另一个电路将数据写入到本地的SDRAM的和源节点相同的地址中。同时,该电路将数据同时发送到发送FIFO中,重复这个处理过程直到这个数据返回到源节点的接收端,在源节点中,接收电路检测到数据包的NODEID和源节点的NODEID相同,因此将数据包从网络中移除,这样所有的节点数据都被更新了。所以计算机将数据写入其本地网络内存卡后的,极短时间内,网上所有计算机都可以访问这个新数据。网络内存卡使用简单的读写方式,网络内存网上的数据传输是纯硬件操作,不需要考虑网络的通信协议,软件上只需要几行代码就可完成对网络内存卡的读、写操作,因此它与以太网等其他传统网络相比具有更低的数据传输延迟、更快的传输速度,更简单灵活的使用操作,可以满足实时系统快速反应周期的要求,而采用其他网络就很难满足这种要求。
反射内存是一种通过局域网在互连的计算机间提供高效的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台计算机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可
实时网络需求
为提升计算能力,人们自然地想到研发性能更强的计算机,如天河系列等超级计算机应运而生,但超级计算机研制周期长、成本大、应用领域受限。为此,提出了集群系统概念,计算机集群系统是通过网络将PC机或工作站连接起来组成高性能计算系统。集群系统将一个任务并行在多台计算机上执行,组成一个实时系统。
在实时系统中,系统终结果的正确性不仅依赖于每一步计算得到的逻辑结果,而且依赖于得到结果的时刻,任务的完成时间是实时系统的决定性特征。根据实时性能的要求程度,实时系统可认为两类,即软实时和硬实时系统。对于软实时系统,要求事件相应是实时的,但并不是严格强制的。但是,对于硬实时系统来讲,每个任务都有一个处理截止事件,任务必须在规定的时间内完成,否则会影响全局任务的完成,给系统带来不希望的破坏或者造成不可恢复的灾难性后果。目前许多实时系统都采用硬实时系统,因为具有更强的实时性能。实时系统的应用需要实时互联,构建实时网络,完成数据在网络节点间的实时传输。
实时网络必须具备高速、可靠、可预测三个特点,重要的是通信的可预测性,可预测性是指实时网络中各个节点之间数据传输的时间是确定的。随着实时网络应用领域的不断扩展,目前已不仅仅局限于计算机集群系统的互联,而是广泛地应用在各种具有实时需求的互联系统中,如半实物仿真、高速数据获取等。
实时网络发展过程中,出现过两种设计思路:基于单一总线的多CPU共享全局内存和基于网络的分布式内存:
相比基于单一总线的多CPU共享全局内存系统,在基于网络的分布式内存体系中每个节点只访问自己的本地内存,不存在内存占有冲突,由于这种方式能够避免大量的总线仲裁控制时间而成为实时网络的主要设计方式。
实时网络要保证高速、可靠、可预测这三大指标,但千兆以太网、光纤通道(Fiber Channel,FC)协议等,在可预测性上很差,首先是因为通过设备驱动和软件网络协议的工作模式增加了额外的不确定开销,其次是同样存在共享冲突和碰撞的问题(如千兆以太网GBE中采用CSMA/CD载波监听多路访问/冲突检测机制、FC协议采用令牌环仲裁等)进一步增加了传输时间的不确定性。光纤反射内存网很好的解决了上述问题。
反射内存网是基于网络的分布式内存硬实时网络的一种设计思想,特点:1)反射内存网硬件实现分布式RAM之间数据的传输、共享,整个过程具有很低的实现延迟;2)反射内存网依靠硬件实现、不需要复杂的网络协议控制,能够在相同的传输带宽下达到更高的有效速率;3)反射内存网对数据的各种处理是通过硬件电路实现,在固定的时钟频率下周期工作,没有不确定的时间开销,确保数据处理的可预测性。
反射内存卡节点延时测试方法:
反射内存卡数据传输过程全部由硬件完成,在windows这种非实时操作系统下和实时vxworks操作系统下由软件测试这种节点延时都是不可取的。
反射内存卡、,首先它是一个PCI设备,提供给用户128MB的读写空间。当一节点有写入操作时,自动通过光纤链路将数据同步到所有节点。这一系列传输写入操作由硬件完成。两个节点间更新的延时为100ns级。
Sdram时钟:66MHZ
FIFO时钟:106MHZ
图1:反射内存硬件数据流
下面提供两种方式来说明或测试节点传输延时:
A:理论计算方式
Sdram时钟:66MHZ
FIFO时钟:106MHZ
在系统无数据传输过程是由PCI总线通过桥片PCI9656将数据写入到SDRAM中,在写SDRAM的同时数据,地址和控制数据打包发送至发送FIFO,这个过程是同时进行的,SERDES在接收到FIFO数据的中断后,立即将FIFO的数据读取至SERDES完成并串转换并发送至光纤收发器,FIFO的读取时间约只需要4个周期。在较短距离时,光纤传输的时间约为零,不予考虑。在接收端SERDES将光纤收发器数据进行并串转换。送至接收FIFO,接收FIFO中断本地SDRAM控制器,将数据写入SDRAM,完成本次数据的更新过程。SDRAM时钟周期时间为15NS左右,FIFO时钟周期为9.4NS,
由此可以计算出理论时间 15*21+9.4*10≈405ns。
B:硬件触发方式
由于光纤收发器数据传输的快速特性,由软件来来测试时间误差较大,本方法对两个节点上的数据信号进行采集并测量延时。测试探头分别测试节点A的SDRAM和节点B的SDRAM信号,发送特征数据,并在B节点等待触发信号。由示波器看到信号延时。触发后在节点B用软件观察数据是否更新到节点B,改变特征数据及触发条件,可重复数次测特征数据与SDRAM控制信号。可以记录延时约得出延时大小。
2.网络内存卡带宽测试:
网络内存卡带宽测试可采用本公司提供的软件进行测试或采用RFM2G下的命令行工具测试不同数据大小包的传输速度。
反射内存网络硬件延时测试报告结论摘要
1)数据包在整个环网上的延时
网络数据从开始发送到在环网流转一周的总延时为:总延时≈600*(节点数-1)+3*长,单位:ns。
2)通过PCI进行板卡反射内存读写的延时
PCI总线在写时,需要准备时间为5CLK约0.125us,之后每读取4Bytes个数据需要3个CLK约0.075us。因此,PCI写入N个数据的延时可表示为:0.125us + (N%4 + 1) *0.075us
六、应用举例:基于光纤反射内存网实现远程多试验室协同试验
随着战场环境复杂度的提高,半实物仿真实验面临更严峻的挑战。由于试验场地面积有限,各大型仿真非标设备常分布于不同楼宇的试验室内,完成仿真试验需要多楼宇、多试验室跨域联合进行。同时,面临试验资源紧的问题,需要多项试验并行进行。这对多试验室远程互连及并行试验提出了迫切的需求,而远程协同仿真技术中的数据实时交互技术是解决上述问题的关键。本文采用基于光纤HUB的实时光纤反射内存网络搭建系统硬件平台,实现多试验室协同试验仿真。
在多试验任务并举的情况下,综合考虑不同试验室联合仿真的需要,兼顾数据通讯的安全性和连接的方便性,本节以三个实验室协同仿真为例,采用实时光纤反射内存、HY-FHX8型光纤HUB搭建网络,通过试验综合控制系统实现光纤网络的集中管理,设计方案如下图所示。
各仿真设备通过实时光纤反射内存卡及光纤HUB级联,由试验综合控制系统进行综合管理与调度,构成图1所示的试验光纤网络。其中,试验室1、2位于同一楼宇,用普通多模光纤线连接,试验室3位于上千米的远距离楼宇,与通过多模光纤连接,如图6所示,构成连接3个试验室的三套光纤网络,分别为:光纤网A、光纤网B、光纤网C。三套光纤网络可以断开HUB间的连接,实现物理上的隔离,互不影响工作,满足远距离多试验室并行试验的要求。
试验综合控制与管理系统用于仿真试验的综合管理与调度,实现参试设备及状态的统一管理、试验过程中的大型非标设备的远程控制、试验流程的实时控制、故障的报警及处理、试验数据的实时记录与监控等功能。
该实时光纤反射内存网在功能上主要有以下几方面的优势:
1) 实现远程互连的能力
随着仿真实验复杂度的提高,需要多楼宇多试验室间设备的远程互连,通过单模光纤及光纤HUB将远距离的试验室设备进行连接,单模光纤支持的传输距离可达20km。对于距离300m以内的试验室则可通过多模光纤进行近距离传输,达到传输效果与成本的最优。
2) 实现并行开展多项试验的能力
面对试验任务紧急的情况,需要并行开展多项试验。试验综合控制系统可以控制各个HUB,将整个网络切分成几个相互隔离的小网络,互不影响,可同时开展试验,满足多试验室并行试验的需求。
3) 实现故障的隔离排查能力
试验综合控制系统通过监控HUB各个端口设备连接运行状态,远程控制并旁路掉光纤网络任意节点,在进行故障排查时可以方便地将某一节点接入或移出网络,有效的提高的故障排查的效率,同时可以快速隔离故障节点。