CAN XL :CAN协议家族新成员

2023-05-16

年之前,你不认识我,我也不认识CAN FD。如今,CAN FD已经陆续进入乘用车领域,几乎所有汽车制造商都将在未来几年内逐步推出搭载CAN FD的乘用车。那十年之后,车载网络又会向什么方向发展呢?

根据现在的形势来看,车载架构将从历史悠久的平面网络方案迁移到与域相关的方案。而域相关的车载网络体系结构,就需要通用的标准化高层协议。对于高层协议来说,它们应尽可能独立于下层协议,这样不同通信技术的专用技术和商业功能就能够被使用。当然,要支持TCP / IP,经典的CAN和CAN FD并不是最好的下层方法。因此,CiA(CAN in Automation,以下简称CiA)及其成员已经开始开发具有支持10 Mbit / s甚至更多的物理层的CAN XL。虽然TCP / IP不一定是最佳的传输/网络层的解决方案,但是DoIP已经在ISO中标准化并且广泛应用了,所以能够支持TCP/IP对于CAN XL来说还是非常重要的。

CAN XL规范尚未最终确定,仍然存在一些未解决的问题。已经决定的是数据字段长度最大为2048字节和11位优先级字段。此外,该协议为使用的下一个更高协议提供8位指示符。可以说这是不适合经典OSI参考模型的嵌入式层设置参数。这样的嵌入式层设置参数对于其他高层协议也将很有帮助,以简化多协议堆栈。如今,标准化了太多不同的高层协议,它们并不完全独立于所使用的较低层协议。一些ISO专家希望克服这一点。

CAN XL原计划于3月中旬在德国-巴登举行的国际CAN大会(iCC)上正式推出。今年晚些时候,当CAN XL规范发布并且相关的互操作性测试证明了第一个实现的互操作性时,CiA会将它们提交给ISO进行国际标准化。

下面就一起来看一下CAN XL与CAN FD的异同。

▲ 图 1:CAN FD, CAN XL帧格式

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

CAN FD& CAN XL报头比较

▲ 图 2:CAN FD, CAN XL帧头部

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

  • 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从何处开始。

▲ 表 1:DLC编码表

CAN FD& CAN XL报尾比较

▲ 图 3:CAN FD, CAN XL帧尾

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

CAN XL的波特率转换

▲ 图 4:CAN XL帧格式

  • DH1和DL1之间边缘的波特率增加;
  • DH2和DL2之间边缘的波特率降低;
  • AL1位包含一个特殊模式,它可以切换CAN驱动器进入高波特率模式;
  • AH1位包含一个特殊模式,它将使CAN驱动器脱离高波特率模式。

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

上文曾说到,CAN XL是CiA为了填补CAN FD与100Base-T1之间的空白而提出的解决方案。相应的,IEEE已经于2019年标准化了一个适用于汽车的10Mbps以太网版本(10BASE-T1S)。那么,这两种方案之间的对比是自然少不了的,本人才疏学浅,只能就个人对10Base-T1S和CAN XL这两种技术的理解来进行比较,主要是从发布的标准进行定性的一些比较。

首先从规范成熟度来看,10Base-T1S已经发布了标准文档。CAN XL规范还没有最终确定,仍有一些悬而未决的问题待决定。

接下来对比两者的具体性能。从数据净载荷来看,两种技术都可以达到10Mbps。但是为了兼容老的CAN规范,CAN XL帧的头部和尾部速率较低,这其实降低了整个的传输速率。在兼容性方面,CAN XL可以实现对大多数CAN/CAN FD应用的兼容,但是不支持远程帧和29bit的ID场,这就导致在商用车领域的应用受到了限制。10BASE-T1S继承以太网的良好特性,很多成熟的基于TCP/IP的工业界软件都容易移植到新的车载以太网协议上去。而且在以交换机为核心的车载网络中是如鱼得水的。

CAN XL继承了CAN的良好特性,可以保证收发数据无丢失,这个特性都是固化在CAN控制器中的。10Base-T1S跟其他以太网协议一样,需要通过较高层的协议(如TCP)才能检测出数据丢失,而且依赖于软件实现。CAN XL跟CAN一样,可以检测故障并从故障中恢复出来,当帧头部速率1Mbps时可以在23us内恢复,但TCP/IP却要花几十ms才能从故障中恢复过来。所以,可以说在数据安全性上CAN XL略胜一筹。

