找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7355|回复: 2
打印 上一主题 下一主题
收起左侧

CANopen协议中文版(共21页pdf下载)

  [复制链接]
跳转到指定楼层
楼主
canopen协议是流行于欧洲的一种协议,初看还是挺懵逼的,有需要的同学可以下来看看

1、介绍
从OSI网络模型的角度来看同,现场总线网络一般只实现了第1层(物理层) 、第2 层(数据链路层) 、第7层(应用层) 。因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层) ,也不需要第5层(会话层)第6层(描述层)的作用。 CAN(Controller Area Network)现场总线仅仅定义了第1 层、第2层(见ISO11898标准) ;实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware) 。 同时,CAN只定义物理层和数据链路层,没有规定应用层,本身并不完整,需要一个高层协议来定义CAN报文中的 11/29位标识符、8字节数据的使用。而且,基于CAN总线的工业自动化应用中,越来越需要一个开放的、标准化的高层协议:这个协议支持各种CAN 厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。
z  应用层(Application layer) :为网络中每一个有效设备都能够提供一组有用的服务与协议。
z  通讯描述(Communication profile) :提供配置设备、通讯数据的含义,定义数据通讯方式。
z  设备描述(Device proflile) :为设备(类)增加符合规范的行为。
下面的章节将介绍基于CAN 的高层协议: CAL协议和基于CAL协议扩展的CANopen 协议。 CANopen协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen协议被认为是在基于CAN的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述; “设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。
在OSI模型中,CAN标准、CANopen协议之间的关系如下图所示:

图1.1   CAN、CANopen标准在OSI网络模型中的位置框图

2、CAL  协议
CAL(CAN Application Layer)协议是目前基于 CAN的高层通讯协议中的一种,最早由 Philips医疗设备部门制定。现在CAL由独立的CAN用户和制造商集团CiA(CAN in Automation)协会负责管理、发展和推广。
CAL提供了4种应用层服务功能:
z  CMS (CAN-based Message Specification)
CMS 提供了一个开放的、面向对象的环境,用于实现用户的应用。CMS 提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8 字节的一组数据(域) ,并且有终止传输的功能) 。
CMS 从MMS (Manufacturing Message Specification)继承而来。MMS是OSI 为工业设备的远程控制和监控而制定的应用层规范。
z  NMT (Network ManagemenT)
提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT主节点)来实现的。
z  DBT (DistriBuTor)
提供动态分配CAN ID(正式名称为COB-ID,Communication Object Identifier)服务。这种服务是采用主从通讯模式(所以只有一个DBT主节点)来实现的。
z  LMT (Layer ManagemenT)
LMT提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的NMT地址,或改变CAN接口的位定时和波特率) 。

CMS为它的消息定义了8个优先级,每个优先级拥有220个COB-ID,范围从1到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT,见表2-1。



注意这是CAN2.0A标准,11 位ID范围[0,2047],由于历史原因限制在[0,2031]。如果使用CAN2.0B标准, 29位ID并不改变这个描述; 表中的11位映射到29位COB-ID中的最高11位, 以至于表中的COB-ID范围变得增大许多。

3、CANopen
CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS 对象的内容或者正在通讯的对象的类型(它只定义了how,没有定义what) 。而这正是CANopen切入点。 CANopen是在 CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂。 CANopen的核心概念是设备对象字典 (OD: Object Dictionary) , 在其它现场总线 (Profibus, Interbus-S)系统中也使用这种设备描述形式。注意:对象字典不是CAL的一部分,而是在CANopen中实现的。 下面先介绍对象字典(OD:Object Dictionary) ,然后再介绍CANopen通讯机制。
3.1   对象字典 OD
对象字典(OD:Object Dictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,对象字典的结构参照表3-1。不要被对象字典中索引值低于 0x0FFF 的‘data types’项所迷惑,它们仅仅是一些数据类型定义。一个节点的对象字典的有关范围在0x1000到0x9FFF之间。

完整的pdf格式文档51黑下载地址(共21页):
canopen中文协议.pdf (2.08 MB, 下载次数: 230)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:511649 发表于 2020-5-9 14:53 | 只看该作者
谢谢,正好需要
回复

使用道具 举报

板凳
ID:416258 发表于 2021-3-5 18:09 | 只看该作者
感谢楼主的分享,正好需要学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表