《CANopen 轻松入门》要点(周立功团队 TN01010101)
来源:云盘
/日常学习资料/CAN OPEN 协议/CANopen_easy_begin.pdf(广州致远电子/周立功、黄敏思,2015,39 页,DS301 方向入门教程)。CANopen 学习路径公认首选读物,本笔记按章节浓缩全书骨架 + 必背表格。
1-3 协议定位
- CAN 只定义物理层+数据链路层(ISO 11898),应用层空白 → 需要标准化高层协议;CANopen 由 CiA 在 CAL 基础上发展,开放/免费/非盈利,最流行的 CAN 应用层协议
- 设备结构三部分:用户应用层 / 对象字典(核心) / 通信
- 子协议 CiA 4xx = 在 CiA 301 之上按行业重定义数据含义(如轨道:CiA 421 列车控制、423 柴油机、424 门控等)
- 设计前提:小网络 + 控制信号实时通信——11bit 标准帧、控制报文最小字节(心跳仅 1 字节)、PDO 免应答、SDO 快速单字传输
4 预定义 COB-ID(必背表)
COB-ID = 报文帧 ID(4 位 Function-ID + 7 位 Node-ID);Node-ID 最大 128。
| 报文 | CAN-ID |
|---|---|
| NMT 命令 | 000h |
| Sync | 080h |
| Emergency | 080h+Node-ID |
| Time stamp | 100h |
| TPDO1-4 | 180/280/380/480h+Node-ID |
| RPDO1-4 | 200/300/400/500h+Node-ID |
| SDO 应答(server→client) | 580h+Node-ID |
| SDO 请求(client→server) | 600h+Node-ID |
| Boot-up/心跳 | 700h+Node-ID |
- PDO=生产消费模型单向免应答;SDO=客户端/服务器请求应答,超时重发
- TPDO/RPDO 以从站为参考(T=从站发出);每方向 4 个数据对象
5 对象字典 OD 与 EDS
- OD 是节点全部参数的有序对象组:16 位索引 + 8 位子索引,值最大 Unsigned32;对外交换形式即 EDS 文件(INI 风格文本:FileInfo/DeviceInfo/MandatoryObjects/[1018] 段)
- 索引分区:1000-1FFF 通讯区 / 2000-5FFF 制造商区 / 6000-9FFF 标准化设备子协议区
- 通用通讯对象 1000-1029 必备否则无法入网:1000 设备类型、1001 错误寄存器、1005/1006 同步 COB-ID 与周期、100C/100D 守护时间/寿命因子、1010/1011 保存/恢复参数、1014/1015 紧急报文、1016/1017 消费者/生产者心跳时间、1018 身份对象(vendor-id 等四元组,LSS 基础)
- 厂商码必须向 CiA 申请唯一值(例:致远 0x2B6=694)
6 NMT 与主站
- 6 状态:Initializing → Application Reset → Communication Reset → Pre-operational(可 SDO/NMT 不可 PDO)→ Operational(PDO 启动)→ Stopped(停 PDO 留 SDO);除初始化外均可由主站命令切换
- boot-up:上线发 700h+Node-ID、数据 00(热插拔/防撞号)
- 心跳:从站按 1017h 周期发 700h+Node-ID(04=Stopped/05=Operational/7F=Pre-op);主站按 1016h 消费超时判离线
- 节点守护(guarding):远程帧轮询模式,与心跳二选一,旧式
- NMT 命令格式:000h + [命令字, Node-ID];命令字 01 启动/80 停止/81 预操作/82 复位通讯/83 复位应用
7-9 PDO/SDO/特殊协议
- PDO 传输类型:同步(SYNC 触发)/ 异步(事件/定时)/ 定时同步;通信参数 1400/1800h 区,映射参数 1600/1A00h 区(最难理解,映射表把 OD 条目拼进 8 字节帧)
- SDO:快速协议 ≤4 字节一帧完成;普通协议分段(expedited/normal/segmented);CS 命令字查表
- SYNC(080h)协调同步传输,SYNC 窗口对象 1007h;TIME(100h)网络时间戳;EMCY 携带错误码分类
工程关联
- 医疗仪器多板卡 CAN 组网:主站(上位机/PLC)+ 各执行板做 SDO 服务器,PDO 走实时运动/采样数据
- 配套精读:同目录 CiA301 V4.2.0 中英文、CANopen-LSS协议DS305-中文译本要点、CANopen通信接口入门要点-系列教程08(本篇即其推荐书目)、CanFestival框架与对象字典工具-系列教程10(工具链)