CAN0pen网络管理与特殊协议解刨
2015-11-22
作者:周立功致远电子
摘要:人们使用CAN取代RS485,主要是看重其可以突发发送的实时性优势,而在多节点、长距离应用中,如果没有做好优化,CAN总线和RS485比起来并无优势,那要如何让CAN通讯完胜我们的传统通信呢?让CANOpen来给你答案。
在CANopen创立之初,即使在CAN总线应用最广泛的汽车电子行业,网络中的CAN节点数量和需要通讯的信息都是比较少的。人们使用CAN取代RS485,主要是看重其可以突发发送的实时性优势,而在多节点、长距离应用中,CAN总线和RS485比起来并无优势,比如同样的波特率下,CAN的通信距离只能达到RS485的0.6-0.8倍,而多节点通信CAN无法进行任意的突发发送,不得不遵循RS485那样的轮询通信机制,否则会导致拥堵,如图 1所示。就像这个十字路口的汽车,如果车只有10辆,即使没有交通灯,根本不会拥堵。而如果有100辆,如果任意行驶,就会发生严重拥堵。
图 1 CAN的突发优势和多节点拥堵
CANopen的创始人是非常了解CAN总线这个特征,所以在设计CANopen时,对其定义为小网络、控制信号的实时通讯:
l 报文传输采用CAN标准帧格式。即11bit的ID域,以尽量减小传输时间;
l 网络控制报文均采用数据最小字节数。比如心跳报文,只有1个字节数据;
l 实时更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载;
l 需要接收方确认的配置参数一般都是采用快速单字传输。即1个报文最多传送1个32字节的参数变量,避免了分帧引起的实时性降低。
以上这些定义都是为了节约时间开销,最大限度保证实时性。同时为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN帧ID)分配表,以减少使用者与维护者的学习时间,快速上手。
网络管理(NMT)与特殊协议(Special protocols)报文ID分类
虽然CANopen的通讯发挥了CAN的特色,所有节点通信地位平等,运行时允许自行发送报文,但CANopen网络为了稳定可靠可控,都需要设置一个网络管理主机NMT-Master(Network Management-Master),就像一个交响乐团的指挥家,所有节点的启动、停止都是有他进行指挥,如图 2所示。
图 2 NMT-Master就像交响乐指挥家
NMT主机一般是CANopen网络中具备监控的PLC或者PC(当然也可以是一般的功能节点),所以也成为CANopen主站。相对应的其他CANopen节点就是NMT从机(NMT-slaves)。
NMT主机和NMT从机之间通讯的报文就称为NMT网络管理报文。管理报文负责层管理、网络管理和ID分配服务。例如,初始化、配置和网络管理(其中包括节点保护)。网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。
另外,为了协调各个节点的同步、心跳、时间、错误提示等通讯控制,CANopen还定义了一系列特殊协议(Special protocols)报文。如表 1所示,为CANopen预定义报文(Pre-defined CAN-IDs)的NMT报文和特殊协议报文。
CAN-ID就是这类报文的COB-ID,其中读者必须需要记住的是绿色底纹的这些常用的CAN-ID含义,在研发和应用CANopen中,这三类是最为常用的NMT与特殊协议报文。
USBCAN-E-P与PCI-5010-P主站卡可为PC机拓展出CANOpen通讯接口,实现CANOpen协议的数据通信。作为CANOpen网络的管理者,实现全部的CANOpen网络管理(NMT)功能。