CANFD与传统CAN的差异



关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯


随着汽车电子、工业自动化的蓬勃发展,CAN总线上的设备数量、数据量都大大增加,给CAN总线带来了极大的挑战。为满足更高的带宽及数据吞吐量,CAN FD(CAN with Flexible Data-Rate)诞生了。那究竟CAN FD与传统CAN的区别是什么?在数据传输和实时性能方面又有什么不同?

一般从使用传统CAN转换到CAN FD会有以下3个原因:

01

CAN FD提高位速率的同时提供更短的CAN帧 

- 延迟时间更短.

- 更好的实时性能

- 更高的带宽

02

CAN FD可以在CAN帧中容纳从8到64字节更多的数据

- 相对更少的系统开销 = 更好的数据吞吐量 

- 发送较大数据对象时,软件更简单高效 

03

CAN FD具有更高性能的CRC算法

- 降低未检测到错误的风险



由于CAN FD是在CAN总线的数据量负荷逐渐达到极限后的产物,本文旨在对比CAN FD与传统CAN的同时详细介绍CAN FD。

01.CAN FD与传统CAN的数据帧格式

图 1 传统 CAN 帧(上图)和 CAN FD 帧(下图)比较。两种帧都是单字节数据,而且在此例中, CAN FD 帧没有提高位速率。可以看出,两种帧从帧起始(SOF)位到整个 11 个仲裁位都相同。仲裁之后,传统 CAN(标记为 A)中是远程传输请求位(RTR 位),CAN FD 帧中是远程请求替换位(RRS 位)。对于数据帧,该位在这两种帧格式中始终为显性(0)。通常定义为逻辑 0 和 0 伏信号的显性位由底部较粗的黑线表示(标记为 B)。

图 1 传统 CAN 和 CAN FD 帧之比较
  
远程传输请求位(RTR 位)之后的位是显性标识符扩展位(IDE 位),表示该帧是使用 11 位仲裁的基本帧格式。注意,本文将不涉及使用 29 位仲裁的 EF 扩展帧格式(EFEFF) 。

IDE 位之后是 r0 位(保留位),其在传统 CAN 帧格式中始终为显性。在 CAN FD 帧格式中,该位为隐性(见 C),指示该帧不是传统 CAN 帧,而是保留格式的 CAN 帧,现在称其为 CAN FD(CAN Flexible Data-rate)。换句话说,该位指示 CAN 帧是传统 CAN 帧还是 CAN FD 帧。自 ISO11898-1 标准发布以来,该位被称为 FDF 位(灵活数据格式位),代替在 ISO11898-1 标准先前版本中被称为 r0 位的名称。在任何先前文档或数据表中见到对 r0 位的引用,它与 2015 年发布的 ISO11898-1 版中的 FDF 位是相同的。

02. CANFD的附加位

FDF 位/r0 位(从现在开始我们将其称为 FDF 位)之后是 FD 格式的保留位(res)和传统 CAN 格式的数据长度码位(DLC)。换句话说,按照以前的 ISO11898-1 标准所有产生的传统 CAN 控制器都将错误地解读 CAN FD 帧,从而导致传统 CAN 控制器的错误帧。在循环冗余检查(CRC)定界符(图 1 中标记为 D)之后,传统 CAN 和 CAN Fd 在其位模式方面是一致的。换句话说,在下一帧开始之前,传统格式和 FD 格式使用相同的结束模式。

所有 CAN FD 控制器都可以处理传统 CAN 帧和 CAN FD 帧的混合。这意味着在现有系统中开始使用 CAN FD 控制器以及仅使用传统 CAN 格式的传统 CAN 控制器是可行的。当所有老的传统 CAN 控制器都被 CAN FD 控制器替换时,可以将传统 CAN 帧与 CAN FD 帧混合使用,或者仅使用两种类型之一。 

在 CAN FD 帧中的 FDF 位之后是保留位。将此位设置为隐性指示未来协议,与 FDF 位指示从传统 CAN 转换到 CAN FD 格式的方式相同。未来协议尚未定义。值得注意的是,传统 CAN 格式的 r0/FDF 位用于指示 CAN FD 格式之前耗费了 25 年时间。

在保留位之后是 BRS 位(位速率转换)。这个额外的位允许 CAN FD 帧以两种不同的格式发送。如果 BRS 位为显性被发送,则所有位将以与图 1 所示的仲裁中所使用的相同的位速率发送。如果BRS 位为隐性,则在此位后帧格式将使用较高的位速率,直到并包括 CRC 定界符。

BRS 位之后是 ESI 位(错误状态指示器),通常显性发送为主。如果 CAN FD 帧发送节点变为错误-被动,则该位将被隐性发送,指示发送方节点存在重要的通信问题。目前尚不清楚该位如何在更广泛的应用中使用,但是它已经被汽车制造商根据所需进行了采纳。 

在这 3 个新位(保留位,BRS 位和 ESI 位)之后是 4 个 DLC 位,指示 CAN 帧中的数据字节数。表 1 显示了这 4 个位如何用于指示 CAN 帧中的数据字节数。传统 CAN 帧最多可容纳 8 个字节的数据。从表中可以看出,超出 8 个字节可以发送 DLC 码,但只有 8 字节的数据将被放置在发送的 CAN 帧中。仔细观察表格你会发现 9 到 15 的 DLC 在 CAN FD 格式中有所差异。9 到 63 的任何数量的字节需 6 位 DLC,并且到 64 字节将需 7 位 DLC。折中方案是保持 4 位 DLC,并限制 CAN FD 帧(12, 16, 20, 24, 38, 48 和 64)中的字节长度数。

03.CANFD显著提高数据传输速率

