CAN总线错误处理看这里就对了!

智能汽车电子与软件 2023-06-21 17:04

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

来源:车端 初光

1 CAN总线错误类型

为了防止故障节点干扰甚至阻塞整个CAN网络系统,CAN协议实现了复杂的故障限制机制。为了保证通信的正常,CAN 2.0 总线协议总线中各节点需要采取以下措施进行错误检测:

  • 监视(对发送位的电平与被监控的总线电平进行比较)
  • 循环冗余检查
  • 位填充
  • 报文格式检查

CAN协议具有检测错误的能力。但是如果发生错误,它无法纠正错误。因此,如果发生错误,检测到的节点或ECU将向CAN网络发送错误帧。与之相对应的CAN 2.0 总线协议定义参与通信的CAN节点错误类型如下:

  • 位错误(Bit Error) 发送的位值和总线监视的位值不相符合时,检测到一个位错误(除仲裁场、应答场外);

  • 填充错误(Stuff Error)

如果在使用位填充编码的位流中,出现了第六个连续相同的位电平,将检测到一个位填充错误;

  • 形式错误 (Form Error)

当一个固定形式的位场含有一个或多个非法位时,将检测到一个形式错误;

  • 应答错误 (Acknowledgment Error)

在应答间隙(ACK SLOT)所监视的位不为“显性”,则会检测到一个应答错误;

  • CRC 错误(CRC Error)

如果接收器的CRC结果和发送器的CRC结果不同,将检测到一个CRC错误。

2 CAN总线错误处理机制

每个CAN控制器都有自己的CAN总线错误处理程序。为了处理这个问题,每个CAN控制器有两个计数器寄存器(0 – 255),即:发送错误计数器 (TEC) 和接收错误计数器 (REC) 。如果5个错误中发生任何一个发生错误,它将根据错误类型增加 TEC 或 REC。Tips:一个特例:如果CAN总线上只有一个节点,该节点发送数据帧后得不到响应(ACK),其发送计数器TEC最大只能计到128,即该节点只能进入错误被动状态,而不会进入总线关闭状态,这就是为什么当您没有将任何设备连接到网络时,您的ECU将持续发送帧,但不会检测到总线关闭并保持错误被动状态。

错误计数器的递增和递减操作是不对称的。在成功传输或接收消息时,如果相应的错误计数器未为零,则相应的错误计数器将递减。在传输或接收错误的情况下,计数器将递增,但递增值大于递减值。具体错误限制管理规则如下:

a) 当接收器检测到错误时,接收错误计数器REC+ 1。例外:发送活动错误标志、过载标志期间的位错误。

b) 当接收器在发送错误标志后检测到显性位作为第一位时,接收错误计数器REC+8。

c) 当发送器发送错误标志时,发送错误计数器REC+8。

    1) 例外 1:如果发送器是错误被动状态,并且由于未检测到显性 ACK 而检测到 ACK 错误,并且在发送其被动错误标志时未检测到显性位。
2) 例外 2:如果发送方因为仲裁期间发生填充错误而发送错误标志,因此,填充位应该是隐性的,并且已作为隐性发送但被监视为主导的。
在这两种例外情况下,传输错误计数器保持不变。

d) 如果发送器在发送活动错误标志或过载标志时检测到位错误,则发送错误计数器TEC+8。

e) 如果接收器在发送活动错误标志或过载标志时检测到位错误,则接收错误计数器TEC+8。

f) 在发送活动错误标志、被动错误标志或过载标志后,任何节点都应容忍最多7 个连续显性位。在检测到第14个连续显性位后(在活动错误标志或过载标志的情况下)或在被动错误标志后检测到第 8 个连续显性位之后,并且每当在出现额外的8个连续显性位序列之后,REC和TEC都需要+8。

g) 成功传输一个帧后(收到 ACK 并且没有检测到错误,直到 EOF 被检测到完成),传输错误计数器应减1,直到为0。

h) 成功接收一个帧后(接收到 ACK 时隙没有错误并且成功ACK 位的发送),接收错误计数器应减 1,如果它介于1和127。如果接收错误计数器为0,则应保持为零 (0),如果它大于127,则应将其设置为介于119和127。

3 什么是CAN协议中的故障限制

