0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科干货 | 带你全面了解“CAN总线错误”(三)——CAN节点状态与错误计数器

虹科智能自动化 2022-06-09 09:46 次阅读

A simple intro to CAN errors

CAN总线错误

在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。

前文回顾

虹科干货 | 带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧

虹科干货 | 带你全面认识“CAN总线错误”(二)——CAN错误类型

显然,CAN错误处理有助于去除错误消息,并使CAN节点能够重新进行错误消息的传输。这确保了短暂的局部干扰(例如来自噪声)不会导致无效/丢失数据。相反,发送器将会尝试重新发送消息。如果它赢得仲裁(并且没有错误),则消息发送成功。

但是,如果错误是由于传输节点中的系统故障引起的怎么办?这可能会触发发送/去除相同消息的无限循环——干扰CAN总线。这就是CAN节点状态和错误计数器发挥作用的地方。

031765b4-e291-11ec-b80f-dac502259ad0.jpg

CAN错误跟踪的目的是通过降低有问题的CAN节点的权限来限制错误。具体来说,让我们看看三种可能的状态:

1

活动错误:这是每个CAN节点的默认状态,在该状态下它能够传输数据并在检测到错误时引发“活动错误标志”

2

被动错误:在这种状态下,CAN节点仍然能够传输数据,但现在在检测到错误时会引发“被动错误标志”。此外,CAN节点现在除了等待3位中断时间外,还必须等待额外的8位(也称为暂停传输时间)才能恢复数据传输(以允许其他CAN节点控制总线)

3

总线关闭:在此状态下,CAN节点将自身与CAN总线断开连接,无法再传输数据或引发错误标志

033e1ac4-e291-11ec-b80f-dac502259ad0.png

每个CAN控制器都会跟踪自己的状态并采取相应的行动。CAN节点根据其错误计数器的值转换状态。具体来说,每个CAN节点都会跟踪发送错误计数器(TEC)和接收错误计数器(REC):

如果REC或TEC超过127,则CAN节点进入被动错误状态

如果TEC超过255,则CAN节点进入总线关闭状态

那么错误计数器如何变化呢?在我们了解如何增加/减少错误计数器的逻辑之前,让我们重新审视CAN错误帧以及主要/次要错误标志。

从CAN错误帧图示中可以明显看出,在其自己的6个显性位序列之后观察到显性位的CAN节点将知道它引发了主要错误标志。在这种情况下,我们可以将此CAN节点称为错误的“发现者”。

起初,让一个CAN节点反复发现错误并通过在其他节点之前发出错误标志来迅速做出反应,这听起来可能是积极的。然而,在实践中,发现者通常也是导致错误的罪魁祸首。

0373b954-e291-11ec-b80f-dac502259ad0.jpg

虹科CAN/LIN数据与错误记录器

虹科CANedge1让您可以轻松地将数据从2xCAN/LIN总线记录到8-32GB的SD卡中,并支持记录CAN/LIN错误。只需将其连接到汽车或卡车即可开始记录,并通过免费软件/API解码数据。此外,升级版CANedge2添加了WiFi功能,让您可以将数据自动传输到您自己的服务器,并通过无线方式更新设备。

除此之外,虹科还为客户提供CAN卡、数据采集模块、CAN网关和转换器硬件设备,和PCAN-Explore 6等软件。若想了解更多关于CAN技术服务和CAN产品,请随时通过sales@hkaco.com联系虹科。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459239
收藏 人收藏

    评论

    相关推荐

    STM32L471 CAN通信中TEC计数器到了250逼近255,为什么CAN_ESR寄存全部清空了呢?

    的数据(其中的x表示任意数值) [CRNR]表示A设备接收到的CAN总线上的数据 eg: [CANR-1-r0-t27-l0-f0] 表示: r0 表示REC错误计数器为0, t27表
    发表于 04-02 07:29

    高速CAN总线和低速CAN总线的特性

    高速CAN总线和低速CAN总线的特性 高速CAN总线和低速C
    的头像 发表于 01-31 14:09 811次阅读

    如何用示波器排查CAN的各种错误帧呢?

    如何用示波器排查CAN的各种错误帧呢? 导言: 控制器局域网络(Controller Area Network,CAN)是一种常用的现场总线通信协议,广泛应用于汽车电子系统、工业自动化
    的头像 发表于 12-07 11:09 642次阅读

    踩坑了,踩坑了!这次又败在CAN总线手上了!

    CAN 协议所述,错误管理完全由硬件通过发送错误计数器CAN_ESR 寄存器中的 TEC 值)和接收
    的头像 发表于 10-20 15:27 500次阅读
    踩坑了,踩坑了!这次又败在<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>手上了!

    Full CAN与Basic CAN配置错误导致信号跳变问题剖析

    工程项目中,大家可能会注意到:不管哪家主机厂的网络拓扑,CAN总线是不可或缺的一种总线。所以,了解CAN
    的头像 发表于 10-01 10:16 549次阅读
    Full <b class='flag-5'>CAN</b>与Basic <b class='flag-5'>CAN</b>配置<b class='flag-5'>错误</b>导致信号跳变问题剖析

    CAN总线错误处理介绍

    每个节点维护两个错误计数器:传送错误计数器和接收错误计数器
    的头像 发表于 09-20 17:09 951次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>处理介绍

    CAN总线错误分析与解决

    1、CAN总线的常见故障 CAN总线错误分析与解决 当CAN
    的头像 发表于 09-14 16:30 1857次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>分析与解决

    STM32 CAN接收/发送错误寄存器如何清零?

    中,每一个节点都有一个CAN控制器,CAN控制器通过内部寄存器和接口与CAN总线连接。其中,在CAN
    的头像 发表于 09-14 14:22 2797次阅读

    示波器破解CAN错误帧/BusOff的经验分享

    MCU内置了CAN控制器用来将MCU的数据封装为CAN帧格式,同时它也负责CAN帧的校验和错误帧的处理。控制器封装好的逻辑报文经TX RX送到CAN
    发表于 09-08 09:19 783次阅读

    认识CAN总线错误 CAN总线错误分析与解决

    认识CAN 总线错误的第一步就是了解认识CAN 总线协议和它的具体功能,这样才能更容易地理解
    发表于 08-14 15:18 3609次阅读
    认识<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b> <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>分析与解决

    CAN总线错误分析与解决 CAN节点发送错误不成功是什么原因

    CAN总线状态直接进入了BUS OFF状态,这意味着错误计数已经超限,查看CPU收发寄存器的收发错误
    发表于 08-01 14:37 3406次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>分析与解决 <b class='flag-5'>CAN</b><b class='flag-5'>节点发送错误</b>不成功是什么原因

    一文读懂CAN总线错误处理

    为了防止故障节点干扰甚至阻塞整个CAN网络系统,CAN协议实现了复杂的故障限制机制。为了保证通信的正常,CAN 2.0 总线协议
    发表于 06-21 17:14 2128次阅读
    一文读懂<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>处理

    基于FPGA的CAN总线通信节点设计

    节点的硬件接口电路。基于对CAN 总线控制器的功能分析, 并应用Verilog语言进行软件设计, 从而实现CAN节点之间的通信功能。 0 引
    的头像 发表于 06-18 11:15 1993次阅读

    CAN总线错误分析与解决

    我们知道,CAN总线上的每个节点总线上发送数据的同时,会读取总线上的数据,并与自己发送的数据作对比。
    发表于 06-07 09:32 1447次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>错误</b>分析与解决

    CAN 总线错误检测机制#can总线

    CAN 总线
    北汇信息POLELINK
    发布于 :2023年05月26日 13:54:03