高实时性低开销网络通讯协议的设计与实现
目前主流公开的网络协议,如以太网所使用的TCP/IP协议虽然功能完备、运行稳定,但其传输机制和服务方式都比较复杂冗余,实时性较差,不适合于多实时性有较高要求的领域。
光纤反射内存网通讯协议要在保证高实时性和稳定性前提下,降低协议的复杂度。在保证网络基本服务和传输稳定性的前提下,尽量提高系统的传输性能、实时性及相应速度。同时要有完整的错误处理机制,在错误发生的情况下保证错误不蔓延,有良好的自愈能力。
边收边转的数据转发模式实现低延时数据转发
在协议控制器设计上采用RFMMA(Reflective Memory Multiple Access)基于反射内存的多模式存取技术,支持数据、IO、命令、中断等多种数据传输模式。
在协议实现上,即协议控制器的设计上,要采取低延时的数据转发策略,将转发延迟控制在1us以内,这个对协议控制器实现提出了很高的挑战。主要采用此一下方法:1)采用边收边转发的数据传输模式,不采用存储转发模式,减小数据在单个节点上的转发延迟,提高系统实时性。2)在协议设计时,优化设计,压缩信息头的长度,并将重要信息都放在信息头前面,以方便转发时进行快速判断。3)设计了完备的数据帧回收机制,通过节点ID、传输计数器等方式保证了废数据帧的可靠回收。同时,采用CRC校验码校验数据的正确性。
一般的网络接口设备在转发数据是都采用存储转发的方式,转发延迟过大,导致整个系统的延时加大,实时性降低。采用即时收/转(边收边转发)模式,在接收数据的同时完成处理和转发,代替常用的存储转发模式,只需4个时钟周期便可完成判断&转发,典型数据帧是(长度256Byte)转发延迟比存储转发缩短了30倍以上。实测延时小于0.6us。
光纤HUB的换网动态重构及数据监测技术
利用高速开关阵列及FPGA集成的高速收发器,构建一个开关阵列,通过开关阵列的切换,形成内外双环的数据传输通路,是光纤网络数据在逻辑上形成一个环形传输方式,并通过FPGA收发器实时采集数据实现网络状态的监控及故障节点的自诊断自隔离。
高速电路设计及仿真验证技术
光纤反射内存网络波特率2.5Gbps,电信号的这个数据通讯速率下传输,属于高速电路设计。为保证数据可靠传输、保证系统的电磁兼容性、信号完整性,对电路板PCB设计提出了较高的要求。为保证设计质量,采用了Cadence公司的SigXplorer软件进行电路仿真,对仿真结果进行多轮迭代来改进设计。
网络内存网主要是由网络内存卡通过光纤连接而成的,网络上的每台计算机插入一块。网络内存卡形成各个节点,而每个节点的网络内存卡上的存储器中都有网络内存网上其它节点的共享数据拷贝。网络内存卡可以插在多种总线的主板上,如VME、PCI、CompactPCI、PMC接口等。每个网络内存卡都占有一段内存地址,网上任何计算机向本地网络内存卡写数据时,该数据和相应内存地址被广播到网上所有其他网络内存卡并存储在相同的位置。
所以计算机将数据写入其本地网络内存卡后的,极短时间内,网上所有计算机都可以访问这个新数据。网络内存卡使用简单的读写方式,网络内存网上的数据传输是纯硬件操作,不需要考虑网络的通信协议,软件上只需要几行代码就可完成对网络内存卡的读、写操作,因此它与以太网等其他传统网络相比具有更低的数据传输延迟、更快的传输速度,更简单灵活的使用操作,可以满足实时系统快速反应周期的要求,而采用其他网络就很难满足这种要求。
反射内存是一种通过局域网在互连的计算机间提供*的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台计算机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可。VMIC反射内存具有以下主要特点:
(1)高速度和*
传输速度达到174M字节/秒。使用光纤,可以连接更多节点(大到256个节点),具有很高的抗干扰能力。测试结果表明,从数据写入RAM到传到另一个节点的反射内存卡上,只有不到400纳秒的时延。
(2)使用方便
反射内存卡通过向每个节点机提供一套相同的数据备份使得各节点可以并发的访问相同的内容在访问反射内存卡的内存时与访问自身的内存没有差别。各节点间数据一致性是由反射内存卡保证,对应用软件是透明的。安装简单,将反射内存卡插在主板一个可用槽口上,再将各台主机通过光纤网或扁平数据线连在一起即可。
(3)独立于操作系统和处理机
反射内存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多种总线上使用,可以将ALPHA、Power PC、Macintosh、奔腾等计算机通过反射内存卡实时网络连接在一起,组成一个集群系统。
(4)确定的数据传输时间
在反射内存卡中,当数据被写入本地的反射内存卡板的内存中时,就被同时传输到其他相连的计算机上,没有软件延迟,硬件延迟也非常小。光纤反射内存卡在节点间传输数据时只需400纳秒。这种确定的时间延迟为设计实时应用提供了有效的保证。
(5)经济、*
反射内存卡的数据传输速率大,没有以太网那样要多层协议。其次,反射内存卡使用简单,不需要开发额外通讯软件,利于提高系统的可靠性,也节省了软件的开发费用。
基于反射内存实时网的实现机制
反射内存卡是一组双口内存板。当数据存储到反射内存卡时,板上的高速逻辑会自动将此数据连同地址送到网上的其它反射内存卡板上,数据传递完全由硬件驱动,不需要CPU干预,结果网上下一节点在400纳秒内就会在相同地址处有相同数据。反射内存卡可看成是由网上所有节点共享的单元内存卡,不存在访问限制与仲裁,每个节点就像访问本地内存一样,实现了节点间的数据共享。
(1)数据传输方式
的反射内存卡大可以连接256个互相独立的节点,共享内存的大量可以到128M字节,数据传输速度可达174M/秒、节点间距离可以到10KM。反射内存卡支持中断,通过中断机制可以实现节点机之间的通讯同步。
(2)使用中断实现同步
VMIC反射内存卡支持用中断方式通知节点接收数据,当数据被送到某节点时,可以通过中断告诉该节点。反射内存卡提供了三个中断,用户可以定义这些中断的优先级、中断相量及具体功能。
(3)错误管理技术
反射内存卡有错误监测和报告的功能,通过对数据的奇偶校验位的检查,可以发现数据是否有错。反射内存卡提供冗余传输模式,即每次传输数据时都传两份,当*份出错时,使用第二份。