问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【CAN总线协议】CAN和CANFD的区别、CAN FD帧结构解析

创作时间:
作者:
@小白创作中心

【CAN总线协议】CAN和CANFD的区别、CAN FD帧结构解析

引用
CSDN
1.
https://m.blog.csdn.net/thmos_vader/article/details/143415153

CAN总线协议是汽车和工业控制领域广泛使用的现场总线标准之一。随着技术的发展,传统的CAN总线在数据传输速率和容量方面逐渐显现出局限性。为了解决这些问题,CAN FD(Flexible Data-rate)协议应运而生,通过引入可变速率传输、增加数据段长度等改进措施,显著提升了总线的性能。本文将详细介绍CAN FD与传统CAN总线的主要区别及其帧结构。

1. 概述

CANFD:可以理解成CAN协议的升级版,只升级了协议,物理层未改变
Can与CanFD主要区别:传输速率不同、数据长度不同、帧格式不同、ID长度不同。

2. CANFD

CAN FD(CAN with Flexible Data rate)的引入正是为了克服传统CAN总线在数据量和速度方面的限制。
以下是CAN总线的局限性以及CAN FD的改进:

2.1 CAN总线的局限性

  1. 数据传输带宽受限:CAN 2.0的每帧数据段仅有8字节,数据速率最高为1 Mbit/s。通常车辆中使用的速率为500 kbit/s。随着车载电子控制单元(ECU)数量的增加,数据交互频繁,导致总线负载不断增加。

  2. 带宽利用率不高:在CAN报文中,只有约40-50%的带宽被用于实际的数据传输,其他时间被用于报文控制和错误检测。这在数据量大的应用场景中会导致通信效率低下。

  3. 响应机制延迟:由于汽车布线的物理特性,CAN总线的响应速度受到各种因素限制,包括控制器中的ACK确认延迟、收发器的传播延迟以及导线本身的传输延迟等。

2.2 CAN FD的改进

CAN FD协议在2011年开始开发,2015年被纳入ISO 11898-1标准。其主要改进包括:

  1. 增加数据段长度:CAN FD支持每帧最多64字节的数据段,而不是传统CAN的8字节,使得单次传输的有效数据量大幅提升。

  2. 动态数据速率:CAN FD允许在数据帧中采用不同的位速率。消息头保持原有速率,以确保与传统CAN兼容;在数据段和校验部分则可以采用更高的速率,从而实现更快的数据传输。

  3. 降低延迟,提高带宽利用率:CAN FD优化了帧结构和错误检测机制,提高了带宽利用效率,从而在同样的总线负载下提供更多的有效数据传输。


CAN FD的这些改进,使其能够适应更复杂的汽车应用场景,支持更大的数据吞吐量并减少总线负载。

3. CAN FD与CAN 2.0的协议异同

下图直观对比CAN FD与CAN 2.0,稍后从定义传输速率数据长度帧格式ID长度重点介绍。

3.1 定义不同

CAN

  • Controller area network,即控制器区域(局域)网络;

  • CAN总线是国际上应用较广泛的现场总线之一;

  • 目前已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。

CAN-FD

  • 英文为CAN with Flexible Data-Rate,翻译为 “可变速率的CAN” ;

  • 经典CAN基础上增加传输速率,数据域可传输64Byte,也就是可变速的功能,简单说就是CAN的升级版。

3.2 传输速率不同

Can

  • 最大传输速率1Mbps。

CanFD

  • 速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps,如下图所示:

3.3 数据长度不同

Can

  • 一帧数据最长8字节。

CanFD

  • 一帧数据最长64字节,主要关注 DLC>8 时。

  • CAN FD 对数据场的长度作了很大的扩充:

DLC 最大支持 64 个字节,在 DLC 小于等于 8 时与原CAN 总线是一样的;
大于 8 时则有一个非线性的增长,最大的数据场长度可达 64 字节。

3.4 帧格式不同

CanFD

  • CAN FD 新增FDF、BRS、ESI位:

  • FDF:表示CAN报文还是CAN-FD报文。

  • BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性 时,以正常的CAN-FD总线速率传输(恒定速率);

  • ESI:表示发送节点状态。

3.5 ID长度不同

CAN

  • 标准帧ID长度最长11bit

CANFD

  • 标准帧ID长度可扩展到12bit

4. CANFD帧结构解析

  • CAN FD节点可以正常收发CAN报文,但CAN节点不能正确收发CAN FD报文,因为其帧格式不一致。

  • 与CAN一样,CAN FD一共具有:帧起始SOF,仲裁段,控制段,数据域,CRC域,ACK域,帧结束共七个部分组成。

CAN FD的帧结构如下:

4.1 帧起始

  • CAN与CANFD使用相同的SOF标志位来标志报文的起始

  • 帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步作用。

4.2.仲裁域

  • 与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性

  • IDE用于区分标准帧和扩展帧

4.3 控制域

  • CANFD与CAN有着相同的IDE,res,DLC位。同时增加了FDF、BRS、ESI三个bit位。FDF为隐性时,表示为CAN FD报文

  • BRS为速率转换开关,当其隐性时,速率可变,当其显性时,以正常的CAN-FD总线速率传输(恒定速率);

  • ESI用于表示错误状态,主动错误发送显性位,被动错误发送隐性位。

4.4 数据域

CAN FD兼容CAN的数据格式,同时最大还能支持12, 16, 20, 24, 32, 48, 64byte

4.5 CRC

  • CAN FD对CRC算法进行了改进,CRC对填充位也加入了计算

  • 在校验和部分为避免有连续位超过6个,就确定在第一位以及以后每4位添加一个填充位加以分割,这个填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处理。

  • CAN FD的CRC场扩展到了21位。

3.6 ACK

ACK紧跟着CRC结束标识位。

不同的是,CAN FD支持2bits的ACK的识别

3.7 帧结尾

  • 与CAN一样,CAN FD的帧结尾也为连续7位的隐性位
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号