下一代CAN通信技术CAN XL简介

2023-05-16

众所周知,CAN网络具有易于实现、可扩展、并支持复杂拓扑结构等诸多优点,所以目前在各个行业特别是汽车领域,得到了非常广泛的应用。但是,它也存在着诸多问题,其中最大的一点就是总线带宽和数据场长度太低,导致承载能力非常有限。为此,CiA(CAN-in-Automation,国际用户与制造商联合组织)推出了CAN FD(CAN with Flexible Data rate)。CAN FD继承了CAN总线的主要特性,但是弥补了CAN总线带宽和数据场长度的制约,CAN FD总线与CAN总线的区别主要在以下两个方面:

  • 可变速率:CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。

  • 新的数据场长度:CAN FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。

CAN FD引入了更快的比特率,在数据阶段可设置为高达5 Mbit/s,但其后果是由于信号振铃而受到严格的拓扑结构限制。这就使CAN FD局限于线性网络,限制了设计的自由度,增加了布线和系统成本。所以,在2020年的第17届国际CAN大会(iCC)上,CiA又推出了第三代CAN通信技术CAN XL。

一、什么是CAN XL

CAN XL是一种高度可扩展的通信技术,涉及比特率和数据字段的长度。物理层仍在开发中。目标是实现高达10+ Mbit / s的比特率。 CAN XL针对面向区域的异构网络体系结构进行了优化。该方法以最优的长度满足未来车载网络的要求。汽车工业试图减少布线,以最小化重量,或者换句话说,是限制能耗。它的几个核心期望特性如下:

  • 有效负载长度:与以太网帧长度一样;
  • 可靠性:等于或者优于CAN,CAN FD和10Mbit/s以太网的稳定性;
  • 鲁棒性:与CAN FD一样好,甚至要优于10Mbit/s以太网;
  • 波特率:在数据段的传输速率最大可达10Mbit/s;
  • 兼容性:向后兼容CAN FD。

CAN XL是对CAN和CAN FD的进一步扩展,并且在很大程度上遵循相同的运行原理。CAN报文分为仲裁场和数据场。尽管CAN XL在仲裁场使用500kbit/s至1Mbit/s的低速率,但数据场的传输速率却可提升至2Mbit/s至10Mbit/s。相对于CAN FD的可选速率切换功能,CAN XL强制执行速率切换。

此外,总线访问仍旧采用CSMA/CD(载波侦听多路访问/冲突解决方案),通过位仲裁解决总线访问权限问题。CAN XL遵循严格的优先级概念,允许更重要的消息无延迟地传输。CAN XL仅支持11位标识符ID,不再使用29位标识符ID。CAN XL凭借用于报头和帧以及格式检查的汉明距离6算法,确保数据传输的高可靠性,实际上胜过FlexRay和以太网的CRC功能。

然而,对于未来的应用而言重要的不仅仅是提高数据传输速率。CAN XL主要功能之一是数据场支持1~2048Byte的可变长度。在必要时,可将以太网帧打包为CAN XL消息,直接或间接通过CAN XL使用IP通信技术。

CAN XL传承自经典的CAN和CAN FD,并缩小了CAN/CAN FD与Ethernet之间的传输速度和耦合的差距。在合适的应用领域中,CAN XL可以采用更小巧更便宜的控制器。利用高达2048Byte的有效数据长度,CAN XL为将来传输以太网帧和利用IP通信提供所需的功能。在不久的将来,这意味着CAN XL和10base-T1S可以共同在基于信号的通信和面向服务的通信之间提供连接。通过对协议层进行适当的扩展,将为应用提供更丰富的可能性。

在这里插入图片描述

二、CAN XL Vs CAN FD

不少同学会问,那么CAN XL与CAN FD究竟差在什么地方呢?下面就进行详细的对比。

在这里插入图片描述

与CAN FD相比,CAN XL增加了位的数量;
这些附加位位于报文头与报文末尾处;
大多数的所需位是CRC,必须增加它才能保护超出的更多的字节。

1、报头部分

在这里插入图片描述

上图中顶部的黑线表示隐性,底部的黑线表示显性。那么我们分析上图可得出以下结论:

  • SOF和11位的CAN ID场在CAN、CAN FD、CAN XL中是通用的; CAN FD和CAN XL始终不支持RTR远程请求;
  • CAN XL不支持IDE标识符扩展(29位CAN ID),该位始终处于显性;
  • 隐性FDF位指示CAN FD,隐性FDF、XLF位指示CAN XL;
  • CAN FD中res位始终处于显性,隐性BRS位(波特率切换)会提升传输速率;
  • CAN FD中ESI位通常处于显性,但处于被动错误时会变为隐性;
  • CAN XL中resXL位是隐性的,可用于将来的扩展;
  • CAN XL中AL1、DH1和DL1作为新的波特率切换序列; CAN XL中Payload 8-bit用于不同数据包的预定义多路复用位;
  • CAN XL中DLC是一个11位整数,其中数据字节数是该整数加1;
  • CAN XL中Header-CRC用于保证DLC正确,DLC定义数据CRC从何处开始。

