CAN的等效离线故障v2

can的等效离线故障v2 杨福宇 yfy812@163.comFault-degradation 表示系统出错时性能降级运行,尽量保存可用的功能,维持功能安全。这一概念在CAN开发时就有了,只是后来被更为重视。CAN为了满足性能下降时不是突然的,所以设计了运行的3种状态:主动报错(Error active);消极报错(Error passive)和离线(Bus off)。主动报错状态时,主动报错标志(active error flag)是6个D(显位),通过破坏填充位规则,使全体节点都知道,大
摘要由CSDN通过智能技术生成

can的等效离线故障v2

					杨福宇 yfy812@163.com

Fault-degradation 表示系统出错时性能降级运行,尽量保存可用的功能,维持功能安全。这一概念在CAN开发时就有了,只是后来被更为重视。CAN为了满足性能下降时不是突然的,所以设计了运行的3种状态:主动报错(Error active);消极报错(Error passive)和离线(Bus off)。主动报错状态时,主动报错标志(active error flag)是6个D(显位),通过破坏填充位规则,使全体节点都知道,大家同时丢弃这个帧,保证了系统内数据的一致性。消极报错状态时,节点发现的错所发的消极报错标志(passive error flag)是6个R(隐位),报错帧不能通知到其他节点,也就不影响其他节点的正常收发。在离线状态时,节点停止了收发,代表出错太多的节点不会再干扰系统。这3种状态是根据出错计数器的值判断的,节点发现错时根据一定的规则确定出错计数器的增量,正常接收时每次将出错计数器减1,此外还有值的上下限。

但是由于设计上的缺陷,产生了第4种状态,即本文所述的等效离线状态:在一定条件下,节点会处于连续的出错状态,既不能发送,也不能接收其它节点所发的数据帧。而这一切并非真正发生了连续的电磁干扰类的出错。而且,越是没干扰,其他节点的传送越正常,等效离线的时间可能就越长:一直等到没有新的待发送的帧为止。

等效离线的发生有三个条件:节点已经在消极报错状态(error passive status);该节点又发生了一次局部错;其它节点有挂起待发帧在总线上等待发送。

ISO16845-2004中有关(发送节点)报错帧分界符内需要查格式错的条款截图如下:
在这里插入图片描述
这条规定是产生连续出错的条件:因为新发帧的SOF落在发送节点消极报错帧分界符内。

In ISO 11898-1:2003(E) [7] item 4.18:
在这里插入图片描述

对于发送节点,因为CAN标准这条规定,要等到见到总线空闲时它的发送状态才结束,如果因连续出错,他就一直处于发送,出错计数器就一直加上去,直至达到真正的离线状态。

CAN标准规定的消极报错帧:在发送连续R时如果没有见到6个连续的相同位则重新开始试探,读回6个连续的相同位时视为报错标志发完,然后开始发R,读回R时作为消极报错帧分界符开始,开始后必须继续有连续7个R,才算消极报错帧分界符结束。CAN标准又规定如分界符内又有D,就作为新错,节点要重发消极报错帧。

对于消极报错发送节点,发生局部错的位置可分为二类。
第1类:在ACK分界符前有回读的bit错或stuff错时,消极报错标志的连续6个R会被接收节点以填充规则检验、CRC检验发现有错,引起接收节点报错。接收节点的主动报错帧的连续6个D决定了发送节点消极报错帧报错标志结束时间的同步,就不会发生分界符内出错的情况。也就不会发生等效离线。
第2类:在ACK及分界符后到EOF第3位间有局部错时,例如CRC受干扰回读错、CRC Del回读错、EOF1\2\3回读错时,该节点所发(P.E.Flag)的6个R会被接收节点认为是正常的发送帧结尾EOF部分和2位服务间隔(I.M.)。别的节点所发新帧开始位(SOF),将落入发送节点消极报错帧分界符(P.E.Del)内,形成新错(图1)。如果别的节点所发新帧传送中未发生新错,该消极报错发送节点就见不到6个连续的相同位,它等待的6个连续的相同位将在别的节点所发新帧的ACK位后开始,它期待的(P.E.Del)将延续到别的节点所发新帧结束之后&

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值