【车载开发系列】CAN与CANFD下篇
【车载开发系列】CAN与CANFD下篇
【车载开发系列】CAN与CANFD下篇
- 【车载开发系列】CAN与CANFD下篇
- 一. 物理层
- 二. 各种帧之间的关系
- 三. 通讯区别总结
- 1.数据传输速率
- 2.数据帧长度
- 3.兼容性
- 4.错误检测和处理
- 四. 通信效率提升
- 1.支持双比特率
- 2.加长数据长度
- 五. 总结
一. 物理层
在物理层,CANFD与经典CAN是一致的。只是在上面的协议层,CANFD在经典CAN的基础上进行了升级。所以可以理解成CANFD是经典CAN协议的升级版。
二. 各种帧之间的关系
经典CAN可以分为CAN标准帧&CAN拓展帧,CAN标准帧和拓展帧均可以延伸出远程帧。
CANFD也可以分为标准帧和CANFD拓展帧,CANFD舍弃了远程帧,因为开发人员都觉得远程帧没有什么大用。
远程帧的全称是远程请求帧。帧结构只包括帧头(帧起始段+仲裁段+控制段),它最开始设计出来用于降低总线的负载率。
数据帧,错误帧,扩展帧这三种帧CAN与CANFD都存在。
三. 通讯区别总结
1.数据传输速率
CAN通信的最大传输速率通常为1Mbps,而CAN FD通信提供了更高的速率,可达到最高8Mbps。
2.数据帧长度
CAN通信的数据帧长度有限,最大为8字节。而CAN FD通信引入了灵活数据率和灵活数据帧长度的概念,允许更大的数据帧长度,最大可达到64字节。
3.兼容性
CAN FD通信是对CAN通信的扩展和改进,因此在兼容性方面,CAN FD设备可以与传统CAN设备兼容,但传统CAN设备不支持CAN FD的高速和灵活性特性。
4.错误检测和处理
CAN FD引入了更多的错误检测和处理机制,使得在高速和高数据量的通信环境下,系统更可靠。
四. 通信效率提升
CAN FD采用了两种方式来提高通信的效率:一种方式是缩短位时间提高位速率;第二种方式为加长数据长度减少报文数量降低总线负载率。
1.支持双比特率
与传统CAN一样,标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑/收发器。实际上,可以实现高达5Mbit/s的数据比特率。
从控制段中的 BRS 位到 ACK 段之前(含 CRC 分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位 TQ 外,位时间各段的分配比例也可不同。
2.加长数据长度
CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节,这减少了协议开销,并提高了协议效率。
DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时则有一个非线性的增长,最大的数据场长度可达64字节。
五. 总结
CAN和CANFD在物理层是一致的,但在传输性能、数据段长度、帧类型、波特率灵活性、CRC校验和帧结构上都存在较大差异,CANFD在经典CAN的基础上提升了通信速度和数据容量。
从经典CAN到CANFD,很好的解决了ID不足以及改善总线负载率的问题。在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。
与传统CAN相比,CAN FD可以将网络带宽提高3到8倍,效率可从50%提升到90%,从而为数率的增长提供了一种简单的解决方案。