CN106789509B - 一种冗余can总线通信系统的数据通信方法 - Google Patents

一种冗余can总线通信系统的数据通信方法 Download PDF

Info

Publication number
CN106789509B
CN106789509B CN201611193809.6A CN201611193809A CN106789509B CN 106789509 B CN106789509 B CN 106789509B CN 201611193809 A CN201611193809 A CN 201611193809A CN 106789509 B CN106789509 B CN 106789509B
Authority
CN
China
Prior art keywords
message
count value
pdo
receiving end
pdo message
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
CN201611193809.6A
Other languages
English (en)
Other versions
CN106789509A (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.)
711th Research Institute of CSIC
Original Assignee
711th Research Institute of CSIC
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 711th Research Institute of CSIC filed Critical 711th Research Institute of CSIC
Priority to CN201611193809.6A priority Critical patent/CN106789509B/zh
Publication of CN106789509A publication Critical patent/CN106789509A/zh
Application granted granted Critical
Publication of CN106789509B publication Critical patent/CN106789509B/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
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种冗余CAN总线通信系统的数据通信方法,包括:发送端将包含滚动计数值a的PDO报文在两条CAN总线上发送;发送端发送具有同一个报文ID的PDO报文时,每发送一帧PDO报文,滚动计数值a加1,a的初始值为0,上限值为N,当a达到N时,重新从1开始计数;在接收端设置期望计数器和无效接收窗口,期望计数器的计数值b表示期望接收到的PDO报文的滚动计数值;接收端每接收到发送端的一帧PDO报文时,先判断报文是否有效;在报文为有效报文、且a为0时,将b设为1;在报文为有效报文、且b<N时,将b更新为b=a+1,如b=N,则令b=1;接收端在接收到无效报文时,丢弃该无效报文,并维持b不变。本发明可避免接收端产生新旧数据的震荡。

Description

