当前位置:首页 > 嵌入式 > 嵌入式分享

异步通信因无全局时钟、依赖帧结构同步,易受电磁干扰、总线衰减、节点故障导致数据错误。CAN 总线通过 “多层级错误检测”、“错误计数器与状态机”、“总线离线隔离” 三大机制,构建了高可靠的容错体系,确保即使在恶劣环境中,仍能维持通信稳定,避免故障节点扩散错误。

(一)多层级错误检测:覆盖通信全流程

CAN 总线定义了五种核心错误类型,通过硬件级检测机制,覆盖从位传输到帧结束的全流程,确保错误能被快速识别:

位错误(Bit Error):发送方发送一位数据后,在采样点检测到总线电平与自身发送电平不一致(ACK 槽除外),判定为位错误。例如,发送方发送显性位,却检测到总线为隐性位,可能是总线短路或其他节点干扰导致。

填充错误(Stuff Error):CAN 协议规定 “连续 5 个相同位后必须插入 1 个相反位(位填充)”,接收方若检测到连续 6 个相同位且非帧结束,判定为填充错误。填充错误通常源于发送方位填充逻辑故障或总线信号干扰导致的位丢失。

CRC 错误(CRC Error):接收方计算的 CRC 值与发送方的 CRC 场不一致,判定为 CRC 错误。CRC 错误是数据传输错误的直接体现,可能由电磁干扰导致的数据位翻转引起。

ACK 错误(Acknowledgment Error):发送方在 ACK 槽发送隐性位后,未检测到总线的显性位(无节点确认接收),判定为 ACK 错误。ACK 错误说明无节点正确接收帧,可能是总线断路或所有接收节点故障。

帧格式错误(Form Error):接收方检测到帧结构中的固定字段(如 CRC 界定符、ACK 界定符、帧结束)应为隐性位却出现显性位,判定为帧格式错误。帧格式错误通常源于发送方帧结构构建错误或总线严重干扰。

这些错误检测均由 CAN 控制器硬件实时执行,无需 MCU 干预,检测延迟仅为 1~2 TQ,确保错误能在帧传输过程中被快速识别,避免错误数据被处理。

(二)错误计数器与状态机:动态调整节点行为

CAN 控制器内置 “发送错误计数器(TEC)” 与 “接收错误计数器(REC)”,通过计数器数值动态调整节点的错误状态,实现 “分级容错”—— 根据错误严重程度,节点分为 “错误主动(Error Active)”、“错误被动(Error Passive)”、“总线离线(Bus-Off)” 三种状态,避免故障节点持续干扰总线:

错误主动状态(默认状态):TEC96 REC96,节点具备完整的发送与错误处理能力。检测到错误时,节点发送 “主动错误帧”(6 个显性位 + 8 个隐性位),通知所有节点存在错误,并根据错误类型更新计数器(如位错误 TEC+8REC+8);发送成功时,TEC-1(最低为 0),接收成功时,REC-1(最低为 0)。

错误被动状态:TEC>96 REC>96,节点因错误较多,限制发送能力以减少干扰。检测到错误时,节点发送 “被动错误帧”(6 个隐性位 + 8 个隐性位),不主动触发总线显性位;发送数据时,需等待总线空闲 11 个隐性位后才能发送,避免与其他节点冲突;当 TEC96 REC96 时,恢复为错误主动状态。

总线离线状态:TEC>255,节点因严重错误被隔离。此时节点完全停止发送数据(包括错误帧),仅监听总线,当检测到 128 次连续 11 个隐性位(总线空闲)时,TEC REC 清零,恢复为错误主动状态。总线离线状态是最后的容错手段,避免故障节点(如 CAN 收发器短路)持续发送错误帧,导致整个总线瘫痪。

例如,汽车中的某传感器节点因线路接触不良,持续发送位错误帧,TEC 0 逐步增加:TEC=8(第一次错误)→ TEC=96(第 12 次错误)→ TEC=97(第 13 次错误,进入错误被动状态)→ TEC=256(第 32 次错误,进入总线离线状态)。离线后,节点停止发送,避免干扰发动机 ECUABS 控制器等核心节点;当线路修复,节点检测到 128 次总线空闲后,恢复正常通信,确保汽车行驶安全。

(三)差分信号与总线拓扑:物理层抗干扰设计

CAN 异步通信的可靠性不仅依赖协议层机制,还需物理层的抗干扰设计 —— 通过差分信号传输、总线拓扑优化、终端电阻匹配,减少电磁干扰与信号衰减,为异步通信提供稳定的物理基础。

