CAN总线应用中的iCoupler隔离
发布时间:2021-06-05
发布时间:2021-06-05
AN-770应用笔记
One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113
CAN总线应用中的iCoupler®隔离
作者:Ronn Kliger和
Sean Clark
简介
控制器区域网络(CAN)总线是设计用于工业应用的一种稳定的协议,最初针对汽车应用而开发。它规定最大电缆长度为40米,最大节点数为30。这种规范十分灵活,优势明显,因此其应用日益广泛。
由于CAN总线系统通常用于连接多个系统,铺设距离很长,因此总线和所连接的各系统之间的隔离非常关键。隔离可以防止CAN总线电缆网络与连接至总线的系统之间的过压瞬变造成破坏,同时消除网络中的接地环路,减少信号失真和误差,并防止电压/接地失配影响电路。 本应用笔记的目的是向用户简要介绍CAN总线协议,重点讨论系统物理层,并解释系统隔离的重要意义。本应用笔记还详细说明了如何在CAN总线系统中利用ADI公司的iCoupler产品实现隔离。
图1.CAN总线数据传输帧
CAN总线仲裁
CAN总线协议还规定了无损位仲裁方法,确保数据不会丢失。它是该协议最重要的特性之一。
CAN总线协议对总线上的数字逻辑状态进行了规定,将逻辑高电平状态定义为隐性状态,将逻辑低电平状态定义为显性状态。这样设计的目的是允许每个节点都能同时执行侦听和发送。
所有节点都会在每条消息开始时发送一个显性消息起始(SOM)位。其他节点会注意到总线活动,在消息包传送完毕之前,不会尝试启动传输。
SOM位之后是仲裁字段。该字段为11位或29位长,取决于所用CAN总线协议的版本。
如果某条消息的优先权最高,则其仲裁字段的显性位数也最多。它将首先传输一个显性位,而其他节点则传输隐性位。
仲裁字段也称为识别符,用于确定消息在总线上的优先权。仲裁字段发送完毕时,除优先权最高的节点以外的所有节点都将已经停止传输。
如果多个节点同时开始传输,则总是由发送最多数量显性位的节点控制总线。所有节点都监控总线,并在发现有更高优先权的传输时停止传输。
其他节点在该消息传输完毕后尝试再次传输。在第二次尝试中,仲裁字段值次高的节点控制总线,仲裁过程再次重复。
这种无损总线仲裁方法可确保优先权最高的消息始终得以传送。
CAN总线概述CAN总线协议
国际标准化组织(ISO)将CAN总线协议标准定义为串行通信双线总线,其数据速率最高可达1 Mbps。它使用两层:一是ISO11898所规定的差分信号物理层,用于提供出色的抗噪声干扰性能;二是数据链路层,用于定义信号如何交互和通信。
数据帧
CAN总线协议采用异步数据传输设计。传送的数据通过数据帧发送,每次传输的开始和结束由起始位和停止位控制。
数据帧由下列字段组成:仲裁字段、控制字段、数据字段、循环冗余校验字段和应答字段。帧以帧起始“显性”位开始,并以帧结束字段(位)结束,如图1所示。