什么是CANopen?
CANopen 是一种基于 CAN(Controller Area Network)总线的高层通信协议,广泛应用于工业自动化、医疗设备、轨道交通等领域。它定义了通信对象、设备配置文件以及网络管理机制。
但无论上层协议多么复杂,可靠的物理接线是稳定通信的基础。
CANopen物理层接线要求
CANopen 使用标准的 CAN 总线物理层,通常采用双绞屏蔽线(如:Belden 9841 或等效线缆),关键接线要点如下:
- 线缆类型:推荐使用特性阻抗为 120Ω 的双绞屏蔽电缆。
- 终端电阻:总线两端必须各接一个 120Ω 终端电阻,以消除信号反射。
- 屏蔽层接地:屏蔽层应在一端(通常为电源端)单点接地,避免地环路干扰。
- 最大长度:取决于波特率,例如 125 kbps 时可达 500 米;1 Mbps 时建议不超过 40 米。
DB9接口引脚定义(CiA DS-102 标准)
许多 CANopen 设备使用 DB9(9针D型)接口进行连接。以下是 CiA(CAN in Automation)组织推荐的标准引脚分配:
| 引脚号 | 信号名称 | 说明 |
|---|---|---|
| 2 | CAN_L | CAN 低电平信号线 |
| 3 | GND | 信号地(参考地) |
| 7 | CAN_H | CAN 高电平信号线 |
| 9 | V+ | 可选供电(+24V,非强制) |
注意:并非所有厂商都严格遵循此标准,请务必查阅设备手册!
典型接线示意图
一个最简 CANopen 网络包含至少两个节点(如主站 + 从站)和两端的终端电阻:
[Node A] ----(CAN_H)----[120Ω]=====(双绞线)=====[120Ω]----(CAN_H)---- [Node B]
(CAN_L)----------------------------------------(CAN_L)
GND 连接所有节点的信号地,屏蔽层单点接地。
常见接线错误与排查
- 未接终端电阻:导致信号振铃,通信不稳定或完全失败。
- 多点接地屏蔽层:引入地电位差,造成噪声干扰。
- CAN_H 与 CAN_L 接反:部分设备可容忍,但多数无法通信。
- 使用非双绞线:如普通网线或平行线,易受电磁干扰。
建议使用示波器观察 CAN 波形,正常差分信号应清晰、无过冲。
参考资料
- CiA DS-301: CANopen application layer and communication profile
- CiA DS-102: Recommendation for CAN physical layer
- Bosch CAN Specification 2.0