一种冗余CAN总线通信系统的数据通信方法
技术领域
本发明涉及现场总线通信技术,尤其涉及冗余CAN总线通信系统的数据通信方法。
背景技术
目前,CAN总线技术已被广泛应用于工业控制领域。CAN总线分为物理层、数据链路层和应用层。其中,物理层和数据链路层遵循CAN2.0协议规范。1992年,CIA组织成立,其首要任务之一就是制定CAN应用层协议。目前,通过的协议规范包括DeviceNet、CANOpen等。CANOpen规范是工业控制领域权威的规范,其包括系列文档。其中,最基本的为CANOpen301,已正式发布并应用。此外,CANOpen302是针对浮动主节点的规范,CANOpen307是海事规范。对于安全等级要求较高的系统而言,尤其是硬实时嵌入式系统而言(海事领域、航空航天等领域),对传输数据的可靠性要求较高,因此通常会采用冗余CAN总线通信系统。冗余CAN总线通信系统的物理层结构如图1所示,其中,节点100包括两个CAN控制器101、102以及两个CAN收发器103、104。目前的冗余CAN总线系统主要有以下几种通信方式:
1、双CAN通信系统的简单冗余:
这种方式简单地将双CAN冗余通讯系统作为单CAN系统的重复,在两条CAN总线上发送和接收数据。其通信方式过于简单,如果在数据通信过程出现阻塞状况,同一帧报文将会在不同的时间到达接收方,从而导致数据的反复震荡,数据一致性差。对于实时系统而言,将会很大程度影响系统的功能和可靠性。
2、冗余系统的冷备份:
所谓冷备份即数据首先在一条CAN总线上进行传输,当使用的这一条CAN总线出现故障时,再使用另外一条CAN总线代替故障的CAN总线,进行数据的传输。该种传输机制由于任一时刻只有一条CAN总线在传输数据,也即可以保证数据的一致性问题。但是,其存在下面问题:(1)在总线切换的过程中会出现数据的丢失以及数据的延时传输;(2)当使用的那一条CAN总线出现短暂的干扰或故障时,该机制失去冗余的含义,因此,对于实时系统而言,冷备份系统并不适合。
3、CANOpen307规范中使用的热备份:
针对单CAN总线网络而言,CIA组织提出了CANOpen301规范。而海事电子产品由于其安全等级较高,因此采用冗余CAN总线,并在CANOpen301基础上提出了CANOpen307规范。目前,CANOpen307规范仍然是草稿版,未正式发布。
CANOpen307规范中也是采用热冗余,即两条CAN总线都进行过程数据(PDO)的发送,其从源端保证数据的一致性。即:待发送的CAN报文,从请求发送开始,到放入CAN控制器进行发送,会分别在两条CAN总线上进行计时,如果超过设定的时间窗口,会将报文舍弃,从而保证数据的一致性。但是,这种通信方式存在以下问题:(1)时间窗口的设置不能无限的大,要小于报文的禁止时间,否则仍然会出现乱序的问题;(2)在有限的时间窗口内,可能出现下面情况:当两条CAN总线都收到干扰时,会导致总线报文发送延迟,两条CAN总线上的报文都超过设定的时间窗口,将报文舍弃。那么,对于实时嵌入式系统来讲,丢弃了重要的报文,延迟了报文的接收时间,将会对系统产生不可预估,甚至是破坏性的影响。(3)在代码实现机制上复杂。
发明内容
本发明所要解决的技术问题在于提供一种制造成本低的冗余CAN总线通信系统的数据通信方法,其能充分保证接收数据的实时性和一致性,并最大程度避免接收端产生新旧数据的震荡。
为解决上述技术问题,本发明所采取的技术方案是:
冗余CAN总线通信系统的数据通信方法,包括以下步骤:
a、发送端将包含滚动计数值a的PDO报文在两条CAN总线上发送;发送端发送具有同一个报文ID的PDO报文时,每发送一帧PDO报文,PDO报文的滚动计数值a加1,滚动计数值a的初始值为0,滚动计数值的上限值为N,当滚动计数值a达到其上限值N时,重新从1开始计数;
b、在接收端设置期望计数器和无效接收窗口,期望计数器的计数值b用于表示期望接收到的PDO报文的滚动计数值,该无效接收窗口所对应的PDO报文的滚动计数值范围由M帧PDO报文的计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之前,并紧邻该期望接收到的PDO报文;M为预设的窗口宽度;接收端每接收到发送端发送的一帧PDO报文时,先判断该帧PDO报文是否有效,其中: 除接收到的PDO报文的滚动计数值a为0的情况以外,当接收到的PDO报文的滚动计数值a落入无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收到的PDO报文为无效报文;当期望计数器的计数值b为0、接收到的PDO报文的滚动计数值a为0、或者是接收到的PDO报文的滚动计数值a不在无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收的PDO报文有效;
c、接收端在接收到滚动计数值a为0的有效报文时,将期望计数器的计数值b设为1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b小于所述的上限值N时,将期望计数器的计数值b更新为该有效报文的滚动计数值加1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b等于所述的上限值N时,将期望计数器的计数值b更新为1;
d、接收端在接收到无效报文时,丢弃该无效报文,并维持当前期望计数器的计数值b不变。
本发明的冗余CAN总线通信系统的数据通信方法易于实现、可靠性高,在热冗余传输的前提下,即保证了接收数据的一致性,又避免了数据的震荡,提高了实时系统的性能。与现有技术相比,本发明至少具有以下优点和特点:
1、与双CAN通信系统的简单冗余相比,解决了数据通信的乱序和数据一致性问题;
2、相比冗余系统的冷备份而言,可以实现两条CAN总线同时进行数据的传输,不存在CAN总线切换带来的丢帧和数据通信延时问题;
3、相比CANOpen307机制而言,本发明不在发送端进行报文的过滤,而采用接收端进行报文的比较判断,解决了由于时间窗口设置时导致丢失报文的问题,而且软件实现简单可靠;
4、本发明的发送端在两条CAN总线上都进行数据的传输,从源头上避免了丢帧的问题。而接收端通过设置接收窗口,可在CAN总线通信系统发生的故障的情况下也能更好地区分出新旧报文,对新报文进行接收,将旧报文进行舍弃,提高了数据接收的实时性,并能对故障做出报警,在保证数据一致性的同时,又避免了数据的震荡。
附图说明
图1示出了冗余CAN总线通信系统的物理层结构示意图。
图2示出了发送端所采用的滚动计数机制的原理示意图。
图3示出了根据本发明一实施例的一种冗余CAN总线通信系统的数据通信方法的接收端流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
请参阅图2。根据本发明一实施例的一种冗余CAN总线通信系统的数据通信方法为了防止接收方接收到的数据产生新旧数据的震荡,在发送端采用了滚动计数(RollingCounter)的机制,在接收端进行数据的筛选。在本实施例中,对于同一个ID的PDO报文而言,在报文的数据场中取第一个字节进行滚动计数,该滚动计数值最大值可灵活设置。发送端每发送一帧报文,滚动计数值就加1,包含该滚动计数值的报文在两条总线(即图2中的默认总线和冗余总线)上发送。发送端在上电或复位后首先发送滚动计数值为0的报文,之后的计数从1开始,如果超过设定的最大值,则从1开始重新计数。
根据本发明一实施例的一种冗余CAN总线通信系统的数据通信方法,包括以下步骤:
步骤a、发送端将包含滚动计数值a的PDO报文在两条CAN总线上发送;发送端发送具有同一个报文ID的PDO报文时,每发送一帧PDO报文,PDO报文的滚动计数值a加1,滚动计数值a的初始值为0,滚动计数值的上限值为N,当滚动计数值a达到其上限值N时,在发送下一帧PDO报文时,重新从1开始计数;在本实施例中,N=255,发送端发送的第一帧PDO报文的a为1,第二帧PDO报文为2,依次类推,当发送端发送完a=255的那一帧PDO报文之后,接下来的发送的那一帧PDO报文的滚动计数值a=1。
步骤b、在接收端设置期望计数器和无效接收窗口,期望计数器的计数值b用于表示期望接收到的PDO报文的滚动计数值,无效接收窗口所对应的PDO报文的滚动计数值范围由M帧PDO报文的计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之前,并紧邻该期望接收到的PDO报文;M为预设的窗口宽度;接收端每接收到发送端发送的一帧PDO报文时,先判断该帧PDO报文是否有效,其中: 除接收到的PDO报文的滚动计数值a为0的情况以外,当接收到的PDO报文的滚动计数值a落入无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收到的PDO报文为无效报文;当期望计数器的计数值b为0、接收到的PDO报文的滚动计数值a为0、或者是接收到的PDO报文的滚动计数值a不在无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收的PDO报文有效。
在本实施例中,当接收端在接收到PDO报文的滚动计数值a为0的报文时,会对外发出发送端正在重启的通知信息,以让外界知道目前发送端正在进行重启。
在本实施例中,在接收端还设有正常接收窗口,正常接收窗口所对应的PDO报文的滚动计数值范围由期望接收到的PDO报文和M帧PDO报文的滚动计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之后,并紧邻该期望接收到的PDO报文。接收端在接收到有效的PDO报文时,如果该有效的PDO报文的滚动计数值a既不为0也不在正常接收窗口所对应的PDO报文滚动计数值范围内,则接收端对外发出故障报警信息,以让外界知道冗余CAN总线通信系统发生了故障。
预设的窗口宽度M可以采用以下公式确定:
使用这样的方式确定该M值,可以保证只要一条总线上的报文的延迟时间在所预估的可能的最大延迟时间之内时,滚动计数的机制都能够起到有效的作用,避免数据振荡。本实施例中,预设的窗口宽度M的取值范围可设为5<M<50。
步骤c、接收端在接收到滚动计数值a为0的有效报文时,将期望计数器的计数值强制设为1;接收端在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b小于上限值N时,将期望计数器的计数值b更新为该有效报文的滚动计数值加1,即,b=a+1;接收端在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b等于上限值N时,则将期望计数器的计数值b更新为1。
步骤d、接收端在接收到无效报文时,丢弃该无效报文,并维持当前期望计数器的计数值b不变。
举例来说,在窗口宽度M=10的情况下,假设发送端发送的第一帧PDO报文在两条CAN总线上同时进行传输,该PDO报文的滚动计数值a=0。如果接收端通过其中一条CAN总线先接收到该帧报文,因a=0会判断该PDO报文为有效报文,并使b=1,也就是说,接收端期望接收到的下一帧PDO报文的滚动计数值为1,同时接收端还会对外发出发送端正在重启的通知信息。当在另一条CAN总线上传输的、滚动计数值为0的PDO报文后传输到接收端时,因a=0,也会被作为有效报文,同时期望计数器的计数值b仍然为1。接下来,假设发送端又将第二帧PDO报文同时在两条CAN总线上进行传输,此时第二帧PDO报文的滚动计数值a=1。如果接收端又通过其中一条CAN总线先接收到该帧报文,由于b=a=1,接收端会判断该PDO报文为有效报文,并使b=1+1=2。而当在另一条CAN总线上传输的、滚动计数值为1的PDO报文后传输到接收端时,因1<2,会被接收端判断为无效报文而被舍弃(即后接收到的PDO报文的滚动计数值a落入无效接收窗口的范围内)。依此类推,假设接收端通过其中一条CAN总线先接收到了a=255的这一帧有效报文,因此时期望计数器的计数值b也等于255,则会使b=1。此时,期望发送端发送的PDO报文的滚动计数值a为1,无效接收窗口对应的PDO报文的滚动计数值范围由期望接收到的PDO报文之前的连续10帧PDO报文的计数值共同组成,即a=246~255,只要是发送端发送过来的PDO报文的滚动计数值a为246~255中的任意一者都算是落入了无效接收窗口的范围,因此,当在另一条CAN总线上传输的、滚动计数值为255的PDO报文后传输到接收端时,因255属于无效接收窗口的范围内,还是会被接收端判断为无效报文而被丢弃。
当冗余CAN总线通信系统的硬件在运行过程中发生了某些临时性的故障,比如CAN发送器和接收器端子的松动导致在一定时间内发送端发送的数据无法传输至接收端,本申请因为设置了无效接收窗口可以避免因为这种故障导致系统停止工作,也能保障系统运行具有良好的实时性。
如果一条总线上的报文发生阻塞,导致报文发送延迟,当总线恢复正常后,延迟的总线发送给接收端的报文因为其计数值小于另一边总线接收的报文的计数值,所以会被舍弃。而如果一条CAN线总线负载较低,运行状态良好,则接收到最新的滚动计数值,也即意味着该帧报文为最新的数据,所以该数据将会应用到系统中,从而满足系统的实时性需求。
图3示出了根据本发明一实施例的一种冗余CAN总线通信系统的数据通信方法的接收端流程示意图,图3示出了接收端如何判断接收的PDO报文为有效报文的一个具体应用实例。然而,图3所示的接收端工作流程图仅为示意性的,并不应当视为对本申请限制,例如,接收端也可以先判断a是否为0,而后判断b是否为0,接收端也可以采用其它的算法判断接收的PDO报文是否为有效报文。
根据图3的记载,前述的步骤b进一步包括以下步骤:
接收端每接收到发送端发送的一帧PDO报文时,先判断所述期望计数器的计数值b是否为0,如果b=0,则判断接收到的PDO报文为有效报文;
如果b≠0,接收端判断接收到的PDO报文的滚动计数值a是否为0,如果a=0,则判断接收到的PDO报文为有效报文;
如果a≠0,接收端判断期望计数器的计数值b与该接收到的PDO报文的滚动计数值a的差值c是否小于0,c=a-b;如果c不小于0,则直接判断c是否大于等于0且小于预设的窗口宽度M,如果c<0,则将c+N赋给c后再判断c是否大于等于0且小于预设的窗口宽度M;
如果接收端判断c是大于等于0且小于预设的窗口宽度M,则判断接收到的PDO报文为有效报文,即接收到的PDO报文的滚动计数值a处于正常接收窗口对应的PDO报文滚动计数值范围内。如果接收端判断c不是大于等于0且小于预设的窗口宽度M,则进一步判断c是否大于等于M且小于报文有效但发生故障的阈值T,T=N-M;
如果接收端判断c是大于等于M且小于报文有效但发生故障的阈值T,则接收端判断接收到的PDO报文为有效报文并对外发出故障报警信息;如果接收端判断c不是大于等于M且小于报文有效但发生故障的阈值T,则c应该是大于等于T且小于N,此时判断接收到的PDO报文为无效报文,即接收到的PDO报文的滚动计数值a处于无效接收窗口对应的PDO报文滚动计数值范围内。
举例而言,在预设的窗口阈值M=10、N=255的情况下,则报文有效但发生故障的阈值T=N-M=255-10=245。假设当前期望计数器的计数值b为200,如果接收端接下来接收到PDO报文的滚动计数值a为190~199中的任一者时,则判断这些PDO报文的滚动计数值a处于无效接收窗口对应的PDO报文滚动计数值范围内,接收的PDO报文为旧的无效报文。如果接下来接收到PDO报文的滚动计数值a为200~210中的任一者时,则判断这些PDO报文的滚动计数值a处于正常接收窗口对应的PDO报文滚动计数值范围内,接收的PDO报文为有效报文。如果接下来接收到PDO报文的滚动计数值a为0~189或211~255中的任一者时,则判断接收到的PDO报文为有效报文并对外发出故障报警信息。
在实际应用如果通过图3所示的算法流程则是按照以下方式来计算和判断的。假设在当前期望计数器的计数值b为200时,冗余CAN总线通信系统发生了因此故障,随后接收端接收到了滚动计数值a等于10的报文。由于c=a-b=-190,小于0,则使c=N+c=255-190=65。然后判断65是否大于等于0且小于预设的窗口阈值M,M=10。由于65大于10,因此接收端接下来判断65是否大于等于M且小于报文有效但发生故障的阈值T,T=245。由于65大于10且小于245,因此,接收端判断接收到的PDO报文为有效报文并对外发出故障报警信息。这与前面的记载是相吻合的。
本实施例中,接收方端对接收到的报文进行了过滤,从而能充分保证接收数据的一致性,并最大程度避免接收端产生新旧数据的震荡,同时也高了数据接收的实时性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种冗余CAN总线通信系统的数据通信方法,其特征在于,包括以下步骤:
a、发送端将包含滚动计数值a的PDO报文在两条CAN总线上发送;发送端发送具有同一个报文ID的PDO报文时,每发送一帧PDO报文,PDO报文的滚动计数值a加1,滚动计数值a的初始值为0,滚动计数值的上限值为N,当滚动计数值a达到其上限值N时,重新从1开始计数;
b、在接收端设置期望计数器和无效接收窗口,所述期望计数器的计数值b用于表示期望接收到的PDO报文的滚动计数值,所述无效接收窗口所对应的PDO报文的滚动计数值范围由M帧PDO报文的计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之前,并紧邻该期望接收到的PDO报文;M为预设的窗口宽度;接收端每接收到发送端发送的一帧PDO报文时,先判断该帧PDO报文是否有效,其中: 除接收到的PDO报文的滚动计数值a为0的情况以外,当接收到的PDO报文的滚动计数值a落入无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收到的PDO报文为无效报文;当期望计数器的计数值b为0、接收到的PDO报文的滚动计数值a为0、或者是接收到的PDO报文的滚动计数值a不在所述无效接收窗口对应的PDO报文滚动计数值范围内时,接收端判断接收的PDO报文有效;
c、接收端在接收到滚动计数值a为0的有效报文时,将期望计数器的计数值b设为1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b小于所述的上限值N时,将期望计数器的计数值b更新为该有效报文的滚动计数值加1,在接收到滚动计数值a不为0的有效报文、且期望计数器的计数值b等于所述的上限值N时,将期望计数器的计数值b更新为1;
d、接收端在接收到无效报文时,丢弃该无效报文,并维持当前期望计数器的计数值b不变。
2.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,将PDO报文的数据场中的第一个字节用于计数。
3.根据权利要求2所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,N=255。
4.根据权利要求1或2所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,所述预设的窗口宽度M的取值范围为5<M<50。
5.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,接收端在接收到PDO报文的滚动计数值a为0的报文时对外发出发送端正在重启的通知信息。
6.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,在接收端设置正常接收窗口,所述正常接收窗口所对应的PDO报文的滚动计数值范围由期望接收到的PDO报文和M帧PDO报文的滚动计数值共同组成,该M帧PDO报文位于期望接收到的PDO报文之后,并紧邻该期望接收到的PDO报文;
接收端在接收到有效的PDO报文时,如果该有效的PDO报文的滚动计数值a既不为0也不在所述的正常接收窗口所对应的PDO报文滚动计数值范围内,则接收端对外发出故障报警信息。
7.根据权利要求1所述的一种冗余CAN总线通信系统的数据通信方法,其特征在于,所述的步骤b进一步包括以下步骤:
接收端每接收到发送端发送的一帧PDO报文时,先判断所述期望计数器的计数值b 是否为0,如果b=0,则判断接收到的PDO报文为有效报文;
如果b≠0,接收端判断接收到的PDO报文的滚动计数值a是否为0,如果a=0,则判断接收到的PDO报文为有效报文;
如果a≠0,接收端判断期望计数器的计数值b与该接收到的PDO报文的滚动计数值a的差值c是否小于0,c=a-b;如果c不小于0,则直接判断c是否大于等于0且小于预设的窗口宽度M,如果c<0,则将c+N赋给c后再判断c是否大于等于0且小于预设的窗口宽度M;
如果接收端判断c是大于等于0且小于预设的窗口宽度M,则判断接收到的PDO报文为有效报文,如果接收端判断c不是大于等于0且小于预设的窗口宽度M,则进一步判断c是否大于等于M且小于报文有效但发生故障的阈值T,T=N-M;
如果接收端判断c是大于等于M且小于报文有效但发生故障的阈值T,则接收端判断接收到的PDO报文为有效报文并对外发出故障报警信息;如果接收端判断c不是大于等于M且小于报文有效但发生故障的阈值T,则判断接收到的PDO报文为无效报文。
CN201611193809.6A 2016-12-21 2016-12-21 一种冗余can总线通信系统的数据通信方法 Active CN106789509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611193809.6A CN106789509B (zh) 2016-12-21 2016-12-21 一种冗余can总线通信系统的数据通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611193809.6A CN106789509B (zh) 2016-12-21 2016-12-21 一种冗余can总线通信系统的数据通信方法

