人们用CAN代替RS485,主要是因为其突发传输的实时性优势。但在多节点、长距离的应用中,如果没有优化,CAN总线相比RS485没有优势。沟通如何
人们用CAN代替RS485,主要是因为其突发传输的实时性优势。但在多节点、长距离的应用中,如果没有优化,CAN总线相比RS485没有优势。沟通如何才能战胜我们的传统沟通?让CANOpen给你答案。
CANopen初期,即使在CAN总线广泛应用的汽车电子行业,网络中的CAN节点数量和通信所需的信息也比较少。人们用CAN代替RS485主要是因为其突发传输的实时性优势,但在多节点、长距离的应用中,CAN总线与RS485相比并无优势。比如在相同的波特率下,CAN的通信距离只能达到RS485的0.6-0.8倍,而多节点通信CAN不能发送任何突发,只好遵循RS485那样的轮询通信机制,否则会导致拥塞,如图1所示。就像这个路口的车,如果只有10辆车,即使没有红绿灯,也完全不会拥堵。而如果有100辆车,你随意开的话,就会严重拥堵。
图1 CAN和多节点拥塞的突然优势
CANopen的创始人非常了解CAN总线的特点,所以在设计CANopen的时候就定义为小型网络和控制信号的实时通信:
消息传输采用CAN标准帧格式。即11位ID字段,以最小化传输时间;
网络控制消息中使用最小数据字节数。例如,心跳消息只有一个字节的数据;
接收器不需要回答实时更新的过程数据。即采用生产消费模式,降低公交负荷;
需要接收方确认的配置参数通常采用快速单字传输。即一条消息最多可以传输一个32字节的参数变量,避免了成帧带来的实时性降低。
这些定义都是为了节省时间,最大程度保证实时性。同时,为了减少简单网络配置的工作量,CANopen定义了强制默认标识符(CAN帧ID)分配表,减少用户和维护人员的学习时间,快速上手。
网络管理(NMT)和特殊协议报文ID分类虽然CANopen的通信表现出CAN的特点,但所有节点的通信状态都是平等的,在运行过程中允许自行发送报文,为了稳定、可靠、可控,CANopen网络需要设置一个网管主机NMT-master,就像交响乐团的指挥一样,所有节点都在他的指挥下启停,如图所示。
图2 NMT-马斯特就像一个交响乐指挥。
NMT主机一般是CANopen网络中带监控的PLC或PC(当然也可以是一般的功能节点),所以也成为CANopen主站。相应的其他CANopen节点是NMT从节点。
NMT主机和NMT从机之间传递的信息称为NMT网络管理信息。管理消息负责层管理、网络管理和ID分发服务。例如初始化、配置和网络管理(包括节点保护)。在网络管理中,同一个网络中只允许有一个主节点和一个或多个从节点,遵循主从模式。
此外,为了协调各节点的同步、心跳、时间、错误提示等通信控制,CANopen还定义了一系列特殊的协议消息。如表1所示,是CANopen预定义CAN-IDs的NMT报文和特殊协议报文。
表1 NMT和特殊协议的CAN-ID定义
CAN-ID是这类消息的COB-ID,其中读者必须记住绿色阴影的常见含义。在CANopen的研究和应用中,这三种类型是最常用的NMT和特殊协议消息。
USBCAN-E-P和PCI-5010-P主卡可以为PC机扩展CANOpen通信接口,实现CANOpen协议的数据通信。作为CANOpen网络的管理者,实现CANOpen网络管理(NMT)的所有功能。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们