多通道RocketIO协议与FC协议实时转换方法与流程

文档序号:20701801发布日期:2020-05-12 15:49阅读:723来源:国知局
多通道RocketIO协议与FC协议实时转换方法与流程

本发明涉及通信技术领域。



背景技术:

在现代雷达电子装备中,通信网络涉及信号处理机、数据处理机、显示计算机、预处理机与控制器等若干子系统,各子系统因硬件平台不同而采用了不同的通信总线协议,比如信号处理机采用了rapidio接口;控制器使用了fc光纤通道;预处理机则使用了基于rocketio的用户自定义协议等。如前所述,为保障各子系统之间的高效互联,协议间的桥接模块发挥着至关重要的作用。

fc协议与rapidio协议桥接方面,由天津芯海创科技有限公司在2018年提出了一种rapidio协议到fc协议的转换方法,而在与rocketio协议转换方面,浙江大学硕士论文《fc协议处理引擎优化及rocketio桥接技术研究》一文中有所介绍,但该文的每个fc端口与每个rocketio端口一一对应。而在实际使用时,rocketio数据有可能只分时占用了很小带宽,如果为每一路数据分别配置一个fc端口,会造成fc总线带宽的极大浪费。为充分利用fc总线带宽,将多路rocketio协议数据同时送入单个fc端口,需要设计一种多通道rocketio协议与fc协议实时转换方法。



技术实现要素:

本发明提供了一种多通道rocketio协议与fc协议实时转换方法。

本发明包含rocketio协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,fc协议接口模块。fpga接收rocketio协议数据后经过协议转换模块将多路rocketio协议转换成多路fc协议数据包,然后fc协议的数据进入多通道缓存模块,该模块由实时控制模块控制轮流输出到单路fc协议接口模块,完成数据流的转换。

多通道rocketio协议与fc协议实时转换方法其硬件架构采用标准vpx后插卡形式,如图1所示,主要由1片xilinxkintex7fpga,4个6.25gbps速率4收4发mpo接口850nm多模光模块以及vpx接插件组成,本设计的rocketio端口可以从面板光模块输入也可从后插vpx的rp6插座输入输出,fc协议从光模块2输入输出,可支持双冗余的2个fc节点。

协议转换模块是基于一个长位宽的数据寄存器和控制状态机组成的,该数据寄存器包含了fc协议所需的:字节有效控制字、数据包包头标识、数据包包尾标识。该模块时钟采用rocketio协议的恢复时钟,每个时钟接将收到rocketio协议数据从高位依次向低位填入寄存器,填满四个周期达到fc协议所需的位宽后,将整个数据写入下一级缓存,若接收到数据结束但未填满数据寄存器,则也将数据寄存器写入下级缓存,由寄存器中的字节数据有效控制字指示数据是否有效。

实时控制模块检测多通道缓存模块的状态,以此控制缓存输出,使得多通道数据依次进入fc协议接口模块。该模块主要分为3个状态,设初始状态也是状态1下读取通道k_current的数据,然后依次检测通道1~n缓存是否存在将满状态是否为满,若检测到通道x将满,则进入状态2读通道x缓存数据直到读空返回状态1;若通道1~n缓存不存在将满状态,则检测当前通道k_current是否读空,若检测到当前通道缓存为空,则进入状态3,首先检测通道1~n缓存是否全部为空,若全为空返回状态1,若存在缓存不为空设通道y非空,则读取通道y数据并固定每256个时钟检测一次通道1~y是否有数据,若通道k_next有数据则返回状态1将k_next通道作为当前通道。以此实现了优先级为1至n的多通道互相切换,有效利用fc总线。

通过实时检测,本发明各rocketio通道速率控制每路在fc端口占用时间,将多路rocketio协议数据同时送入单个fc端口,改进了fc总线利用率。

附图说明

图1是多通道rocketio协议与fc协议实时转换方法硬件示意图;

图2是多通道rocketio协议与fc协议实时转换方法实现流程图;

图3是协议转换模块寄存器设置;

图4是实时控制模块实现流程图。

具体实施方式

