当前位置:网站首页>虹科分享 | 带你全面了解“CAN总线错误”(三)——CAN节点状态与错误计数器
虹科分享 | 带你全面了解“CAN总线错误”(三)——CAN节点状态与错误计数器
2022-07-29 05:25:00 【虹科工业通讯事业部】
在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。
显然,CAN错误处理有助于去除错误消息,并使CAN节点能够重新进行错误消息的传输。这确保了短暂的局部干扰(例如来自噪声)不会导致无效/丢失数据。相反,发送器将会尝试重新发送消息。如果它赢得仲裁(并且没有错误),则消息发送成功。
但是,如果错误是由于传输节点中的系统故障引起的怎么办?这可能会触发发送/去除相同消息的无限循环——干扰CAN总线。这就是CAN节点状态和错误计数器发挥作用的地方。
简而言之,CAN错误跟踪的目的是通过降低有问题的CAN节点的权限来限制错误。具体来说,让我们看看三种可能的状态:
- 错误活动:这是每个CAN节点的默认状态,在该状态下它能够传输数据并在检测到错误时引发“活动错误标志”
- 被动错误:在这种状态下,CAN节点仍然能够传输数据,但现在在检测到错误时会引发“被动错误标志”。此外,CAN节点现在除了等待3位中断时间外,还必须等待额外的8位(也称为暂停传输时间)才能恢复数据传输(以允许其他CAN节点控制总线)
- 总线关闭:在此状态下,CAN节点将自身与CAN总线断开连接,无法再传输数据或引发错误标志
每个CAN控制器都会跟踪自己的状态并采取相应的行动。CAN节点根据其错误计数器的值转换状态。具体来说,每个CAN节点都会跟踪发送错误计数器(TEC)和接收错误计数器(REC): - 如果REC或TEC超过127,则CAN节点进入ErrorPassive状态
- 如果TEC超过255,则CAN节点进入总线关闭状态
那么错误计数器如何变化呢?在我们了解如何增加/减少错误计数器的逻辑之前,让我们重新审视CAN错误帧以及主要/次要错误标志。
从CAN错误帧图示中可以明显看出,在CAN错误帧的6个显性位序列之后观察到显性位的CAN节点将知道它引发了主要错误标志。在这种情况下,我们可以将此CAN节点称为错误的“发现者”。
起初,让一个CAN节点反复发现错误并通过在其他节点之前发出错误标志来迅速做出反应,这听起来可能是积极的。然而,在实践中,发现者通常也是导致错误的罪魁祸首。
在实际应用中,通常可以采用CAN记录仪来对CAN错误进行记录,并通过对CAN数据进行分析来找到故障原因,比如使用虹科CAN记录仪可以轻松地将数据从2xCAN/LIN总线记录到8-32GB的SD卡中,或通过WiFi将数据自动传输到服务器中,因此只需要将其连接到汽车或卡车即可开始记录,并通过免费软件/API解码数据。
更多信息欢迎私信/评论/联系400-999-3848
边栏推荐
猜你喜欢
一些工具,插件,软件链接分享给大家~
Operating system interview questions
Leetcode 283. move zero
Leetcode 13. Roman numeral to integer
[beauty of software engineering - column notes] 13 | how to break the rhythm of writing code during daytime meetings and overtime?
Sqlyog installation and configuration tutorial
动态规划总结
官方教程 Redshift 02 4中GI引擎概述及总结
Leetcode 1. sum of two numbers
Leetcode 977. Square of ordered array
随机推荐
LeetCode #167.两数之和 II - 输入有序数组
LeetCode #26.删除有序数组中的重复项
位运算学习笔记
LeetCode #35.搜索插入位置
LeetCode #557.反转字符串中的单词 III
leetcode刷题笔记 605. Can Place Flowers (Easy) 605.种花问题
官方教程 Redshift 09 Camera
Overview and summary of GI engine in redshift 024, the official tutorial
leetcode刷题笔记 452. Minimum Number of Arrows to Burst Balloons (Medium) 452.用最少数量的箭引爆气球(中等)
Official tutorial redshift 05 AOVs
Mathematical modeling experience
Learning notes of bit operation
Computer network interview questions
官方教程 Redshift 04 渲染参数
SQL Developer图形化窗口创建数据库(表空间和用户)
太原市公交路线爬取
Official tutorial redshift 04 rendering parameters
c语言面试准备一(谈谈理解系类)
Linked list -------------------------- tail insertion method
Install MySQL from scratch (MySQL installation document - unzipped version)