System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() RapidIO消息接收流控方法、装置、介质及系统制造方法及图纸_技高网

RapidIO消息接收流控方法、装置、介质及系统制造方法及图纸

技术编号:44039867 阅读:2 留言:0更新日期:2025-01-15 01:17
本发明专利技术公开了一种RapidIO消息接收流控方法、装置、介质及系统,属于航空综合化通信领域,方法包括步骤:发送节点通过RapidIO总线与RapidIO交换芯片互连;ZYNQ接收节点通过RapidIO总线与RapidIO交换芯片互连;ZYNQ芯片PL单元与PS单元采用AXI总线连接;PL单元通过RapidIO总线接收来自RapidIO交换芯片的数据包,通过包级FIFO对数据及包长度进行存储,将数据FIFO半满状态以消息响应包的方式反馈至发送节点,实现发送速率动态调整。本发明专利技术提供了一种软件实现简单,能够提高消息收发两端流量不对称时的容错性的解决方案。

【技术实现步骤摘要】

本专利技术涉及航空综合化通信领域,更为具体的,涉及一种rapidio消息接收流控方法、装置、介质及系统。


技术介绍

1、近年来,rapidio总线作为嵌入式领域的总线互连标准,以其高带宽、低延时、高可靠性等特点,越来越多地用于航空综合化系统多异构芯片之间高速互连。

2、rapidio消息事务类型带有响应包,保证了其传输的可靠性。rapidio消息事务支持单次最多16个rapidio数据包,单个rapidio数据包最大长度为256字节,单次消息传输最大长度为4096字节,满足现有航空综合化系统内短数据包传输应用场景的需要。

3、对于zynq芯片(处理器ps单元+可编程逻辑pl单元)类型的接收端来说,由于rapidio消息传输长度有限,pl单元接收rapidio消息包,把数据存储在本地缓存ram或fifo中,给出当前接收的消息包总长度,再通过中断通知ps单元或ps单元定时查询方式进行处理。ps单元根据当前接收的消息包总长度,从本地缓存ram或fifo中取出对应长度的数据,进行解析处理。因此,pl单元接收消息包时,计算出的当前接收的消息包总长度对于ps单元处理非常重要。

4、zynq芯片集成了处理器ps单元及可编程逻辑pl单元,具有高度的可编程性和灵活性,会作为硬件板卡的主控器件。ps单元会作为硬件板卡的主控单元,负责处理多种数据收发、健康管理、周期bit上报等功能。

5、当ps单元处理接收消息的线程被其他高优先级线程长时间抢占时,会导致来自pl单元接收的rapidio消息包无法及时处理。一旦rapidio消息包存储在pl单元本地的缓存ram或fifo发生溢出,则会导致ps单元处理时,找不到数据包帧头,连续出错,出现循环死锁问题。

6、对于一个大型的航空综合化系统来说,可靠性至关重要,是无法容忍上述循环死锁情况的发生。


技术实现思路

1、本专利技术的目的在于克服现有技术的不足,提供一种rapidio消息接收流控方法、装置、介质及系统,在不增加系统硬件成本前提下,解决接收端ps单元无法及时处理消息包,使得pl单元接收数据缓存溢出,进而导致ps单元处理进入循环死锁流程,该方法可有效提高系统的容错性和可靠性。

2、本专利技术的目的是通过以下方案实现的:

3、一种rapidio消息接收流控系统,包括:

4、发送节点、rapidio交换芯片、zynq接收节点pl单元和zynq接收节点ps单元;发送节点通过rapidio总线与rapidio交换芯片互连;zynq接收节点通过rapidio总线与rapidio交换芯片互连;zynq芯片pl单元与ps单元采用axi总线连接。

5、一种rapidio消息接收流控方法,基于如上所述的rapidio消息接收流控系统,包括如下步骤:

6、步骤s1,zynq接收节点pl单元通过rapidio总线接收来自rapidio交换芯片的数据,在rapidio消息接收处理模块控制下,解析出rapidio包头,提取出rapidio消息包,对当前时刻数据data_fifo半满信号的数值进行记录,在数据data_fifo半满信号无效时,将rapidio消息数据写入数据data_fifo中,将计算出的数据长度写入长度len_fifo中;

7、步骤s2,rapidio消息响应发送模块,在收到的rapidio消息后,记录消息包序号及发送节点的源id信息;以及,将来自rapidio消息接收处理模块输出的当前消息包接收时刻的数据data_fifo半满信号的数值写入到响应包头的bit0位,数据包出现过被丢弃标识的数值写入到响应包头的bit1位,同时对响应包头的bit35位error标识进行设置;发送节点接收到来自zynq接收节点的消息响应包,通过读取响应包头的保留位bit0位及bit35位的数值,实现发送速率动态调整。

8、进一步地,所述对当前时刻数据data_fifo半满信号的数值进行记录,具体为:对当前rapidio消息第一包数据接收时刻的数据data_fifo半满信号fifo_data_prog_full状态进行寄存。

9、进一步地,所述在数据data_fifo半满信号无效时,具体为:在数据data_fifo半满信号寄存后的标识fifo_prog_full_flag无效时。

10、进一步地,所述将rapidio消息数据写入数据data_fifo中,将计算出的数据长度写入长度len_fifo中之后,还包括步骤:在数据data_fifo半满信号寄存后的标识fifo_prog_full_flag有效时,置数据包出现过被丢弃标识msg_drp_before_flag有效。

11、进一步地,所述将来自rapidio消息接收处理模块输出的当前消息包接收时刻的数据data_fifo半满信号的数值写入到响应包头的bit0位,具体为:将来自rapidio消息接收处理模块输出的数据data_fifo半满信号寄存后的标识fifo_prog_full_flag数值写入到响应包头的bit0位。

