一种RapidIO和FC的互联通信技术

2019-08-23 02:44张文俊
电子技术与软件工程 2019年14期
关键词:桥接数据包端口

文/张文俊

现代电子系统越来越复杂,越来越庞大,功能越来越多,各种不同领域,不同专业和不同设备进行了融合处理,每套电子系统如探测系统包含雷达、电子战、通信等多个子系统,向着探测、干扰、侦收和通信一体化方向发展。尤其是军用系统中多采用嵌入式系统,其中数字信号并行处理技术为其中的关键技术,它可以实现对海、陆、空和天等多种信息融合处理。提升多个并行处理模块、数据处理模块和集群处理模块之间的数据交换性能是提高整个嵌入式数字信号并行处理系统性能的关键。以往使用的单总线模式已经无法满足未来系统的传输需求。新一代的高性能互连通信技术如RapidIO、FC、PCI Express、Hyper-Transport、InfiniBand 等逐步替代原有的慢速通信技术在设备中大量使用,不同高速通信技术有各自的优缺点,没有一种通信技术可以适用所有的应用需求,现有大型系统多为多种通信技术共存,因此多种通信技术的融合互联需求越来越强烈。其中,RapidIO和FC在军用电子设备应用较为广泛。RapidIO是一种基于报文交换的互连体系结构,具有高带宽、低延时、高效率、高可靠性等优点,能够为高性能嵌入式系统计算节点之间通信提供良好的解决方案。FC是一种高带宽、低延迟、扩展性好,传输可靠性高、协议丰富且相对简单和传输距离远的特点,广泛用于设备之间的大容量数据传输。

本文讨论了能满足大容量数据传输RapidIO和FC互联通信技术,针对多设备互联和数据交换需求,提出了两种通信协议的无损高效解决方案。

1 RapidIO和FC通信的特点

RapidIO 互连通信协议采用3层体系结构,分别为逻辑层、传输层和物理层。最高层为RapidIO逻辑层规范,规定了协议包格式,RapidIO节点发起传输的格式内容定义和指令含义以及操作步骤,中间层为传输层规范,规定了RapidIO地址空间规范和数据包在传输所需的节点桥接信息,物理层规范定义的数据传输的物理结构和方式,包括所有电气特性的详细规范。RapidIO操作是基于请求和响应的,执行过程为有源节点发送一个请求需求并传送到目标节点,目标节点执行完请求后产生一个响应并返回至源节点来完成这次操作。RapidIO通信开始时需要一个主控节点进行控制和管理,在交换体制下,还需要完成桥接配置,节点交换使用的是静态桥接。

图1:典型RapidIO和FC数据互联应用场景

图2:融合互联层次结构图

图3:RapidIO数据包到FC数据包转换流程

FC协议来源于美国,最早应用于航空电子系统网络,美国国家标准委员会还专门成立了研究光纤通道用于航空电子系统的分委员会(ANSI FC-AE),该分委员会与波音公司、洛克西德马丁公司等合作制定了一组专门用于航空电子系统的FC协议子集,即光纤通道航空电子环境(FC-AE),其中FC高层协议采用的就是FC-AE下的匿名签署消息传输协议(FC-AE-ASM)。FC协议替代当前的航空电子主网络 MIL-STD-1553,已成为航空电子系统发展的必然趋势,从现有发展来看FC协议必将成为下一代航空电子通信的首选协议。

FC协议将通道传输的高速性和网络传输的灵活性结合在一起,采用层次化的结构,共 分 为5层:FC-0、FC-1、FC-2、FC-3和FC-4;定义了3种拓扑结构:点对点、交换式、仲裁环网络,此三种方式既可实现高速和高效的传输,同时也具有任意节点全互通特性,特别是交换方式网络的拓扑结构,可很好的实现复杂设备的多节点互连。

由于RapidIO和FC两种协议的传输方式和通信结构不同,两种协议的数据交互必然需要相互转换的过程,该过程需要做的实时,无损,兼顾两种协议的特点。

