CAN总线技术特点及DeviceNet

6 CAN的出错管理CAN提供了检测下列错误类型的机制 :①位错误。当发送器将自己发送的电平与总线上的电平相比较 ,发现两者不相等时 ,出现错误 ;②应答错误。当发送器确定信息没有得到应答 ,则检测到应答错误 ;③填充错误。当节点检测到 6个相同电平值的连续位时 ,则检测到填充错误 ;④CRC错误。当接收器计算的CRC(循环冗余检查 )值不符合发送器发送的CRC值 ,则检测到CRC错误 ;⑤格式错误。如果节点在一个必须发送预定值的区内检测到一个非法位 ,则检测到格式错误。为了尽量减小网络上故障节点的负面影响 ,CAN定义了一个故障界定状态机制。一个节点可能处于下列三种错误状态之一 :①错误 激活。当一个错误 激活节点检测到上述某一个错误时 ,它将发送一个活动错误帧 ,导致所有的其他节点都检测到一个填充错误 ,且丢弃当前这个帧 ;②错误 认可。当一个错误 认可节点检测到上述的某一个错误时 ,它将发出一个认可错误帧。这个帧可能不会引起当前接收帧的丢弃 ;③离线。处于离线状态下的节点不允许对总线有任何影响 ,它在逻辑上是与网络断开的。在CAN的内部有一个发送和接收错误计数器。当检测到一个发送或接收错误时 ,错误计数器的值将按照预先分配的不同计数值进行累加。反之 ,有效的接收及发送将使这些计数器值减小 ,直到变成最小值 0。通过读取错误计数器的值 ,CAN就可以很方便地判定节点的出错级别。图3以图表的方式来描述不同错误状态之间的转换关系。

7 CAN芯片与DeviceNet
执行CAN协议的CAN芯片可由多家制造商提供 ,比较流行的是Philips和Motorola两家公司的产品。CAN芯片按结构形式可分为嵌入式和外挂式两种。嵌入式指包含CAN控制器及微处理器 (CPU )的芯片 ,外挂式只包含CAN控制器的芯片。Philips半导体公司生产的CAN芯片两种结构都有。嵌入式芯片的早期代表型号为P8XC592 (8位CPU) ,现在已经逐渐被新型号的XA C3 (1 6位CPU)所取代。外挂式芯片的早期代表型号为PCX82C2 0 0 (支持CAN 2 .0A) ,现在已经逐渐被新型号的XJA1 0 0 0 (支持CAN 2 . 0B)所取代。Motorola半导体公司生产的CAN芯片只有嵌入式芯片。早期代表型号为MC6 8HC0 5X4/X1 6系列 (8位CPU) ,现在已经逐渐被新型号的MC6 8HC0 8AZ6 0系列 (8位增强型CPU)所取代。具体选用何种CAN芯片 ,用户可根据自身的实际情况而定。不同公司的CAN芯片产品 ,虽然扩展功能各有不同 ,但由于DeviceNet总线只要求支持CAN 2 .0A ,所以在DeviceNet总线的应用方面是大同小异的。这些芯片只对 1 1位标识区的高 8位 (不是整个 1 1位 )进行屏蔽 ,并只有一个掩膜 /匹配过滤器 ,主要的数据处理必须放在软件中来实施。
8 结 语
CAN总线是一种面向一般工业设备的高速通信总线。它具有数据精简 (最长为 8byte) ,实时性高、可靠性强 (采用CRC校验 )等一系列优点 ,可满足大部分工业设备的通信要求 ,适合在低压电器领域中推广应用。DeviceNet现场总线技术在CAN总线的基础上又增加了面向对象、基于连接的现代通信技术理念 ,将工业现场的分散设备连接成一个廉价、高效、开放、可靠的控制网络系统 ,至今已在世界上众多工业现场中得到成功应用。相信在不远的将来 ,随着现场总线技术的不断深入推广 ,DeviceNet现场总线一定能在国内获得广泛应用。
评论