一种RapidIO双通道数据实时组包传输方法技术

技术编号:26890616 阅读:19 留言:0更新日期:2020-12-29 16:07
本发明专利技术提出了一种RapidIO双通道实时组包的传输方法,属于通信技术领域,本发明专利技术采用FPGA作为主控芯片,内部由协议接口模块,数据缓存模块,实时组包控制模块组成。其中实时组包模块是实现高效重组传输的主体部分,该模块通过对主通道和副通道数据流的交互控制,实现了两个通道的报文以Nwrite+Nwrite_R+Doorbell方式顺序传输至不同RapidIO节点或地址。本发明专利技术在实现自定义协议数据流与RapidIO协议实时转换的基础上,优化了双通道数据转入RapidIO总线的效率,并且本方法可以作为功能IP核嵌入任何FPGA程序中,使得FPGA对RapidIO总线读写开发简化、灵活性提高。

【技术实现步骤摘要】
一种RapidIO双通道数据实时组包传输方法
本专利技术属于通信

技术介绍
RapidIO是一种基于高性能包交换的互联连技术,其主要特点在于支持多种类型拓扑结构,灵活性强,协议层简单,系统开销小。RapidIO技术这些特点使得它能较好地满足处理机飞速发展对系统间极高数据率的传输需求。目前,RapidIO技术已在芯片到芯片、板与板间的高速传输中得到广泛和成熟地应用。在雷达系统中,经常需要通过RapidIO进行FPGA与CPU间的信息交互,而在FPGA中实现RapidIO的传输需要严格的时序控制,在实际使用中经常出现因为时序问题导致的整个RapidIO交换瘫痪的问题,针对此类问题,现有技术也有一些标准模块将RapidIO协议转换成更为简单的接口形式。如一种低系统开销的RAPIDIO数据传输方法(专利号:CN104023037A)涉及的,是通过大缓存先将整包数据存储,然后根据包头到包尾总的数据长度进行拆分组包传输,这种方法对组包控制的要求相对简单,但是需要开大缓存空间,传输延时大,带宽使用效率低。
技术实现思路
为提高RapidIO传输协议转换的实时性,本方法提出了一种通过实时组包发送的方式进行数据组包传输,并考虑到RapidIO带宽以及满足多通道数据同时传输的需求,在改进协议转换方法的基础上,实现了双通道自定义协议数据同时传入RapidIO总线的功能。实现本专利技术目的的技术解决方案为:一种RapidIO双通道数据实时组包传输方法,由FPGA作为主控芯片,分别由自定义协议接口模块与RapidIO协议接口模块进行数据输入输出,两个端口数是二对一关系;协议接口模块将数据存入数据缓存模块;所述数据缓存模块包括两级缓存,第一级接收数据后进行位宽转换及时钟跨接;第二级缓存进行数据重组,当缓存了RapidIO一小包数据或者帧结束符到达时,暂停缓存写入,准备发送数据;实时组包控制模块控制所述数据缓存模块,全面协调两组数据的传输时序;所述实时组包模块实时监控双通道的状态,控制两级缓存的读写,并进行RapidIO的组包、发送时序控制,保证在双通道数据同时到达时,主副通道按照顺序先后占用RapidIO总线。进一步的,所述RapidIO协议接口模块将双通道的报文独立以Nwrite+Nwrite_R+Doorbell方式传输至不同RapidIO节点或地址。本专利技术首先解决了RapidIO开发时复杂的时序控制,相当于在RapidIO上层封装为双通道的自定义协议格式数据,而此格式数据的协议时序很容易实现;其次本专利技术减少了RapidIO协议转换时的时间延迟并减少了存储资源的占用,本专利技术的缓存只需要很小的空间,主要进行跨时钟域和Nwrite包的积累缓存;最后本专利技术解决了双通道数据占用单通道总线的竞争关系,在速率匹配的条件下,双通道数据可以自主切换传输通道充分利用RapidIO带宽。附图说明图1是自定义协议数据帧格式;图2是一种RapidIO双通道实时组包的传输方法的流程框图。具体实施方式下面结合附图和实施例对本专利技术作一步的解释说明。本专利技术提出的一种RapidIO双通道数据实时组包传输方法,由FPGA作为主控芯片,内部包括协议接口模块、数据缓存模块、实时组包控制模块。双通道的报文独立以Nwrite+Nwrite_R+Doorbell方式传输至不同RapidIO节点或地址。双通道数据格式如图1所示,数据格式包含起始码、控制码和结束码,涉及处理流程如图2所示,首先通过协议接口模块将接收到的主通道数据、副通道数据分别传输至数据缓存模块,然后由实时组包控制模块监控缓存中的数据量,采用数据即到即传的方式,每当数据缓存256字节(构成RapidIO的Nwrite一小包),就将数据以Nwrite方式发送出去,检测到数据结束码到达时组成最后一包以Nwrite_R方式发送,并在最后发送Doorbell。数据缓存模块由两级缓存组成。如附图2所示,第一级接收数据后进行位宽转换及时钟跨接,将输入的16位或32位数据拼接成64位存入一级缓存,并将数据从自定义协议数据的时钟域转换到RapidIO参考时钟域,使得实时组包控制模块可以精确掌握已缓存的控数据量;第二级缓存进行数据重组,当有数据到达就进行暂时的缓存,当缓存了Nwrite格式的一小包数据(256字节)或者数据结束码到达时,暂停缓存写入,准备发送数据。实时组包控制模块全面协调两组数据的传输时序:实时监控双通道的状态,控制两级缓存的读写,一级缓存的写使能根据外部数据自主控制,一级缓存的读使能与二级缓存的写使能相对应,在数据积累状态下使能,二级缓存的读在往RapidIO总线发送状态下使能。实时组包控制模块同时进行RapidIO的组包、发送时序控制,保证在双通道数据同时到达时,主副通道按照优先级顺序先后占用RapidIO总线。具体控制逻辑为:·二级缓存等待组包时发送一级写使能;·监测二级缓存的数据量以及是否有帧结束符到达,当满足RapidIO一小包数据(256字节)或者帧结束符到达时,发送RapidIO小包的包头,包头的地址在整包发送结束前通过已发送数据不断累加。·监测两通道是否满足发送条件,如果两个通道同时满足发送条件,则主通道数据先发送,副通道状态保持等待状态。·根据RapidIO链路反馈的Ready信号,控制二级缓存的写使能,将重组的小包数据打包发送输出。·监测本帧数据是否结束,如未结束,重复上述过程继续接收数据;如结束,进入结束发送状态,将整包的包头以及长度打包在数据包的基地址零偏移,并且发送门铃。本文档来自技高网...

