CANopen 硬件调试与信号分析

物理层问题是 CANopen 系统中最难调试的部分,本节介绍硬件调试工具和方法。

1. 基础测量工具

1.1 万用表测量

测量终端电阻

预期值:

  • 正常: 60Ω ± 5% (两个 120Ω 并联)
  • 只有一个终端: 120Ω
  • 无终端: 开路或远大于 120Ω

测量方法:

  1. 断开所有节点电源
  2. 万用表设置为电阻档 (20kΩ 或 200kΩ)
  3. 红表笔接 CAN_H,黑表笔接 CAN_L
  4. 读取电阻值

测量静态电压

正常通信时的静态电压(空闲状态):

  • CAN_H: 2.5V ± 0.1V
  • CAN_L: 2.5V ± 0.1V

测量方法:

  1. 节点正常上电
  2. 万用表设置为直流电压档 (20V)
  3. 黑表笔接 GND
  4. 红表笔分别测量 CAN_H 和 CAN_L

异常值:

  • CAN_H = 5V, CAN_L = 0V → 短路或线缆断开
  • CAN_H = 3.5V, CAN_L = 1.5V → 持续显性,总线忙

2. 示波器测量

2.1 基本波形检查

示波器设置:

  • 耦合方式: DC
  • 时基: 10μs/div (1Mbps)
  • 垂直档位: 1V/div
  • 触发: CAN_H 上升沿

2.2 关键参数检查

参数500kbps250kbps125kbps说明
位时间2μs4μs8μs波特率倒数
上升时间< 0.5μs< 1μs< 2μs10%-90%
下降时间< 0.5μs< 1μs< 2μs90%-10%
差分电压> 1.5V> 1.5V> 1.5V显性状态

3. 硬件调试流程

3.1 标准检查流程

  1. 外观检查: 线缆连接、终端电阻、接线端子
  2. 静态测量: 终端电阻 60Ω ± 5%、CAN_H/CAN_L 2.5V ± 0.1V
  3. 信号质量检查: 示波器查看波形、上升/下降时间、差分电压
  4. 通信测试: candump 测试、cansend 测试、错误计数器
  5. 协议层测试: NMT 启动、心跳、SDO 读写、PDO 配置

★ Insight ─────────────────────────────────────

  • 示波器是 CANopen 硬件调试的"眼睛"——60Ω 终端电阻、2.5V 偏置、>1.5V 差分电压是三个最重要的指标。
  • 差分信号的优势在于共模噪声抵消——如果 CAN_H 和 CAN_L 同时受到干扰,差值保持不变,这是 CAN 抗干扰能力强的根本原因。
  • 眼图分析可以定量评估信号质量,眼张开度 > 70% 通常被认为是可接受的信号质量。 ─────────────────────────────────────────────────

下一步

→ 07-practice-project.md —— 调试实践项目

如果这篇文章对你有帮助,欢迎请我喝杯咖啡 ☕
Cygnus Yang 支付宝支付宝
Cygnus Yang 微信微信