2、报尾部分

在这里插入图片描述

  • 对于相同的数据长度,CAN XL中较长的报头可能需要较长的CRC;
  • CAN XL包含用于波特率切换位,确保向前的兼容性;
  • CAN XL CRC之后是波特率的切换模式,而不是CRC定界符;
  • 为了确保重新同步到未来格式的帧末尾,集成格式:将CAN XL中放置NACK添加到旧ACK中。

CAN XL每个CAN帧中有更多的数据:1-2048字节,并且在数据部分增加了波特率,具有更好的故障保护措施,可为下一代CAN做更好的准备。

三、Q&A时间

1、CAN XL现在有对应的收发器和控制器么?

答:目前因为CAN XL的标准还没有正式出来,CAN XL的收发器和控制器估计会在2到3年内推出

2、CAN XL传输还是用普通的双绞线么?一条总线上可以和CAN,CANFd节点共存么?

答:关于传输的线缆,目前CiA还在进一步确认中,因为线缆其实也是非常重要的一环,会采取更谨慎和有保证的方案。

关于CAN 和CAN FD与CAN XL的节点共存问题,其实三者理论上都可以在同一个网络中,不过前提是都要支持新的MICI接口规定,即medium-independent CAN interface,介质无关CAN接口。


未完待续,敬请关注!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下一代CAN通信技术CAN XL简介 的相关文章

  • 学习CANopen --- [9] CAN总线的状态检查

    本文讲述如何判断CAN总线是否存在以及是否bus off xff0c 以vcan0进行讲解 xff0c vcan0是虚拟的CAN接口 xff0c 可以把它看做一个软件CAN适配器 xff08 区别于硬件CAN适配器 xff0c 如PeakC
  • STM32 CAN总线说明

    简介 xff1a CAN是Controller Area Network 的缩写 xff08 以下称为CAN xff09 xff0c 是ISO国际标准化的串行通信协议 由德国电气商博世公司在1986年率先提出 此后 xff0c CAN通过I
  • 关于STM32 CAN 滤波器设置的记录

    滤波模式有以下两种 xff1a 屏蔽位模式 标识符列表模式 过滤器的位宽 xff1a 16位过滤器 32位过滤器 下面记录一下我做过测试的代码 代码说明 xff1a 这是CAN2的滤波器 xff0c stm32f107的两组CAN滤波器是共
  • roscore报错: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128)

    零 问题描述 使用ROS是 xff0c 执行roscore报一下错误 xff1a ascii codec can t decode byte 0xe6 in position 13 ordinal not in range 128 The
  • IMX6ULL与STM32F103的CAN通信实现

    IMX6ULL与STM32F103的CAN通信实现 硬件连接驱动层实现IMX6ULLSTM32F103ZET6 应用层实现IMX6ULLSTM32F103ZET6 结果 在上一篇博文中 xff0c 我们利用USBCAN设备及其上位机软件 x
  • 基于NRF24L01的CAN数据透传

    闲谈 xff1a 闲来无聊 xff0c 恰好公司又经常用CAN数据的传输 xff0c 自己觉得要是用无线传送多好 xff0c 然后 xff0c 就是一个奇想 xff0c 就想做一个无线数据的透传 xff0c 恰好身边又有NRF24L01 那
  • CAN通信学习笔记(一)

    1 CAN通信的基本原理 1 1 基本概念 CAN 是 Controller Area Network 的缩写 xff08 以下称为 CAN xff09 xff0c 是 ISO 国际标准化的串行通信协议 在北美和西欧 xff0c CAN 总
  • 使用STM32F103做CAN的收发通信

    下面也是搭建嵌入式系统所必须的一个部分 参考网站 xff1a https www cnblogs com craigtao p 3645148 html https blog csdn net qq 29413829 article det
  • Nvidia jetson agx xavier can通讯失败,修改时钟源pllaon

    一 问题详情 在调试Xavier can的过程中 xff0c can通信始终有问题 xff0c 收发都会报错 后来发现时钟源导致波特率不匹配 xff0c 所以不能通信 二 修改时钟源 在虚拟机使用官方sdkmanager xff0c 下载安
  • RT-thread 中CAN总线的应用

    准备 xff1a RT thread Studio 2 2 5 CubeMX 6 6 1 rt thread驱动包 4 0 3 1 新建项目 2 打开CubeMX Settings xff0c 设置CAN 找到CAN1 xff0c 并勾选激
  • STM32 CAN通信的学习笔记总结

    转载地址 xff1a STM32 CAN通信的学习笔记总结 xff08 从小白开始 xff09 目录 1 总体概述 1 1 基本概念1 2 通讯方式1 3 为什么使用CAN 1 4 CAN的协议及组成 2 上帝视角看CAN的通讯过程 2 1
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器 1 概述 STM32 CAN控制器 bxCAN 支持CAN 2 0A 和 CAN 2 0B Active版本协议 CAN 2 0A 只能处理标准数据帧且扩展帧的内容会识别错误 而CAN 2 0B Active 可以
  • RS485通讯接口定义图详解

    RS485采用差分信号负逻辑 2V 6V表示 0 6V 2V表示 1 RS485有两线制和四线制两种接线 四线制只能实现点对点的通信方式 现很少采用 现在多采用的是两线制接线方式 这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结
  • 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析

    1 CAN总线的基本概念以及由来 CAN Controller Area Network 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 它起初用于实现汽车内ECU之间可靠的通信 后因其简单实用可靠等特点 而广泛应用于工
  • CAN总线的EMC设计方案

    一 CAN接口EMC设计概述 Controller Area Network简称为CAN 多用于汽车以及工业控制 用于数据的传输控制 在应用的过程中通讯电缆容易耦合外部的干扰对信号传输造成一定的影响 单板内部的干扰也可能通过电缆形成对外辐射
  • CAN 为什么需要收发器

    在RTL代码中集成了两个CAN node 打算直接连接将两个node的Rx和Tx对接 发现两个CAN Node无法通信 询问技术支持后才知道必须要收发器 那为什么一定需要收发器呢 除了转换单端的CAN信号用于不同的传输 收发器也会将CANT
  • CAN协议详解-01

    CAN 是控制器局域网络 Controller Area Network 的简称 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的 并最终成为国际标准 ISO11519以及ISO11898 是国际上应用最广泛的现场总线之一 差
  • STM32F407 CAN1 CAN2

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr
  • pico示波器使用

    文章目录 Pico示波器保存波形 Pico示波器录制数据 Pico示波器解析CAN报文 Pico示波器保存波形 Pico示波器可以通过以下步骤保存波形 在示波器上选择要保存的波形 连接示波器到计算机上 可以使用USB或者Ethernet连接
  • 功放诊断测试

    1 切换trace显示时间模式 Toggle time mode 2 测seedkey 需要加载seednkey dll 3 功能寻址和物理寻址切换

