首页> 中国专利> 一种满足1394协议要求消息容错处理电路及方法

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

摘要

本发明属于计算机硬件控制领域,涉及一种基于1394协议消息容错处理电路。本发明电路包括链路层数据搬移接口电路模块,接收消息缓存双端口RAM,接收消息状态字FIFO和控制电路模块;所述链路层数据搬移接口电路模块分别与控制电路模块和接收消息缓存双端口RAM连接,接收消息状态字FIFO与控制电路模块连接。本发明可以用以实现在极端情况下1394总线数据传输的容错处理,避免故障蔓延。

著录项

  • 公开/公告号CN104486036A

    专利类型发明专利

  • 公开/公告日2015-04-01

    原文格式PDF

  • 申请/专利号CN201410753107.3

  • 申请日2014-12-09

  • 分类号H04L1/00(20060101);

  • 代理机构61211 西安智邦专利商标代理有限公司;

  • 代理人赵逸宸

  • 地址 710119 陕西省西安市锦业二路15号

  • 入库时间 2023-12-17 04:44:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-12-16

    专利权的转移 IPC(主分类):H04L 1/00 专利号:ZL2014107531073 登记生效日:20221206 变更事项:专利权人 变更前权利人:中国航空工业集团公司第六三一研究所 变更后权利人:西安翔腾微电子科技有限公司 变更事项:地址 变更前权利人:710119 陕西省西安市锦业二路15号 变更后权利人:710075 陕西省西安市高新一路25号创新大厦S303室

    专利申请权、专利权的转移

  • 2018-10-26

    授权

    授权

  • 2015-04-29

    实质审查的生效 IPC(主分类):H04L1/00 申请日:20141209

    实质审查的生效

  • 2015-04-01

    公开

    公开

说明书

技术领域

本发明属于计算机硬件控制领域,涉及一种满足1394协议要求的消息容 错处理电路及方法。

背景技术

1394协议是按照SAE AS5643标准(全称《SAE AS5643:用于军事和飞 行器应用的1394b接口需求》)对1394b协议局部进行了限定,以满足航空领 域对高可靠、低延迟、确定性要求。由于在航空极端情况下工作的1394总线 需要具有容错处理能力,而现有资料并未公开任何相关技术,因此,亟需提 供一种在航空极端情况下1394总线数据传输错误时的容错处理电路。

发明内容

为了填补现有技术空白,本发明提供一种满足1394协议要求消息容错处 理电路及方法,用以实现在航空极端情况下1394总线数据传输的容错处理, 避免故障蔓延。

本发明的技术方案是:

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

接收消息缓存双端口RAM的深度最大缓存16个最大1394数据包,接收 消息状态字FIFO的深度为16,当存放的状态信息等于14个时,即报告“满” 状态。

每次从链路层数据搬移接口电路模块接收到的数据包在接收消息缓存双 端口RAM中采用固定位置缓冲,当发生接收数据包负载错误时,不保存该数 据包的状态信息。新接收到的数据直接从本条错误数据区域起始位置覆盖原 数据,接收正确完成后,才会保存该数据包的状态信息。接收消息状态字FIFO 非“空”时,外围电路可从相应的固定位置开始,并根据接收包的实际长度, 从接收消息缓存双端口RAM中读取对应个数的数据字。

该接收1394总线数据容错方法,利用到上述的容错电路,包括以下步骤:

1】从1394链路层芯片接收到消息;

2】判断该消息是否为需要接收的消息:若为需接收的消息,则判断该消 息是否有错误,如无错误继续进行步骤3,如有错误则不再接收该数据包,继 续等待下次接收数据包;若不为需接收的消息,则不再接收该数据包,继续 等待下次接收数据包;

3】判断接收消息状态字FIFO是否为“满”,如非“满”则将继续进行步 骤4,如“满”则等待下次接收数据包,不再接收该数据包;

4】在接收消息缓存双端口RAM中填写接收到的数据包,并在填写过程 同时判断该消息是否有错误(包括1394包头CRC校验错误、1394数据负载 CRC校验错误、1394数据负载实际长度与包头指示长度不一致):若接收到 的消息发生错误,则不再填写该数据包,也不保存该数据包状态信息,不更 新下一条消息保存位置,(接收下一条消息时覆盖该错误消息);若接收的消 息完全正确,则在接收后续消息完成时,更新下一条消息保存位置(接收下 一条消息时保存至新位置),保存该数据包状态信息,完成一次数据包接收;

5】接收消息状态字FIFO非“空”时,外围消息获取电路按照保存的数 据包状态信息,从缓存中读取正确的数据。

本发明的技术效果

本发明的一种满足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数据负载 CRC校验错误、1394数据负载实际长度与包头指示长度不一致):若接收到 的消息发生错误,则不再填写该数据包,也不保存该数据包状态信息,不更 新下一条消息保存位置,(接收下一条消息时覆盖该错误消息);若接收的消 息完全正确,则在接收后续消息完成时,更新下一条消息保存位置(接收下 一条消息时保存至新位置),保存该数据包状态信息,完成一次数据包接收;

5】接收消息状态字FIFO非“空”时,外围消息获取电路按照保存的数 据包状态信息,从缓存中读取正确的数据;其具体是:接收消息状态字FIFO 非“空”时,外围消息获取电路首先从FIFO中读取状态信息,再按照保存的数 据包长度信息,从接收消息缓存双端口RAM中读取正确的数据。

最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者 对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术 方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号