技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新品推广

提供新的芯片及解决方案,提升客户产品竞争力

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

为什么单片机CAN总线离线?

更新时间: 2026-03-31
阅读量:11

CAN总线离线(Bus-Off)与错误计数器溢出,本质是CAN控制器的自我保护机制:节点检测到错误时,发送错误计数器(TEC)或接收错误计数器(REC)会递增,一旦超过阈值,节点会主动断开总线连接,避免故障影响整个网络。错误计数器溢出的原因,可从硬件和软件两层排查。

一、硬件与物理层问题

1.波特率不匹配:总线上所有节点波特率(含采样点)需严格一致,微小偏差会导致采样错误,使TEC持续累加直至离线。
2.总线拓扑与终端电阻错误:需采用直线型拓扑,两端各放置120欧姆终端电阻;星型拓扑、电阻缺失或位置错误,会导致信号反射、振铃及位错误。
3.信号干扰与物理故障:强电磁干扰、CAN_H与CAN_L短路、线缆过长或接触不良,会直接引发CRC校验、填充位或ACK应答错误,触发计数器递增。

二、软件与协议层问题

1.发送频率过高:无节制循环发送、缺乏有效退避/重试策略,会导致总线繁忙或错误时反复重试,TEC快速攀升。
2.错误恢复策略不当:进入被动错误状态后未主动介入(如暂停发送、记录日志),或未及时处理/清除中断标志,会导致TEC突破255触发离线。
3.CAN控制器配置错误:模式(如静默模式)、滤波器或时钟分频器配置不当,会引发异常计数。

以上就是英锐恩单片机开发工程师分享的为什么单片机CAN总线离线原因排查。英锐恩专注单片机应用方案设计与开发,提供8位单片机、32位单片机。