1 CAN FD与传统CAN的区别是什么-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN FD与传统CAN的区别是什么

智能汽车电子与软件 来源:智能网联汽车网 2024-10-22 10:47 次阅读

来源 |智能网联汽车网

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

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

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

延迟时间更短.

更好的实时性能

更高的带宽

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

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

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

03CAN 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)。

wKgZomcXEmuAHGyvAABInkg2Lks051.jpg

图 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%。

wKgaomcXEmyAC-wyAAEOkPL89W8538.jpg

在表中,还包括以不同帧格式使用的 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 帧的数据速率的两倍发送帧。

wKgaomcXEmyAGA-dAABh_RWk5Qc806.jpg

图 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 帧内容,但是位速率增加(速度快八倍)。

wKgaomcXEmyAf5YuAABt1cS47F0824.jpg

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

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

wKgZomcXEmyAbomcAAAv3rDZ5B4870.jpg

图 4 顶部是 8 字节传统 CAN帧;

中间是位速率相同的 64 字节 CAN FD帧;

底部是位速率增加了 8 倍的 64 字节 CAN FD帧

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1945

    浏览量

    130725
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2744

    浏览量

    463605
  • CAN FD
    +关注

    关注

    0

    文章

    78

    浏览量

    12894
  • 数据帧
    +关注

    关注

    0

    文章

    45

    浏览量

    6738

原文标题:CAN FD与传统CAN的差异

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何实现CANCAN FD的升级?

    自动驾驶技术迅速发展,车辆中的CAN总线已经无法满足数据吞吐量和传输速度的要求,CAN总线的加速升级版——CAN FD技术正在逐渐替代现有网络。为了进一步了解
    的头像 发表于 09-20 09:31 9044次阅读

    CAN/CAN FD/CAN XL三大总线协议解读,是逐步替代关系吗?

    德赢Vwin官网 网报道(文/吴子鹏)在软件定义汽车逐渐成为主流的当下,数据传输的速度和效率成为打造智能汽车的瓶颈,在这种大背景下,传统CAN总线应对一些需求已经相当吃力,因此CAN FD
    的头像 发表于 08-12 01:12 4385次阅读

    CAN接口和can_fd区别是什么

    1.CAN接口和can_fd区别
    发表于 12-10 08:17

    FlexCAN与普通的CAN区别吗?CAN FDCAN有什么区别

    FlexCAN与普通的CAN区别吗,CAN FDCAN有什么区别
    发表于 11-08 08:30

    CANCAN FD快速升级的实现方案

    自动驾驶技术迅速发展,车辆中的CAN总线已经无法满足数据吞吐量和传输速度的要求,CAN总线的加速升级版——CAN FD技术正在逐渐替代现有网络,为了进一步了解
    的头像 发表于 09-19 16:56 1.3w次阅读

    CAN FD的七个技术问题资料总结

    CAN FD的七个技术问题资料总结包括了:1.CAN FD的数据帧格式变化?2.CAN FD
    发表于 09-27 08:00 29次下载
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的七个技术问题资料总结

    如何从传统CAN升级到 CAN FD资料下载

    德赢Vwin官网 网为你提供如何从传统CAN升级到 CAN FD资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可
    发表于 04-22 08:54 26次下载
    如何从<b class='flag-5'>传统</b>的<b class='flag-5'>CAN</b>升级到 <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>资料下载

    can总线一帧多少字节多少位_MCU扩展CAN/CAN FD接口方案MCP2518FD+ATA6563

    “本文介绍MCU通过SPI串口扩展CAN/CAN FD接口扩展方案,该方案基于MCP2518FD+ATA6563,可快速部署应用于实际项目。”1.C
    发表于 10-29 11:21 18次下载
    <b class='flag-5'>can</b>总线一帧多少字节多少位_MCU扩展<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>接口方案MCP2518<b class='flag-5'>FD</b>+ATA6563

    CANCAN FD如何解决彼此的通讯

    因为受制于产品的稳定性考验,改造成本等问题,没法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成为ISO CAN
    发表于 10-18 14:20 3177次阅读

    CANCAN FD区别是什么?

    控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。 CAN协议用于汽车中
    的头像 发表于 05-22 10:17 3.1w次阅读
    <b class='flag-5'>CAN</b>与<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的<b class='flag-5'>区别是</b>什么?

    CAN FD是什么意思 优点有哪些

    随着总线技术在汽车电子领域越来越广泛和深入的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统CAN(1MBit/s,8Bytes Payload)已难以满足
    的头像 发表于 07-18 10:40 2798次阅读

    经典CAN网络加入CAN FD节点需要注意什么?

    目前,整车的网络拓扑中,CAN FD的使用已经非常普遍。当然,带来的问题也非常的多。CAN FD在设计之初,就考虑了向后兼容Classic CAN
    的头像 发表于 08-22 09:11 1701次阅读
    经典<b class='flag-5'>CAN</b>网络加入<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>节点需要注意什么?

    CAN FD的降噪措施

    CAN FD的降噪措施
    的头像 发表于 12-07 10:48 639次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的降噪措施

    can和canfd的区别

    can和canfd的区别  CAN(Controller Area Network)和CAN-FDCAN with Flexible Da
    的头像 发表于 12-07 15:37 4508次阅读

    如何使用DSLogic分析CAN/CAN-FD 信号?

    一文档介绍本文将一步步介绍如何使用DSLogic逻辑分析仪采集并分析CAN/CAN-FD信号,因为CAN信号的测量和CAN-FD的大致一样,所以下文以
    的头像 发表于 01-08 14:54 1319次阅读
    如何使用DSLogic分析<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN-FD</b> 信号?