最后分析一下很多OEM厂家最关心的话题——成本。CAN控制器目前是集成到处理器芯片中的,这减少了一部分软件成本也保证了一致性。除去交换机的成本因素不谈,就单个处理器芯片来说,可能会有一些处理器集成10Base-T1S控制器,但由于以太网软件协议栈的缘故可能会增加一些软件成本,而且还会带来协议一致性的问题。同时,受限于25m的最长通信线路和最大8个节点,会导致在一些特殊域使用起来要分多个网段,增加成本。

▲ 表2:CAN XL与10Base-T1S对比

当然,CAN XL还是需要等ISO进行国际标准化之后才能够真正的登上历史舞台,但是,现在已经给人们提供了一个新的高速稳定的传输方案。

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

CAN XL :CAN协议家族新成员 的相关文章

  • Latex转word

    1 问题描述 最近做毕设的时候本来论文都已经在latex里面写好了 xff0c 但是学院要求用word格式 不想把自己latex写好的公式再打一遍 xff0c 而且word写公式很麻烦 xff0c 有的latex里面的符号word自带的公式
  • ubuntu系统备份与恢复-remastersys方法

    对于刚入门ubuntu的人来说 xff0c 配置各种各样环境的过程中往往会把系统装崩溃 每次都重新安装ubuntu看起来非常麻烦 xff0c 一个好的办法就是把我们某个阶段配置好环境的ubuntu做个备份 xff0c 然后万一系统崩溃了 x
  • 论文阅读-《Semantic Segmentation with Reverse Attention》

    BMVC 2017 oral code https drive google com drive folders 0By2w A aM8Rzbllnc3JCQjhHYnM 1 Motivation 作者这篇文章的主要目的是为了提高seman
  • python numpy中axis的含义

    不同的编程语言对于多维数组的索引方式往往不太一样 xff0c 下面主要讲一下python numpy里面axis的含义 numpy当中axis的值表示的是这个多维数组维度的下标 xff0c 比如有一个二维数组a xff0c a的shape是
  • Deep Watershed Transform for Instance Segmentation

    Min Bai amp Raquel Urtasun UfT 1 传统的分水岭算法简介 图像处理中的分水岭算法常用来做图像区域分割 segmentation xff0c 基本的思路是计算一张energy map来表示图像 xff0c 其中物
  • 【华为2019年校园招聘】2019-4-17 软件题-最大时间问题

    输入描述 输入为一个整数数组 xff0c 数组内有六个整数 输入整数数组长度为6 xff0c 不需要考虑其他长度 xff0c 元素值为0或者正整数 xff0c 6个数字每个数字只能使用一次 输出描述 输出为一个24进制格式的时间 xff0c
  • 【华为2019年校园招聘】2019-4-17 软件题-水果摊小买卖

    题目描述 小王手里有点闲钱 xff0c 想着做点卖水果的小买卖 xff0c 给出两个数组m xff0c n xff0c 用m i 表示第i个水果的成本价 xff0c n i 表示第i个水果能卖出的价钱 xff0c 假如现在有本钱k元 xff
  • ubuntu20.04安装微信和QQ,腾讯会议,以及一些其他实用软件

    由于电脑性能不行 xff0c 所以有windows 转为ubunut20 04 xff0c 这样电脑流畅多了 美化了下它的UI xff0c 美化的差不多了 xff0c 之后 xff0c 就差安装微信和qq了 xff0c 微信对于我来说是必要
  • 组合导航(GNSS+惯性导航)

    一 GNSS 至少需要四颗星 怎么判断GNSS数据是否准确 xff1f 数据中是否携带星数 xff1f 二 惯性导航 关于磁力计的使用 xff1a 1 xff09 类似重力 xff0c 磁力也是一个矢量 地球任意位置的磁力在东北天地理系下的
  • ROS之消息发布和接收

    ros Subscriber subscriber 61 nh subscribe topic name buff size amp CloudSubscriber msg callback this 参数1 xff1a 话题名字 参数2
  • IEDA 安装actiBPM插件

    一 引言 因为有个项目要用到activiti 来做工作流引擎 xff0c 但是发现自己的IDEA的插件市场里面已经找不到 actiBPM 这个插件了 xff0c 无奈只能去IEDA 插件网站先下载下来再进行安装了 二 actiBPM插件下载
  • STM32f103调试笔记(2)——使用ST-LINK下载程序的时候,不按住复位键无法下载?

    这也是很常遇见的一个问题了 使用ST Link下载程序的时候 xff0c 总是显示无法识别设备 xff0c 查阅了网上的解决方法 xff0c 只要按住复位键 xff0c 然后点击LOAD以后迅速松开复位键就可以了 这也是一种方法啦 xff0
  • VR/AR技术杂选

    相机频率 xff1a 一般来说 xff0c 相机频率60Hz是指相机的帧率为60fps xff0c 即frame per second 每秒钟60帧 红外探测器 xff1a 分为两种 xff0c 一种是基于光电特性 xff0c 一种是基于热
  • 【图像】光谱波长分布图

    可见光范围内的颜色倒序为 赤橙黄绿青蓝紫 猜你喜欢 xff1a x1f447 x1f3fb 图像 一个像素占几个字节 xff1f 多少比特 xff1f 图像 尺度不变特征变换算法 xff08 SIFT xff09 基于小波变换的图像边缘检测
  • 百度2014校园招聘-研发工程师笔试题(济南站)

    一 xff0c 简答题 30分 1 xff0c 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f xff08 10分
  • js中,export和module.export的区别

    说明 导出模块就是导出对象 xff0c export和module exports两者区别 xff1a export是设置导出模块对象的指定属性module export既可以设置导出模块的所有属性 xff0c 又可以设置导出模块的指定属性
  • ERROR:Session/line number was not unique in database. History logging moved to new session.

    摘要 xff1a 遇到此类错误 xff0c 可以通过分段调试的方法找到引发错误的位置 引发错误的原因不详 xff0c 可能很基础 Distribution of the peak number file 61 pd read excel 3
  • ubuntu xfce4和vncserver

    安装xfce4 sudo apt get install xfce4 如果你想创建一个新的用户 xff0c 而不是将桌面使用root权限登录 xff0c 可以执行下面的代码 xff1a 安装vncserver sudo apt instal
  • harmonyOS hdc配置以及自动签名

    hdc是sdk tools中自带的命令 xff0c 你没有配置系统环境变量指定它所在的目录 xff0c 肯定不能直接到处任意调用啊 xff0c 你需要进入到hdc exe所在路径的当前路径下才能去调用它 xff0c 或者你把它的路径加入到系
  • Vue脚手架(Vue-cli)安装

    脚手架是Vue官方提供的标准化开发工具 开发平台 官方文档开始 vue cli cli c command l line 行 interface 命令行接口工具 第一步 仅第一次执行 全局安装 64 vue cli npm install

