System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及航空综合化通信领域,更为具体的,涉及一种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消息包无法及时处理
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有效时,置数据包出现
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消息接收流控方法,其特征在于,所述将来...
【专利技术属性】
技术研发人员:朱道山,邓湖明,邵龙,张伟达,赵衡,高逸龙,李小林,
申请(专利权)人:中国电子科技集团公司第十研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。