跳转到主要内容
杨月昌的硬件博客
返回

CAN总线物理层调试实战全攻略:示波器眼图+终端匹配+ACK诊断

引言

CAN总线以其卓越的抗干扰能力和多主架构,成为汽车、工业自动化、机器人等领域最可靠的现场总线。但物理层设计和调试却是初学者最容易翻车的环节——少一个120Ω终端电阻、Stub线过长、共模电压过高,都可能导致整条总线瘫痪。

本文提供一套标准化、可复制的CAN物理层调试流程,涵盖静态检查、动态验证、示波器眼图分析、ACK位快速诊断,帮助你在2019年嵌入式项目中快速定位并解决90%的物理层问题,让CAN从“反复重启”变成“一次点亮”。


1. 调试工具箱(必备三剑客)


2. CAN物理层电平核心原理

CAN采用差分信号传输,定义两种状态:

调试铁律:所有波形必须以**差分信号(CANH-CANL)**为准,单端波形容易被共模干扰迷惑。


3. 静态检查(断电必做)

  1. 终端电阻检查(最重要!)

    • 测量CANH与CANL之间电阻。
    • 标准值60Ω(两端各120Ω并联)。
    • 实测∞Ω → 漏接终端电阻。
    • 实测30Ω或更低 → 多接终端或短路。
  2. 短路检查

    • CANH对CANL、CANH对GND、CANL对GND均应开路(>1MΩ)。
  3. 线缆完整性

    • 确保使用屏蔽双绞线(推荐120Ω特性阻抗),分支线(Stub)长度严格控制在0.3m以内(1Mbps时)。

4. 动态检查(上电验证)


5. 示波器波形调试实战(核心步骤)

探头接法:CH1接CANH,CH2接CANL,Math通道做CH1-CH2(差分波形)。

关键观察点:


6. 故障排查CheckList(按顺序执行)

  1. 总线两端是否各接120Ω终端电阻?测量值是否≈60Ω?
  2. 所有节点供电是否正常?收发器是否退出Standby模式?
  3. MCU TXD是否推挽输出?上升沿是否<500ns?
  4. 差分波形幅值是否1.5~3V?边沿是否干净无振铃?
  5. 共模电压是否在1.5~3.5V?
  6. ACK位是否有接收方拉低的显性电平?
  7. 波特率是否全网一致?(常用500kbps/1Mbps)

7. 常见避坑指南


8. 总结与工程铁律

CAN物理层调试遵循**“先静态阻抗、再动态供电、最后示波器眼图+ACK验证”**的三步法。80%的通信故障都出在终端电阻、Stub长度和驱动配置上。

工程铁律

  1. 总线两端必须各接120Ω,测量值必须≈60Ω。
  2. 始终以差分波形为判断标准。
  3. ACK位是定位物理层故障的最快捷径。
  4. 高波特率(>500kbps)时,Stub长度必须严格<30cm。

掌握这套流程,你就能在最短时间内让CAN总线从“疑难杂症”变成“稳定运行”,为后续协议层开发扫清所有硬件障碍。



上一篇
混合信号传感器调理实战:反混叠滤波器设计与多通道MUX陷阱避坑
下一篇
数字电流平衡控制实战:交错升压PFC中三套方案深度对比与UCD3138实现