首页 > 其他分享 >CAN通信(五)(CANFD介绍)

CAN通信(五)(CANFD介绍)

时间:2024-06-20 13:29:55浏览次数:22  
标签:报文 CANFD 介绍 通信 FD 速率 数据 节点

目录

九、CANFD

1.介绍

2.特点

3.帧结构

(1)帧起始

(2)仲裁段

(3)控制段

(4)数据段

(5)CRC段

(6)ACK段

(7)帧结束 

4.如何从传统的CAN升级到CANFD?

5.总结

其他CAN文章:


九、CANFD

1.介绍

       CANFD(控制器局域网灵活数据速率)是经典CAN协议的高级版本,旨在满足现代汽车和工业应用的需求。CANFD相较于经典CAN提供了多项改进。 随着总线技术在汽车电子领域越来越广泛的应用,特别是自动驾驶技术迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来越高,传统CAN(1MBit/s,8Bytes)已难以满足日益增加的需求。因此,一种能够与CAN2.0A/B兼容,但通信速率更高,有效载荷更高的 CAN 总线:CAN-FD 总线协议应运而生,在2012年,Bosch 发布了新的CAN FD 标准 (CAN with Flexible Data Rate)。   

       CANFD在各个应用领域中被越来越多地采用,特别是在汽车工业中,随着对更高数据速率和更高效通信的需求不断增长。它支持高级驾驶辅助系统(ADAS)、车载信息娱乐系统以及其他需要快速可靠数据传输的现代汽车技术。

2.特点

        CAN FD继承了CAN的绝大多数特性,如同样的物理层,双线串行通信协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误检测和处理能力等,同时 CAN FD 弥补了 CAN 在总线带宽和数据长度方面的不足。几个显著的特点如下:

更大的数据负载能力:CANFD每帧数据负载最多可达64字节,而经典CAN最多为8字节。这允许在单帧中传输更多数据,减少了协议开销,提高了通信效率。

更高的数据速率:CANFD支持在数据阶段高达8 Mbps的数据速率,而经典CAN的最大数据速率为1 Mbps。这意味着CANFD可以更快地传输数据,降低通信延迟。

灵活的数据长度:CANFD的数据长度码(DLC)更加灵活,允许0到64字节的可变数据长度。这使得带宽利用更加高效,适应不同应用需求。

可靠的错误检测和处理能力:CANFD协议增强了错误检测和错误处理机制,提高了数据传输的可靠性。这对需要高安全性和高可靠性的应用(如汽车和工业自动化)尤为重要。

向下兼容性:CANFD设计时考虑了与经典CAN的兼容性。CANFD节点可以与经典CAN节点共存于同一网络中,支持旧系统与新系统的平滑过渡和升级。

增强的位定时:CANFD在位定时上有改进,可以更好地适应高频噪声环境,提供更稳健的通信性能。

双速率模式:CANFD允许在同一帧中使用两种不同的速率:仲裁阶段使用较低的速率,数据阶段使用较高的速率。这种双速率模式在保证仲裁可靠性的同时提高了数据传输速率。

3.帧结构

        与CAN一样,CAN FD一共具有:帧起始,仲裁段,控制段,数据段,CRC段,ACK段和帧结束,7部分组成。CAN FD节点可以正常收、发CAN报文,但CAN节点不能正确收、发CAN FD报文,因为其帧格式不一致(向下兼容性)。

(1)帧起始

        CANFD与CAN使用相同的SOF标志位来标志报文的起始,帧起始由1个显性位构成,标志着报文的开始,并在总线上起着同步的作用。

(2)仲裁段

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

  • RTR位(Remote Transmission Request):远程发送请求位,P位在数据帧里必须是显性,而在远程帧里为隐性。
  • RRS(Remote Request Substitution):远程请求替换位,即传统CAN中的RTR位,CAN FD中为常显性。

        IDE位仍为标准帧和扩展帧标志位,用于区分标准帧和扩展帧,若标准帧与扩展帧具有相同的前11位ID,那么标准帧将会由于IDE位为0,优先获得总线。

(3)控制段

        控制段中CANFD与CAN有着相同的IDE,res,DLC位。同时增加了三个控制bit位,FDF、BRS、ESI。

  • FDF位(FD Format):原CAN数据帧中的保留位r。FDF常为隐性,表示CAN FD 报文。
  • BRS位(Bit Rate Switch):位速率转换开关,当BRS为显性位时数据段的位速率与仲裁段的位速率一致,当BRS为隐性位时数据段的位速率高于仲裁段的位速率。
  • ESI位(Error State Indicator):表示发送节点的错误状态,为显性位时节点处于错误主动状态,为隐性位时节点处于错误被动状态。
  • DLC位(Data Length Code):4位,指示数据字段的字节数(0到15),对于CAN FD,允许的数据长度为0到64字节。

        DLC同样是4bit表示数据段的长度,对应的关系如下:

(4)数据段

        传输的具体数据

        CAN FD不仅能支持传统的0-8字节报文,同时最大还能支持12, 16, 20, 24, 32, 48, 64字节。

(5)CRC段

        为了避免位填充对CRC的影响,CAN FD在CRC场中增加了stuff count记录填充位的个数对应8的模,并用格雷码表示,还增加了奇偶校验位。FSB(fixed stuff-bit)固定为前一位的补码。

