1 CAN总线的基本概念以及由来
1.1 简介
CAN 总线即控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,被公认为最有发展前景的现场总线之一。由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而广泛应用于工业自动化、船舶、医疗等其它领域。CAN国际标准只涉及到 OSI(开放式通信系统参考模型 )的物理层和数据链路层。上层协议是在CAN标准基础上定义的应用层,市场上有不同的应用层标准。
要了解CAN总线协议,我们首先知道的一个概念是汽车ECU是指的什么?ECU(Electronic Control Unit)电子控制器单元,又称为汽车的“行车电脑”,它们的用途就是控制汽车的行驶状态以及实现其各种功能。“节点”或“电子控制单元”(ECU)就像车身的一部分,通过CAN总线互连。一个部分感知到的信息可以与另一部分共享。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车。
image.png
CAN总线系统使每个ECU都能与所有其他ECU通信-无需复杂的专用接线。
具体地说,ECU可以通过CAN总线(由两条线组成,CAN低和CAN高)准备和广播信息(例如传感器数据)。广播的数据被CAN网络上的所有ECU接收——然后每个ECU可以检查数据并决定是接收还是忽略它。
简而言之CAN总线是用于各个ECU之间互相通信的网络以及协议。
那么什么是ECU?
在汽车CAN总线系统中,ECU可以是例如引擎控制单元,安全气囊,音频系统等。现代汽车可能具有多达70个ECU—每个ECU可能都需要与网络的其他部分共享的信息。
image.png
1.2 CAN总线的优势
由于具有如下优势,所以CAN总线广泛应用于汽车,自动化,机械,轨道交通等各个方面。
展望未来,CAN总线协议将保持相关性 —尽管它将受到主要趋势的影响:
image.png
1.对日益先进的车辆功能的需求
2.云计算的兴起
3.物联网(IoT)和联网车辆的增长
4.自动驾驶汽车的影响
特别是,联网汽车和云计算的增长将导致车载远程信息处理和物联网CAN记录器的快速增长。
反过来,使CAN总线“联机”也会使车辆面临安全风险 -并可能需要转向新的CAN协议。
image.png
2 CAN物理层
与 I2C、SPI 等具有时钟信号的同步通讯方式不同,CAN 通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有 CAN_High 和 CAN_Low 两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。我们来看一个示意图
image.png