三代CAN技术演进:从CAN CC到CAN XL的创新路径(下篇)

ops/2024/11/1 17:39:49/

欢迎关注虹科,为您提供最新资讯!

#CAN #工业通信 #CAN XL

导读

CAN(Controller Area Network)是一种用于实时应用的串行通信协议,广泛应用于汽车和工业电子设备中,以实现不同设备间的高效数据交换。它采用多主结构,允许网络上的任何节点在任何时候发起通信,同时具备错误检测与处理功能,确保了数据传输的可靠性。

在上篇中,我们追溯了CAN技术从经典CAN(CAN CC)到CAN FD的演进历程,探索了它们如何塑造现代汽车和工业通信的面貌。现在,让我们继续深入这一话题,聚焦于CAN技术的最新篇章——CAN XL

01 CAN技术革新CAN XL发布

步入2024年,汽车行业迎来了CAN XL(eXtended Length)这一CAN技术的最新进步。CAN XL标志着CAN技术在数据传输能力和网络通信效率上的又一次飞跃。符合ISO 11898:2024标准及CiA 610-1规范(尽管后者已被CiA撤回),CAN XL以其卓越的性能和创新特性,无缝集成于现代汽车网络之中。

CAN XL支持高达2048字节的扩展有效载荷容量,并实现高达20 Mbit/s的比特率,有效弥合了CAN FD和以太网之间的差距。此外,CAN XL通过隧道化和映射整个以太网帧,提高了数据吞吐量而不损耗网络时间。在德国巴登举行的第五届CAN XL研讨会上(由CiA组织),CAN XL已成功通过在真实网络环境中的互操作性测试。

02 CAN XL技术的主要特点与改进

CAN XL的控制器保持了向后兼容性,能够处理CAN CC和CAN FD数据帧,确保与现有系统的无缝集成。以下是CAN XL的一些关键特性和改进:

■  扩展的有效负载和比特率:有效负载高达2048字节,比特率高达20 Mbit/s,满足更高的数据传输要求。

■  增强型CAN-ID字段:分为11位优先级字段和32位接受字段,提供改进的帧优先级和接受过滤。

■  协议嵌入配置:引入了新的配置选项,如禁用错误信令和启用PWM编码,以提供更高的比特率。

■ 可靠性提高:使用两个CRC字段,控制段的13位前缀CRC和CRC段的32位帧CRC,增强错误检测和数据完整性。

<a class=CAN XL帧结构格式" height="46" src="https://i-blog.csdnimg.cn/direct/7693e0e9b3f44658bfd5abe7ba007167.png" width="677" />

CAN XL帧结构格式

CAN XL数据帧结构中,几个关键位扮演着至关重要的角色,不仅决定了帧的类型,还确保了帧的优先级处理效率。其中,优先级标识符是设置CAN XL数据帧优先级的核心,它使得帧能够基于其优先级级别进行高效处理。

<a class=CAN XL控制字段" height="185" src="https://i-blog.csdnimg.cn/direct/32b8034c064743e29b76df576980fbbc.png" width="552" />

CAN XL控制字段

RRS位与XLF位的功能

RRS(远程请求替换)位与CAN CC数据帧中的RTR(远程传输请求)位,以及CAN FD数据帧中的RRS位处于相同位置,这一设计确保了不同CAN版本之间的一致性和兼容性。此外,XLF(扩展长度帧)位是区分CAN FD和CAN XL数据帧的重要标志。在CAN XL数据帧中,XLF位始终保持隐性状态,且当XLF位为隐性时,FDF(帧数据字段)位也相应地为隐性。这种配置对于在CAN网络中准确识别CAN XL数据帧至关重要。

resXL位与ADS的双重作用

resXL位被专门保留,以备未来协议框架内的扩展使用ADS(数据序列仲裁)则承担着双重任务:一方面,它将比特率从标称比特率切换到CAN XL数据比特率;另一方面,它负责将CAN收发器模式从仲裁模式转换为数据TX模式或数据RX模式。

<a class=CAN XL控制字段" height="87" src="https://i-blog.csdnimg.cn/direct/ff85ff7b5429413190ece5fe5d79574d.png" width="582" />

CAN XL控制字段

ADS由ADH、DH1、DH2和DL1位组成,其中ADH是在XL数据阶段开始前的最后一个标称位时间,以隐性位传输。随后,DH1和DH2位标志着XL数据阶段的开始,同样以隐性传输。比特率的变化恰好在ADH和DH1之间发生,而接收器同步则发生在从XLF位到前面的resXL位,以及从DH1和DH2位到DL1位的转换过程中。

SDT、SEC、DLC和SBC的详细说明

SDT(服务数据单元类型)是一个8位值,它源自LLC(逻辑链路控制)帧,而SEC(简单扩展内容)位也同样来自LLC帧。DLC(数据长度代码)跨越11位,其范围从0到2047,与1字节到2048字节之间的数据长度相对应。SBC(数据位计数)是一个3位的值,表示仲裁字段中动态填充位的数量,其范围从0到3(采用格雷编码)。

PCRC(前缀循环冗余校验)序列源自循环冗余校验(CRC),它是对包含仲裁字段、SDT、SEC位、DLC和SBC的位流进行计算得出的。值得注意的是,动态填充位(包括FDF位之前的三个位)被纳入PCRC的计算中,而静态位(如SOF、IDE、FDF、XLF、resXL、ADS和固定填充位等)则被排除在外。