【技术保护点】
1.一种RapidIO双通道数据实时组包传输方法,其特征在于:/n由FPGA作为主控芯片,分别由自定义协议接口模块与RapidIO协议接口模块进行数据输入输出,两个端口数是二对一关系;/n协议接口模块将数据存入数据缓存模块;所述数据缓存模块包括两级缓存,第一级接收数据后进行位宽转换及时钟跨接;第二级缓存进行数据重组,当缓存了RapidIO一小包数据或者帧结束符到达时,暂停缓存写入,准备发送数据;/n实时组包控制模块控制所述数据缓存模块,全面协调两组数据的传输时序;所述实时组包模块实时监控双通道的状态,控制两级缓存的读写,并进行RapidIO的组包、发送时序控制,保证在双通道数据同时到达时,主副通道按照顺序先后占用RapidIO总线。/n

【技术特征摘要】
1.一种RapidIO双通道数据实时组包传输方法,其特征在于:
由FPGA作为主控芯片,分别由自定义协议接口模块与RapidIO协议接口模块进行数据输入输出,两个端口数是二对一关系;
协议接口模块将数据存入数据缓存模块;所述数据缓存模块包括两级缓存,第一级接收数据后进行位宽转换及时钟跨接;第二级缓存进行数据重组,当缓存了RapidIO一小包数据或者帧结束符到达时,暂停缓存写入,准备发送数据;
实时组包控制模块控制所述数据缓存模...

【专利技术属性】
技术研发人员:翟栋梁洪畅刁志龙杨阳
申请(专利权)人:中国船舶重工集团公司第七二四研究所中国船舶集团有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1