当前位置: 首页 > ai >正文

CANopen通信----PDO与SDO

转载地址:https://blog.csdn.net/weixin_43956732/article/details/106606670

文章目录

    • 服务数据对象SDO
    • SDO 传输框架
    • SDO 传输报文
    • SDO 加速写传输报文
    • SDO 加速读传输报文
    • SDO分段读传输报文
    • 过程数据对象PDO
    • PDO 传输框架
    • PDO 对象
    • PDO 通信参数
      • PDO 的 CAN 标识符
      • PDO 的传输类型
      • 禁止时间
      • 事件计时器
      • PDO 映射参数

服务数据对象SDO

服务数据对象 (SDO) 通过对象索引和子索引与对象字典建立联系, 通过SDO 可以读取对象字典中的对象内容, 或者在允许的情况下修改对象数据。

SDO 传输框架

SDO 传输方式遵循客户端—服务器模式,即一问一答方式。由 CAN 总线网络中的 SDO 客户端发起,SDO 服务器作出应答。因此, SDO 之间的数据交换至少需要两个 CAN 报文才能实现, 而且两个 CAN 报文的 CAN 标识符不一样。
在这里插入图片描述

SDO 传输报文

SDO 的传输分为不高于 4 个字节和高于 4 个字节的对象数据传输。 不高于 4 个字节采用加速 SDO 传输方式,高于 4 个字节采用分段传输或块传输方式。SDO 传输报文由 COB-ID 和数据段组成。由下表 可以看出,T_SDO 和R_SDO 报文的 COB-ID 不一致。数据段采用小端模式,即低位在前,高位在后排列。 所有的 SDO 报文数据段都必须是 8 个字节。SDO 传输报文格式如下表:
在这里插入图片描述
其中, 命令代码指明了该段 SDO 的传输类型和传输数据长度, 索引和子索引是对象在列表的位置, 数据是该对象的数值。

SDO 加速写传输报文

对于不高于 4 个字节的读写, 采用加速 SDO 传输。 按照读写方式及内容数据长度的不一致,传输报文各不相同。加速 SDO 写报文如下表:
在这里插入图片描述
符号- 表示数据不予考虑,写数据时建议写 0。

SDO 加速读传输报文

SDO 读操作不高于 4 个字节的对象报文时,采用加速方式。 加速 SDO 读报文如下表。
在这里插入图片描述

SDO分段读传输报文

当数据大于4个字节时,采用分段读来执行操作,起始发送帧报文结构与加速传输报文保持一致。
起始报文结构如下
在这里插入图片描述
传输过程由命令大妈触发位(bit 6)交互发送0和1,必须保持此规律从站才给予响应。
过程报文如下
在这里插入图片描述
分段传输结束帧包含有末尾帧标志和数据长度,报文如下
在这里插入图片描述

过程数据对象PDO

过程数据对象 (PDO) 用来传输实时的数据,是 CANopen 中最主要的数据传输方式。由于 PDO 的传输不需要应答,且 PDO 的长度可以小于 8 个字节,因此传输速度快。
PDO 的映射配置遵循流程如下
在这里插入图片描述

PDO 传输框架

PDO 的传输遵循的是生产者消费者模型, 即 CAN 总线网络中生产者产生的 TPDO 可根据 COB-ID 由网络上一个或者多个消费者 RPDO 接收,传输模型如下图所示
在这里插入图片描述

PDO 对象

按照接收与发送的不同,PDO 可分为 RPDO 和 TPDO。 PDO 由通信参数和映射参数共同决定最终传输的方式及内容。 本伺服驱动器使用了 4 个 RPDO 和 4 个 TPDO 来实现 PDO 的传输,相关对象列表如下
在这里插入图片描述

PDO 通信参数

PDO 的 CAN 标识符

PDO 的 CAN 标识符即 PDO 的 COB-ID, 包含控制位和标识数据, 确定该PDO 的总线优先级。COB-ID 位于通信参数 (RPDO:1400h ~ 1403h,TPDO:1800h ~ 1803h)的子索引 01 上,最高位决定该 PDO 是否有效。
在这里插入图片描述

PDO 的传输类型

PDO 的传输类型位于通信参数 (RPDO:1400h ~ 1403h,TPDO:1800h ~ 1803h)的子索引 02 上,决定该 PDO 遵循何种传输方式

