嵌入式
返回首页

CAN0pen网络管理与特殊协议解刨

2016-04-12 来源:eefocus

人们使用CAN取代RS485,主要是看重其可以突发发送的实时性优势,而在多节点、长距离应用中,如果没有做好优化,CAN总线和RS485比起来并无优势,那要如何让CAN通讯完胜我们的传统通信呢?让CANOpen来给你答案。

在CANopen创立之初,即使在CAN总线应用最广泛的汽车电子行业,网络中的CAN节点数量和需要通讯的信息都是比较少的。人们使用CAN取代RS485,主要是看重其可以突发发送的实时性优势,而在多节点、长距离应用中,CAN总线和RS485比起来并无优势,比如同样的波特率下,CAN的通信距离只能达到RS485的0.6-0.8倍,而多节点通信CAN无法进行任意的突发发送,不得不遵循RS485那样的轮询通信机制,否则会导致拥堵,如图1所示。就像这个十字路口的汽车,如果车只有10辆,即使没有交通灯,根本不会拥堵。而如果有100辆,如果任意行驶,就会发生严重拥堵。

 
图1CAN的突发优势和多节点拥堵 CANopen的创始人是非常了解CAN总线这个特征,所以在设计CANopen时,对其定义为小网络、控制信号的实时通讯:
报文传输采用CAN标准帧格式。即11bit的ID域,以尽量减小传输时间;  网络控制报文均采用数据最小字节数。比如心跳报文,只有1个字节数据;
实时更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载;
需要接收方确认的配置参数一般都是采用快速单字传输。即1个报文最多传送1个32字节的参数变量,避免了分帧引起的实时性降低。
以上这些定义都是为了节约时间开销,最大限度保证实时性。同时为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN帧ID)分配表,以减少使用者与维护者的学习时间,快速上手。
网络管理(NMT)与特殊协议(Specialprotocols)报文ID分类
虽然CANopen的通讯发挥了CAN的特色,所有节点通信地位平等,运行时允许自行发送报文,但CANopen网络为了稳定可靠可控,都需要设置一个网络管理主机NMT-Master(NetworkManagement-Master),就像一个交响乐团的指挥家,所有节点的启动、停止都是有他进行指挥,如图2所示。  

图2NMT-Master就像交响乐指挥家 NMT主机一般是CANopen网络中具备监控的PLC或者PC(当然也可以是一般的功能节点),所以也成为CANopen主站。相对应的其他CANopen节点就是NMT从机(NMT-slaves)。
NMT主机和NMT从机之间通讯的报文就称为NMT网络管理报文。管理报文负责层管理、网络管理和ID分配服务。例如,初始化、配置和网络管理(其中包括节点保护)。网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。
另外,为了协调各个节点的同步、心跳、时间、错误提示等通讯控制,CANopen还定义了一系列特殊协议(Specialprotocols)报文。如表1所示,为CANopen预定义报文(Pre-definedCAN-IDs)的NMT报文和特殊协议报文。

表1NMT与特殊协议的CAN-ID定义 CAN-ID就是这类报文的COB-ID,其中读者必须需要记住的是绿色底纹的这些常用的CAN-ID含义,在研发和应用CANopen中,这三类是最为常用的NMT与特殊协议报文。
USBCAN-E-P与PCI-5010-P主站卡可为PC机拓展出CANOpen通讯接口,实现CANOpen协议的数据通信。作为CANOpen网络的管理者,实现全部的CANOpen网络管理(NMT)功能。
进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 短波AM发射器电路设计图

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何构建一个触摸传感器电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章