(6)ACK段

        与CAN 相比,在CAN FD 中最多可接受 2个位时间有效的 ACK,允许1个额外的位时间来补偿收发器相移和传播延迟
        由从高速的数据场到慢速的仲裁场时,时钟切换会引起收发器相移和总线传播延迟;为了补偿其相移和延迟,相比传统的CAN,在CANFD多加了这额外的1位时间。
在 ACK之后,发送ACK界定符,这是一个表示ACK结束的分隔符,用1位隐性位表示;

(7)帧结束 

        与CAN一样,CAN FD的帧结尾也为连续7位的隐性位。

4.如何从传统的CAN升级到CANFD?

①在硬件和工具方面,要使用CANFD,首先要选取支持CANFD的CA控制器和收发器,还要选取新的网络调试和监测工具。

②在网络兼容性方面,对于传统CAN 网段的部分节点需要升级到CANFD的情况要特别注意,由于帧格式不一致的原因,CANFD节点可以正常收发传统 CAN 节点报文,但是传统 CAN 节点不能正常收发CANFD 节点的报文。

5.总结

其他CAN文章:

CAN通信(一)(了解)-CSDN博客

CAN通信(二)(熟悉)-CSDN博客

CAN通信(三)-CSDN博客

CAN通信(四)-CSDN博客

标签:报文,CANFD,介绍,通信,FD,速率,数据,节点
From: https://blog.csdn.net/2201_75342985/article/details/139818912

相关文章

  • linux常见特殊符号介绍
    ${}、$[]、$()的区别${}Shell中使用一个已经定义过的变量,只要在变量名前面加美元符号$即可。变量名外面的{}是可选的,只是为了帮助解释器识别变量的边界。str="java"echo"Iam$str"echo"Iam$s{str}Script"$[]是运算操作符,用于对整数进行数学运算echo$[3*5]#......
  • v-show 与 v-if:区别介绍与案例深度分析
    目录v-show、v-if区别v-if、v-else、v-else-if v-show、v-if区别        v-show通常仅会进行一次创建操作,之后主要通过css来实现对其显示与隐藏状态的控制。当进行切换按钮等相关操作时,v-show每次并不会重新去执行DOM的删除与创建动作,而仅仅是对元素的......
  • JavaScript介绍和基本用法
            JavaScript是一种编程语言,主要用于开发网站和Web应用程序。它是一种高级的解释型语言,允许开发人员为网站添加交互元素和动态内容。JavaScript经常与HTML和CSS一起使用,创建动态和交互式的网页。它被所有现代Web浏览器支持,并且也可以在服务器端(Node.js)上使用,用于......
  • 电阻介绍与相关电路分析
    目录#电阻类型介绍#常见电阻如何读取数值#LED电源指示灯的电阻选型#串联电路电阻分压分析#并联电路总电阻计算#拓展RC延时电路分析                               相关声明,本文仅供学习使用,参考文献,文章最后#电阻类型介绍   ......
  • (超详细)三级信息通信网络运行管理员第七套linux实操题讲解(五)
    目录一、Linux实操部分前期解析二、创建卷组 ​编辑 三、创建逻辑卷四、磁盘挂载一、Linux实操部分前期解析 接着上一期,我们讲解完了ENSP部分,现在到了Linux部分的实操,如下图:  可以看到Linux部分有17道题,总分50分,难度也是不难的,做linux部分我建议先准备一下前期......
  • 【云服务器介绍】选择指南 腾讯云 阿里云全配置对比 搭建web 个人开发 app 游戏服务器
    ​省流目录:适用于博客建站(2-4G)、个人开发/小型游戏[传奇/我的世界/饥荒](4-8G)、数据分析/大型游戏[幻兽帕鲁/雾锁王国]服务器(16-64G)1.京东云-618专属活动 官方采购季专属活动地址:京东云-618采购季服务器活动专区https://3.cn/20-J4jjX京东云又双叒降价了!活动页大改,增加两......
  • java内置的函数式接口介绍及使用举例
    lambda表达式的本质:作为函数式接口的实例如果在一个接口中,只声明了一个抽象方法,则此接口就被称为函数式接口,我们可以在一个接口上使用,@FunctionalInterface注解来验证该接口是否为函数式接口(吐过在该接口中写两个方法,则会编译失败)正是因为抽象方法中只有一个方法,所以我们才可以......
  • 嵌入式通信协议-----SPI协议详解
    目录一、简介1.概念2.特点3.优缺点 4.应用场景二、通信原理三、通信特性1.时钟频率2.时钟极性(CPOL)3.时钟相位(CPHA)4.四种模式5.多主机模式(1)多片选(2)菊花链四、编程实现五、三种SPI比较1.DualSPI2.QueuedSPI3.三者的区别一、简介1.概念      SP......
  • Memcached介绍和详解
    Memcached介绍和详解一、Memcached概述Memcached是一个开源的、高性能的、支持高并发的分布式内存缓存系统。最初由DangaInteractive为LiveJournal开发,用以应对其网站高并发访问的问题。Memcached以BSDlicense授权协议发布,并且由于其简单、高效和基于内存的存储方式,被众......
  • 【能力提升】SQL Server常见问题介绍及快速解决建议
    前言本文旨在帮助SQLServer数据库的使用人员了解常见的问题,及快速解决这些问题。这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架。下面一些问题是在近千家数据库用户诊断时发现的常规问题,本文分为【常见问题诊断流程】-......