流行欧洲的CAN-bus高层协议
简介
CANopen协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。尤其是在欧洲,CANopen协议被认为是在基于CAN的工业系统中占的标准。大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。
CAL 协议
CAL(CAN Application Layer)协议是目前基于CAN的高层通讯协议中的一种,zui早由Philips医疗设备部门制定。现在CAL由独立的CAN用户和制造商集团CiA(CAN in Automation)协会负责管理、发展和推广。
在OSI模型中,CAN标准、CANopen协议之间的关系如下图所示:
CANopen
CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型(它只定义了how,没有定义what)。而这正是CANopen切入点。
CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂。
CANopen的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。注意:对象字典不是CAL的一部分,而是在CANopen中实现的。
CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。
CANopen设备
一个CANopen设备必须支持一定数量的网络管理服务(管理报文,administrative messages),需要至少一个SDO。每个生产或消费过程数据的设备需要至少一个PDO。所有其它的通讯对象是可选的。一个CANopen设备中CAN通讯接口、对象字典和应用程序之间的如图3-1所示。
总结
基于CAN总线的CANopen网络通讯具有以下特点:
口. 使用对象字典(OD:Object Dictionary)对设备功能进行标准化的描述。
口. 使用ASCII文档:电子数据文档(EDS)和设备配置文件(DCF)对设备及其配置进行标准化的描述。
口. CANopen网络的数据交换和系统管理基于CAL中CMS服务。
口. 系统boot-up和节点保护(Node Guarding)的标准基于CAL中NMT服务。
口. 定义了整个系统的同步操作。
口. 定义了节点特定的应急报文。
为与CANopen通讯协议和相应的设备子协议保持一致,以使制造商的产品能够用于任何CANopen网络,以下3种层次的兼容性要求需要满足(对日益增长的设备兼容性的要求):
口. 一致性:
设备连接到CANopen网络后不能影响其他设备的通讯:应用层的一致性。
口. 互用性:
设备能够同网络上的其它节点交换数据:通讯协议的一致性。
口. 互换性:
设备能够代替另外一个同类设备:设备子协议的一致性。