can test 接收报文_总线架构30讲,啥是CAN错误帧?真的那么烦人吗?(1/5)

错误帧是CAN总线出错时发送的信号,用于通知总线上其他节点。它由主动错误标志、被动错误标志和错误界定符组成。错误检测涉及位填充规则,错误类型包括位错误、ACK错误等。节点根据错误状态决定发送主动或被动错误标志,并在特定时间点发送错误帧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所谓错误帧,就是总线出错了。

什么是错误帧呢?为什么会产生错误帧呢?出现错误帧该怎么办呢?我们通过5篇文章来讲清楚这个问题~

01

错误帧的帧结构

在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。

错误帧由错误标志和错误界定符两个部分组成。 c8d9cb57e9175e7d16d21f24d28afba9.png

主动错误标志:6个连续的显性位;

被动错误标志:6个连续的隐性位;

错误界定符:8个连续的隐性位。

可以看到在错误标志之后还有0~6位的错误标志重叠,这一段最低有0个位,最多有6个位,关于这一段是怎么形成的,将在下文中解释。

02

错误帧是怎么检测的

2.1 位填充原则

在了解CAN总线中的错误检测之前,首先需要了解什么是位填充。CAN协议中规定,当相同极性的电平持续五位时,则添加一个极性相反的位。

0483f8474af2ce87420ace6f95853f8f.png

对于发送节点而言:在发送数据帧和遥控帧时,对于SOF~CRC(除去CRC界定符) 之间的位流,相同极性的电平如果持续5位,那么在下一个位插入一个与之前5位反型的电平;对于接收节点而言:在接收数据帧和遥控帧时,对于**SOF~CRC(除去CRC界定符)**之间的位流,相同极性的电平如果持续5位,那么需要删除下一位再接收。 5e3794f327c2e1b5c424318c4b4a97a3.pngTips: 注意:填充位的添加和删除是由发送节点和接收节点完成的,CAN-BUS只负责传输,不会操纵信号。

03

错误帧的种类

在CAN总线通信中,一共有五种错误:
  • 位错误

  • ACK错误

  • 填充错误

  • CRC错误

  • 格式错误

3.1 位错误(Bit Check Error)节点将自己发送到总线上的电平与同时从总线上回读到的电平进行比较,如果发现二者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值