12、进一步地,所述同时对响应包头的bit35位error标识进行设置,具体为:同时根据fifo_prog_full_flag数值对响应包头的bit35位error标识进行设置。

13、一种rapidio消息接收流控方法,基于如上所述的rapidio消息接收流控系统,包括如下步骤:

14、rapidio消息接收数据处理流程在上电复位完成后进入初始状态;监测接收到的rapidio数据包是否为消息第一包,否则继续监测,是则转入数据fifo半满信号是否有效判断流程;在数据fifo半满信号是否有效判断流程中,是则转入设置数据包丢弃标识状态;

15、设置数据包丢弃标识状态完成后,转入当前消息包是否为最后一包判断流程;在当前消息包是否为最后一包判断流程中,是则转入数据包丢弃标识是否有效判断流程;在数据包丢弃标识是否有效判断流程中,是则转入设置数据包出现过被丢弃标识状态;在设置数据包出现过被丢弃标识状态完成后,转入清零数据包丢弃标识状态;在清零数据包丢弃标识状态执行完成后,返回初始状态;

16、在数据fifo半满信号是否有效判断流程中,否则转入当前消息包是否为最后一包判断流程;

17、在数据包丢弃标识是否有效判断流程中,否则转入长度fifo写消息包长度状态,然后转入清零数据包丢弃标识状态;在清零数据包丢弃标识状态执行完成后,返回初始状态。

18、一种rapidio消息接收流控方法,基于如上所述的rapidio消息接收流控系统,包括如下步骤:

19、rapidio消息响应发送处理流程在上电复位完成后进入初始状态;监测接收到的rapidio数据包是否为消息包,否则继续监测,是则进入记录rapidio消息包的包序号及源id状态,然后进入设置响应包bit0位、bit1位及bit35位状态;在设置响应包bit0位、本文档来自技高网...

【技术保护点】

1.一种RapidIO消息接收流控系统,其特征在于,包括:

2.一种RapidIO消息接收流控方法,其特征在于,基于权利要求1所述的RapidIO消息接收流控系统,包括如下步骤:

3.根据权利要求2所述的RapidIO消息接收流控方法,其特征在于,所述对当前时刻数据Data_FIFO半满信号的数值进行记录,具体为:对当前RapidIO消息第一包数据接收时刻的数据Data_FIFO半满信号fifo_data_prog_full状态进行寄存。

4.根据权利要求3所述的RapidIO消息接收流控方法,其特征在于,所述在数据Data_FIFO半满信号无效时,具体为:在数据Data_FIFO半满信号寄存后的标识fifo_prog_full_flag无效时。

5.根据权利要求4所述的RapidIO消息接收流控方法,其特征在于,所述将RapidIO消息数据写入数据Data_FIFO中,将计算出的数据长度写入长度Len_FIFO中之后,还包括步骤:在数据Data_FIFO半满信号寄存后的标识fifo_prog_full_flag有效时,置数据包出现过被丢弃标识msg_drp_before_flag有效。

6.根据权利要求4所述的RapidIO消息接收流控方法,其特征在于,所述将来自RapidIO消息接收处理模块输出的当前消息包接收时刻的数据Data_FIFO半满信号的数值写入到响应包头的bit0位,具体为:将来自RapidIO消息接收处理模块输出的数据Data_FIFO半满信号寄存后的标识fifo_prog_full_flag数值写入到响应包头的bit0位。

7.根据权利要求6所述的RapidIO消息接收流控方法,其特征在于,所述同时对响应包头的bit35位error标识进行设置,具体为:同时根据fifo_prog_full_flag数值对响应包头的bit35位error标识进行设置。

8.一种RapidIO消息接收流控方法,其特征在于,基于权利要求1所述的RapidIO消息接收流控系统,包括如下步骤:

9.一种RapidIO消息接收流控方法,其特征在于,基于权利要求1所述的RapidIO消息接收流控系统,包括如下步骤:

10.一种RapidIO消息接收流控装置,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载时并执行如权利要求2~9任一项所述的方法。

11.一种计算机可读存储介质,其特征在于,在可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行如权利要求2~9任一项所述的方法。

...

【技术特征摘要】

1.一种rapidio消息接收流控系统,其特征在于,包括:

2.一种rapidio消息接收流控方法,其特征在于,基于权利要求1所述的rapidio消息接收流控系统,包括如下步骤:

3.根据权利要求2所述的rapidio消息接收流控方法,其特征在于,所述对当前时刻数据data_fifo半满信号的数值进行记录,具体为:对当前rapidio消息第一包数据接收时刻的数据data_fifo半满信号fifo_data_prog_full状态进行寄存。

4.根据权利要求3所述的rapidio消息接收流控方法,其特征在于,所述在数据data_fifo半满信号无效时,具体为:在数据data_fifo半满信号寄存后的标识fifo_prog_full_flag无效时。

5.根据权利要求4所述的rapidio消息接收流控方法,其特征在于,所述将rapidio消息数据写入数据data_fifo中,将计算出的数据长度写入长度len_fifo中之后,还包括步骤:在数据data_fifo半满信号寄存后的标识fifo_prog_full_flag有效时,置数据包出现过被丢弃标识msg_drp_before_flag有效。

6.根据权利要求4所述的rapidio消息接收流控方法,其特征在于,所述将来...

【专利技术属性】
技术研发人员:朱道山邓湖明邵龙张伟达赵衡高逸龙李小林
申请(专利权)人:中国电子科技集团公司第十研究所
类型:发明
国别省市:

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

1