2 RapidIO和FC互联通信的应用场景

大型系统中由多设备组成,每个设备中又有多个处理集群,每个处理集群中又有多个处理节点,有的处理集群采用的RapidIO协议通信,有的采用采用FC通信协议,每个节点互联互通就需要做到RapidIO和FC的融合互联通信。典型的应用场景如图1。

3 RapidIO和FC互联的原理

该技术主要应用于RapidIO协议和FC协议之间的双向相互通信。该技术包括RapidIO协议解析、FC协议解析和RapidIO协议数据包和FC协议数据包之间的重组和重定向等功能。该通信分为2个方向,对于FC协议转换RapidIO协议方向,光纤接收外来FC节点发送来的FC协议数据包,解析FC协议的数据包中FC目的ID,根据目的ID号查找桥接表中的RapidIO协议的节点号和发送空间地址,并转换为RapidIO数据包并送达相应的RapidIO节点,对于RapidIO协议转换FC协议方向,接收RapidIO节点发送来的数据包,解析RapidIO协议的数据包中RapidIO目的ID,根据目的ID号查找桥接表中的FC协议的节点号,并转换为FC数据包并送达相应的FC节点。本技术解决了现有技术中大型系统中RapidIO协议和FC协议无法相互通信的问题,实现了RapidIO协议和FC协议的相互转换,并且能够高效率在RapdIO协议和FC协议之间进行交互并保留2种协议的完整功能。

RapidIO协议为3层结构,包括逻辑层,传输层和物理层,FC协议为5层结构,FC-0、FC-1、FC-2、FC-3和FC-4。本方案在FC-4上选用为FC-AE-ASM。融合互联采用在应用层(RapidIO的逻辑层和FC的FC-4层上的)进行数据交互,具体层次结构如图2。

3.1 RapidIO到FC转换流程

RapidIO到FC转换到过程为,RapidIO节点发送数据包到一个接收融合互联节点进行RapidIO协议解析和数据解包,然后根据接收融合互联节点桥接关系进行映射和重定向,再进行完成FC数据包重组,对重组好的FC数据根据发送的FC物理节点放入相应队列,数据包按照顺序从FC端口发送,具体流程如图3所示。该流程中的对于桥接映射重定向,设计了1个Srio2FC桥接管理模块。用于完成RapidIO协议到 FC协议之间的相互转换。

Srio2FC桥接管理用于管理RapidIO转换换为FC数据包,主要功能为FC端口检测,流量统计,节点注册和路由分配。处理过程为每当有一个FC的端口连入,需要发送一个路由端口注册报文,报文用于告诉有新的FC端口接入,桥接管理就设置该FC端口为有效并根据流量分配路由路径,形成桥接关系。一旦有RapidIO包指向这个路径,则按照路径进行数据交换和传递。每当有一个FC端口断开或者有故障时,桥接管理通过FC端口检测就可以检测到端口出现问题,会自动完成端口删除,实现端口动态接入并保证系统交换状态稳定,不会出现单端口故障造成系统阻塞。

3.2 FC到RapidIO转换流程

FC到RapidIO转换到过程为,FC节点发送数据包到一个接收融合互联节点进行FC协议解析和数据解包,然后根据接收融合互联节点已配置的桥接进行桥接映射和重定向,再进行完成RapidIO数据包重组和计算RapidIO空间地址映射,对重组好的RapidIO数据根据发送的RapidIO物理节点放入相应队列进行发送,具体流程如图4所示。

该流程中的对于桥接和重定向,设计了1个FC2Srio桥接管理,用于完成FC协议和RapidIO协议转换,RapidIO数据包重组。

FC融合后接收数据时,FC2Srio桥接管理,会收集每个节点想信息和系统中的流量,形成并分配路径关系,当RapidIO节点作为数据目的时,经过桥接管理,会指定RapidIO路径,自动计算填写RapidIO空间的映射的地址,形成完整的RapidIO协议包,发送到相应的节点。

