CANopen协议讲解课件.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
根据 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) 节点状态报文( NMT Err Control ) 7 位的节点号则表明 CANopen 网络最多可支持 127个节点共存( 0 号节点为主 站)。 下表给出了各报文的 COB-ID 范围。 NMT 命令 为最高优先级报文,由 CANopen 主站发出,用以更改从节点 的运行状态。 SYNC报文 定期由CANopen 主站发出,所有的同步 PDO 根据SYNC报文发 送。 EMERGENCY 报文由出现紧急状态的从节点发出,任何具备紧急事件监控与处 理能力的节点会接收并处理紧急报文。 TIME 报文由CANopen 主站发出,用于同步所有从站的内部时钟。 PDO 分为4 对发送和接收 PDO,每一个节点默认拥有 4对发送PDO 和接收PDO,用于过程数据的传递。 SDO 分为发送SDO 和接收SDO,用于读写对象字典。 MT Error Control 报文由从节点发出,用以监测从节点的运行状态。 状态机 CANopen 的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当 前支持的通讯方式以及节点行为。 初始化时,节点将自动设置自身参数和 CANopen 对象字典,发出节点启动报文, 并不接收任何网络报文。 初始化完成后,自动进入预运行状态。在该状态,节点等待主站的网络命令,接 收主站的配置请求,因此可以接收和发送除了 PDO 以外的所有报文。 运行状态为节点的正常工作状态,接收并发送所有通讯报文。 停止状态为一种临时状态, 只能接收主站的网络命令, 以恢复运行或者重新启动。 CANopen节点状态转换图 CANopen 节点状态转换条件 3、Device Model Communication 提供通信对象和传输经过底层的数据的适当功能; Object Dictionary 对此设备上的应用程序对象,通信对象和状态机的行为有影响的所有数据 项的集合。 Application 由在处理环境方面的设备功能组成。 设备应用在数据条目中的完整描述在对象字典中叫设备子文件( device profile ) 4、OD 每个节点维护一个对象字典( Object Dictionary, OD)。该对象字典保存了 节点信息、通讯参数和所有的过程数据,是 CANopen 节点的核心数据结构。上 层应用程序也主要通过读写对象字典和 CANopen 应用层进行交互。 CANopen对象字典为两级数组结构, 通过索引(16bits )和子索引(8bits ) 来编址。设备子文件中最重要的就是对象字典的描述, 对象字典在 slave 节点中 一般是在设备初始化写好的不会修改,而在 master 节点中可以在运行过程中动 态修改,不修改的 OD一般存在 ROM中,而修改的存在 RAM中。 由于它是由 16bits 的位索引,所以最多有 65536 个 entries. 根据节点所支持的通讯方式,每一个节点都必须实现 1000h~1FFFh 当中的一个 必要子集, 同时实现6000h 以上部分的数据区。 数据区大小由节点的功能自行决 定。1000h 以下部分所有的节点都不需实现。 对象字典作为在 CAN总线上连接 application 和通信的媒介,其允许来自 application 数据在 CAN 网络上进行交换。 CANopen 定义了可以进入对象字典的服务和通信对象。每一个入口 通过索引和子索引来编址。在一个主索引里中的子索引入口的类型和属性可能会变化。 5、PDO 数据处理对象 (PDO) 特别适合快速的数据处理传输。通信模块针对这些数据 处理对象定义了一个 PDO producer 和一个或多个 PDO consumers。 PDO的传输

您可能关注的文档

文档评论(0)

liuxiaoyu99 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档