CN105634894B - 一种增强型can总线数据重发方法和装置 - Google Patents

一种增强型can总线数据重发方法和装置 Download PDF

Info

Publication number
CN105634894B
CN105634894B CN201511030469.0A CN201511030469A CN105634894B CN 105634894 B CN105634894 B CN 105634894B CN 201511030469 A CN201511030469 A CN 201511030469A CN 105634894 B CN105634894 B CN 105634894B
Authority
CN
China
Prior art keywords
data
ack mistake
bus
mistake
ack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511030469.0A
Other languages
English (en)
Other versions
CN105634894A (zh
Inventor
黎德宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Clou Electronics Co Ltd
Shenzhen Clou Intelligent Industry Co Ltd
Original Assignee
Shenzhen Clou Intelligent Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Clou Intelligent Industry Co Ltd filed Critical Shenzhen Clou Intelligent Industry Co Ltd
Priority to CN201511030469.0A priority Critical patent/CN105634894B/zh
Publication of CN105634894A publication Critical patent/CN105634894A/zh
Application granted granted Critical
Publication of CN105634894B publication Critical patent/CN105634894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

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

Description

一种增强型CAN总线数据重发方法和装置
技术领域
本发明涉及CAN通信领域,尤其是一种增强型CAN总线数据重发方法和装置。
背景技术
CAN 是Controller Area Network 的缩写(以下称为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,否则执行步骤S233;
S233、重发数据。
进一步作为优选的实施方式,所述步骤S24包括:
S241、判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则执行步骤S242;
S242、判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则执行步骤S243;
S243、告警输出:未知通信错误。
当利用CAN总线进行数据传输失败时,首先判断所传输的数据是否为重要数据,如果不是重要数据,则返回判断数据是否发送成功;否则,继续做进一步判断。
接着,判断重要数据发送失败的原因,如果重要数据发送失败的原因是ACK错误,则表示数据发送成功,接收端未接收,或者发送端未与接收端建立连接,可不用重发,可直接判断接收失败,统计ACK错误的个数,当ACK错误的个数大于预设的ACK错误上限值时,进行告警输出:ACK错误,从设备无应答;如果重要数据发送失败的原因为仲裁失败或者数据错误,重要数据发送失败的原因是仲裁失败,表示数据未发送,失败与接收端无关;重要数据发送失败的原因是数据错误,则表示数据在发送过程中出现异常。此时,先统计重发的次数,再进行数据重发判断。如果重发的次数大于预设的重发上限值,则表示进行多次重发后,仍不能正常发送完成,通信线路故障或者CAN总线非常繁忙,则告警输出:总线错误,总线繁忙。如果重要数据发送失败的原因是除了上述原因以外其他的原因,则告警输出:未知通信错误。
参考图3,图3为一种增强型CAN总线数据重发方法的一具体实施例的流程图。首先,初始化CAN;等待数据,如果没有数据则继续等待,直到有数据需要发送时,将待发送的数据送入发送信箱进行发送;获取发送标识,所述标识包含发送结果,错误类型等信息;根据获取的标识,判断是否发送成功,如果发送成功,则继续等待下一个要发送的数据,否则进行错误处理,即进行重发判断;判断未发送成功的数据是否为重要数据,如果不是重要数据,则不做处理,返回等待数据,否则进行进一步重发判断;判断数据发送失败的原因是否为ACK错误,如果为ACK错误,则进行错误次数记录,当ACK的错误次数超过3次时,判断从设备故障或者通信线路故障,则告警输出:ACK错误,从设备无应答,否则判断数据发送失败的原因是否为仲裁错误或数据错误,如果是仲裁失败或数据错误,则重发并统计重发次数,当重发次数超过3次时,告警输出:总线错误,总线繁忙;如果不是仲裁失败或数据错误,则告警输出:未知通信错误。
一种增强型CAN总线数据重发装置,包括:
第一模块,用于判断数据是否发送成功,如果数据发送成功,则继续判断数据是否发送成功,否则进行重发判断;
第二模块,用于根据数据发送失败的原因进行重发判断并做出不同的处理。
进一步作为优选的实施方式,所述根据数据发送失败的原因进行重发判断并做出不同的处理具体包括:
首先,判断是否为重要数据,如果为重要数据,则继续进行数据发送失败原因判断,否则返回判断数据是否发送成功;
接着,判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则继续进行数据发送失败原因判断;
最后,判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,进行不同的异常处理。
进一步作为优选的实施方式,所述统计ACK错误的个数并根据ACK错误的个数做出相应处理具体为:
首先,统计ACK错误的个数;
接着,判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则进行不同的异常处理,否则判断数据是否发送成功。
进一步作为优选的实施方式,所述统计重发次数并进行数据重发具体为:
首先,统计重发次数;
接着,判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则进行不同的异常处理,否则重发数据。
进一步作为优选的实施方式,所述进行不同的异常处理具体为:
判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则告警输出:未知通信错误。
所述增强型CAN总线数据重发装置可以有效地提高CAN总线的资源利用率,减小数据发送的拥堵程度。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (4)

1.一种增强型CAN总线数据重发方法,其特征在于:包括以下步骤:
S1、判断数据是否发送成功,如果发送成功,则继续判断数据是否发送成功,否则执行步骤S2以进行重发判断;
S2、根据数据发送失败的原因进行重发判断并做出不同的处理;
所述步骤S2包括:
S21、判断是否为重要数据,如果为重要数据,则执行步骤S22,否则执行步骤S1;
S22、判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则执行步骤S23;
所述步骤S22中统计ACK错误的个数并根据ACK错误的个数做出相应处理包括:
S221、统计ACK错误的个数;
S222、判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则执行步骤S24,否则执行步骤S1;
S23、判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,执行步骤S24;
S24、进行不同的异常处理;
所述步骤S24包括:
S241、判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则执行步骤S242;
S242、判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则执行步骤S243;
S243、告警输出:未知通信错误。
2.根据权利要求1所述的增强型CAN总线数据重发方法,其特征在于:所述步骤S23中统计重发次数并进行数据重发包括:
S231、统计重发次数;
S232、判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则执行步骤S24,否则执行步骤S233;
S233、重发数据。
3.一种增强型CAN总线数据重发装置,其特征在于:包括:
第一模块,用于判断数据是否发送成功,如果数据发送成功,
则继续判断数据是否发送成功,否则进行重发判断;
第二模块,用于根据数据发送失败的原因进行重发判断并做出不同的处理;
所述根据数据发送失败的原因进行重发判断并做出不同的处理具体包括:
首先,判断是否为重要数据,如果为重要数据,则继续进行数据发送失败原因判断,否则返回判断数据是否发送成功;
接着,判断数据发送失败的原因是否为ACK错误,如果是,则统计ACK错误的个数并根据ACK错误的个数做出相应处理,否则继续进行数据发送失败原因判断;
所述统计ACK错误的个数并根据ACK错误的个数做出相应处理具体为:
首先,统计ACK错误的个数;
接着,判断ACK错误的个数是否大于ACK错误的上限值,如果ACK错误的个数大于ACK错误的上限值,则进行不同的异常处理,否则判断数据是否发送成功;
最后,判断数据发送失败的原因是否为仲裁失败或者数据错误,如果是,则统计重发次数并进行数据重发;否则,进行不同的异常处理;
所述进行不同的异常处理具体为:
判断是否为ACK错误的个数大于ACK错误的上限值,如果是,告警输出:ACK错误,从设备无应答,否则判断是否为重发次数大于重发上限值,如果是,则告警输出:总线错误,总线繁忙,否则告警输出:未知通信错误。
4.根据权利要求3所述的增强型CAN总线数据重发装置,其特征在于:所述统计重发次数并进行数据重发具体为:
首先,统计重发次数;
接着,判断重发次数是否大于重发上限值,如果重发次数大于重发上限值,则进行不同的异常处理,否则重发数据。
CN201511030469.0A 2015-12-31 2015-12-31 一种增强型can总线数据重发方法和装置 Active CN105634894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511030469.0A CN105634894B (zh) 2015-12-31 2015-12-31 一种增强型can总线数据重发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511030469.0A CN105634894B (zh) 2015-12-31 2015-12-31 一种增强型can总线数据重发方法和装置

Publications (2)

Publication Number Publication Date
CN105634894A CN105634894A (zh) 2016-06-01
CN105634894B true CN105634894B (zh) 2019-08-13

Family

ID=56049424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511030469.0A Active CN105634894B (zh) 2015-12-31 2015-12-31 一种增强型can总线数据重发方法和装置

Country Status (1)

Country Link
CN (1) CN105634894B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6545138B2 (ja) * 2016-09-30 2019-07-17 株式会社日立製作所 自動点検システム、自動点検システム用点検対象読取り装置および自動点検システムの制御方法
DE102016219475A1 (de) * 2016-10-07 2018-04-12 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Bussystems
CN109061364B (zh) * 2018-08-21 2020-12-01 天津经纬恒润科技有限公司 一种无应答状态检测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552785A (zh) * 2009-05-07 2009-10-07 浙江大学 基于消息机制的用于海量数据传输的can总线通信协议
CN104199795A (zh) * 2014-09-15 2014-12-10 活点信息技术有限公司 一种总线架构

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764730B (zh) * 2009-12-18 2011-12-21 航天东方红卫星有限公司 一种can总线数据传输方法
CN102201938A (zh) * 2011-06-14 2011-09-28 浙江大学 基于通道的CanTp层通信管理方法
US9037631B2 (en) * 2012-02-22 2015-05-19 Ether-2 Corp. Network communications
CN102752084B (zh) * 2012-07-27 2013-05-29 湖南先步信息股份有限公司 一种多设备can通讯智能重发方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552785A (zh) * 2009-05-07 2009-10-07 浙江大学 基于消息机制的用于海量数据传输的can总线通信协议
CN104199795A (zh) * 2014-09-15 2014-12-10 活点信息技术有限公司 一种总线架构

Also Published As

Publication number Publication date
CN105634894A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN101189840B (zh) 数据单元中继设备和控制该数据单元中继设备的方法
US8284669B2 (en) Data acknowledgement apparatus and method
US11381514B2 (en) Methods and apparatus for early delivery of data link layer packets
EP0464014A2 (en) Communications systems using a fault tolerant protocol
CN113132063B (zh) 一种物理层重传控制方法
EP2978171B1 (en) Communication method, communication device, and communication program
JP2001186210A (ja) メッセージを送信する方法、通信方法、据え置き肯定応答通信システム、メッセージを送信するシステム、プロセス制御システム、アプリケーション情報を通信する方法
US7653060B2 (en) System and method for implementing ASI over long distances
US8335958B2 (en) Method of communication, in particular with capability of frame abortion or retransmission indication, between a transmitter and a receiver based on frames and corresponding communication node
CN113259391B (zh) 应用于多级节点网络的数据传输方法和装置
CN110413425B (zh) 第三方消息回调方法、装置、服务器和存储介质
CN105634894B (zh) 一种增强型can总线数据重发方法和装置
CN107172649A (zh) 一种数据传输方法及设备
CN113765976A (zh) 一种通信方法和***
CN109495215A (zh) 一种半双工总线的通信方法、***装置及可读存储介质
CN107959555A (zh) 一种基于lwaap的数据传输方法、装置及存储介质
CN102055577B (zh) 一种处理harq反馈比特的方法及装置
CN115994048B (zh) 一种芯片、通信方法、***及存储介质
CN105183687A (zh) 一种分时串口通信方法及***
CN109068328B (zh) 安全网络通信方法、终端及***
KR20050078096A (ko) 데이터 프레임 재전송 방법 및 상기 방법을 사용하는네트워크 장치
CN101217346A (zh) 一种am模式状态反馈方法及***
CN114337942B (zh) 一种报文重传方法、装置及电子设备
CN113965466B (zh) 一种自适应网络带宽的数据传输***
CN112187408B (zh) 数据处理方法、***、装置、存储介质和处理器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518057 Guangdong city of Shenzhen province Nanshan District science and Technology Park, Xili Street deep road CLOU tower A 18 floor

Applicant after: SHENZHEN CLOU INTELLIGENCE INDUSTRY CO.,LTD.

Address before: 518057, Shenzhen, Guangdong, Taoyuan Nanshan District street, Dongming garden 2, first shops North

Applicant before: SHENZHEN CLOU POWER TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230320

Address after: 518000 room 425, building 1, high tech park, guangqiao Road, Tianliao community, Yutang street, Guangming District, Shenzhen, Guangdong Province

Patentee after: SHENZHEN CLOU ELECTRONICS Co.,Ltd.

Patentee after: SHENZHEN CLOU INTELLIGENCE INDUSTRY CO.,LTD.

Address before: 518057 18th Floor, Block A, Kelu Building, Baoshen Road, Science Park North District, Xili Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN CLOU INTELLIGENCE INDUSTRY CO.,LTD.