0532-67769560
CAN(Controller Area Network)通信介绍及其运作方法
-

大家好。

本篇文章将围绕“CAN通信介绍及其运作方法”这个主体进行讨论。

什么是CAN?有些人会想到易拉罐的英文CAN,有些人会想到歌手CAN,而如果您是来看我们的博文的话,可能是因为想要了解CAN通信才来的把?只要知道汽车中各ECU之间的通信技术是CAN的话,就已经了解了CAN通信的一半了。那么,下面我们现在开始更详细的了解CAN通信技术吧。


CAN通信的出现背景

到上世纪80年代为止,大部分汽车都是机械式。后来随着技术的发展,汽车上出现了多种模块,即ECU。这些模块为了相互通信,使用了非同步串行通信方式通用异步收发传输器UART(Universal Asynchronous Receiver/Transmitter)。但是UART的通信是每个模块一对一通信,因此每次添加模块时都需要更多的连接线。众多的连接线占据了汽车越来越多的空间,最终导致汽车重量的增加与成本的提高。

梅赛德斯奔驰为了解决这些问题,委托了博世建立车载网络。1985年博世开发了CAN。多个CAN装置可以相互通信,用一个CAN接口可以控制多个模块,这不仅可以减少连接线数,减轻汽车重量,降低成本,还可以有效地控制系统。1993年,ISO将其指定成了国际标准。CAN至此成为了汽车通信的必要要素,如今第二代CAN已经面世。



CAN标准版本(Version/Release)

1985年推出了CAN1.0版本,1987年推出了1.1版本,1990年推出了1.2版本。CAN1.0~1.2版本时为了.0版本的稳定性与各种装置的使用而进行内容更新的版本。

从1991年推出的2.0版本开始,分为了标准CAN和扩展CAN。标准CAN与以往相同,而扩展CAN添加了扩展ID,可以使用多种数据。

CAN通信的特点及优点

CAN通信时通过并联连接多个ECU来交换数据的通信方法。数据通过CAN总线传输,实时可以访问所需的数据。那么接下来让我们了解一下在汽车上广泛使用CAN通信的特点即及优点。

① 多主控通信方式 (Multi Master):

CAN总线以多主控方式进行通信,因此通信总线由多个节点共享,随时都可以使用总线。

② 简单的结构

因用CAN_High,CAN_Low两个信号进行通信,所以只需要两条线。因此,即使后期追加很多模块,所追加的线材量也很少。

③ 杂音强:

CAN总线由Twist Pair2线组成,具有很强的电噪声保护信息。

④ 使用ID值的优先级:

汽车的ECU具有固有的ID值。ID值越低,优先级越高。CAN通过筛选过程接收设定的ID值决定优先级。使用ID值决定内容和优先级而非地址的话,可以提高系统控制速度与安全性。

特别的,CAN使用总线可以大幅减少连接线数。这与汽车的重量直接相关,因此非常重要。

 高速及远程通信:

CAN通信提供最高达1Mbps的高速通信。一般通信速度为500k~1Mbps的即可使用CAN通信。另外,最远支持1000m的远距离通信。

 PLUG和PLAY功能

提供PLUG和PLAY功能,是CAN控制器易于连接和断开总线。因此很容易添加和移除多个设备。

CAN框架结构

现在了解了CAN通信是什么了吗?既然知道了CAN通信是什么,那么现在大家应该也会好奇CAN的样子。所以接下来带大家了解CAN框架的结构。

CAN通信将数据发送到成为帧的数据包。帧是指构成一条数据的数据域或bit的集合。CAN框架由以下区域构成

① SOF Bit(Start Of Frame)用于表示数据开始,用于同步总线的主要节点。

② Identifier(ID):作为标识符,识别数据内容并赋予数据优先级。根据CAN信息中的ID长度,分为标准CAN和扩展CAN两种格式。标准CAN是11位标识符,扩展CAN是29位标识符。

③ Control:表示数据的长度(DLC)。

④ Data:表示所要传输的数据。

⑤ CRC:用于检测帧的发送错误。

⑥ ACK Bit:作为表示已发送无错误数据的Bit,如果CAN控制器已正确接收数据,则发送ACK Bit。传输节点检查总线上是否存在ACK Bit。如果未发现ACK Bit,则尝试重新传输。

⑦ EOF Bit(End of Frame)表示帧的结尾并结束。

CAN通信的运作方法

CAN总线上没有控制全部节点的Master,因此可以从CAN总线上轻松访问数据。

首先CAN控制器将检查CAN总线是否正在被其他控制器使用。如果此时CAN总线未被使用,则所有家电都将使用ID值来检查各自所需要的数据。此时会忽略不必要的数据而只接收自己需要的数据。前述过汽车的ECU具有固有的ID值。如果多个节点想要同时发送消息给CAN总线,则具有最低ID值的最优先节点会自动访问总线。(如果标识符值分别位1和7,标识符1的优先级更高)优先级高的消息将获得CAN总线的使用权,其他较低级别的节点必须等待,并自动在下一个总线循环中执行重发。

摘要

CAN通信不仅在汽车领域,在自动化机器,医疗器械,机器人等多个领域也被广泛使用,因此今后也将成为非常重要的通信方法。

现在我们已经对CAN通信了解了很多。在下篇文章中我们将了解收集CAN数据的测试BOX的制作方法。