文章总结: 该文档详细解析CAN总线错误帧机制,涵盖五种错误类型(位错误、位填充错误、形式错误、ACK错误、CRC错误)的触发条件与检测逻辑,并阐述节点三种状态(主动错误、被动错误、Busoff)的转换规则及TEC/REC计数器增减策略(如主动错误+8、被动错误+1),为汽车网络故障诊断提供技术依据。 综合评分: 78 文章分类: 车联网安全,技术标准,解决方案
CAN 的错误帧 很详细
谈思实验室
2026年4月19日 18:01 上海
在小说阅读器读本章
去阅读
以下文章来源于汽车与基础软件 ,作者汽车与基础软件
汽车与基础软件 .
给我两年 不改变点 汽车行业的学习环境,自己注销账号,
点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
帧物理层
1.1 显性与隐形
02
错误帧的类型
错误帧的类型有
1Bit Error [Transmitter]
CAN 总线上的每个 CAN 节点都会随时监控信号电平,这意味着发送 CAN 节点也会 “回读 ”其发送的每个比特。如果发送器读取的数据位电平与其传输的数据位电平不同,则发送器会将其检测为位错误。
如果比特不匹配发生在仲裁过程中(即发送 CAN ID 时),则不会被解释为比特错误。同样,确认时隙(ACK 字段)中的不匹配也不会导致比特错误,因为 ACK 字段特别要求发送器的隐性比特被接收器的显性比特覆盖。
1Bit Stuffing Error [Receiver]
如前所述,位填充是 CAN 标准的一部分。它规定,在每 5 个连续的相同逻辑级别的比特之后,第 6 个比特必须是补码。这是通过提供上升沿来确保网络持续同步的要求。此外,它还能确保比特流不会被误解为错误帧或标志报文结束的帧间空间(7 位隐性序列)。所有 CAN 节点都会自动删除多余的比特。
如果在 CAN 报文的总线上(在 SOF 和 CRC 字段之间)发现 6 个逻辑级别相同的比特序列,接收器会将其检测为比特填充错误(又称填充错误)。
1Form Error [Receiver]
这种报文级检查利用了 CAN 报文中某些字段/比特必须始终处于特定逻辑级别这一事实。具体来说,1 位 SOF 必须是显性的,而整个 8 位 EOF 字段必须是隐性的。此外,ACK 和 CRC 定界符必须是隐性的。如果接收器发现其中任何一个比特的逻辑电平无效,接收器就会将其检测为形式错误。
1ACK Error (Acknowledgement) [Transmitter]
当发送器发送 CAN 报文时,报文将包含 ACK 字段(确认),其中发送器将发送一个隐位。所有监听的 CAN 节点都要在该字段中发送一个显性位,以验证是否收到报文(无论节点是否需要这个报文,所以这个ack变成显性,和软件本身没有关系)。如果发送机在 ACK 时隙中没有读到显性位,则发送机会将其检测为 ACK 错误。
1CRC Error (Cyclic Redundancy Check) [Receiver]
每个 CAN 报文都包含一个 15 位的循环冗余校验和字段。在这里,发送器计算出 CRC 值并将其添加到报文中。每个接收节点也会自行计算 CRC。如果接收器的 CRC 计算结果与发送器的 CRC 不一致,接收器就会将其检测为 CRC 错误。
03
节点状态与 TEC, REC
3.1 CAN节点状态
1主动错误状态
每一个节点的默认状态,其实就是主动错误状态,这并不是错误状态,而是你现在还有能力去主动上报错误的状态。大家要知道,主动上报错误,实际上是需要干扰到总线发报文的。
1被动错误状态
当REC 或者是 TEC 到达了一定的数量后,就会进入被动错误状态,注意这个被动错误状态,也不代表你真的就有故障,这只是说,你上报故障的电平就需要改变了,你往外发报文的时机就有限制了,因为这时候你有问题嫌疑,尽量不要影响总线。
1Busoff 状态
完犊子了,这时候你确诊了,真的有问题,那么进入busoff状态,把自己隔离开,不要收,也不要发,影响总线。
3.2 Counter 增加与减少
这三个状态,的counter 到底是如何增加减少的呢? 为什么有时候 +8, 有时候 +1, 有时候 -1 呢。
故障标识,分为主要故障,和次要故障(我不知道这里我命名的合适不合适,不过不重要了)。主要的目的是区分开,节点真正的识别到了总线的错误,和别人通知的错误,我们只是收到了而已,所以也可以理解为,我发现了问题,和别人给我说有问题。这里counter的不同点就是+8 还是 +1。
3.2.1 TEC +8
举个例子 当发送节点,发送bit为隐形,但是回读到的是显性,那么这个发送节点就应该把自己的TEC +8, 当然还要主动通知一下总线,我好像不对劲了,发6个连续的显性位.
3.2.2 REC +1
这时候接收节点收到了连续6个节点的显性位,就知道,哦当前总线可能不对劲,那么我们自己的REC +1。所以这样的事件,对于接收节点为 次要故障。
3.2.3 REC +8
如果接收节点收到的报文,发现E2E不对了,帧错误了,那完了,是不是我要不行了,怎么收到不对的内容了,这时候我要给自己的REC +8。
3.2.4 TEC -1
当发送节点,完全发送正常 则给自己的TEC -1
3.2.5 REC -1
当接收节点,完全接收正常 则给自己的REC -1
end
谈思汽车媒体门户
精品活动推荐
AutoSec系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、理想、极氪、小米、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯……
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚……
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用……
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、潍柴集团、地平线、紫光同芯、字节跳动、……
二级供应商(500+以上):
中科数测、ETAS、BlackDuck、NXP、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、加特兰微电子、浙江大学……
人员占比
公司类型占比
文章
不要错过哦,这可能是汽车网络安全产业最大的专属社区!
关于涉嫌仿冒AutoSec会议品牌的律师声明
一文带你了解智能汽车车载网络通信安全架构
网络安全:TARA方法、工具与案例
汽车数据安全合规重点分析
浅析汽车芯片信息安全之安全启动
域集中式架构的汽车车载通信安全方案探究
系统安全架构之车辆网络安全架构
车联网中的隐私保护问题
智能网联汽车网络安全技术研究
AUTOSAR 信息安全框架和关键技术分析
AUTOSAR 信息安全机制有哪些?
信息安全的底层机制
汽车网络安全
Autosar硬件安全模块HSM的使用
首发!小米雷军两会上就汽车数据安全问题建言:关于构建完善汽车数据安全管理体系的建议
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:谈思实验室 《CAN 的错误帧 很详细》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论