CAN总线错误
介
绍
在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。
CAN总线错误类型
CAN总线协议规定了5种CAN错误类型:
位错误[发送器]
位填充错误[接收器]
格式错误[接收者]
ACK应答错误(应答)[发送器]
CRC校验错误(循环冗余校验)[接收器]
在前文中,我们已经对位错误和位填充错误有所了解,这两者都是在位级别进行评估的。其余三种CAN错误类型在消息级别进行评估。下面我们详细介绍每种错误类型。
前文回顾:虹科干货 | 带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧
01
位错误
CAN总线上的每个CAN节点都会在任何给定时间监控信号电平——这意味着发送CAN节点也会“读回”它发送的每一位。如果发送器读取的数据位级别与其发送的内容不同,则发送器会将其检测为位错误。但是,如果在仲裁过程中(即发送CAN ID时)发生位不匹配,则不会将其解释为位错误。类似地,应答时隙(ACK字段)中的不匹配不会导致位错误,因为ACK字段特别要求来自发送器的隐性位被来自接收器的显性位覆盖。
02
位填充错误
如前文所述,位填充是CAN标准的一部分。它规定在同一逻辑级别的每5个连续位之后,第6位必须是补码。这是通过提供上升沿来确保网络的持续同步所必需的。此外,它确保位流不会被误解为错误帧或标记消息结束的帧间空间(7位隐性序列)。所有CAN节点都会自动删除多余的位。
如果在CAN消息内(在SOF和CRC字段之间)的总线上观察到具有相同逻辑电平的6位序列,则接收器将其检测为位填充错误,即填充错误。
03
格式错误
此消息级别检查利用CAN消息中的某些字段/位必须始终处于某个逻辑级别的事实。具体来说,1位SOF必须是显性的,而整个8位EOF字段必须是隐性的。此外,ACK和CRC界定符必须是隐性的。如果接收器发现这些位中的任何一个具有无效的逻辑电平,则接收器将其检测为格式错误。
04
ACK应答错误(应答)
当发送器发送CAN报文时,它将包含ACK字段(应答),发送器将在其中发送一个隐性位。所有侦听CAN节点都应在该字段中发送显性位以验证消息的接收(无论节点是否对消息感兴趣)。如果发送器未读取ACK时隙中的显性位,则发送器将其检测为ACK错误。
05
CRC校验错误(循环冗余校验)
每个CAN报文都包含一个15位的循环冗余校验和字段。在这里,发送器已经计算了CRC值并将其添加到消息中。每个接收节点也会自己计算CRC。如果接收器的CRC计算与发送器的CRC不匹配,接收器会将其检测为CRC错误。
-
CAN
+关注
关注
57文章
2775浏览量
464571
发布评论请先 登录
相关推荐
![](https://file1.elecfans.com/web3/M00/06/ED/wKgZO2eQqu2AWp2MAAMRlVDS1e0608.jpg)
CAN总线与LIN总线的区别
CAN总线的主要优势与不足
CAN总线常见错误码及其解决方法
CAN总线通信协议详解
CAN总线的接口类型
虹科培训 | CiA协会CAN总线实训开班,新一代CAN网络CAN XL
![<b class='flag-5'>虹</b><b class='flag-5'>科</b>培训 | CiA协会<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>实训开班,新一代<b class='flag-5'>CAN</b>网络<b class='flag-5'>CAN</b> XL](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
虹科技术 | PCAN View功能细讲:从实时监测到错误帧分析
![<b class='flag-5'>虹</b>科技术 | PCAN View功能细讲:从实时监测到<b class='flag-5'>错误</b>帧分析](https://file1.elecfans.com/web2/M00/C5/AB/wKgaomX31SOADCu4AATGCXryzOI634.png)
![](https://file1.elecfans.com/web2/M00/C4/7E/wKgZomXz5zqANS5aAAFl1-tDd4M163.png)
评论