【CAN】知识点:CAN故障与错误帧详解

1、CAN故障

当某个节点或多个节点发送故障时,CAN总线需要依旧维持正常运行

1.1 错误计数器

为了统计CAN错误,每一个节点都配备两个错误接收器,分别记录

  • 发送帧期间出现的错误数目TEC,/Transmit Error Counter,发送错误状态计数器,出现一次错误该计数器值 +8;
  • 接收帧期间出现的错误数目REC,/Receive Error Counter,接收错误状态计数器,出现一次错误该计数器值 +1;-
  • 消息成功发送或接收一次,对应的 TEC 或 REC 值相应 -1
  • TEC 增加的速度快于 REC 增加的速度,这是因为有很大概率地是发送节点,而不是接收节点出错!

若该节点的帧被正确发送或接收,相应的错误接收器的计数将减少,错误计数在任何时刻都反映了当前错误干扰的状况。

通过预定数值,可以禁止产生错误的节点向总线发送帧报文的操作,若错误计数超过限定值,将断开该节点。

1.2 节点状态

一个节点根据错误计数的结果,可以处于以下三种状态之一:

  • 主动错误:正常模式
  • 被动错误:当错误计数(TEC或REC)超过127时
  • 离线状态:当发送错误计数TEC超过255时

1)主动错误:在检测到错误时,发送主动错误标志(6位显性位)与错误界定符(8个隐性位࿰

相关推荐

  1. CAN知识CAN故障错误详解

    2024-05-03 23:52:02       11 阅读
  2. BSP驱动教程-CAN/CANFD/CANopen知识总结分享

    2024-05-03 23:52:02       5 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-03 23:52:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-03 23:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-03 23:52:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-03 23:52:02       20 阅读

热门阅读

  1. 数据库漫谈-发展简史

    2024-05-03 23:52:02       11 阅读
  2. 【leetcode】二分搜索题目总结

    2024-05-03 23:52:02       14 阅读
  3. 【Leetcode】63- 不同路径II

    2024-05-03 23:52:02       11 阅读
  4. 5.3作业

    2024-05-03 23:52:02       10 阅读
  5. 日拱一卒,月进一步(13)

    2024-05-03 23:52:02       14 阅读
  6. 「C/C++ 01」变量,变量名和指针

    2024-05-03 23:52:02       16 阅读
  7. Rust async,看这一篇就够了~

    2024-05-03 23:52:02       14 阅读
  8. face_recognition+python-opencv实现摄像头实时人脸识别

    2024-05-03 23:52:02       12 阅读