CANFD,全称CAN with Flexible Data rate,顾名思义是可变数据速率的CAN报文。CANFD是在CAN的基础上的迭代更新,具备以下几个优势:
- 支持更高的传输速率(最高达到8Mbps),提高ECU刷写效率;
- CANFD通信能够利用CAN控制器的线束和物理层,可重复利用的特点降低成本,同时提高了兼容性;
- 更高的带宽在新能源汽车上具有更大的优势;
- 单个数据帧能够传输64个字节信息,避免了CAN数据分拆传输;
- 应用层不需要做调整,只是在原基础上做扩展。
因此,CANFD得到了广泛的应用与发展。
CANFD支持消息的双比特率,具体实现上CANFD在仲裁段由于总线上可能存在多个发送节点,这时使用较低的传输速率;而数据段结束仲裁,总线上只有一个节点在发送数据,传输速率可以切换到一个较高的值,CANFD使用更大的数据场来提高传输效率,取消了远程帧。
CANFD帧由帧起始SOF,ID仲裁段,控制段,数据域,CRC域,ACK域,帧结束,共七个部分组成。各段长度信息已经在CANFD帧结构图中给出标示。标准帧格式如下图,扩展帧格式与CAN类似,仅在此基础上对ID做了扩展,不做赘述。


由于CANFD数据场长度有变化区间,为了提高数据传输的正确性,根据数据场长度变化采用不同的CRC校验机制:
- 数据场长度小于16位,采用17位CRC校验;
- 数据场长度大于16位,采用21位CRC校验。
CANFD在CRC场前面增加了4个位(stuff bit Counter),统计SOF到CRC前的填充位个数。从上面的帧结构来看,CANFD报文在CRC前和CRC段采用不同的位填充机制。
- SOF到Data段:每5个相同位填充一个相反位(位填充规则与CAN一致)
- CRC场:固定位置的位填充方式。规则为:确定在第1位以及以后每4位添加一个填充位,该填充位是上一位的反码。如果检测到填充位不是上一位的反码,就判定为错误处理。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/51490.html