北京博控自动化技术有限公司-Read.doc
文本预览下载声明
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 网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。
? 应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。
? 通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。
? 设备描述(Device proflile):为设备(类)增加符合规范的行为。
下面的章节将介绍基于 CAN 的高层协议:CAL 协议和基于 CAL 协议扩展的 CANopen 协议。CANopen 协议是 CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲, CANopen 协议被认为是在基于 CAN 的工业系统中占领导地位的标准。大多数重要的设备类型,例如数字 和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述” 的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠 CANopen 协议的支持, 可以对不同厂商的设备通过总线进行配置。
在 OSI 模型中,CAN 标准、CANopen 协议之间的关系如下图所示:
CiA DSP-401 CiA DSP-404 CiA DSP-xxxApplication
Lay
r
Communication Pr ofile CiA DS-301
Data Link
Layer
Chip CAN 2.0A
Physical LayerISO11898
C图 1.1 CAN、CANopen 标准在 OSI 网络模型中的位置框图
2、CAL 协议
CAL(CAN Application Layer)协议是目前基于 CAN 的高层通讯协议中的一种,最早由 Philips 医疗 设备部门制定。现在 CAL 由独立的 CAN 用户和制造商集团 CiA(CAN in Automation)协会负责管理、发 展和推广。
CAL 提供了 4 种应用层服务功能:
CMS (CAN-based Message Specification)
CMS 提供了一个开放的、面向对象的环境,用于实现用户的应用。CMS 提供基于变量、事件、 域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过 8 字节 的一组数据(域),并且有终止传输的功能)。
CMS 从 MMS (Manufacturing Message Specification)继承而来。MMS 是 OSI 为工业设备的远程控 制和监控而制定的应用层规范。
NMT (Network ManagemenT)
提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模 式(所以只有一个 NMT 主节点)来实现的。
DBT (DistriBuTor)
提供动态分配 CAN ID(正式名称为 COB-ID,Communication Object Identifier)服务。这种服务 是采用主从通讯模式(所以只有一个 DBT 主节点)来实现的。
LMT (Layer ManagemenT)
LMT 提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的 某层参数(如改变一个节点的 NMT 地址,或改变 CAN 接口的位定时和波特率)。
CMS 为它的消息定义了 8 个优先级,每个优先级拥有 220 个 COB-ID,范围从 1 到 1760。剩余的标志
(0,1761-2031)保留给 NMT,DBT 和 LMT,见表 2-
显示全部