在这里插入图片描述
通信参数(RPDO:1400h1403h,TPDO:1800h1803h) 子索引 02 不同的数值代表不同的传输类型,定义了触发 TPDO 传输或处理收到的 RPDO 的方法,具体对应关系如表所示
在这里插入图片描述● 当 TPDO 的传输类型为 0 时,如果映射数据发生改变,且接收到一个同步帧,则发送该 TPDO;
● 当 TPDO 的传输类型为 1~240 时,接收到相应个数的同步帧时,发送该 TPDO。
● 当 TPDO 的传输类型是 254 或 255 时,映射数据发生改变或者事件计时器到达则发送该 TPDO。
● 当 RPDO 的传输类型为 0~240 时,只要接收到一个同步帧则将该 RPDO 最新的数据更新到应用;当 RPDO 的传输类型为 254 或者 255 时,将接收到的数据直接更新到应用。

禁止时间

针对 TPDO 设置了禁止时间,存放在通信参数 (1800h~1803h) 的子索引03 上,防止 CAN 网络被优先级较高的 PDO 持续占有。该参数的单位是 100us,设置数值后,同一个 TPDO 传输间隔减不得小于该参数对应的时间。
举例:
TPDO2 的禁止时间为 300, 则 TPDO 的传输间隔不会小于 30ms。

事件计时器

针对异步传输(传输类型为 254 或 255)的 TPDO,定义事件计时器,位于通信参数(1800h ~ 1803h)的子索引 05 上。事件计时器也可以看做是一种触发事件,它也会触发相应的 TPDO 传输。如果在计时器运行周期内出现了数据改变等其它事件,TPDO 也会触发,且事件计数器会被立即复位。

PDO 映射参数

PDO 映射参数包含指向 PDO 需要发送或者接收到的 PDO 对应的过程数据的指针,包括索引、子索引及映射对象长度。每个 PDO 数据长度最多可达 8 个字节,可同时映射一个或者多个对象。其中子索引 0 记录该 PDO 具体映射的对象个数,子索引 1~8 则是映射内容。映射参数内容定义如下
在这里插入图片描述
索引和子索引共同决定对象在对象字典中的位置,对象长度指明该对象的具体位长,用十六进制表示,即
在这里插入图片描述

http://www.xdnf.cn/news/10989.html

相关文章:

  • 风靡整个DOS时代的Pctools,现已不再,饱受争议的它,又能走多远
  • TeamViewer的安装和使用方法-2023
  • 中文垂直搜索引擎、行业搜索引擎大全
  • m2017如何获取root,xm247怎么获得
  • JDK1.5官方下载_JDK5官方下载_JDK1.5API(chm)下载_JDK5APICHM中文参考下载_JDK1.5下载_JDK5下载
  • 电脑技巧:如何彻底关闭电脑右下角闪烁弹窗广告
  • 网络安全最新kali无线渗透之WEP加密模式与破解13_wep加密过程详解,2024年最新还有人不知道什么是网络安全X的吗
  • Matlab概率统计工具箱--假设检验
  • netkeeper客户端_星空极速下载-NetKeeper官方版下载[电脑版]-华军软件园
  • 棋牌游戏服务器架构: 详细设计(三) 数据库设计
  • 5G网络运维
  • gedan
  • 2021年社工必备查询网址汇总
  • 冰川时代5:星际碰撞Ice Age: Collision Course迅雷下载
  • 桌面图标删不掉?试试这几个解决办法!
  • kubuntu 中文输入法的安装
  • OpenAI 推出网络爬虫 GPTBot,引发网站抵御潮:信息被爬走就很可能意味着永远无法删除
  • 【计算机毕业设计】294火车票订票系统
  • NSA武器库知识整理
  • QQ空间无敌装逼,复制下面的任一代码粘贴即可出现意想不到的图案。
  • 三星s4 android 5.0 root权限,三星s4root权限获取教程 获取权限其实很简单
  • JAVA—socket编程
  • Logo1_.exe 木马/病毒的清除和免疫
  • ARM的LCD控制寄存器和原理(抖动算法和FRC)
  • requests爬虫实践之安居客二手房屋数据(python实现)
  • 还在直接用localStorage么?全网最细:本地存储二次封装(含加密、解密、过期处理)
  • ARM 架构硬件新趋势:嵌入式领域的未来
  • 富文本编辑器:自己实现图片上传功能和图片粘贴上传(kindeditor)
  • 电脑蓝屏代码0x00000050怎么解决?3种方法快速解决
  • 【小程序】微信开发者工具——盘古开天