Publications (2)

Publication Number Publication Date
CN106789509A CN106789509A (zh) 2017-05-31
CN106789509B true CN106789509B (zh) 2019-08-23

Family

ID=58893851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611193809.6A Active CN106789509B (zh) 2016-12-21 2016-12-21 一种冗余can总线通信系统的数据通信方法

Country Status (1)

Country Link
CN (1) CN106789509B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018113330A1 (de) * 2017-06-09 2018-12-13 Steering Solutions Ip Holding Corporation Bewertung einer Reihenfolge von Botschaften für ein redundantes Kommunikationssystem
CN109104350A (zh) * 2017-06-21 2018-12-28 比亚迪股份有限公司 基于CANopen协议的切换收发数据的方法及其设备
CN111314275A (zh) * 2019-11-09 2020-06-19 南京金龙客车制造有限公司 一种线控底盘can网络加密方法
CN111786866B (zh) * 2020-09-04 2020-11-17 成都运达科技股份有限公司 多通信总线无缝切换的冗余通信方法
CN112600740B (zh) * 2021-01-08 2022-06-07 重庆长安汽车股份有限公司 一种车联网can数据上传漏帧率的自动检测方法
CN113665632B (zh) * 2021-08-23 2024-04-02 中车南京浦镇车辆有限公司 一种适用于无人驾驶列车的紧急牵引方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516571A (zh) * 2013-07-22 2014-01-15 浙江中控研究院有限公司 一种双can总线保证数据通信可靠性的系统架构及其方法
CN104503350A (zh) * 2014-12-26 2015-04-08 北京汽车股份有限公司 双冗余can总线的实现方法和控制器
CN105743755A (zh) * 2016-04-19 2016-07-06 上海君协光电科技发展有限公司 一种双冗余can总线通信系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276765B2 (en) * 2011-10-13 2016-03-01 Texas Instruments Incorporated Apparatus and system for an active star/stub/ring controller area network physical layer transceiver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516571A (zh) * 2013-07-22 2014-01-15 浙江中控研究院有限公司 一种双can总线保证数据通信可靠性的系统架构及其方法
CN104503350A (zh) * 2014-12-26 2015-04-08 北京汽车股份有限公司 双冗余can总线的实现方法和控制器
CN105743755A (zh) * 2016-04-19 2016-07-06 上海君协光电科技发展有限公司 一种双冗余can总线通信系统

