System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于FPGA的多通道独立流控AURORA通信中间件及其数据收发方法技术_技高网

基于FPGA的多通道独立流控AURORA通信中间件及其数据收发方法技术

技术编号:40763700 阅读:4 留言:0更新日期:2024-03-25 20:14
本发明专利技术属于网络通信技术领域,具体公开了基于FPGA的多通道独立流控AURORA通信中间件及其数据收发方法,其中基于FPGA的多通道独立流控AURORA通信中间件,包括1‑N个用户逻辑发送通道、1‑N个用户逻辑接收通道、一个aurora收发控制器、一个AXIS数据发送仲裁单元、一个AXIS数据接收分发单元。本发明专利技术可以将多个通道的用户数据通过一个aurora总线控制器进行传输,同时又做到各个通道的数据收发互不影响;具备超大带宽、低延迟、高可靠的特点,能满足用户多路数据的独立收发;对于关键数据,还可以采用配置通道优先级的方式来确保传输的实时性。

【技术实现步骤摘要】

本专利技术涉及网络通信,特别涉及基于fpga的多通道独立流控aurora通信中间件及其数据收发方法。


技术介绍

1、aurora总线作为一种高速串行总线在板间通信领域发挥着重要的作用。与rapidio总线类似,有着大带宽、低延迟的优点。而且基于fpga的aurora总线控制器ip还具有用户接口简单的特点,因此在信号采集领域有着广泛的应用。但该总线控制器也有一些缺点:首先,aurora总线控制器不具备流量控制功能,即在传输数据过程中,若接收端接收能力不足,控制器无法对发送端进行流量控制,由此导致数据丢失。其次,aurora总线控制器只包含收发各一个通道,用户无法同时对多路数据同时进行收发。因此基于aurora总线控制器开发的aurora通信中间件都存在上述两个问题。

2、针对现有aurora通信中间件无法流控的问题,用户往往采用自定义握手协议来解决这类问题,具体方法如下:发送端发出一个数据包,计数器加一,收到一个接收端返回的响应包,计数器减一,当计数器的值大于预设的流控阈值时,则发送端不再发送数据。

3、针对现有aurora通信中间件无多通道传输能力的问题,用户往往采用分时复用的方式来解决此类问题,具体方法如下:发送通道将发送带宽切成多个时间片,单个时间片只传输单个用户逻辑通道的数据,多个时间片传输多个用户逻辑通道的数据。

4、但若要在满足流量控制的基础上同时收发多个逻辑通道的数据,则上述方法存在问题:如图1所示,若某个时间片中传输的数据出现流控而堵塞,则后续时间片上的数据无法再发送,即一个逻辑通道堵塞会导致所有逻辑通道的堵塞。

5、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、本专利技术的目的是为了解决
技术介绍
存在的技术问题,为此,提供了基于fpga的多通道独立流控aurora通信中间件及其数据收发方法。

2、为了实现上述目的,本专利技术所采用的技术方案如下:

3、基于fpga的多通道独立流控aurora通信中间件,包括1-n个用户逻辑发送通道、1-n个用户逻辑接收通道、一个aurora收发控制器、一个axis数据发送仲裁单元、一个axis数据接收分发单元;

4、每个用户逻辑发送通道包含一个可容纳8个256字节包的输入输出队列、一个发送流控单元、一个发送组包单元;

5、每个用户逻辑接收通道包含一个可容纳8个256字节包的输入输出队列、一个接收流控单元、一个接收解包单元;

6、axis数据发送仲裁单元根据各个通道的优先级将组好的数据包以axis数据流的方式发送到aurora总线控制器上;

7、axis数据接收分发单元根据aurora总线控制器上收到axis数据流中的dest字段将数据包分发到不同的接收通道;

8、aurora总线控制器采用fpga厂商提供的接口ip核,根据用户带宽需求配置不同的链路速率。

9、基于fpga的多通道独立流控aurora通信中间件的数据收发方法,用于实现上述的多通道独立流控aurora通信中间件的数据收发,包括基于fpga的多通道独立流控aurora通信中间件的数据发送方法和基于fpga的多通道独立流控aurora通信中间件的数据接收方法。

10、以下为本专利技术中数据收发方法进一步限定的技术方案,基于fpga的多通道独立流控aurora通信中间件的数据发送方法,包括以下步骤:

11、对于单个用户逻辑发送通道,首先将用户需要发送的数据分包,每个包的包长小于等于256字节,将分好的数据包写入发送队列,队列至多容纳8个数据包;

12、然后发送组包单元将数据包按格式组成事务包,发送到axis总线上;

13、最后发送流控管理单元检测该发送通道上每发出一个事务包则流控计数值加一,每收到一个响应包则流控计数值减一;

14、当流控计数值达到8时,发送组包单元停止组包发送,当流控计数值小于8时,发送组包单元继续组包发送。

15、以下为本专利技术中数据收发方法进一步限定的技术方案,基于fpga的多通道独立流控aurora通信中间件的数据接收方法,包括以下步骤:

16、对于单个用户逻辑接收通道,首先将aurora总线控制器上收到的事务包写入接收队列,队列至多容纳8个事务包;

17、然后接收解包单元将事务包解包,将裸数据取出发送到用户接收端口;

18、最后接收流控管理单元监测用户接收端口是否取走接收队列中的数据包,用户每取走一个事务包,则发出一个响应包到aurora总线控制器上。

19、相对于现有技术,本专利技术具有如下技术效果:

20、本专利技术可以将多个通道的用户数据通过一个aurora总线控制器进行传输,同时又做到各个通道的数据收发互不影响;具备超大带宽、低延迟、高可靠的特点,能满足用户多路数据的独立收发;对于关键数据,还可以采用配置通道优先级的方式来确保传输的实时性。

21、下面结合附图与实施例,对本专利技术进一步说明。

本文档来自技高网...

【技术保护点】

1.基于FPGA的多通道独立流控AURORA通信中间件,其特征在于,包括1-N个用户逻辑发送通道、1-N个用户逻辑接收通道、一个aurora收发控制器、一个AXIS数据发送仲裁单元、一个AXIS数据接收分发单元;

2.基于FPGA的多通道独立流控AURORA通信中间件的数据收发方法,用于实现权利要求1所述的多通道独立流控AURORA通信中间件的数据收发,其特征在于,包括基于FPGA的多通道独立流控AURORA通信中间件的数据发送方法和基于FPGA的多通道独立流控AURORA通信中间件的数据接收方法。

3.根据权利要求2所述的基于FPGA的多通道独立流控AURORA通信中间件的数据收发方法,其特征在于,基于FPGA的多通道独立流控AURORA通信中间件的数据发送方法,包括以下步骤:

4.根据权利要求2所述的基于FPGA的多通道独立流控AURORA通信中间件的数据收发方法,其特征在于,基于FPGA的多通道独立流控AURORA通信中间件的数据接收方法,包括以下步骤:

【技术特征摘要】

1.基于fpga的多通道独立流控aurora通信中间件,其特征在于,包括1-n个用户逻辑发送通道、1-n个用户逻辑接收通道、一个aurora收发控制器、一个axis数据发送仲裁单元、一个axis数据接收分发单元;

2.基于fpga的多通道独立流控aurora通信中间件的数据收发方法,用于实现权利要求1所述的多通道独立流控aurora通信中间件的数据收发,其特征在于,包括基于fpga的多通道独立流控aurora通信中间件的数据发送方法和基于...

【专利技术属性】
技术研发人员:俞则人朱敏洁周江
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所
类型:发明
国别省市:

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

1