CANopen在OSI层级中的位置
从 OSI 的 7 层网络模型的角度来看同,CAN(Controller Area Network)现场总线仅仅定义了第1层(物理层,见 ISO11898-2 标准)、第2层(数据链路层,见 ISO11898-1 标准);
而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware),只要了解如何调用相关的接口和寄存器,即可完成对 CAN 的控制。
CANopen协议中支持了各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。其中包括:
1、应用层:为网络中每一个有效设备都能提供一组有用的服务与协议。
2、通讯描述:提供配套设备、通讯数据的含义,定义数据通讯方式。
3、设备描述:为设备增加符合规范的行为。
CANopen设备结构
CANopen通讯定义了CANopen协议通信规则以及与CAN控制器驱动之间的对应关系,用户用用层是用户根据实际的需求编写的应用对象。
CANopen中的报文ID分类
CANopen的定义为小网络、控制信号的实时通讯:
1、报文传输采用CAN标准帧格式。即11bit的ID域,以尽量减少传输时间;
2、网络更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载;
3、需要接收方确认的配置参数一般都是采用快速单字传输。即1个报文最多传输1个32字节的参数变量,避免了分帧引起的实时性降低。
以上这些定义都是为了节省时间开销,最大限度的保证实时性。同时为了减小简单网络的组态工作量,CANopen定义了强制的缺省标识符分配表,以减少使用者与维护者的学习时间,快速上手。