Also Published As

Publication number Publication date
CN106789509A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106789509B (zh) 一种冗余can总线通信系统的数据通信方法
CN101001192B (zh) 一种环网链路保护的方法、系统及设备
CN107248933A (zh) 一种轨道交通信号系统双主防护的方法
CN101262401A (zh) 一种环形网络中实现网络恢复的方法
CN103023715A (zh) 一种基于rs485总线通讯链路的故障监测方法
CN103826008B (zh) 一种移动终端通知消息提示方法、装置及移动终端
CN105354159A (zh) 一种基于rs485分布式总线系统的控制方法
CN105072021B (zh) 一种调度自动化系统跨网段的消息转发方法
JP4455658B2 (ja) ネットワーク監視システムとそのノード装置および監視装置
WO2016095344A1 (zh) 链路切换方法、装置及线卡
CN101141366A (zh) 一种在环状以太网中避免数据环路的方法
CN109768907A (zh) 一种can总线波特率自适应设置方法
CN110601945A (zh) 一种双冗余can总线通信系统和通信方法
CN101989933A (zh) 一种故障检测的方法和系统
CN105721191B (zh) 一种链路故障处理方法、系统以及无线备份网关
CN101902382B (zh) 一种以太单环网地址刷新方法及系统
EP1686732A1 (de) Verfahren und System zur Übertragung von Telegrammen
CN105490837B (zh) 一种网络监控处理方法以及装置
Basu An efficient approach of election algorithm in distributed systems
WO2016065751A1 (zh) 恢复链路通讯的方法、业务线卡及系统
CN106789510B (zh) 冗余can总线通信系统的数据通信方法
CN109474637A (zh) 一种基于固定时间片的争抢型总线协议
CN102984027B (zh) 一种检测报文成环的方法和设备
CN108566298A (zh) 一种链路故障处理方法、交换机和链路故障处理系统
CN105591954A (zh) 一种报文控制方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 201108 Shanghai city Minhang District Huaning Road No. 3111

Patentee after: The 711 Research Institute of China Shipbuilding Corp.

Address before: 201108 Shanghai city Minhang District Huaning Road No. 3111

Patentee before: Shanghai Marine Diesel Engine Research Institute