Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2294079
  • 博文数量: 393
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4178
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-04 13:04
文章分类

全部博文(393)

文章存档

2020年(8)

2019年(24)

2018年(135)

2017年(158)

2016年(68)

我的朋友

分类: 嵌入式

2017-04-05 15:11:32

CANopen协议的核心部分是对象词典(Object Dictionary),对象词典位于通信层和用户层之间,如CANopen设备模型图所示。它的作用主要是为用户提供服务接口,对象字典是在电子数据文档(EDS:Electronic Data Sheet)中描述或者记录在纸上。不必要也不需要通过CAN-bus“审问”一个节点的对象字典中的所有参数。如果一个节点严格按照在纸上的对象字典进行描述其行为,也是可以的。节点本身只需要能够提供对象字典中必需的对象(而在CANopen规定中必需的项实际上是很少的),以及其它可选择的、构成节点部分可配置功能的对象。

      对象字典是一组有序的对象,每个对象通过 16 位的索引来寻址。对于数组和结构类型的对象,可以使用 8 位的子索引来访问其内部成员,对象字典的索引分配如表1-1所示。


表1-1 CANopen对象字典

索引

对象

0000

保留

0001~001F

静态数据类型(标准数据类型,如Boolean,Integer 16)

0020~003F

复杂数据类型(预定义的结构,由标准数据类型组合而成,如PDOCommPar,SDOParameter)

0040~005F

制造商定义的复杂数据类型

0060~007F

设备规范定义的静态数据类型

0080~009F

设备规范定义的复杂数据类型

00A0~0FFF

保留

1000~1FFF

通讯规范区域(如设备类型,错误寄存器,支持的PDO数目等)

2000~5FFF

设备制造商相关区域

6000~9FFF

标准化的设备规范区域(如DSP402等)

A000~BFFF

接口规范说明区域

C000~FFFF

保留

阅读(1334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~