玩转单片机与嵌入式
认证:VIP会员
所在专题目录 查看专题
《跟我学CANopen》之一:CANopen介绍4:CANopen的网络结构(主站设备/从站设备是什么?)
《跟我学CANopen》之二:对象字典1:概述
《跟我学CANopen》之二:对象字典2:通用通讯对象详解1
《跟我学CANopen》之二:对象字典3:通用通讯对象详解2
《跟我学CANopen》之二:对象字典4:通用通讯对象详解3
《跟我学CANopen》之二:对象字典5:通用通讯对象详解4 PDO参数
作者动态 更多
【硬件】深入浅出讲解MOS管的栅极电阻
2022-07-28 09:00
【软件】实现STM32软件精确延时的方法(附源码)
2022-07-28 08:51
嵌入式操作系统三问:what?when?how?
2022-06-11 14:55
做降本或国产替代时,替换原来的晶振,都需要测试哪些内容?
2022-06-11 14:51
深入浅出,明明白白的搞清楚RS-485总线!
2022-06-11 14:48

《跟我学CANopen》之二:对象字典4:通用通讯对象详解3

近期小编开发了【跟我学CANopen】系列课程,会陆陆续续连载更新完毕,相关目录如下(由于内容较多导致文字太小,下图请放大后查看)。

对象字典索引区域定义中,0x1000h~0x9FFFh是通信对象子协议区和制造商特定子协议区。

01、通讯对象子协议区

通讯对象子协议区(Communication profile area)定义了所有和通信有关的对象参数。如下图所示。

标绿色底纹的索引范围1000h ~1029h为通用通讯对象,所有CANopen节点都必须具备这些索引,否则将无法加入CANopen网络。其他索引根据实际情况进行分配与定义。

02、用于时间报文和紧急报文的参数(索引1012h、1013h、1014h和1015h)

要想通过时间报文发送网络时间,就必须给时间报文分配一个CAN标识符。该CAN标识符记录在COB标识符参数(索引1012h)中,如下图所示。该参数还包含接收(第31位=1)/发送(第30位=1)时间报文的信息。第29 位表示使用的CAN 标识符的位数,为0表示使用11位CAN标识符,为1表示使用29位CAN标识符。

第29位和第30位都是无法修改的,这取决于设备的功能。如果对其进行写操作,则可用SDO异常中止消息来应答。

如果要支持高分辨率时间,可在参数1013h(高分辨率时间)中写入一个32位时间值(单位为us)。该值可打包在PDO中,供高精度同步设备使用。

与时间报文相似,在对象字典1014h (COB-ID紧急报文)中同样也给紧急报文设定一个CAN标识符。但COB-ID紧急报文参数中的第30位是不可用的,且固定为0。

为了避免总线因持续发送高优先级的紧急报文而无法进行通信,可以在对象字典1015h(禁止时间紧急报文)中设定一个禁止发送紧急报文的时间,该时间为100us的倍数。仅当禁止时间结束之后,才允许重新发送紧急报文。

03、用于SDO服务器和SDO客户端的参数(索引1200h~127Fh、1280h~12FFh)

SDO服务器和SDO客户端的参数( 索引1200h〜127Fh或1280h〜12FFh)的对象类型均为复杂数据类型( 索引0022h)。子索引01h包含客户端发往服务器报文的COB标识符,子索引02h包含服务器发往客户端报文的COB 标识符。这2 个标识符必须在2个方向的SDO通道中使用。如下图所示。

有效位v表示SDO消息以及COB标识符参数中所含的CAN标识符是否有效,0表示有效,1表示无效。只有2个方向都使用CAN标识符,SDO通道才有效。

第30位表示SDO的设置类型,0表示静态设置的SDO,1表示动态设置的SDO。设备复位后第31位和第30位又变为无效。SDO管理器可以利用dyn位识别预置的SDO连接以及在运行期间生成的连接。

子索引03h为可选项,包含服务器或客户端的节点ID。

默认SDO服务器的SDO参数集(索引1200h)为可选项。在索引1201h以后用于其他SDO通道的所有条目可读/写,这些SDO通道通常默认为禁止的。

成功没有捷径,只有通过不断的学习、学习再学习才能离成功更近一点点;想要学习的同学欢迎加入我们的技术交流群,共同学习,共同成长,让我们离成功更近一步;

欢迎转发

每篇原创内容都是我们用心血换来的知识精华,如果您觉得本文有价值,欢迎转载分享;

欢迎加入

如果您对单片机及嵌入式设计感兴趣,欢迎加入我们的辩论探讨,加我微信【xyzn3333】

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 3
收藏 2
关注 49
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