本发明提供了一种用于多通道rocketio协议与fc协议的实时转换方法。该方法使用协议转换模块先将多路rocketio协议分别转换成fc协议数据格式,然后将数据送入多通道缓存模块,该模块由实时控制模块控制轮流输出到fc协议接口模块,完成数据流的转换,整体架构图如附图1所示,具体实施方法为:

1、协议转换模块是rocketio协议转换成fc协议的核心模块,本发明中,fpga接收的2g线速率rocketio协议数据,经过串并转换后,数据为16bit位宽,参考时钟100m。rocketio协议数据流中包含了自定义的帧头、帧尾、空闲码,因此协议转换过程中须将解析帧头帧尾作为fc协议的帧标识,并将16bit位宽组合成64bit位宽。本发明中,采取数据寄存器和控制状态机实现协议转换,该数据寄存器排列如图2所示,前8位是字节有效控制字每一位分别代表8个字节的数据是否有效,第9位为包头标识,第10位为包尾标识,后64位为数据位依次缓存4个rocketio协议数据。fpga每个时钟接收到16位位宽rocketio协议数据从高位依次向低位填入寄存器,填满四个周期的数据后,将整个74为数据写入下一级缓存,若接收到数据结束但未填满4个数据位置,则也将74位数据写入下级缓存,由前8位的数据有效控制字指示数据是否有效。

2、实时控制模块控制多通道缓存模块的各个通道读使能rd_en,而多通道缓存模块上报各个通道的空标志fifo_empty和将满标准prog_full。实施流程如图3所示,初始状态以选取通道k_current为当前通道,在初始状态下读取通道k_current数据,即通道k_current占用fc总线接口,在此同时检测通道1~n是否将满,若通道x检测到快满标识,则进入通道x的读取,fc总线切换到通道x直到通道x读空为止;若在初始状态下检测到通道k_current缓存为空,则检测通道1~n缓存是否全部为空,若通道y非空,则读取通道y数据同时每间隔固定的256个时钟检测一次通道1~y-1是否有数据,以确保组成完整的fc包,直到检测到通道k_next缓存非空,则将k_next设定为当前通道返回初始状态。以此循环,实现n个通道的自适应切换输出。



技术特征:

1.多通道rocketio协议与fc协议实时转换方法,其特征在于:包含rocketio协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,fc协议接口模块;fpga接收rocketio协议数据后经过协议转换模块将多路rocketio协议转换成多路fc协议数据包,然后fc协议的数据进入多通道缓存模块,再由实时控制模块控制该模块将数据轮流输出到单路fc协议接口模块,完成数据流的转换。

2.根据权利要求1所述多通道rocketio协议与fc协议实时转换方法,其特征在于:协议转换模块将接收到的多路16位位宽rocketio协议数据流转换成fc协议所需的64位位宽数据包格式,采用了先组帧后缓存的方式,将fc协议的包控制字与数据对应并行缓存进相应的fifo;多通道缓存模块,实时控制模块配合完成多通道数据竞争fc总线问题,实时控制模块检测各通道缓存的数据量,根据一定优先级自适应完成fc协议数据帧输出,以此提高总线利用率。


技术总结
本发明提出了一种多通道RocketIO协议与FC协议实时转换的设计方法,该方法由FPGA作为主控芯片,内部由RocketIO协议接口模块,协议转换模块,多通道缓存模块,实时控制模块,FC协议接口模块组成。其中RocketIO协议接口模块、FC协议接口模块负责多路数据流输入输出,协议转换模块完成RocketIO协议与FC协议的格式转换,多通道缓存模块与实时控制模块配合完成多通道的总线占用切换。本发明在实现RocketIO协议与FC协议实时转换的基础上,通过实时反馈控制的办法,实现了多路RocketIO协议与FC协议的转换,解决了多通道数据需同时占用FC协议总线的冲突问题。

技术研发人员:翟栋梁;杨阳;王志刚;洪畅
受保护的技术使用者:中国船舶重工集团公司第七二四研究所
技术研发日:2020.01.08
技术公布日:2020.05.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1