3.3 多节点互联

大型系统中一般同时具有多个RapidIO节点和多个FC节点,融合互联设计时考虑到任意节点交换需求,单个节点可向多个节点发送,单个节点可接收多个节点发送来的数据。其中RapidIO协议需要用到空间地址而FC不需要使用空间地址,两种协议的转换就成为一个难点。为了达到单个RapidIO节点可发送到多个目的FC地址,在RapidIO交换枚举时采用了映射多节点技术,对于一个物理的RapidIO节点,同时衍生出若干个映射节点号,RapidIO交换机配置的桥接管理把映射节点号都桥接到融合专用RapidIO节点,数据发送时使用不同的映射节点号作为RapidIO的ID号,融合互联节点根据桥接管理完成RapidIO的ID号和FC的ID号的映射,这样实现了系统中的一个RapidIO节点可向任意FC节点发送数据的功能。在FC转RapidIO的过程中,由于RapidIO的数据传输方式为对应地址空间推送方式,FC转RapidIO包需要分配好RapidIO空间地址,并在桥接管理中分配起始地址多和空间大小,再由融合节点自动计算每一个RapidIO数据包的空间地址且使用地址循环计算,不同的数据映射到不同的RapidIO空间,此设计实现了一个RapidIO节点可接收多个FC节点发送来的数据。FC节点使用顺序接收,只要完成地址映射就可以实现多节点传输。

4 RapidIO和FC互联的实现

通过设计一个RapidIO和FC互联模块实现。实际使用使用时在需要做两种协议之间通信的位置部署该模块即可。该模块使用软件和硬件相结合分方式,硬件采用FPGA实现两种协议的实时转换,软件采用CPU实现系统的桥接配置、更新和管理,流量监控,状态监控,BIT上报等功能。实现框图如图5。

该模块保留了RapidIO和FC各自的特性,包括多节点交换,流量控制等特性。RapidIO端采用3.125Gbps×4模式,FC端采用4个单线速为4.25Gbps的光纤通道与之匹配,能做到数据通过率对等,无通信瓶颈。

该模块实际测试结果单融合互联节点双向通过率达到1GB/s。

4.1 硬件设计

RapidIO和FC互联模块的硬件设计需具有实时高效高速。主芯片采用大规模FPGA,FPGA具有至少16路高速串行通信链路(大于4.25Gbps),大容量缓存,FPGA中的运行速度需要达到160M以上。该模块采用VPX板卡结构形式,符合VITA46的协议,具有抗震动,耐冲击特性,具有高可靠性,特别适合军用电子设备应用环境。

4.2 软件设计

软件设计采用嵌入式CPU和vxWorks实时操作系统,设计具有文件系统,千兆以太网络接口。实时操作系统的使用既实现了CPU运算的便利性和接口标准性和丰富性、软件的灵活性,又解决了系统中的可靠性和实时性。使用软件实现桥接实现了通过网络便利配置,并使用操作系统的文件系统灵活固化。基于操作系统的软件实现了模块状态的实时监控和查询,桥接状态的实时查询和配置,以及FC和RapidIO数据流状态的实时监控、查询和记录。

5 结束语

本文介绍了RapidIO和FC的特点,分析了两种协议互联的需求和应用场景,提出了一种RapidIO和FC互联难点,详细分析了两种协议的融合互联的流程、处理方法,对其中的关键点给出了实现方案,详细介绍了两种协议互联通信技术实现要点,最后从实际应用的角度提出方案,并给出了测试数据。

图4:FC数据包到RapidIO数据包转换流程

图5:RapidIO和FC融合互联模块实现框图

猜你喜欢
桥接数据包端口
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
SmartSniff
端口阻塞与优先级
苹果腐烂病树桥接复壮技术
双静脉皮瓣桥接移植修复手指腹皮肤缺损
初识电脑端口
白皮书《802.11ac MU-MIMO: 桥接Wi-Fi中的间隙》发布
8端口IO-Link参考设计套件加快开发速度
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析