随机推荐

  • ROS下采用camera_calibration进行单目相机标定

    参考 xff1a https blog csdn net learning tortosie article details 79901255https blog csdn net learning tortosie article det
  • C++使用libcurl做HttpClient

    当使用C 43 43 做HTTP客户端时 xff0c 目前通用的做法就是使用libcurl 其官方网站的地址是http curl haxx se xff0c 该网站主要提供了Curl和libcurl Curl是命令行工具 xff0c 用于完
  • ROS小车打造(十一)--arduino订阅/发布Topic

    1 安装arduino Software Arduino 选择对应的版本下载 xff0c 下载后解压安装运行 sudo tar xvf arduino 1 8 18 linux64 tar tar sudo mv arduino 1 8 1
  • 简单谈谈5G/C-V2X技术与自动驾驶的关系

    一 什么叫自动驾驶 自动驾驶分为 6 个等级 xff1a Level 0 xff1a 人工驾驶 xff0c 无驾驶辅助系统 xff0c 仅提醒 Level 1 xff1a 辅助人工驾驶 xff0c 可实现单一的车速或转向控制自动化 xff0
  • axios详解

    文章目录 axios是干啥的原生XMLHttpRequest实现axios介绍 发送并发请求 axios API 创建一个实例Config配置选项默认设置 全局默认设置实例中自定义默认值设置的优先级 响应信息 response schema
  • 浅谈一下汽车行业中的OTA/FOTA/SOTA

    首先来一个背景知识铺垫 xff1a 被誉为汽车界 苹果 的特斯拉 xff0c 从它的第一款ModelS上市开始 xff0c 截止到2017年3月份的5年时间里 xff0c 总计对车辆推送了25次远程升级 特斯拉每次发布新系统新功能就可以通过
  • 三分钟看懂什么是边缘计算和云计算

    随着科技的发展 xff0c 社会的进步 xff0c 各种尖端科技层出不穷 xff0c 各种新概念和课题也是百花齐放 xff0c 前几年如雨后春笋般涌现出来的大数据 云计算这些个高科技 xff0c 左查右问 xff0c 花了好大工夫好不容易才
  • 如何提升github的clone速度(简单粗暴,亲测有效)

    今天在github上看上了一个项目 xff0c 想要clone到本地来 项目比较大 xff0c clone速度很慢 xff0c 一开始还有50 60k的速度在跑 xff0c 到后来居然给我降到了4K s xff0c 看得实在是蛋疼 于是去百
  • CAN总线数据帧/标准帧/扩展帧/远程帧/错误帧的组成格式对比

    最近在研究CAN总线的驱动 xff0c 需要详细了解数据帧 标准帧 扩展帧 远程帧 错误帧这几种帧的详细组成格式 xff0c 于是收集了一下 xff0c 统一放在这里进行对比和记录 xff0c 以便日后需要时查阅 1 数据帧 标准帧 CAN
  • 图解CAN总线数据的组成和帧格式

    CAN 是Controller Area Network 的缩写 xff08 以下称为CAN xff09 xff0c 是ISO国际标准化的串行通信协议 在汽车产业中 xff0c 出于对安全性 舒适性 方便性 低公害 低成本的要求 xff0c
  • 关于CAN总线的位时间/同步段/传播时间段/相位缓冲段/采样点

    根据 CAN 规范的要求 xff0c 总线上的所有器件都必须使用相同的比特率才能完成通信 然而 xff0c 并非所有器件都要求具有相同的主振荡器时钟频率 所以 xff0c CAN 总线能够在一定的范围内容忍总线上 CAN 节点的通信波特率的
  • NAND FLASH/NOR FLASH/EMMC等存储器的比较和区别

    首先介绍一下NAND FLASH NOR FLASH xff1a Nand Flash xff1a Nand Flash存储器是Flash存储器的一种 xff0c 其内部采用非线性宏单元模式 xff0c 为固态大容量内存的实现提供了廉价有效
  • 如何计算CAN总线的负载率以及每帧耗时和每秒最多传输帧数

    今天遇到一个问题 xff0c 需要计算一下CAN总线上 xff0c 不同的波特率下 xff0c 每秒钟最多能够传输多少帧数据 xff0c 或者说 xff0c 每帧数据需要耗时多少时间 一开始以为这个东西是很基础的确定性数据 xff0c 百度
  • 如何在bat脚本中显示出该脚本文件的相关信息

    今天在研究windows系统下的bat脚本 xff0c 想要在bat脚本运行的过程中 xff0c 输出脚本文件自身的一些信息 xff0c 经过一番查阅和摸索 xff0c 采用以下代码就可以实现 xff1a 64 span class tok
  • 如何在bat脚本中列出指定目录下的所有文件信息

    今天在研究windows系统下的bat脚本 xff0c 想要去遍历一个目录并输出该目录下的所有文件的详细信息 经过一番查找和摸索 xff0c 使用以下代码即可实现 xff1a 64 span class token function ech
  • 解决IDEA导入maven项目Plugin ‘org.apache.maven.pluginsmaven-compiler-plugin‘ not found问题

    问题 xff1a 导入了maven项目 xff0c 报错Plugin org apache maven plugins maven compiler plugin not found等问题 xff0c 不仅仅是 maven compiler
  • ISO11898/ISO14229/ISO14230/ISO15031/ISO15765标准对比简介

    各行各业都有很多的国际标准和规范 xff0c 汽车行业也不例外 xff0c 经常遇到一套一套的标准和规范 xff0c 什么ISO11898 xff0c ISO14229 xff0c ISO14230 xff0c ISO15031 xff0c
  • 如何解决UltraCompare中中文显示乱码的问题

    作为一名程序猿 xff0c 对代码进行对比分析是经常避免不了的 xff0c 这时候就需要一个很好用的对比工具 xff0c 我选择了大名鼎鼎的Ultra Compare 但是 xff0c 使用过程中发现 xff0c 这家伙居然不支持中文 xf
  • 一文简单介绍眼图

    搞通信行业的 xff0c 经常要关注信号的传输质量 xff0c 近几年开始出现了一个新的名词 xff0c 叫眼图 xff0c 可以非常直观的体现出信号传输的情况 那么 xff0c 什么是眼图 xff0c 怎么解读眼图 xff0c 下面就为大
  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