CAN与CAN FD的区别是什么?

一、can与can fd的概念
1、can是什么
控制器局域网总线(can,controller area network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。 can协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。 该协议的健壮性使其用途延伸到其他自动化和工业应用。 can协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1mb/s、同时具有11位的寻址以及检错能力。
来源:车技帮
2、can fd是什么 
can fd 是can with flexible data rate的缩写,翻译为【可变速率的 can】。 也可以简单的认为是传统can的升级版,其中要说明的是,只升级了协议,物理层没有改变。
3、为什么需要can fd?
原因主要是汽车功能越来越多,越来越复杂,传统的can总线(can2.0)的负载率越来越高,甚至负载率高达95%,以及传统can总线还存在一些局限性。
传统can总线的局限性包括:
· 传输率最大为1mbiy/s(典型的 50%)。
对比其他协议,额外开销比例要小得多,如udp (1500 bytes/datagram, 64 bytes overhead),flexray(254 bytes/frame, 8 bytes overhead)。
还有就是历史原因,汽车不可能直接放弃目前的传统can总线技术,重头来过。 那么为了解决can总线负载率问题,而又能兼容can总线,并且研发成本不能太高的问题,因此在2015年最新的修订版iso 11898-1(classic can和can fd)发布。
目前的很多应用对于通讯的数据量要求越来越高,对于通讯的速率要求也越来越高,尤其是当速率高于1mbit/s的时候,传统的can通讯是无法满足的,所以基于这种应用的需求,can fd就应运而生了。 既然是出于这样的目的,canfd的出现肯定是需要解决传输速率和传输字节的问题,带着这样的思路我们就可以更容易地理解canfd协议,以及为什么会出现它了。
二 、can与canfd的比较
can与can-fd主要区别:传输速率不同、数据域长度不同、帧格式不同、id长度不同。
1、传输速率不同
can的传输速率
一般的工程中比较常用的为500k每秒的通讯速率。 这个速率在实际测试的时候也是非常可靠的。 can总线上任意两个节点的最大传输距离与其位速率有关。 最大通信距离指的是同一条总线上两个节点之间的距离。 从下面图中,可以看到速率越低通讯距离就越远,也就是说can总线的通讯距离和波特率成反比。 can最大传输速率为1mbps
来源:csdn编程社区. 何以解忧唯有写!
canfd的传输速率
can-fd 采用了两种位速率:从控制场中的 brs 位到 ack 场之前(含 crc 分界符)为可变速率,其余部分为原 can 总线用的速率。 两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位 tq 外,位时间各段的分配比例也可不同。
因此,对于 can fd而言,是在 can 的基础上增加了一个数据域的传输速率,数据传输速率要大于等于原 can 总线用的速率。 也就是说 can fd 支持两种传输速率,两种速率可以保持一致,也可以不保持一致。 速率可变,仲裁比特率最高1mbps,数据比特率最高8mbps。
来源:博客园. 华夏九州
2、数据域长度不同
can的数据域长度,一帧数据最长8字节。 can fd数据域长度,一帧数据最长64字节。
传统can报文与canfd报文的dlc长度区别如下所示:
来源:csdn编程社区.qq_41256212
传统can报文与canfd报文的最大区别有2点,1、canfd可以传输更多的数据,2、canfd报文在传输中由2种传输速率完成传输,一种是标称的can总线速率(用于传输非数据域的字段),另一种是数据域传输速度(用于传输数据域的字段)。
3、帧格式不同
在can总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。 can通信是通过以下5种类型的帧进行的:数据帧 、遥控帧 、错误帧 、过载帧 、帧间隔。
来源:csdn编程社区. 不脱发的程序猿
can fd新增了fdf、brs、esi位。
fdf:表示can报文还是can-fd报文。
brs:表示位速率转换,该位隐性时,速率可变(即bsr到crc使用转换速率传输),该位为显性时,以正常的can-fd总线速率传输(恒定速率);
esi:表示发送节点状态。
来源:csdn编程社区 金城孤客
4、id长度不同
can标准帧id长度最长11bit,canfd标准帧id长度可扩展到12bit。
三**、can与canfd的优劣势**
1、can优势
具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
具有优先权和仲裁功能,多个控制模块通过can 控制器挂到can-bus 上,形成多主机局部网络;
可根据报文的id决定接收或屏蔽该报文;
可靠的错误处理和检错机制;
发送的信息遭到破坏后,可自动重发;
节点在错误严重的情况下具有自动退出总线的功能;
报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
2、can缺点
不一致性
can总线各节点质量的不一致会引发系统瘫痪、错误、死机等问题,所以can一致性测试成为保证can网络安全运行的重要手段。
不可预测性
can总线将节点状态分为erroractive、error passive 和bus off 三种,这三种状态在一定条件下可以互相转换,不同状态中节点的发送有不同的延迟。 另外,由于can 的原子广播特点,其它节点的发送错误或接收错误会开启一个错误帧,从而影响到该节点的接收错误计数器的值,进而影响节点状态。
信道出错堵塞
节点有可能受干扰或其它原因暂时或永久失效,出错的主机会命令can 收发器不断发送消息,即所谓的babbling ldiot 错误。 由于该信息的格式等均合法,因此can 没有相应的机制来处理这种情况。
3、can fd的优势
can fd提高位速率的同时提供更短的can帧
延迟时间更短.
更好的实时性能
更高的带宽
can fd可以在can帧中容纳从8到64字节更多的数据
相对更少的系统开销 = 更好的数据吞吐量
发送较大数据对象时,软件更简单高效
can fd具有更高性能的crc算法
降低未检测到错误的风险
但是因为受制于产品的稳定性考验,改造成本等问题,还没办法快速全面普及can fd。
四 、小结
总的来看,由于现在车辆上需要的通讯数据越来越多,而原有的can负载率逐年升高,考虑到传统的can通讯的架构已经非常的庞大了,如果将传统的全部推翻更换一个全新的通讯方式所要付出的代价实在太大,所以需要一个既能兼容原有的can通讯,又不至于增加太高的成本,can fd就是一个折中方案,同时还可以提高数据的传输量。


当居住空间被智能包裹:OTA智能社区改变了什么
手术机器人怎样技术融合赋能
Linux中断编程
多功能智能遥测终端机 5G/4G+北斗多信道 视频采集传输
哪吒汽车、高通公司和车联天下达成战略合作
CAN与CAN FD的区别是什么?
未来五年每年投1950亿元才有机会超越台积电和三星?
从非学术的角度看锂电池的未来发展
河南移动推进“5G﹢工业互联网”落地并打造河南“智”造
LTE是什么,它将如何实现智慧农业物联网化
谷歌将停用设计工具Material Theme Editor
如何采用TI MAXCharge技术实现快速充电
碎片化对物联网发展是挑战也是机遇
通信专家:5G拉动经济产值真的可实现吗
IR推出第三代大电流SupIRBuck负载点稳压器IR3847
人脸识别开启“无接触式”智能门锁新体验
NTT推出新一代流程银行解决方案
如何利用物联网等技术让造纸业变得智能化
改性环氧导热结构胶超25年寿命,同比聚氨酯高3倍
哪款蓝牙耳机配置比较高?适合圣诞节送的蓝牙耳机推荐