文章目录
- CANopen SDO 下载
- SDO下载协议
- SDO下载启动协议
- SDO分段下载协议
- 参考
CANopen SDO 下载
CANopen SDO下载分为快速(expedited)和正常(normal)两种,平时我们写对象字典基本都在用SDO快速下载(适用于写入对象字典的长度小于等于4字节)。而SDO正常下载(段下载)适用于写入对象字典的长度超多4个字节的情况。
SDO段下载可以用于传输固件用于嵌入式升级。
SDO下载协议
SDO下载启动协议
- ccs=1 :客户端发起段下载请求
- scs=3 :服务端返回段下载响应
- n :当e和s均为1时有效,其它时候为0,当其有效时表示快速SDO通讯中后4个字节中非有效数据的字节数
- e:传输类型
- 0:正常SDO
- 1:快速SDO
- s:数据长度标识
- 0:请求中不包含数据长度
- 1:请求中包含数据长度
- x:不使用,始终为0
- d:数据
- e=0,s=1:d表示要下载的字节数
- e=1,s=1:d中的前4-n个字节表示要下载的数据
经过上面的分析可以看出SDO下载启动协议中包含了快速SDO传输和SDO段下载的发起
(图片来自于:https://blog.csdn.net/qq_36115224/article/details/129315815)
SDO分段下载协议
- ccs=0:客户端段下载请求
- scs=1:服务端段下载响应
- t :翻转位(toggle)第一帧t为0,该位每传输一次会自动翻转,发送的请求和接收到的应答中的t应该相同。
- n:7个字节中非段数据的字节数
- c:是否还有段需要下载
- 0:还有段需要下载
- 1:没有更多的段需要下载
- x:不使用,始终为0
参考
- https://blog.csdn.net/qq_36115224/article/details/129315815
- CIA DS301手册的中文翻译版