1、CAN通讯概述

CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信

协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种

各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求

不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、

“通过多个 LAN,进行大量数据的高速通信”的需要, 1986 年德国电气商博世公司开发出面

向汽车的 CAN 通信协议。此后, CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧

洲已是汽车网络的标准协议。

现在, CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设

备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的

计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有

力的技术支持。

2、CAN通讯特点

CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,

二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。

CAN 协议具有一下特点:

1) 多主控制。 在总线空闲时,所有单元都可以发送消息(多主控制), 而两个以上的单元

同时开始发送消息时,根据标识符( Identifier 以下称为 ID)决定优先级。 ID 并不是

表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始

发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级

最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。

2) 系统的柔软性。 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单

元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。

3) 通信速度较快,通信距离远。 最高 1Mbps(距离小于 40M),最远可达 10KM(速率低

于 5Kbps)。

4) 具有错误检测、错误通知和错误恢复功能。 所有单元都可以检测错误(错误检测功能),

检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单

元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新

发送此消息直到成功发送为止(错误恢复功能)。

5) 故障封闭功能。CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)

还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上

发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

6) 连接节点多。 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没

有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通

信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

正是因为 CAN 协议的这些特点,使得 CAN 特别适合工业过程监控设备的互连,因此,越

来越受到工业界的重视,并已公认为最有前途的现场总线之一。

CAN 协议经过 ISO 标准化后有两个标准:ISO11898标准和 ISO11519-2 标准。其中 ISO11898是针对通信速率为 125Kbps~1Mbps 的高速通信标准,而 ISO11519-2 是针对通信速率为 125Kbps以下的低速通信标准。

3、CAN通讯的差分信号

当逻辑"0"(显性电平),CAN_High和CAN_Low的压差2.5v;当逻辑"1"(隐性电平),CAN_High和CAN_Low的压差0v。

在CAN总线中,在同一时间,只要由输出显性电平,总线处于显性电平状态。类似I2c总线的“线与”特性。

由于 CAN 总线协议的物理层只有 1 对差分线,在一个时刻只能表示一个信号 ,所以对通讯节点来说, CAN 通讯是半双工 的,收发数据需要分时进行。在 CAN 的通讯网络中,因为共用总线,在整个网络中同一时刻只能有一个通讯节点发送信号,其余的节点在该时刻都只能接收。

 

 

推荐内容