引 言
CAN总线由于具有实时性和可靠性高、组网成本低等优点,近年来在汽车工业、楼
宇自动化、工厂自动化、机器人控制等领域得到广泛应用。CANopen协议不仅定
义了通信规范,而且为可编程系统、不同器件、接口等设备应用子协议定义了大量
的行规。遵循CANopen协议开发出的设备能实现不同生产厂家的产品间的互操作
。
要掌握CANopen协议,重点是对对象字典和设备模型的理解以及对4类通信对象的
掌握。本文先对CANopen协议进行削析,再重点介绍在PICl8F458单片机上开发基
于CANopen协议的节点,最后通过温度测控系统实验验证了系统信息传递的可靠
性、准确性和实时性。
1 CANopen通信协议简介
CANopen协议是CiA协会基于CAN总线定义的应用层协议之一,在各种控制系统中
得到了广泛应用。它以CAN芯片为硬件基础,有效利用CAN芯片所提供的简单通信
功能来满足工业控制网络的复杂应用层协议要求。CANopen网络是主从站(Master
—Slave)结构,系统的运行由主站控制,主站可以对127个从设备进行控制,不同
设备通过CAN总线进行连接组网。图1为CANopen设备模型。CANopen通信协议接
口用于提供在总线上收发通信对象的服务,不同CANopen设备间的通信都是通过
交换通信对象来完成的。CANopen协议中定义了4种通信对象(通信模式),用于对
不同作用的信息进行处理:NMT对象(网络管理对象)、SDO对象(服务数据对象)、P
DO对象(过程数据对象)、特殊功能对象。
设备对象字典是CANopen协议的核心概念,位于CANopen设备模型中通信层和用
户应用层之间,为用户应用层提供接口。它是一个结构标准化的、有序的对象组,
描述了该设备使用的所有数据类型、通信对象和应用对象。基于CANopen协议的
网络系统中每一个设备都要实现一个唯一的对象字典,区别在于设备类型不同其内
容则不同。对象字典中每个对象拥有一个唯一的16位主索引和8位子索引,由此实
现对其中各种对象的访问。对象字典在系统软件设计中得以实现,然后使用标准化
的EDS文件对其进行描述。
P 1 / 7