一种增强型CAN总线数据重发方法和装置制造方法及图纸

技术编号:14803453 阅读:111 留言:0更新日期:2017-03-14 23:31
本发明专利技术公开了一种增强型CAN总线数据重发方法,包括以下步骤:S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行步骤S2以进行重发判断;S2、根据数据发送失败的原因进行重发判断并做出不同的处理。还公开一种增强型CAN总线数据重发装置。本发明专利技术的增强型CAN总线数据重发方法和装置,通过对不同数据发送失败的原因进行判断,然后做出不同处理,降低了总线的资源占用率,提升了总线容量以及减小数据发送的拥堵程度,对总线异常的检测更加及时。本发明专利技术作为一种增强型CAN总线数据重发方法和装置可广泛应用于CAN总线通信领域。

【技术实现步骤摘要】

本专利技术涉及CAN通信领域,尤其是一种增强型CAN总线数据重发方法和装置
技术介绍
CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议,是国际上应用最广泛的现场总线之一。CAN总线在工业控制总线中占用越来越多的比例。CAN总线采用CSMA机制,具有优先级管理,重要数据优先发送,保证系统可靠性。目前在CAN通信过程中,如果通信失败,不管失败原因,根据不同策略,直接重发,虽然保证了通信的可靠性,但是将大量占用总线资源,降低总线带宽;另一种处理方式,不重发并按异常处理,则会引起误报故障。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种增强型CAN总线数据重发方法和装置,其可以降低总线的资源占用率,提升总线容量以及减小数据发送的拥堵程度,对总线异常的检测更加及时。本专利技术所采用的技术方案一方面是一种增强型CAN总线数据重发方法,包括以下步骤:S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行步骤S2以进行重发判断;S2、根据数据发送失败的原因进行重发判断并做出不同的处理。进一步地,所述步骤S2包括:S21、判断是否为重要数据,如果为重要数据,则执行步骤S22,否则执行步骤S1;S22、判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则执行步骤S23;S23、判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,执行步骤S24;S24、进行不同的异常处理。进一步地,所述步骤S23中统计重发次数并进行数据重发包括:S231、统计重发次数;S232、判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则执行步骤S24,否则执行步骤S233;S233、重发数据。进一步地,所述步骤S22中统计ACK错误的个数并根据ACK错误的个数做出相应处理包括:S221、统计ACK错误的个数;S222、判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则执行步骤S24,否则执行步骤S1。进一步地,所述步骤S24包括:S241、判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则执行步骤S242;S242、判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则执行步骤S243;S243、告警输出:未知通信错误。本专利技术的技术方案另一方面为一种增强型CAN总线数据重发装置,包括:第一模块,用于判断数据是否发送成功,如果数据发送成功,则继续判断数据是否发送成功,否则进行重发判断;第二模块,用于根据数据发送失败的原因进行重发判断并做出不同的处理。进一步地,所述根据数据发送失败的原因进行重发判断并做出不同的处理具体包括:首先,判断是否为重要数据,如果为重要数据,则继续进行数据发送失败原因判断,否则返回判断数据是否发送成功;接着,判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则继续进行数据发送失败原因判断;最后,判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,进行不同的异常处理。进一步地,所述统计重发次数并进行数据重发具体为:首先,统计重发次数;接着,判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则进行不同的异常处理,否则重发数据。进一步地,所述统计ACK错误的个数并根据ACK错误的个数做出相应处理具体为:首先,统计ACK错误的个数;接着,判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则进行不同的异常处理,否则判断数据是否发送成功。进一步地,所述进行不同的异常处理具体为:判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则告警输出:未知通信错误。本专利技术的有益效果是:本专利技术的增强型CAN总线数据重发方法,通过对不同数据发送失败的原因进行判断,然后做出不同处理,降低了总线的资源占用率,提升了总线容量以及减小数据发送的拥堵程度,对总线异常的检测更加及时。本专利技术的另一有益效果是:本专利技术的增强型CAN总线数据重发装置可以有效地提高CAN总线的资源利用率,减小数据发送的拥堵程度。附图说明下面结合附图对本专利技术的具体实施方式作进一步说明:图1是本专利技术中一种增强型CAN总线数据重发方法的整体流程图;图2是本专利技术中一种增强型CAN总线数据重发方法的的具体流程图;图3是本专利技术中一种增强型CAN总线数据重发方法的一具体实施例的流程图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。一种增强型CAN总线数据重发方法,参考图1,包括以下步骤:S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行步骤S2以进行重发判断;S2、根据数据发送失败的原因进行重发判断并做出不同的处理。进一步作为优选的实施方式,参考图2,所述步骤S2包括:S21、判断是否为重要数据,如果为重要数据,则执行步骤S22,否则执行步骤S1;S22、判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则执行步骤S23;S23、判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,执行步骤S24;S24、进行不同的异常处理。进一步作为优选的实施方式,所述步骤S22中统计ACK错误的个数并根据ACK错误的个数做出相应处理包括:S221、统计ACK错误的个数;S222、判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则执行步骤S24,否则执行步骤S1。进一步作为优选的实施方式,所述步骤S23中统计重发次数并进行数据重发包括:S231、统计重发次数;S232、判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则执行步骤S24,否则执行步本文档来自技高网...

【技术保护点】
一种增强型CAN总线数据重发方法,其特征在于:包括以下步骤:S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行步骤S2以进行重发判断;S2、根据数据发送失败的原因进行重发判断并做出不同的处理。

【技术特征摘要】
1.一种增强型CAN总线数据重发方法,其特征在于:包括以下步骤:
S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行
步骤S2以进行重发判断;
S2、根据数据发送失败的原因进行重发判断并做出不同的处理。
2.根据权利要求1所述的增强型CAN总线数据重发方法,其特征在于:所述步骤S2包括:
S21、判断是否为重要数据,如果为重要数据,则执行步骤S22,否则执行步骤S1;
S22、判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据
ACK错误的个数做出相应处理,否则执行步骤S23;
S23、判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次
数并进行数据重发;否则,执行步骤S24;
S24、进行不同的异常处理。
3.根据权利要求2所述的增强型CAN总线数据重发方法,其特征在于:所述步骤S23中统
计重发次数并进行数据重发包括:
S231、统计重发次数;
S232、判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则执行步骤
S24,否则执行步骤S233;
S233、重发数据。
4.根据权利要求3所述的增强型CAN总线数据重发方法,其特征在于:所述步骤S22中统
计ACK错误的个数并根据ACK错误的个数做出相应处理包括:
S221、统计ACK错误的个数;
S222、判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错
误的上限值,则执行步骤S24,否则执行步骤S1。
5.根据权利要求4所述的增强型CAN总线数据重发方法,其特征在于:所述步骤S24包
括:
S241、判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,
从设备无应答,否则执行步骤S242;
S242、判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁
忙,否则执行步骤S243;
S243、...

【专利技术属性】
技术研发人员:黎德宇
申请(专利权)人:深圳市科陆电源技术有限公司
类型:发明
国别省市:广东;44

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

1