CAN/CANFD总线简述

一、CAN总线

CAN总线是由德国博世公司在20世纪80年代专门为汽车行业开发的一种广播机制的串行通信总线。速率最高可达1Mbps,当信号传输距离达到10km时,CAN仍可提供高达50Kbps的数据传输速率。在没有CAN总线之前,不同车载ECU之间通过直连的方式进行通信,这会造成线束过多,连接点过多,可靠性不足的问题。

1. 物理层

CAN总线使用双绞线来传输信号,通过差分电位进行0/1信息传输,没有时钟线,CAN_H线和CAN_L线之间接有一个电阻。信息0时CAN_H为3.5v,CAN_L为1.5v,差分电位2v,为显性电平;信息1时CAN_H为2.5v,CAN_L为2.5v,差分电位0v,为隐性电位。在使用CAN总线的ECU中一定会具有CAN控制器和CAN收发器,且收发器在发射的同时也可以接收CAN信号。

2. 逻辑层

CAN报文的收发是基于广播机制,CAN报文的首个1电位是时钟同步位,用于通知所有其它ECU调整时钟节奏准备接收报文,后面11位为仲裁段电位,用于决定优先级。举例,如果某一时刻A的ECU准备发送数据,且此时没有其它ECU想要或正在发送数据,那A的ECU开始发送数据,那此时其它ECU均收到此数据,且在该数据发送结束之前,其它ECU均不能再发送任何数据。但如果某一时刻A的ECU和B的ECU想要同时发送数据,且此时没有其它ECU想要或正在发送数据,那A的ECU和B的ECU可以同时发送时钟同步位,接下来继续发送仲裁段电位。每个ECU在发送数据的同时也在接收数据,在发送仲裁段电位时,如果其接收到的电位与发送电位相同则继续发送一下电位,如果发送电位与接收电位不同,则说明有比自己优先级更高的信息正在发送,则自己停止继续发送数据。背后的物理逻辑是如果两个ECU同时发送电位,一个发送0,另一个发送1,那么CAN总线上将显示0电位,这就是为何0电位被称之为显性电平。进而可以推测,11位的仲裁电位,谁的数值小谁的优先级更高。后面还有数据段和校验段等其它信息。

二、CAN FD总线

CAN FD协议是由Bosch以及行业专家预研开发的,并于2012年发布。CAN FD具有以下4个主要优点:

1. 增加了数据的长度

CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节。这减少了协议开销,并提高了协议效率。

2. 增加传输的速度

CAN FD支持双比特率:与传统CAN一样,标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑/收发器。实际上,可以实现高达5 Mbit/s的数据比特率。

3. 更好的可靠性

CAN FD使用改进的循环冗余校验(CRC)和“受保护的填充位计数器”,从而降低了未被检测到的错误的风险。这在汽车和工业自动化等安全攸关的应用中至关重要。

4. 平滑过渡

在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。实际上,与传统CAN相比,CAN FD可以将网络带宽提高3到8倍,从而为数据的增长提供了一种简单的解决方案。

你可能感兴趣的:(其它,学习)