CANFD 协议介绍在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN 总线由于带宽的限制难以满足这种增加的需求
此外为了缩小CAN 网络(max
1MBit/s )与 FlexRay(max
10MBit/s)网络的带宽差距,BOSCH 公司推出了CAN FD
CAN FD (CAN with Flexible Data rate)继承了 CAN 总线的主要特性
CAN 总线采用双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制使 CAN 总线有很高的安全性,但CAN 总线带宽和数据场长度却受到制约
CAN FD 总线弥补了 CAN 总线带宽和数据场长度的制约,CAN FD总线与 CAN 总线的区别主要在以下两个方面:
可变速率CAN FD 采用了两种位速率:从控制场中的BRS 位到 ACK 场之前(含CRC 分界符)为可变速率,其余部分为原CAN 总线用的速率
两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ 外,位时间各段的分配比例也可不同
新的数据场长度CAN FD 对数据场的长度作了很大的扩充,DLC 最大支持 64 个字节,在DLC 小于等于 8 时与原 CAN 总线是一样的,大于8 时有一个非线性的增长,所以最大的数据场长度可达 64 字节
CAN FD介绍1
CAN FD 数据帧帧格式CAN FD 数据帧在控制场新添加EDL 位、 BRS 位、 ESI 位,采用了新的DLC 编码方式、新的 CRC 算法( CRC 场扩展到 21 位)
CAN FD 数据帧格式如下图:2
新添加位介绍EDL 位:( Extended Data Length)原 CAN 数据帧中的保留位r, 该位功能为:
隐性:表示 CAN FD 报文(采用新的DLC 编码和 CRC 算法)
显性:表示 CAN 报文BR