故障限制是一种检查机制,可以区分短时干扰(例如电缆的噪声耦合到传输介质)和永久性故障(例如,节点发生故障并干扰总线). CAN通信节点的状态分为暂时错误(Error active和Error Passive)和永久性故障(Bus Off);

  1. 永久性故障节点自动脱离总线,防止网络锁定;Bus Off恢复需要满足于以下两个条件:

  • 在bus off发生后,总线上已经检测到了128次11个连续的隐性位(逻辑"1");

  • 用户程序请求恢复,通常MCU中的CAN控制器都可以支持自动恢复和手动恢复两种方式。CAN总线的bus off恢复需要满足整车的网络管理规范。

  • 处于暂时错误(Error active和Error Passive)状态的CAN 2.0总线节点,其状态可以根据其发送错误计数器(TEC)和接收错误计数器(REC)值的变化,自动切换,而进入永久性故障(Bus Off))状态的节点,必须进入重新初始化才能恢复:

  • 因此,节点可能处于以下三种可能的错误状态之一:

    错误活动状态。错误被动状态。错误总线关闭状态。

    1. CAN协议中的错误主动状态

    当CAN设备通电时,它以错误活动状态启动。处于错误活动状态的设备通常可以参与CAN通信。它还会在检测到错误时传输主动错误标志。此主动错误标志(表示主导 0 位序列)会导致当前帧传输中止,从而导致同一消息的后续重新传输。

    其中两个错误计数器(TEC 和 REC)在错误活动状态下都小于 128。它完全参与总线通信,并通过传输活动错误帧来发出错误信号。这包括 6 个主导位的序列,后跟 8 个隐性位,所有其他节点都使用适当的错误标志进行响应,以响应违反位填充规则。

    2. CAN协议中的错误被动状态

    如果发送错误计数器或接收错误计数器大于127,CAN设备将进入错误被动状态。处于错误被动状态的设备仍然可以参与通信,但在检测到任何错误时会传输被动错误标志。此被动错误标志(隐性 1 位序列)通常不会中止其他设备(如错误主动帧)传输的帧。

    此外,错误被动节点必须在消息传输后等待额外的时间(Suspend Transmission Field,ITM后的 8 个隐性位),然后才能启动新数据。

    3. CAN协议中的总线关闭状态

    如果CAN控制器的发送误差计数器超过255,则进入总线关闭状态。它与总线断开连接(使用内部逻辑),不再参与总线活动。简单地说,我们可以说物理上与总线连接和逻辑上断开连接。为了重新连接协议控制器,必须执行Bus Off recovery sequence。这通常涉及主机系统对CAN控制器的重新初始化和配置,之后它将等待(128 * 11)隐性位时间,然后再开始通信。

    关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

    智能汽车电子与软件 专注于汽车电子领域的信息交融平台,涵盖汽车电子行业资讯、市场动态、技术干货、知识见解、行业趋势等资讯深度覆盖。
    评论 (0)
    •   基于 2025 年行业权威性与时效性,以下梳理国内知名软件定制开发企业,涵盖综合型、垂直领域及特色技术服务商:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司:是一家专业的部队信
      华盛恒辉l58ll334744 2025-05-12 16:13 236浏览
    •   电磁数据管理系统深度解析   北京华盛恒辉电磁数据管理系统作为专业的数据处理平台,旨在提升电磁数据的处理效率、安全性与可靠性。以下从功能架构、核心特性、应用场景及技术实现展开分析:   应用案例   目前,已有多个电磁数据管理系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据管理系统。这些成功案例为电磁数据管理系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与接入:实时接收天线、频谱仪等设备数据,兼容多协议接口,确保数据采集的全面性与实时性
      华盛恒辉l58ll334744 2025-05-13 10:59 202浏览
    • 文/Leon编辑/cc孙聪颖‍2025年1月至今,AI领域最出圈的除了DeepSeek,就是号称首个“通用AI Agent”(智能体)的Manus了,其邀请码一度被炒到8万元。很快,通用Agent就成为互联网大厂、AI独角兽们的新方向,迅速地“卷”了起来。国外市场,Open AI、Claude、微软等迅速推出Agent产品或构建平台,国内企业也在4月迅速跟进。4月,字节跳动、阿里巴巴、百度纷纷入局通用Agent市场,主打复杂的多任务、工作流功能,并对个人用户免费。腾讯则迅速更新腾讯元器的API接
      华尔街科技眼 2025-05-12 22:29 95浏览
    • 在全球供应链紧张和国产替代需求推动下,国产存储芯片产业快速发展,形成设计到封测一体化的完整生态。北京君正、兆易创新、紫光国芯、东芯股份、普冉股份和佰维存储等六大上市公司在NOR/NAND Flash、DRAM、嵌入式存储等领域布局各具特色,推动国产替代提速。贞光科技代理的品牌紫光国芯,专注DRAM技术,覆盖嵌入式存储与模组解决方案,为多领域客户提供高可靠性产品。随着AI、5G等新兴应用兴起,国产存储厂商有望迎来新一轮增长。存储芯片分类与应用易失性与非易失性存储芯片易失性存储芯片(Volatile
      贞光科技 2025-05-12 16:05 154浏览
    • 在印度与巴基斯坦的军事对峙情境下,歼10C的出色表现如同一颗投入平静湖面的巨石,激起层层涟漪,深刻印证了“质量大于数量”这一铁律。军事领域,技术优势就是决定胜负的关键钥匙。歼10C凭借先进的航电系统、强大的武器挂载能力以及卓越的机动性能,在战场上大放异彩。它能够精准捕捉目标,迅速发动攻击,以一敌多却毫不逊色。与之形成鲜明对比的是,单纯依靠数量堆砌的军事力量,在面对先进技术装备时,往往显得力不从心。这一现象绝非局限于军事范畴,在当今社会的各个领域,“质量大于数量”都已成为不可逆转的趋势。在科技行业
      curton 2025-05-11 19:09 227浏览
    • ‌磁光克尔效应(Magneto-Optic Kerr Effect, MOKE)‌ 是指当线偏振光入射到磁性材料表面并反射后,其偏振状态(偏振面旋转角度和椭偏率)因材料的磁化强度或方向发生改变的现象。具体表现为:1、‌偏振面旋转‌:反射光的偏振方向相对于入射光发生偏转(克尔旋转角 θK)。2、‌椭偏率变化‌:反射光由线偏振变为椭圆偏振(克尔椭偏率 εK)。这一效应直接关联材料的磁化状态,是表征磁性材料(如铁磁体、反铁磁体)磁学性质的重要非接触式光学探测手段,广泛用于
      锦正茂科技 2025-05-12 11:02 272浏览
    •   电磁数据展示系统平台解析   北京华盛恒辉电磁数据展示系统平台是实现电磁数据高效展示、分析与管理的综合性软件体系,以下从核心功能、技术特性、应用场景及发展趋势展开解读:   应用案例   目前,已有多个电磁数据展示系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据展示系统。这些成功案例为电磁数据展示系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与预处理   智能分析处理   集成频谱分析、时频变换等信号处理算法,自动提取时域频域特征;
      华盛恒辉l58ll334744 2025-05-13 10:20 254浏览
    •   定制软件开发公司推荐清单   在企业数字化转型加速的2025年,定制软件开发需求愈发多元复杂。不同行业、技术偏好与服务模式的企业,对开发公司的要求大相径庭。以下从技术赛道、服务模式及行业场景出发,为您提供适配的定制软件开发公司推荐及选择建议。   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转
      华盛恒辉l58ll334744 2025-05-12 15:55 302浏览
    • 感谢面包板论坛组织的本次测评活动,本次测评的对象是STM32WL Nucleo-64板 (NUCLEO-WL55JC) ,该测试板专为LoRa™应用原型构建,基于STM32WL系列sub-GHz无线微控制器。其性能、功耗及特性组合经过精心挑选,支持通过Arduino® Uno V3连接,并利用ST morpho接头扩展STM32WL Nucleo功能,便于访问多种专用屏蔽。STM32WL Nucleo-64板集成STLINK-V3E调试器与编程器,无需额外探测器。该板配备全面的STM
      无言的朝圣 2025-05-13 09:47 95浏览
    • 在 AI 浪潮席卷下,厨电行业正经历着深刻变革。AWE 2025期间,万得厨对外首次发布了wan AiOS 1.0组织体超智能系统——通过AI技术能够帮助全球家庭实现从健康检测、膳食推荐,到食材即时配送,再到一步烹饪、营养总结的个性化健康膳食管理。这一创新之举并非偶然的个案,而是整个厨电行业大步迈向智能化、数字化转型浪潮的一个关键注脚,折射出全行业对 AI 赋能的热切渴求。前有标兵后有追兵,万得厨面临着高昂的研发成本与技术迭代压力,稍有懈怠便可能被后来者赶
      用户1742991715177 2025-05-11 22:44 173浏览
    我要评论
    0
    0
    点击右上角,分享到朋友圈 我知道啦
    请使用浏览器分享功能 我知道啦