记录CANopen查阅的一些重要挂图。
对象字典(Object Dictionary, OD) 是 CANopen 设备全部参数、通信对象、应用数据的统一寻址数据表。 CANopen 所有通信(SDO、PDO)最终都是读写对象字典条目。
可以理解为:设备对外暴露的 "寄存器地址表"。
核心规则: 每个条目由 索引(Index) + 子索引(Subindex) 唯一定位。




Pre-defined CAN-IDs 预定义CAN标识符


PDO 用于实时、周期性高速传输应用数据 ,主打运动控制、IO 实时交互。 特性:无握手、无校验、单向传输、数据短小(最大 8 字节)。 对比 SDO:SDO 是带确认的点对点配置通道,速度慢;PDO 是实时业务通道。
- RPDO(Receive PDO):从站接收 → 主站下发指令(主站发送,从站接收)
- TPDO(Transmit PDO):从站发送 → 主站采集状态(从站发送,主站接收)
- 节点视角:RPDO = 接收 PDO;TPDO = 发送 PDO。





SDO 是点对点、带确认、可靠传输的通信通道,用于读写对象字典(OD)任意索引 / 子索引参数。
定位区分: PDO = 实时高速周期业务数据(运动指令、状态反馈,无应答) SDO = 参数配置、调试读写通道(可靠、低速、非实时)
SDO 通信双方角色:
- SDO Client(客户端):发起读写请求(通常 CANopen 主站)
- **SDO Server(服务器):** 响应读写请求(伺服从站)
- SDO Download(下载) :主站 → 从站,写对象字典(设置参数)
- SDO Upload(上传) :主站 ← 从站,读对象字典(读取参数)
1. 快速传输:Expedited SDO(加速 SDO)
✅ 数据长度 ≤ 4 字节,单次报文完成交互 CiA402 绝大多数参数(U8/U16/I32)都使用这种方式,日常调试最常用。
2. 大数据传输:Segmented SDO(分段 SDO)
数据长度>4 字节(字符串、大数组、固件信息等),拆分为多段多次交互。 包含初始化报文 + 多段分段报文 + 结束标志;交互次数多,耗时更长。
3. Block SDO(块 SDO,可选扩展)
大量连续大数据优化传输,减少握手次数;普通伺服极少支持,一般不用考虑。


Normal SDO protocol 普通SDO协议





