搜索
bottom↓
回复: 2

CANopen DS301 通讯学习笔记

[复制链接]

出0入0汤圆

发表于 2019-10-28 12:40:24 | 显示全部楼层 |阅读模式
本文是基于在学习IFX-CANopen DS301 时的总结,阅读本文可以更快理解1、不同帧ID的含义2、CANopen数据帧格式 3、CANopen数据帧代表的内容。
写在前面:can总线是一种自带仲裁的差分总线。我使用的驱动器采用了CANopen数据协议所以需要理解CANopen协议中每个数据位的意义。
can总线上发送数据帧结构如下。我们需要关心的内容为COB ID 和 8Byte的数据帧格式。
其中COB-ID在1中总结。数据帧在2中总结。(注意CAN总线中 帧ID包括了设备ID,不同帧通过不同的帧ID 实现了不同数据的优先级。)



SDO通讯帧格式为:

其中我们需要关心 Command Code 。Command Code 在2中总结。

注意整个传输过程中 数据帧总是低位在前。

PDO 返回的数据 不一定为8Byte。所以需要通过COB-ID 区分是那个PDO发送来的数据再根据手册中的映射来确定PDO数据含义。(PDO 映射可以根据SOD 来设置)

1、第一步确定COBID  COBID是11位的   一般为操作码+node(0~127)。操作码是由协议定义好的。Node是由板子上的拨码器决定的。


总结 比如,           读取驱动器  PDO1回复时的ID为 0x180+NODEID
                            读取驱动器  PDO2回复时的ID为 0x280+NODEID
                            需要设置驱动器时ID为 0x600+NODEID
                            需要读取驱动器设置时 ID为 0x580+NODEID

比如需要启动时 COB-ID为0x00 数据为0
同步帧COB-ID为  0x80        数据为0

写设备  CCD 总结  (IFX-CANopen DS301  pg 4-13)


读设备 CCD 总结  (IFX-CANopen DS301  pg 4-14)


知道了COB-ID 和 CCD 就能确定数据的发送框架,如果需要具体操作设备需要在设备的手册中查找寄存器定义。



NMT 可以控制设备复位,初始化



附:文档
























本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出75入88汤圆

发表于 2019-10-28 15:11:33 | 显示全部楼层
写这么多不容易啊
感谢分享

出0入0汤圆

发表于 2019-11-21 22:41:35 | 显示全部楼层
谢谢分享,学习下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 21:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表