好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CANopen协议讲解.docx

22页
  • 卖家[上传人]:鑫**
  • 文档编号:256389777
  • 上传时间:2022-02-19
  • 文档格式:DOCX
  • 文档大小:40.13KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • CANopen协议讲解 依据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. 依据节点所支持的通讯方式,每一个节点都必需实现1010h~1FFFh 当中的一个必要子集,同时实现6000h 以上局部的数据区数据区大小由节点的功能自行确定1010h 以下局部全部的节点都不需实现 对象字典作为在CAN总线上连接application和通信的媒介,其允许来自application数据在CAN 网络上进展交换CANopen定义了可以进入对象字典的效劳和通信对象每一个入口通过索引和子索引来编址在一个主索引里中的子索引入口的类型和属性可能会改变 5、PDO数据处理对象(PDO) 特殊适合快速的数据处理传输通信模块针对这些数据处理对象定义了一个PDO producer 和一个或多个PDO consumers PDO的传输是由事务触发的,这样的事务可以是代表一个PDO变量的改变;可 以是时间的过期或者是接收到一个特定的消息过程数据干脆在一个CAN消息中传输而不须要协议头文件一个PDO的长度是在0到8个字节之间PDOs包含在其映射参数和通信参数中TPDOs 和RPDOs的最大的数可以被定义为512。

      一个简洁的CANopen设备一般支持4个PDOs实际当中,对一个详细的CANopen 设备而言,其PDOs的个数由应用层或设备profile来确定的3.1PDO的构造—映射参数在对象词典中一个PDO由接近的条目构成所谓的映射参数定义了这些条目的 连接一个映射参数通过索引、分索引和位数定义数据源 例如: 一个CAN消息最多有8个字节这意味着当运用一个PDO时,在一个PDO中发送 8个字典的对象条目 3.2PDO的构造—通信参数为了传输一个PDO,通信参数定义了传输的性质和CAN标识符(CAN identifier) PDO通信参数是在对象词典的条目(RPDOs: index 0x1400–0x15FF,TPDOs: 0x1800-0x19FF)假如允许,映射参数在数据效劳对象协助下可以通过CAN修改 3.2 COB-ID(CAN 标识符, 分索引 1)COB-ID作为身份证明,PDO的优先权在总线入口(access)之前对于每一个 CAN消息来说只允许有一个发送者〔生产者〕然而,对这个已存在的消息来 说其允很多个接收者〔消费者〕 位30=0,著对这个PDO来说一个远程发送恳求〔RTR〕是被允许。

      3.3 PDO连接的例子设备A的输入2和3被转移到设备B的输出1和3两个设备都支持完全映射 传输和接收都是PDOs运用的是一样的标识符0x01C0因此设备B自动的接 收由设备A发送的PDO设备B作为接收者依据映射原理分析数据:它传递 第一个字节到输出1,传递其次个字节到输出3在另一方面,发送设备A 以同样的字节存储它的输入2和36、SDO数据字典作为应用层和通信层的主要数据交换媒介一个CANopen设备的全部数据的入口可以通过对象字典来管理每一个对象字典的入口可以用索引和子索引来表示其地址CANopen定义了所谓的SDO就是用于进入到这些入口 通信模块基于客户-效劳器框架上的数据交换读或写入口总是由客户来初始 化并且是由效劳器效劳每一个CANopen设备必需有一个数据效劳对象效劳器 来进入到它的对象字典SDO 发送须要两类不同的COB IDs (CAN identifier)第一个COB ID 用于从 客户到效劳器发送一个恳求效劳器通过其次个COB ID发送反应信号到客户 不同的 COB ID必需用于各自的方向以防止在CAN总线上的冲突通信profile 定义了COB IDs 可以用default SDP server。

      每一个CANopen设备可以处理127 个SDO servers. CANopen 标准CiA DS-301 定义了不同的协议用于发送SDOs读OD 入口称作为上传,写入口称为下载一个正在进展的发送可以在终止转 移效劳协助下由客户或效劳器来中断TPDO 传输的是采样的数据,当发生触发TPDO 传输的事务时,各个TPDO 根 据自己的传输类型确定是否进展采样并传输TPDO 的传输分为同步和异步两大类,传输类型为同步的,须要在接收到同步消息(SYNC) 时采样数据同步又分为周期和非周期两种传输类型0 为非周期传输,表示只有接收到同步消息并且规定的事务发生才进展采样数据发送,详细是在收到同步对象后,判定规定的事务是否发生,假如发生那么进展采样并触发TPDO 的发送传输类型1~240 为周期传输,传输类型的值表示在接收到对应个数的同步消息后采样并触发TPDO 的发送,例如某个TPDO的传输类型为10,就表示此TPDO 每次接收到10 个同步消息后采样并发送数据传输类型252 为非周期传输,在接收到同步对象后进展采样但不发送,在接收到恳求该数据的远程帧后发送传输类型253-255 为异步传输,定义为此三种类型的TPDO在接收到远程帧或规定的事务发生后进展传输。

      7、CANopen中的协议CAN message in CANopen 数据放在CAN帧中是按最小位在前的依次存放 NMT protocol 设置节点进入操作 设置节点进入停顿 设置节点进入预操作 设置节点进入复位应用 设置节点进入复位通信配置全部节点时,运用nodeID=00Node Guard Protocol 主节点发送以下吩咐来询问节点的状态 节点响应 HeartBeat Protocol 节点周期传送它的状态 Bootup Protocol 节点进入预操作状态时,它发送: SDO protocol全部SDO帧都具有一样的CAN帧长度:8bytes数据和rtr=0.SDO Download expedited protocol为了写0xd0d1?到效劳器节点对象字典,客户机发送恳求: SDO Upload expedited protocol为了读0xd0d1?到效劳器节点对象字典,客户机发送恳求: SDO abort protocolAbort code (hexa)0503 0000 Toggle bit not alternated 0504 0000 SDO protocol timed out0504 0001 Client/server command specifier not valid or unknown 0504 0002 Invalid block size (block mode only)0504 0003 Invalid sequence number (block mode only) 0504 0004 CRC error (block mode only) 0504 0005 Out of memory0601 0000 Unsupported access to an object 0601 0001 Attempt to read a write only object 0601 0002 Attempt to write a read only object0602 0000 Object does not exist in the object dictionary 0604 0。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.