玩转单片机与嵌入式
认证:VIP会员
所在专题目录 查看专题
《跟我学CANopen》之一:CANopen介绍3:CANopen的设备结构
《跟我学CANopen》之一:CANopen介绍4:CANopen的网络结构(主站设备/从站设备是什么?)
《跟我学CANopen》之二:对象字典1:概述
《跟我学CANopen》之二:对象字典2:通用通讯对象详解1
《跟我学CANopen》之二:对象字典3:通用通讯对象详解2
《跟我学CANopen》之二:对象字典4:通用通讯对象详解3
作者动态 更多
【硬件】深入浅出讲解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》之二:对象字典3:通用通讯对象详解2

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

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

01、通讯对象子协议区

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

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

02、制造商状态寄存器(索引1002h)

这个32位寄存器包含一个指针(16位索引和8位子索引)以及对象字典条目的长度(8位)。该寄存器中的内容由设备制造商来设定。

03、同步参数(索引 1005h、1006h、1007h和1019h)

同步报文COB标识符参数(索引1005h)是一个32位对象。它不仅包含使用的CAN 标识符,还包含3个控制位:第31位为预留位; 第30位确定设备是发送同步报文(生产者为1)还是接收同步报文(消费者为0);第29位用来区分11位CAN标识符(0)和29位CAN标识符(1)。如果参数中没有定义这些位,而且用户又试图用SDO写操作来设定这些位,那么系统就会发送SDO中止消息来应答。

通信循环周期(索引1006h)是针对同步报文发送方而言的,该参数设置同步周期(单位为us)。同步报文的接收方同样也可以设置一个通信循环周期,这样如果在规定的时间内接收方没有收到同步报文,就会产生一个事件来通知应用程序,从而采取相应的措施。

同步窗口长度(索引1007h)以us为单位。在同步窗口时间范围内,PDO传输必须在同步报文发送之后才能进行。否则,这一情况将通知给应用程序。

同步计数器溢出参数(索引1019h)中包含一个8位值(范围为0〜240,其他值均保留),该值可用来复位同步报文中的计数器如果该值为0,则发送不含计数器字节的同步报文。

注意:该值必须是使用的同步PDO的倍数(1—240)。

04、设备监控(索引 100Ch、100Dh、1016h和1017h)

有两个参数可用于配置心跳功能。一个是生产者心跳报文时间间隔(索引1017h) ,它表示的是发送心跳报文的周期(单位为ms) 。网络中的所有设备会对心跳报文进行分析,从而确定设备故障。另一个参数是消费者心跳时间间隔(索引1016h) ,它最多可包含127个条目,条目记录被监控设备的节点ID以及时间(单位为ms)。

消费者心跳时间间隔必须大于消费者心跳周期,否则在发送下一个心跳报文之前,就先会发出设备故障消息。一旦用户设置了索引1017h的值(该值不为0) ,被监控设备进入预操作状态后就会开始发送心跳报文。第一次收到心跳报文时开始监控设备。

如果其中某个心跳时间间隔为0,那么相应的监控就会停止。由于这里是一种生产者/消费者关系,因此,当心跳时间间隔改变时,所有消费者(监控某一设备的所有设备)同样也必须收到心跳时间间隔参数发生变化通知,并进行相应的调整。

在此,我们不推荐NMT主机使用节点保护来监控设备(况且该保护方式还是基于远程帧),而是引入2个新的参数:“保护时间”(索引100Ch) 和“寿命因子”(100Dh) .对象100Ch表示NMT主机通过远程帧查询NMT状态所用的时间间隔(单位为ms)。果不支持心跳机制,就必须使用该对象。

如果对象100Ch的值为0,则保护功能无效。

本文小部分内容引用自网络,若有侵权请联系删除。

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

欢迎转发

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

欢迎加入

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

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