CAN(Controller Area Network)总线协议是一种高度可靠性的串行通信协议,主要用于在不同电子控制单元(ECU)之间传输数据。最早由BOSCH公司在1986年设备开发。CAN协议的主要特点是具有抗干扰和可靠性强,传输速率快,能够承载多种通信数量。
CAN总线不同于SPI和I2C等协议,该协议并不使用晶振时钟。CAN总线协议使用电容器时钟,这个时钟源受振荡电压产生自发充电,因此,这种时钟并不精确,但是CAM协议实际上并不要求精度非常高的时钟源,在合适的电容范围内能够保证总线的传输效果。
在每个CAN节点上都有一个局部的振荡电压源,随后一个电容器会与这个电压源相连。当电容器处于放电状态时,CAN节点的传输电位变的较低,而当这个电容器处于充电状态时,CAN节点的传输电位会变的比较高,这就是我们所说的1或0的传输状态。
CAN总线协议的速率是由以下几个因素决定:
1. CAN控制器时钟源;
2. 比特时间,是CAN通信最小的时间单元,由同步段、传递段、采样点组成;
3. 采样点的位置,采样点是指每个位的传输状态被检测的位置。
CAN总线协议的应用十分广泛,主要应用于汽车控制系统、船舶控制系统,航空航天、新能源电动汽车等各个领域。
此外,在实际应用中,CAN总线协议不需要通信线路的终端使用传输时钟,因此传输数据的确定主要基于像定时是否到达只是检测,因此在不同的应用领域,会根据传输长度和传输速率在总线上加入亚微秒和微秒级别的同步段来保证数据的准确性。