随机推荐

  • 使用vscode开发配置uni-app(小程序)

    这个文件是用VsCode写uniapp小程序的步骤笔记 安装Vue脚手架 vue cli npm install g 64 vue cli 通过脚手架创建uni app项目 vue create p dcloudio uni preset
  • uniapp image组件的基本使用

    image组件的基本使用 就是用来显示图片的 src 来设置我们图像的路径 属性名类型默认值说明平台差异说明srcString图片资源地址 lt template gt lt div gt lt view gt lt image src 6
  • 将本机做成虚拟镜像文件(使用VMware vCenter Converter收取镜像)

    下载地址 xff08 需要账号 xff09 xff1a https customerconnect vmware com downloads info slug infrastructure operations management vm
  • uniapp 网络请求 get请求

    网络请求 在uni中可以调用uni request方法进行请求网络请求 需要注意的是 xff1a 在小程序中网络相关的API在使用需要配置域名白名单 官方文档 如果发起请求就调用我们这个uni request OBJECT 发送get请求
  • electron之旅(二)react使用

    首先使用react模板 我们这里使用的是vite和yarn span class token function yarn span create vite span class token comment 创建vite的react js模板
  • flutter学习之旅(二)

    如果不知道怎么安装编写可以查看这篇 创建项目 另一个创建方法 flutter create 项目名 热部署 vscode 热部署 vscode很简单 xff1a 可以通过Debug进行调试 使用flutter查看设备 flutter dev
  • Flutter学习之旅 - Scaffold属性Drawer侧边栏

    span class token class name Scaffold span span class token punctuation span appBar span class token punctuation span spa
  • Flutter学习之旅 - AppBar、TabBar、TabBarView实现头部顶部滑动导航

    文章目录 AppBar自定义顶部按钮图标 颜色取消debug图标TabBar TabBarView来实现顶部导航PreferredSize组件改变TabBar导航样式自定义KeepAliveWrapper缓存页面如何获取tab下的索引值销毁
  • Flutter学习之旅 - 路由

    文章目录 Flutter路由介绍普通路由普通路由传值 命名路由将 96 routes 96 的配置提到外面 使用的是Map 命名路由传值 路由跳转返回上一级路由替换路由返回到根路由返回Tabs后到指定页面 Flutter路由介绍 flutt
  • Ubuntu 和 Debian 的关系

    转自 xff1a http people ubuntu com happyaron udc cn lucid html ch11s09 html Debian 于 1993年8月16日 由一名美国普渡大学学生 Ian Murdock 首次发
  • Makefile学习笔记

    主要参考文档 xff1a 跟我一起写makefile xff0c 这里 有一篇 谈谈职业规划 CSDN对陈皓的采访 xff0c 被采访的大牛就是这个文档的作者 xff0c 他的CSDN专栏 本文的示例工程及Makefile 在这里 一 关于
  • 运行的docker增加端口映射

    1 运行了一个centos7的容器 xff0c 22端口映射给宿主机5002端口 xff1a docker span class token function ps span span class token operator span s
  • 23.易混淆命令(apt-get、wget、git clone、pip与pip3区别、apt-get和pip区别)

    摘要 xff1a 本文详细介绍了Ubuntu系统下apt get wget git clone pip与pip3 apt get和pip几组概念的区别 1 apt get 参考文献 xff1a apt get 是AdvancedPackag
  • ssh实现免密登录(文中附上脚本)

    1 为什么要互信 很多时候 xff0c 我们经常需要登录同一个服务器或者客户端 xff0c 但是输入密码很繁琐 xff0c 此时我们就需要能免密登录某些服务器或客户端 下面我们就来看怎么简单实现免密登录 有时候我们在shell脚本中会不断去
  • MapReduce概述及工作流程

    内容 mapreduce原语 xff08 独创 xff09 mapreduce工作流程 xff08 重点 xff09 MR作业提交流程 xff08 重点 xff09 YARN RM HA搭建 xff08 熟练 xff09 运行自带的word
  • IIC总线

    1 概念 IIC总线是PHLIPS公司在八十年代初推出的一种串行的半双工同步总线 xff0c 主要用于连接整体电路 同一块板子两个芯片之间的通信是通过IIC总线进行的 xff08 stm32mp157a lt IIC gt SI7006 I
  • 函数拟合3

    所谓函数拟合 xff0c 就是给定一些输入点 xff0c 输出一个函数曲线 选择的基函数会直接影响线性组合函数的表达能力 当采样点较多 xff0c 而系数较少时 xff0c 会出现欠拟合 xff0c 表达能力不够 当采样点较少 xff0c
  • LDM命令

    http blog 163 com oy mcu blog static 16864297220120193458892 LDM STM指令主要用于现场保护 xff0c 数据复制 xff0c 参数传送等 STMFD指令 STMFD Rn r
  • LE Audio进入商用阶段

    LE Audio进入商用阶段 xff0c TWS耳机要变天了 36氪 蓝牙协议十年来的最大更新 xff0c LE Audio进入商用测试阶段 全球最畅销的IoT设备是什么 xff1f 我很轻松就能告诉你答案 xff1a AirPods 作为
  • CAN XL :CAN协议家族新成员

    十年之前 xff0c 你不认识我 xff0c 我也不认识CAN FD 如今 xff0c CAN FD已经陆续进入乘用车领域 xff0c 几乎所有汽车制造商都将在未来几年内逐步推出搭载CAN FD的乘用车 那十年之后 xff0c 车载网络又会