一种满足1394协议要求消息容错处理电路及方法技术

技术编号:11248456 阅读:113 留言:0更新日期:2015-04-01 21:14
本发明专利技术属于计算机硬件控制领域,涉及一种基于1394协议消息容错处理电路。本发明专利技术电路包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO和控制电路模块;所述链路层数据搬移接口电路模块分别与控制电路模块和接收消息缓存双端口RAM连接,接收消息状态字FIFO与控制电路模块连接。本发明专利技术可以用以实现在极端情况下1394总线数据传输的容错处理,避免故障蔓延。

【技术实现步骤摘要】
一种满足1394协议要求消息容错处理电路及方法
本专利技术属于计算机硬件控制领域,涉及一种满足1394协议要求的消息容错处理电路及方法。
技术介绍
1394协议是按照SAEAS5643标准(全称《SAEAS5643:用于军事和飞行器应用的1394b接口需求》)对1394b协议局部进行了限定,以满足航空领域对高可靠、低延迟、确定性要求。由于在航空极端情况下工作的1394总线需要具有容错处理能力,而现有资料并未公开任何相关技术,因此,亟需提供一种在航空极端情况下1394总线数据传输错误时的容错处理电路。
技术实现思路
为了填补现有技术空白,本专利技术提供一种满足1394协议要求消息容错处理电路及方法,用以实现在航空极端情况下1394总线数据传输的容错处理,避免故障蔓延。本专利技术的技术方案是:该满足1394协议要求消息容错处理电路包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO模块和控制电路模块;所述控制电路模块用于计算接收数据包在接收消息缓存双端口RAM中存放的位置,链路层数据搬移接口电路模块用于从链路层芯片接收来自1394总线的数据包,并将该数据包保存至接收消息缓存双端口RAM中,接收消息缓存双端口RAM用于保存从链路层数据搬移接口电路模块传来的数据包,接收消息状态字FIFO用于保存接收数据包的状态信息,包括该数据包在接收消息缓存双端口RAM中存放的位置信息以及长度信息;所述链路层数据搬移接口电路模块分别与控制电路模块和接收消息缓存双端口RAM连接,接收消息状态字FIFO模块与控制电路模块连接。接收消息缓存双端口RAM的深度最多缓存16个最大1394数据包,接收消息状态字FIFO模块的FIFO的深度为16,当存放的状态信息等于14个时,即报告“满”状态。每次从链路层数据搬移接口电路模块接收到的数据包在接收消息缓存双端口RAM中采用固定位置缓冲,当发生接收数据包负载错误时,不保存该数据包的状态信息。新接收到的数据直接从本条错误数据区域起始位置覆盖原数据,接收正确完成后,才会保存该数据包的状态信息。接收消息状态字FIFO非“空”时,外围电路可从相应的固定位置开始,并根据接收数据包的实际长度,从接收消息缓存双端口RAM中读取对应个数的数据字。该接收1394总线数据容错方法,利用到上述的容错电路,包括以下步骤:1】链路层数据搬移接口电路模块从1394链路层芯片接收到数据包;2】链路层数据搬移接口电路模块判断该数据包中是否为需要接收的数据包:若为需接收的数据包,则判断该数据包是否有错误,如无错误继续进行步骤3,如有错误则不再接收该数据包,继续等待下次接收数据包;若不为需接收的数据包,则不再接收该数据包,继续等待下次接收数据包;3】判断接收消息状态字FIFO是否为“满”,如非“满”则将继续进行步骤4,如“满”则等待下次接收数据包,不再接收该数据包;4】接收消息缓存双端口RAM缓存接收到的数据包,并在接收过程同时判断该数据包中是否有错误:(包括1394包头CRC校验错误、1394数据负载CRC校验错误、1394数据负载实际长度与包头指示长度不一致):若接收到的数据包发生错误,则不再填写该数据包,也不保存该数据包状态信息,不更新下一条数据包保存位置,(接收下一条数据包时覆盖该错误数据包);若接收的数据包完全正确,则在接收后续数据包完成时,更新下一条数据包保存位置(接收下一条数据包时保存至新位置),保存该数据包状态信息,完成一次数据包接收;5】接收消息状态字FIFO非“空”时,外围消息获取电路按照保存的数据包状态信息,从接收消息缓存双端口RAM中读取正确的数据。本专利技术的技术效果本专利技术的一种满足1394协议要求消息容错处理电路及方法,可在航空极端情况下1394总线出现数据传输错误时,包括1394数据包头CRC校验错误、1394数据负载CRC校验错误、1394数据负载实际长度与数据包头指示长度不一致,可正确判断并丢弃该错误数据包,避免引起后续数据包接收错误,带来故障蔓延。附图说明图1为本专利技术的电路结构框图;图2为本专利技术的方法流程图。具体实施方式下面结合附图和具体实施例,对本专利技术的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本专利技术的保护范围。下面结合具体实施例和附图对本专利技术的技术方案做进一步详细描述,请参阅图1至2。一种满足1394协议要求消息容错处理电路,包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO模块和控制电路模块;所述链路层数据搬移接口电路模块和接收消息缓存双端口RAM与控制电路模块连接,接收消息缓存双端口RAM和链路层数据搬移接口电路模块连接,接收消息状态字FIFO和控制电路模块连接,控制电路模块和链路层数据搬移接口电路模块与接收消息状态字FIFO连接。控制电路模块,在开始从1394总线接收数据时,用于计算接收数据包在接收消息缓存双端口RAM中存放的起始位置;在该数据包接收完成时,计算该数据包的状态信息,如接收消息状态字FIFO非“满”则将该状态信息写入FIFO中;在该数据包接收错误时(1394数据包头CRC校验错误、1394数据负载CRC校验错误、1394数据负载实际长度与包头指示长度不一致),不向接收消息状态字FIFO中写入该数据包的状态信息,在下次从1394总线接收数据时,仍输出前一个数据包的存放起始位置;链路层数据搬移接口电路模块,用于从1394链路层芯片接收来自1394总线的数据包,并将该数据包保存至接收消息缓存双端口RAM中。当1394链路层芯片报告开始从1394总线接收数据包时,启动接收消息缓存双端口RAM的写操作,从控制电路模块计算的起始位置开始,将接收到的数据包写入双端口RAM中;当1394链路层芯片报告1394总线接收数据包完成/错误时,结束双端口RAM写操作,并向控制电路模块报告该数据包接收状态;接收消息缓存双端口RAM用于保存从链路层数据搬移接口电路模块传来的数据包,数据宽度32位,深度为2048,即最多可以缓存16个长度为512B的1394数据包;接收消息状态字FIFO用于保存接收数据包的状态信息,包括该数据包在接收消息缓存双端口RAM中存放的位置信息以及长度信息,深度为16,当存放的状态信息等于14个时,即报告“满”状态。该接收1394总线数据容错方法,利用到上述的容错电路,包括以下步骤:1】从1394链路层芯片接收到数据包,利用链路层数据搬移接口电路模块执行;2】判断该数据包中的信息是否为需要接收的数据包:若为需接收的数据包,则判断该数据包是否有错误,如无错误继续进行步骤3,如有错误则不再接收该数据包,继续等待下次接收数据包;若不为需接收的数据包,则不再接收该数据包,继续等待下次接收数据包;利用链路层数据搬移接口电路模块进行判断;3】判断接收数据包状态字FIFO是否为“满”,如非“满”则将继续进行步骤4,如“满”则等待下次接收数据包,不再接收该数据包;4】在接收消息缓存双端口RAM中填写接收到的数据包,并在填写过程同时判断该数据包中是否有错误(包括1394包头CRC校验错误、1394数本文档来自技高网...

【技术保护点】
一种满足1394协议要求消息容错处理电路,其特征在于,包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO和控制电路模块;所述控制电路模块用于计算接收消息在接收消息缓存双端口RAM中存放的位置,链路层数据搬移接口电路模块用于从链路层芯片接收来自1394总线的数据,并将该数据保存至接收消息缓存双端口RAM中,接收消息缓存双端口RAM用于保存从链路层数据搬移接口电路模块传来的数据,接收消息状态字FIFO用于保存接收消息的状态信息,包括该消息在接收消息缓存双端口RAM中存放的位置信息以及长度信息;所述链路层数据搬移接口电路模块分别与控制电路模块和接收消息缓存双端口RAM连接,接收消息状态字FIFO与控制电路模块连接。

【技术特征摘要】
1.一种满足1394协议要求消息容错处理电路,其特征在于,包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO模块和控制电路模块;所述控制电路模块用于计算接收数据包在接收消息缓存双端口RAM中存放的位置;链路层数据搬移接口电路模块用于从链路层芯片接收来自1394总线的数据包,并判断该数据包是否为需要接收的数据包:若为需接收的数据包,则判断该数据包是否有错误,如无错误继续判断接收消息状态字FIFO是否为“满”,如“满”则不再接收该数据包;如非“满”则接收消息缓存双端口RAM缓存接收到的数据包,并将该数据包保存至接收消息缓存双端口RAM中;链路层数据搬移接口电路模块接收的来自1394总线的数据包中如有错误,则不再接收该数据包,继续等待下次接收数据包;若不为需接收的数据包,则不再接收该数据包,继续等待下次接收数据包;接收消息缓存双端口RAM用于保存从链路层数据搬移接口电路模块传来的数据包,并在接收过程同时判断该数据包中是否有错误:若接收到的数据包发生错误,则不再接收该数据包,也不保存该数据包状态信息;若接收的数据包完全正确,则在接收后续数据包完成时,保存该数据包状态信息,完成一次数据包接收;接收消息状态字FIFO模块用于保存接收数据包的状态信息,包括该数据包在接收消息缓存双端口RAM中存放的位置信息以及长度信息;所述接收消息缓存双端口...

【专利技术属性】
技术研发人员:田泽王宣明杨峰赵彬淮治华张玮
申请(专利权)人:中国航空工业集团公司第六三一研究所
类型:发明
国别省市:陕西;61

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

1