目录

1. CANFD的来历

2.  CANFD与CAN的协议异同

3. CANFD帧结构解析

3.1 帧起始

3.2.仲裁域

3.3 控制域

3.4 数据域

3.5 CRC

3.6 ACK

3.7 帧结尾


1. CANFD的来历

我们知道了, CAN2.0数据段只有8byte,最高速率为 1Mbit/s,通常使用的是 500k,随着功能的逐渐增多,各 ECU 之间的信息交互也越多,导致总线负载持续走高;CAN 报文中只有约 40~50%的带宽用于实际数据传输;响应机制受车内布线的物理特性限制,例如 CAN 控制器中的 ACK 生成延迟;收发器传播延迟;导线延迟等,然而随着汽车功能越来越多,CAN总线的局限性也逐渐暴露:

为了解决上诉CAN总线的局限性,对其进行升级时必不可少的,从而有了CAN FD,其全称为CAN with Flexible Data rate。2011年,开始CAN FD协议的开发,2015年ISO11898-1进行了修订,将CAN FD加入其中。

CAN与CAN-FD性能对比:

2.  CANFD与CAN的协议异同

在完全理解了CAN协议后,我们只需要对比CANFD与其的不同就可以比较简单的熟悉CANFD协议,那相对于CAN,CAN FD有什么不同呢?

(1)传输速率不同。

CAN FD的速率可变,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,最高速率可达到8Mbps(下图的蓝色部分)。其他部分与CAN相同。

(2)数据长度不同。

CAN FD支持的最大数据长度为64byte。

(3)帧格式不同。

CanFD新增了FDF、BRS、ESI位:

FDF:表示 CAN 报文还是 CAN-FD 报文;BRS:表示位速率转换,该位隐性时,速率可变(即 BSR 到 CRC 使用转换速率传输),该位为显性时,以正常的 CAN-FD 总线速率传输(恒定速率);ESI:表示发送节点状态。

(4)ID长度不同。CAN FD标准帧ID长度可扩展至12bit,CAN的标准帧ID为11bit。

3. CANFD帧结构解析

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

CAN FD的帧结构是什么呢?

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

3.1 帧起始

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

3.2.仲裁域

与CAN不同,CAN FD取消了对远程帧的支持,用RRS位替换了RTR位,为常显性。IDE用于区分标准帧和扩展帧。

3.3 控制域

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

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

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

3.4 数据域

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

3.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位的隐性位。

CAN总线(三)——CAN FD协议及其与CAN2.0的异同相关推荐

  1. CAN2.0和J1939协议的关系

    转发自http://www.cankau.cn/support/help/can-vs-j1939.html 很长时间没搞明白j1939与CAN2.0的关系,这篇文章让我明白了. CAN2.0是一种总 ...

  2. 基于Virtex-6 FPGA的三种串行通信协议测试及对比

    在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...

  3. AXI接口协议详解-AXI总线、接口、协议

    转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...

  4. AXI总线详解-总线和接口以及协议

      总线.接口和协议,这三个词常常被联系在一起,但是我们心里要明白他们的区别.   总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线.地址线.控制线等构成.接口是一种连接标准,又 ...

  5. CAN总线(二)——CAN2.0标准与协议分析

    目录 1. CAN 协议的基本概念 2. CAN 协议及标准规格 2.1 ISO 标准化的 CAN 协议 2.2 ISO11898 和 ISO11519-2 的不同点 3. CAN协议 3.1 帧的种 ...

  6. 固态硬盘的总线、接口、协议之间的关系和区别

    本文主要摘录自Up主硬件茶谈的视频,原视频链接:点我跳转 ​ 在硬盘选购时,主要考虑三个规格.分别是总线(bus).协议(protocol).接口(interface). 概览 协议.总线和接口都能限 ...

  7. CAN FD协议实用指南

    "您是否需要一份CAN FD协议的简要的实用指南?"-来自虹科的问候. ** CANFD 指南前言 ** 在本指南中,我们会介绍CAN FD(CAN Flexible Data-r ...

  8. CAN FD 协议联网和测试

    在汽车行业中引进新技术是充满风险且成本昂贵的事情.在车载网络领域尤其如此,这通常意味着在已经得到验证的机制与通过更先进的总线系统增加功能并提高带宽之间实现平衡.应始终将近年来实现的可靠性作为基准,在任 ...

  9. 【使用C++开发MCU】04-CAN实例之CAN FD协议快速入门

    概述 随着现代技术的进步,自90年代开始使用的CAN协议[Classical CAN protocol (ISO 11898-1:2015) ]在各个邻域具有广泛应用但也面临巨大的压力. 因此,本专栏 ...

最新文章

  1. 【Postgresql】触发器某个字段更新时执行,行插入或更新执行
  2. 第十二周-学习进度条
  3. 系统详细设计说明书_人工砂石骨料加工系统5个生产环节详细解读,设计要点、生产工艺...
  4. 读取SD卡里面的BMP文件 显示到TFT上
  5. c语言1至1000能被7或11 个数208 数下来没有208个,数学高手看过来:10000以内不能被3,5,7,9,11中任何一? 爱问知识人...
  6. 盒马鲜生,快而准确的秘密!
  7. 用计算机才能奏乐曲,计算机音乐系统和音乐听觉训练
  8. Unrecognized option: -jrockit
  9. Python开发-- Lesson 2--Python数据类型(2016/07/30)
  10. python 读取鼠标选中文本_python怎么读取文本文件
  11. python找第二大的数索引_python – 在numpy数组中查找多个值的行索引
  12. android手机系统miui,使用MIUI系统MIUI将无刷机器直接安装在其他品牌的Android手机上...
  13. 合肥信息技术职业学院计算机模拟考试准考证,【通知】全国计算机等级考试模拟测试通知...
  14. 国内外cms网站大全
  15. 如何十步写好一份值钱的商业计划书
  16. Sony IPELA E系列网络摄像头远程命令执行漏洞警告
  17. html网页怎么自动返回,返回首页html代码?打开某个特定网页时,网页总是自动跳回主页,是怎?...
  18. 2876: [Noi2012]骑行川藏
  19. 我们的征途是星辰大海(演讲稿)(作者:黄哲威)
  20. arch linux中的jdk的安装

热门文章

  1. 【SoC FPGA学习】五、基于虚拟地址映射的 Linux 硬件编程,在已有工程上实现按键与LED的联动
  2. AT2657 Mole and Abandoned Mine
  3. 计算机放音乐声音小在吗调,功放声音很小是什么原因,该怎么调?
  4. python 程序使用方法
  5. 筑讯材料·土|地漏小百科
  6. 2019年度巨献:肠道微生物组研究领域重要成果解读!
  7. 网络工程基础- -mac地址以及端口安全
  8. python写爬虫之提取网页的内容(筛选)_Python网络爬虫项目:使用requests获取网页,通过BeautifulSoup提取数据...
  9. 蓝桥杯经典算法 不定方程解法 蓝桥杯练习系统 历届试题 买不到的数目
  10. COS函数和ACOS函数的使用