DLC 位后的数据(图 1 显示一个数据字节的 CAN 帧)。该数据前和后的位是固定长度的任意数量数据字节。本例中要传输一个字节的数据,传统格式需 55 位,CAN FD 格式需 70 位。在最差的情况下,也可以在帧中包含多个填充位。如果帧在同一级别的行中超过 5 位,则协议将在帧中添加一个额外的位,具有反相极性,以确保可以使用级别更改来重新同步采样点。

这个添加和除去额外的位用于重新同步的过程称为填充,并且这些位在 CAN 协议中被标记为填充位。通过在每个 CAN 帧中打包更多的数据来提高数据传输效率,这可以从表 1 的最后两列看出。效率方程式假定在开销中最差情况下的填充位数。由于其较低的开销,传统 CAN 与 CAN FD 相比效率略高。通过将 CAN FD 帧中的字节数从 8 字节增加到 64 字节,可以将效率从 50%增加到88%。


在表中,还包括以不同帧格式使用的 CRC 码。传统 CAN 格式对于所有帧类型使用 15 位 CRC 编码,因为所有帧具有相似的长度。CAN FD 帧更复杂一些,因为 64 字节帧比 8 字节帧要长 8 倍。为了解决这个问题,在 CAN FD 帧中使用两种不同的 CRC 长度:如果帧保持 16 字节或更少,则使用 17 位的 CRC-17;且如果 CAN 帧保持 20 字节或更多,则使用具有 21 位的 CRC-21。

它是具有 2 个额外位的 CRC 加上填充计数器中的 4 位和固定填充位,这就使得 CAN FD 帧比传统 CAN帧更长。有人会说这个比较不完全公平,因为传统CAN 帧在CRC段可以有多达3个填充位,在控制段还可以有 3 个位。

CAN FD 帧的 CRC 段中的额外位为数据内容提供了更好的保护,系统高安全性是从传统 CAN 转到CAN FD 的充分理由。

CAN 帧中有超过 8 个字节的数据,由于提高了效率,数据吞吐量将会增加,这是从传统 CAN 转到CAN FD 的另一个原因。

04.如何平衡数据传输效率与实时性能

重要的是要记住,尽管使用更长的 CAN 帧的效率确实有所提高,但 CAN 帧和每秒帧数更少,这增加了通信中的延迟时间并降低了实时性能。为了减少此问题并增加数据吞吐量,可以将 CAN FD 帧中的位速率提高到传统 CAN 以上的可能性。

迄今为止对 CAN FD 的描述是在整个 CAN 帧中具有相同的位速率。如上所述,隐性 BRS 位将要求在帧的数据部分中切换到较高的位速率。

在图 2 中,添加了第 3 个 CAN 帧。该第 3 帧是具有与中间 CAN FD 帧相同内容的 CAN FD 帧,但是在本例中,该帧以中间的 CAN FD 帧的数据速率的两倍发送帧。

图 2 CAN FD 帧不含/含有提高 2 倍数据速率

因为它具有相同的内容,所以你将获得相同的 DLC 和数据,但是当 CAN FD 以更高的位速率发送时,BRS 位将被隐性发送(见 E)。BRS 位包含在 CRC 计算中,即使 CAN-ID,DLC 和数据相同,也会产生两个不同的 CRC 内容。

从图 2 可以看出,以较高位速率发送的第一个位是 ESI 位,后面是 DLC,数据字节和 CRC 位。以较高位速率发送的最后一位是 CRC 定界符。由此可以理解,较高的位速率不仅适用于 CAN Fd 帧的数据段,而且也适用于周围的位。

图 3 与图 2 相同,除了先前描述的帧下面的一个新帧。这个新帧与所有其他帧具有相同的内容,但位速率是仲裁位速率的八倍。与具有不变位速率或双位速率的 CAN FD 帧相比,变化相对较大。

可以看出,不仅数据的单字节获得较高的位速率,而且帧的 DLC 和 CRC 部分也一样,其总共有大约 40 位。

图 4 显示 3 个 CAN 帧,顶部为 8 个字节的传统 CAN 帧。中间是一个具有 64 字节的 CAN FD 帧,底部的 CAN 帧是相同的 CAN FD 帧内容,但是位速率增加(速度快八倍)。

 图 3 在图 2 的基础上多了位速率增加 8 倍的 CAN FD 帧

从图 4 可以看出,更多的数据将使 CAN 帧传送时间更长,这将阻止其它高优先级 CAN 帧开始发送。为了保持实时性能,需要增加位速率以减少 CAN 帧的长度,并且减少 CAN 帧占用通信线路的时间以及防止其它高优先级帧访问通信。

 图 4 顶部是 8 字节传统 CAN帧;
中间是位速率相同的 64 字节 CAN FD帧;
底部是位速率增加了 8 倍的 64 字节 CAN FD帧

总之,具有高位速率的 CAN FD 将增加实时性能,因为较高的位速率使得 CAN 帧在传送时间上更短,从而减少通信中的延迟。通过在每个帧中传送更多数据,可以增加数据吞吐量,但是如果不结合使用较高的位速率,这将降低实时性能。在许多情况下,编程中会使用 64 字节长的 CAN 帧,这通常在系统暂停且没有实时控制运行时完成。即使没有实时需求,使用更高的位速率来提高数据吞吐量仍然有利,并缩短下载时间。

来源:智能网联汽车网



   --END--

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

智能汽车电子与软件 专注于汽车电子领域的信息交融平台,涵盖汽车电子行业资讯、市场动态、技术干货、知识见解、行业趋势等资讯深度覆盖。
评论
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 163浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 98浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 36浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 57浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 122浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 82浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 102浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 113浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 58浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 74浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