差分信号传输:CAN 总线采用 CAN_H CAN_L 两根双绞线传输差分信号,显性位时 CAN_H=3.5VCAN_L=1.5V(差分电压 2V),隐性位时 CAN_H=CAN_L=2.5V(差分电压 0V)。差分信号的优势在于 “抗共模干扰”—— 电磁干扰(如电机噪声、射频信号)会同时影响 CAN_H CAN_L,产生相同的共模电压,而接收方仅检测差分电压,共模干扰被抵消,大幅提升抗干扰能力。例如,工业车间的电机启动时产生强电磁干扰,共模电压可达 1V,但差分电压仍稳定在 2V,接收方仍能准确识别显性位。

总线拓扑与终端电阻:CAN 总线采用 “线性总线拓扑”(所有节点并联在 CAN_H/CAN_L 上),避免星形、树形拓扑导致的信号反射;总线两端的节点需接入 120Ω 终端电阻,匹配总线特性阻抗(双绞线特性阻抗约 120Ω),减少信号反射。信号反射会导致总线电平出现毛刺,引发位错误,终端电阻可将反射信号吸收,确保信号完整性。例如,100 米长的 CAN 总线,若未接终端电阻,信号反射会导致显性位电平波动 ±0.5V,接终端电阻后波动小于 ±0.1V,满足异步通信的采样要求。

总线保护措施:实际应用中,CAN 总线还需加入过压保护(如 TVS 二极管)、过流保护(如自恢复保险丝),防止雷击、电源浪涌导致的收发器损坏。例如,汽车 CAN 总线在 CAN_H/CAN_L 与地之间并联 TVS 二极管(型号 SMBJ6.5CA),当总线电压超过 6.5V 时,TVS 二极管击穿,将过压电流导入地,保护 CAN 收发器(如 TJA1050)不被烧毁。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

新德里2026年2月7日 /PRNewswire/ -- 互联网名称与数字地址分配机构(ICANN)将于2026年3月7日至12日在孟买召开第85届公共会议,本次会议由印度电...

关键字: CAN 互联网 IC 电子

洛杉矶2026年1月30日 /美通社/ -- 互联网名称与数字地址分配机构(ICANN)提名委员会(NomCom)现已开放加入ICANN董事会的申请。 新任董事会成员的任期将...

关键字: CAN IC 互联网 BSP

上海2026年1月20日 /美通社/ -- 近日,Lucanet蓝科大股东、全球知名软件投资机构Hg宣布以约64亿美元收购并私有化财务绩效管理巨头OneStream(纳斯达克代码:OS)。 *OneStrea...

关键字: CAN NET STREAM 软件

在嵌入式系统开发中,控制器局域网(CAN)总线作为实时性要求高的工业控制核心通信协议,其重要性日益凸显。从汽车电子到工业自动化,CAN总线凭借其卓越的抗干扰能力和多主通信机制,成为分布式系统设计的首选方案。

关键字: 嵌入式系统 CAN

CAN(Controller Area Network)总线起源于1983年德国博世公司为汽车电子系统设计的串行通信协议,旨在解决传统点对点布线导致的线束冗余、故障率高等问题。

关键字: CAN CAN协议

北京2025年12月15日 /美通社/ -- 在中国内容创作的节奏加快、审美趋势不断演变、AI 技术深度进入日常表达的背景下,全球视觉传播与协作平台 Canva可画于2025年12月12日举办年度分享会,发布《Canva...

关键字: CAN AI BSP 模板

ICANN发布《2026年指南》及其他资源,为计划于2026年4月申请新域名后缀的机构提供支持 洛杉矶2025年12月17日 /美通社/ -- 互联网正不断演进——随着用户...

关键字: IC CAN 互联网 计算机

上海2025年12月2日 /美通社/ -- 11月26日,Lucanet蓝科中国受邀参加备受业界瞩目的"财界奥斯卡"盛会 —— CGMA2025全球管理会计年度中国大奖暨CFO高峰论坛。此次盛会汇聚了...

关键字: CAN NET 可持续发展 智能化

强大的实时检测解决方案可高效识别AI生成歌曲,为串流平台、音乐发行商及版权协会提供关键支持 美国加州圣克拉拉 2025年11月21日 /美通社/ -- 全球领先的...

关键字: AI BSP CAN DETECTOR
关闭