CANopen SDO下载

news/2024/12/5 13:26:54/

文章目录

  • 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

参考

  1. https://blog.csdn.net/qq_36115224/article/details/129315815
  2. CIA DS301手册的中文翻译版

http://www.ppmy.cn/news/434634.html

相关文章

English Learning - L3 综合练习 7 TED-Living Beyond the Limits 2023.06.14 周三

English Learning - L3 综合练习 7 TED-Living Beyond the Limits 2023.06.14 周三 句 1扩展 go 句 2句 3句 4 - 6句 7-8句 9 - 10句 11扩展 detour 句 12 -13句 14扩展生词 句 15 -16句 17 -18扩展 patchwork 句 18句 19扩展生词 句 20句 21扩展生词 句 22句 23句 24句 25 -26…

项目中FastJSON 设置PropertyNamingStrategy不生效

首先了解PropertyNamingStrategy 有四种序列化方式。 CamelCase策略,Java对象属性:personId,序列化后属性:persionId – 实际只改了首字母 大写变小写 PascalCase策略,Java对象属性:personId,序…

理解命令行: 一种强大的IT工具

理解命令行: 一种强大的IT工具 在当今数字化时代,计算机已经成为我们生活中不可或缺的一部分。作为IT从业者或计算机爱好者,了解和掌握各种工具和技术是至关重要的。而其中一个强大而受欢迎的工具就是命令行。 什么是命令行? 命令行是一种通…

京东架构师复盘2022最新最全最实用2340页面试题jvm+spring+redis+MQ+微服务PDF

题库第2版 包括 Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaScript、Android 大数据、阿…

python模拟安卓手机点击,支付宝打年兽,未完待续

环境 windows 10,python3,adb import subprocess import time # 试试中文变量名# 变量 adb_help adb help adb_connect adb connect adb_getevent adb shell getevent adb_max_x adb shell getevent -p | find "0035" adb_max_y adb shell getevent…

Ansible源码学习(一)

一、背景说明 基于Ansible1.1源码学习 二、目录结构 ansible核心目录 ansible ├─bin # 入口命令 │ ├─ansible │ ├─ansible-doc │ ├─ansible-playbook │ ├─ansible-pull ├─lib # 核心代码 │ └─ansible │ ├─callback_plugins …

Leetcode 2340. Minimum Adjacent Swaps to Make a Valid Array [Python]

Greedy 找到最靠左的最小数字,找到最靠右的最大数字,查看最小数字往左边需要挪动几次(假设为n次),同理,查看最大数字往右边需要挪动几次(假设为m次)。如果两者会在挪动过程中见面&am…

每日健康上报代码(自用)

广白每日健康上报在这里插入代码片 auto.waitFor(); //这里设置你手机的PING密码(纯数字的开屏密码) 043006是我的 var passworld "043006" device.wakeUp() setScreenMetrics(1080, 2340) swipe(166,2100,170,1400,500) sleep(1000) var le…