
前言:之前在CAN的详细介绍里介绍了CAN的基础知识,但由于CAN总线存在通讯速率低、报文头过长,刷新速率低等缺点。为解决这些问题CAN FD应运而生。
CAN FD(CAN with Flexible Date rate)即“可变速率的CAN”,支持更快的数据传输速率和更大的数据负载。是CAN总线的进化版,可用于支持更高带宽的应用。例高级驱动辅助系统(ADAS)和无人驾驶系统(AV)(注:CAN FD较CAN只升级了协议,物理层没有改变。)
1.主要原因:汽车功能越来越多,越来越复杂,传统的CAN总线(CAN2.0)的负载率越来越高,甚至负载率高达95%。传输率最大为1Mbit/s(典型≤500Kbit/s),车载领域实际使用速率最高为500Kbit/s,无法满足越来越高的数据吞吐量。
传统CAN数据帧超过50%的额外开销(overhead>50%)
每帧报文有效数据场为8字节,仅占整帧报文信息不足50%
性能上难以应对FlexRay、Ethernet等新型车载总线的威胁。
CAN FD发扬CAN的优点,弥补了CAN的不足。
采用与CAN通信相同的事件触发模式,软件容易开发和移植。最高数据传输速率达5Mbit/s,更好地满足要求高实时性高数据传输速率的应用每帧报文有效数据场为64字节,占整帧报文信息超过70%相比FlexRay、Ethernet等新兴总线成本更低。4.历史因素:汽车不可能直接放弃目前的传统CAN总线技术,那么为了解决CAN总线负载率问题的同时又能兼容CAN总线,且研发成本不能太高的问题,2015年最新的修订版ISO 11898-1(classic CAN和CAN FD)发布。
(1)CAN与CAN FD主要区别:传输速率不同、数据域长度不同、帧格式不同、ID长度不同。
1、可变速率:CAN FD采用了两种位速率,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。
2、数据场长度增加:CAN FD对数据场的长度做了很大扩充,DLC最大支持64bytes,在DLC小于或等于8bytes时与原CAN总线是一样的,因为大于8时有非线性增长,所以最大数据场长度可达64。

对比传统CAN的数据帧,CAN FD在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式、新的CRC算法(CRC场扩展到21位)
帧起始,传统CAN的数据帧起始位和CAN FD的数据帧起始位SOF是一样的,用于标识一个数据帧的开始,是一个显性位,只有当总线空闲时候节点才能够发送SOF。
标识符,用于确定报文的ID,确定报文的仲裁优先级,ID数值越小,优先级越高。
CAN标准帧ID长度最长11bit,CAN FD标准帧ID长度可扩展到12bit。CAN FD用RRS bit(始终为显性位“0”),对应传统CAN报文的RTR用于区分CAN FD的扩展帧和标准帧(CANFD有两种格式)标准帧IDE=0;扩展帧IDE=1用于区分普通CAN报文和CAN FD报文。CAN报文,FDF=0;CAN FD报文,FDF=1时钟频率的切换,CAN FD主要特点是双速率,双速率就是在BRS切换的,BRS=1,进行速率切换;BRS=0,不进行速率切换8.ESI (Error State Indicator) 总线的错误状态指示,ESI=0,处于主动错误状态的节点;ESI=1,处于被动错误状态的节点表示数据场包含数据的字节数,CAN支持8bytes,而CANFD最多支持64bytes

具有0-64个字节长度,由DLC确定,包含数据帧发送的内容11.CRC(Cyclic Redundancy Check)循环校验①CRC-stuff count

CAN FD在安全性上有了提高,为避免位填充对CRC的影响,CAN FD在CRC场中增加了stuff count记录填充位的个数对应8的模,并用Grey你Code表示,还增加了奇偶效验位。FSB(fixed stuff-bit)固定为前一位的补码。格雷码计算:CRC区域之前的填充位数除以8,得到余数(stuff bit count modulo 8)进行格雷码计算得到的值(bit 0-2)

随着数据场的扩大,为保证信息发送的质量。CAN FD的CRC计算不仅要包括数据段的位,还要包括来自SOF的Stuff Count和填充位。通过比较CRC的计算结果,可以判断接收节点是否能够正常接收。在CAN中,CRC的位数是15位,而在CAN FD中,CRC场扩展到了21位。CRC界定符是表示CRC校验场的结束,是一个1位的常态隐性位。但在CAN FD中,考虑到节点之间的位的距离,在接收端允许最大2位时间。CAN FD帧的数据场(可变速段)是CRC界定符的第一位采样点。CAN FD的ACK应答场包括应答间隙和应答界定符,构成和CAN相同。不同的是,CAN应答场长度是1位,CAN FD接收节点利用2位时间将其识别为有效应答。
确定报文被至少一个节点正确接收,发送节点发送隐性位,接收节点正确接收后发送显性。
结束标识符,表示数据帧结束。在CAN/CAN FD中是固定格式都是7个连续的隐性位“1”
(3)CAN FD与其他帧格式的不同
CAN FD对比Flexray的优势:
①CAN FD的开发成本远低于Flexray;
②Flexray对ECU升级刷写不友好。
CAN FD对比以太网的优势:
①CAN FD的开发成本远低于以太网;
②以太网优势在于大数据的传输但不能完全适用于当前汽车架构。
(4)CAN FD的优点
(5)CAN FD与CAN性能对比