VCID和AF的传递  

VCID(虚拟CAN网络ID)是一个8位值,而AF(接受字段)是一个32位值,它们都从LLC帧传递而来。

CRC字段的计算

<a class=CAN XL CRC字段" height="97" src="https://i-blog.csdnimg.cn/direct/2843a0a2d42b42fb9d9a8ceacfbdc9dc.png" width="647" />

CAN XL CRC字段

CRC字段则包含了帧CRC序列和FCP(格式检查模式)。CRC计算的相关位流由仲裁字段、控制字段和数据字段组成的位流构成,排除了与PCRC相同的静态位,在CRC计算中不包括动态位和固定填充位。

  ACK字段的功能  

ACK字段则包括DAS(数据到仲裁序列)、ACK插槽和ACK分隔符。其中,DAH、AH1、AH2、ACK槽和ACK分隔符位均为隐性,而AL1位则为显性。

<a class=CAN XL ACK字段" height="222" src="https://i-blog.csdnimg.cn/direct/5ced5e8f96a24943bdce2c656400ac81.png" width="470" />

CAN XL ACK字段

DAS同样具有双重作用:它不仅能将比特率从XL数据比特率切换回标称比特率,还能在ADS中进行模式转换时,将CAN收发器模式从数据TX模式或数据RX模式转换回仲裁模式。DAS由DAH、AH1、AL1和AH2位组成,其中DAH是在标称比特时间之后的初始比特位,它以XL数据比特率表示XL数据阶段的结束。

从20世纪80年代的起源开始,CAN技术一直处于创新的前沿。CAN XL的应用范围已超出传统汽车和非汽车工程的可能性,提供了一系列超越传统界限的应用。了解CAN的历史,我们见证了CAN技术的演变和持续的技术创新。随着技术的发展,我们期待CAN XL进一步拓展CAN技术的应用范围,满足未来汽车行业的需求。


文章来源:本文内容基于Robert Nawrath在《CAN Newsletter 2024》中发表的文章。由虹科智能互联团队精心翻译并传播,旨在与业界同仁共享这一前沿技术成果。


http://www.ppmy.cn/ops/130188.html

相关文章

程序员如何平衡日常编码工作与提升式学习

程序员如何平衡日常编码工作与提升式学习 在快速变化的技术世界中&#xff0c;作为程序员的你可能常常感到疲惫不堪&#xff0c;尤其是在日常的编码工作与个人成长之间寻找平衡时。如何在应对紧迫的项目截止日期同时&#xff0c;又能不断提升自己的技能&#xff1f;本文将探讨…

【网络面积篇】TCP断开连接(笔记)

目录 一. 四次挥手 &#xff08;1&#xff09;过程描述 &#xff08;2&#xff09;为什么是四次挥手&#xff1f; 二、相关问题 1. 第一次挥手丢失了&#xff0c;会发生什么&#xff1f; 2. 第二次挥手丢失了&#xff0c;会发生什么&#xff1f; 补充&#xff1a;close …

【C++】类和对象(十):static成员

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的static成员&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 1 概念2 特性 1 概念 声明为static的类成员称为类的静态成员&#xff0c;用static修饰…

歌舞剧《妈妈的女儿》传唱彝族经典 视听盛宴好评如潮

日前&#xff0c;彝族经典歌舞剧《妈妈的女儿》在四川省文化艺术中心歌剧厅精彩开演。该歌舞剧将山水之间的天籁之音、古老而经典的民间故事、独具民族特色的舞美设计、传统文化与现代表演形式完美结合&#xff0c;演出当晚座无虚席&#xff0c;好评如潮。 《妈妈的女儿》是一个…

二:Linux学习笔记(第一阶段)-- Linux命令

目录 Linux注意事项&#xff1a; Linux目录 Linux系统基础命令 1. 文件和目录操作 2. 文件查看和编辑 3. 文件权限和所有权 4. 系统信息 5. 网络命令 6. 文件查找 7. 压缩和解压缩 8. 系统管理 Linux注意事项&#xff1a; 严格区分大小写一切皆文件windows下的程序不…

重学SpringBoot3-Spring WebFlux之Reactor事件感知 API

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ Spring WebFlux之Reactor事件感知 API 1. 什么是 doOnXxx 系列 API&#xff1f;2. doOnXxx API 的常用方法2.1 doOnNext()示例&#xff1a;输出&#xff1a; 2.2 doOnErr…

水利水电安全员考试真题题库及答案

水利水电安全员考试真题题库及答案 58.水利水电施工企业三类人员每年再培训时间不少于&#xff08;&#xff09;学时。 A.12 B.20 C.32 D.36 答案&#xff1a;B 59.双重绝缘指同时具备&#xff08;&#xff09;。 A.工作绝缘和保护绝缘 B.工作绝缘 C.保护绝缘 D.加强…

开发之翼:划时代的原生鸿蒙应用市场开发者服务

前言 随着"纯血鸿蒙" HarmonyOS NEXT在原生鸿蒙之夜的正式发布&#xff0c;鸿蒙生态正以前所未有的速度蓬勃发展。据知已有超过15000个鸿蒙原生应用和元服务上架&#xff0c;覆盖18个行业&#xff0c;通用办公应用覆盖全国3800万多家企业。原生鸿蒙操作系统降低了接…