CAN应用层协议详解之DeviceNet协议
DeviceNet是基于CAN总线技术并符合全球工业标准的开放型通信网络。定位于工业控制的设备级网络,不仅降低了系统的复杂性,还减少了设备通信的电缆硬件接线,提高系统可靠性,降低安装、维护成本,是分布式控制系统的理想解决方案。
DeviceNet规范定义了一个网络通信标准,以便组成工业控制系统的各个设备之间可以进行数据通信。DeviceNet规范除了提供ISO模型的应用层定义之外,还定义了部分物理层和数据链路层。规范中不仅对DeviceNet节点的物理连接也作了规定,连接器、电缆类型、长度以及与通信相关的指示器、开关、相关的室内铭牌都作了详细规定。
1.DeviceNet基本概念
DeviceNet是建立在CAN协议基础之上,沿用了CAN协议所规定的物理层和数据链路层,并补充了不同的报文格式、总线访问仲裁规则及故障检测和隔离方法。DeviceNet的功能和特点如表1所示。
表1 DeviceNet特点
DeviceNet的应用层协议则采用的是通用工业协议(CIP)。CIP是一个在高层面上严格面向对象的协议。每个CIP对象具有属性(数据),服务(命令),连接和行为(属性值与服务间的关系),其主要功能有两个:一是面向连接的通信;二是定义了标准的工业应用对象。下文详细介绍通信部分。
CIP通信最重要的特点是它用不同的方式传输不同类型的报文,根据报文质量要求将需要发送的报文分为:显式报文和隐式报文。
CIP另一个重要特点是通信基于连接的。因此DeviceNet网络上任意两个节点通信之前必须建立起连接,且连接是可以动态建立和撤销。请注意这里的"连接"是逻辑上的关系,而非物理层的连接。
DeviceNet支持两种类型的连接:显式信息连接和I/O连接。
显式信息连接是点对点的连接方式,报文接收方必须对接到的报文做出相应的响应,通常这类报文对时间要求不高,主要用于上传/下载程序、修改设备参数、趋势分析和诊断等。
I/O连接则用于传送实时性要求较高的I/O报文,可以一对一、一对多的数据传送。DeviceNet支持多种I/O数据触发方式,如位选通(Bit strobe)、轮询(Poll)、状态改变(COS:Change Of State)/循环(Cyclic)等。
位选通:利用8字节的广播报文,每一位分别对应着网络上64个节点,指定要求响应的从节点,响应报文最大为8个字节。
轮询:这种触发方式适用于绝大多数设备,相比位选通的少量I/O数据,轮询命令可传送任意数量的数据。轮询命令依次发送到各从站设备,从站接收到命令后做出应答。
状态改变:此方式多用于离散的设备,当设备状态发生改变时,使用事件触发方式,发生通信,而不是依靠主设备不断查询。为了防止设备掉线,增加了心跳报文,定时获取设备运行状态。
循环:适用于一些模拟设备,可以根据设备信号发生快慢,灵活的设定循环通信的时间间隔,可以降低不必要的网络流量,循环时间设定值应小于模拟量输入发生变化的时间值。每台设备中,循环和状态改变是互斥的,同一时刻只能使用一种连接方式。
下面通过图1介绍DeviceNet网络中两台设备建立通信的一般流程。
图1 DeviceNet通信基本流程
DeviceNet网络上最多可有64个节点,节点地址(MAC ID)可为0~63,每一个节点都具有唯一的MAC ID。因此每个节点在上电之后、上线之前必须进行重复MAC ID检测,以确认其MAC ID是否已被网络上其它节点使用。节点在上电之后,将发送重复MAC ID检测报文,间隔一秒,如果连续两次发送都没有接收到来自其它节点的重复MAC ID响应报文,那么该节点可以使用此MAC ID并转为在线状态,否则表示该MAC ID已被其它节点占用,该节点为离线状态。然后,通过未连接显式信息建立显式信息连接,主从站通过显式信息进行各种配置和信息交换,主站通过显式信息读取从站的标识信息,并与预先保存的配置信息进行对比,只有完全一致时主站才会对从站进行下一步操作,否则主站将会主动释放显式信息连接。最后,建立I/O连接,并通过I/O连接进行实时数据收发。
注:不同的主站模块建立I/O连接的流程有所差别,上文强调的是DeviceNet网络是基于连接的一种通信网络。
DeviceNet 是一个基于连接的网络系统一个DeviceNet 的连接提供了多个应用之间的路径当建立连接时与连接相关的传送被分配一个连接ID CID 如果连接包含双向交换那么应当分配两个连接ID 值见图2。
图2 连接及连接ID
2.DeviceNet 关于CAN 标识区的使用
在DeviceNet 上有效的11 位CAN 标识位被分成4 个单独的信息组组1 组2和组3 和组4。
图3 DeviceNet的CAN报文定义
信 息 ID (Message ID) :在一特定端点内的信息组中识
- 恩智浦半导体扩充高速CAN收发器产品系列(04-14)
- 凌力尔特推出极其坚固的高压容限CAN(控制器局域网)收发器LTC2875(01-25)
- 致远电子推出新一代隔离CAN收发器(03-08)
- TI推出两个系列的控制器区域网络收发器TCAN1042和TCAN1051CAN(03-20)
- 汽车电子设计网站专题论坛精萃 (01-08)
- 意法半导体为STR91x设计人员提供免费TCP/IP网络协议栈(02-10)