网站大量收购独家精品文档,联系QQ:2885784924

CANopen协议详情讲解.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

页眉内容

页眉内容

34

34

根据DS301的内容进行介绍

1、CAN总线

CAN标准报文

2、CANopen应用层协议

CANopen协议不针对某种特别的应用对象,具有较高的配置灵活性,高数据传输能力,较低的实现复杂度。同时,CANopen完全基于CAN标准报文格式,而无需扩展报文的支持,最多支持127个节点,并且协议开源。

一个标准的CANopen节点(下图),在数据链路层之上,添加了应用层。该应用层一般由软件实现,和控制算法共同运行在实时处理单元内。

一个标准的CANopen节点

CANopen应用层协议细化了CAN总线协议中关于标识符的定义。定义标准报文的11比特标识符中高4比特为功能码,后7比特为节点号,重命名为通讯

对象标识符(COB-ID)。功能码将所有的报文分为7个优先级,按照优先级从高至低依次为:

网络命令报文(NMT)同步报文(SYNC)

紧急报文(EMERGENCY)时间戳(TIME)

过程数据对象(PDO)服务数据对象(SDO)

节点状态报文(NMTErrControl)

7位的节点号则表明CANopen网络最多可支持127个节点共存(0号节点为主站)。

下表给出了各报文的COB-ID范围。

页眉内容

页眉内容

34

34

NMT命令 为最高优先级报文,由CANopen主站发出,用以更改从节点的运行状态。

SYNC报文 定期由CANopen主站发出,所有的同步PDO根据SYNC报文发送。

EMERGENCY报文 由出现紧急状态的从节点发出,任何具备紧急事件监控与处理能力的节点会接收并处理紧急报文。

TIME报文 由CANopen主站发出,用于同步所有从站的内部时钟。

PDO 分为4对发送和接收PDO,每一个节点默认拥有4对发送

PDO和接收PDO,用于过程数据的传递。

SDO 分为发送SDO和接收SDO,用于读写对象字典。

MTErrorControl报文 由从节点发出,用以监测从节点的运行状态。

状态机

CANopen的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当前支持的通讯方式以及节点行为。

初始化时,节点将自动设置自身参数和CANopen对象字典,发出节点启动报文,并不接收任何网络报文。

初始化完成后,自动进入预运行状态。在该状态,节点等待主站的网络命令,接收主站的配置请求,因此可以接收和发送除了PDO以外的所有报文。

运行状态为节点的正常工作状态,接收并发送所有通讯报文。

停止状态为一种临时状态,只能接收主站的网络命令,以恢复运行或者重新启动。

CANopen节点状态转换图

CANopen节点状态转换条件

3、DeviceModel

Communication提供通信对象和传输经过底层的数据的适当功能;

ObjectDictionary对此设备上的应用程序对象,通信对象和状态机的行为有影响的所有

页眉内容

页眉内容

34

34

数据项的集合。

Application由在处理环境方面的设备功能组成。

设备应用在数据条目中的完整描述在对象字典中叫设备子文件(deviceprofile)

4、OD

每个节点维护一个对象字典(ObjectDictionary,OD)。该对象字典保存了节点信息、通讯参数和所有的过程数据,是CANopen节点的核心数据结构。上层应用程序也主要通过读写对象字典和CANopen应用层进行交互。

CANopen对象字典为两级数组结构,通过索引(16bits)和子索引(8bits)来编址。设备子文件中最重要的就是对象字典的描述,对象字典在slave节点中一般是在设备初始化写好的不会修改,而在master节点中可以在运行过程中动态修改,不修改的OD一般存在ROM中,而修改的存在RAM中。

页眉内容

页眉内容

34

34

由于它是由16bits的位索引,所以最多有65536个entries.

根据节点所支持的通讯方式,每一个节点都必须实现1000h~1FFFh当中的一个必要子集,同时实现6000h以上部分的数据区。数据区大小由节点的功能自行决定。1000h以下部分所有的节点都不需实现。

对象字典作为在CAN总线上连接application和通信的媒介,其允许来自application数据在CAN网络上进行交换。CANopen定义了可以进入对象字典的服务和通信对象。每一个入口通过索引和子索引来编址。在一个主索引里中的子索引入口的类型和属性可能会变化。

5、PDO

数据处理对象(PDO)特别适合快速的数据处理传输。通信模块针对这些数

处理对象定义了一个PDOproducer和一个或多个PDO

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档