1.前言

CAN总线作为车载总线中极为重要的一部分,已经经历了相当长时间的考验,而第二代CAN总线(即CANFD)也在近几年里逐步实现大规模的应用,与此同时,第三代CAN总线(CANXL)也将要正式推出。本文将为大家分享CANXL的相关内容。

2.为什么要推出CANXL

1)填补CANFD与100BASE-T1之间的空白

当前常用车载总线既包括低速率的总线,这些总线覆盖了5MBit/s及以下的应用(目前CANFD的典型速率是2MBit/s,后续可能会升级至5MBit/s),也包含高速率的总线,即车载以太网(100/1000BASE-T1)。而在 “复兴号”“绿皮车” 之间,需要较为合适运载手段,以在成本、性能、速率之间取得平衡,顺应新的应用场景需求。

大家可能会问,FlexRay总线是否可以?

只要对FlexRay总线有所应用,会了解其开发成本、不友善的刷写应用、不利于拓展的拓扑结构等都影响了更广泛的推广应用,从而被放弃。

所以在10 MBit/s通信的“gap”区间,出现了2种易于推广的方案:

  1. 从高速率总线技术下沉而来,即10BASE-T1S
  2. 从低速率总线升级提升而至,即CANXL

图1 填补CANFD与100BASE-T1之间的空白

2)增加最大报文长度

最大报文长度与通信速率是相辅相成的,更快的通信速率意味着可以使用更大的数据长度。CAN XL被设计为至少实现10 MBit/s的通信速率,最大支持2048字节的单帧传输。从CAN FD最大支持64字节的报文长度,到CAN XL最大支持2048字节,报文长度的提升有了质的飞跃。而我们知道,通常以太网报文的单帧最大长度为1518字节,这意味着我们可能会在CAN XL上运行TCP/IP协议。

为什么CANXL要极大地增加最大报文长度?

这就涉及到第三点:如何与以太网的10BASE-T1S形成有力竞争。

3)竞争力

前面提到了对垒双方10BASE-T1S与CAN XL大致信息。先说10BASE-T1S,其上层协议完全使用TCP/IP,物理拓扑上则变成了类似CAN的总线形式,总的来说特点就是降低成本。得益于以太网上层应用的成熟性,10BASE-T1S能更好地将外部应用向车内扩展。但是,车内如何与当前车载网络技术融合是很大的挑战,这在我看来也正是CAN XL在着力解决的问题:兼容性

CAN XL一方面是从CAN FD衍生,继承了CAN FD的特性(如仲裁机制、错误检测等等),能很好的衔接以CAN为主的车内通信(主要是指基于信号的通信方式);另一方面,CAN XL对其协议做了很大的扩展,允许在CAN XL上运行TCP/IP,或者说:既然10BASE-T1S的核心竞争力是成熟的TCP/IP协议和丰富的上层应用,那么秉承打不过就加入的策略,CAN XL期望做到对以太网上层协议的良好兼容(特别是面向服务的通信方式)。

这也正是本文前面所说,早期的CAN XL需求更多的是解决速率瓶颈,但随着不断演进,兼容性、“包容性”变成了非常关键的要素。那么接下来我们介绍一下CAN XL的特点,探讨下其怎样实现这种兼容性。

3. CANXL的特点

1)通信速率:10 MBit/s以上

首先是其通信速率,设计为10 MBit/s以上(典型速率可能为12 MBit/s,但不会超过20 MBit/s),但由于CAN XL还没有完全落地,实际的参数需要等正式标准化结束后才有定论。

2)帧结构

图2 CANXL帧结构

帧结构总体与CANFD一致,帧的头尾是低速模式(约1MBit/s),帧主体是高速模式,高速模式和低速模式通过特定字段划分。帧格式的简要说明如下:

  • Priority ID、AF(Acceptance Field): 与CAN ID相比,CANXL把优先级和message ID的概念做了拆分,Priority ID用于处理优先级,AF用于表示message ID,后文做额外说明

  • XL: 这个字段包含多个bit,表示此报文是标准CAN报文、CANFD报文还是CANXL报文(即兼容CAN、CANFD)

  • ADS(Arbitration Data Sequence)、DAS(Data Arbitration Sequence): 速率转换的过渡字段,用于低速率转高速率、高速率转低速率

  • SDT(SDU Type): 指示数据类型,后文做额外说明

  • SEC: 表示是否为加密数据,由于目前的资料有限,可能需要等CANXL正式发布后再讨论其作用与否;

  • SBC(Stuff Bit Count)、PCRC、FCRC、FCP(Format Check Pattern): 用于CRC校验、错误检测,由于可携带数据长度增加了很多,因此设计了前后2处的CRC检验,CRC的长度也相应扩展

  • VCID(Virtual CAN Network ID): 类似以太网中的VLAN,后文做额外说明

3)SDT、AF

前面提到,CAN XL可以兼容以太网上层协议和CAN通信,这部分的内容正是由SDT和AF字段实现。SDT类比于Ethernet Ⅱ的类型字段,表明CAN XL报文携带什么样的数据;AF是用于寻址的字段,类比于CAN ID和以太网的MAC地址,根据SDT的不同值,AF可以有不同的寻址方式。比如当SDT=0x3,AF就是传统的CAN ID,报文携带的数据就是传统CAN报文的数据;SDT=0x4,AF表示以太网中目标MAC地址,报文就表示为以太网报文。

图三 SDT定义

看到这里,有读者应该会意识到,这里存在一个问题。CAN XL通过SDT和AF的组合可以表明一个以太网报文,但是以太网报文中3个重要字段:源MAC地址、目标MAC地址、类型在CAN XL中只截取了目标MAC地址。目前看CAN XL可能是打算将整个以太网报文都放进data field中,再增加帧头等信息,但笔者认为这不是一个很好的方式,可能需要等CAN XL正式发布后我们再来探讨下这部分内容。

4)Priority ID、AF

CAN依据优先级进行仲裁,而在CAN和CAN FD中,优先级和message ID使用相同载体,这也使得在系统设计时会将重要信号放在高优先级的报文中。但CAN XL将优先级和message ID做了分开处理,即Priority ID和AF。这意味着可以有更灵活的设计方式,同时由于SDT的划分,CAN XL报文同样也可以采用源地址和目标地址的寻址方式(即SDT=0x2, Node Addressing)。但考虑到CAN已经使用了很多年,出于沿用和过渡的考虑也可以将Priority ID和AF设计为同样的值,继续按照之前的方式使用。

5)VCID

VCID参照了以太网中VLAN的概念,将VLAN ID应用到CAN XL上,即在数据链路层允许进行虚拟网络的划分。与VLAN的相同,这种虚拟网络划分使得通信可以摆脱一部分物理拓扑的限制,也能提高数据的安全性。其实这种虚拟网络在当前CAN中存在类似的机制(AUTOSAR Partial Network,后文简称PN)。

也就是说,如果我们使用CANXL中的VCID,我们就可能出现3种局部网络:通过软件实现PN而形成的上层局部网络(包含网络管理和上层应用);通过VCID实现的数据链路层的局部网络;通过PN收发器实现PN而形成的物理层局部网络(主要应用网络管理)。如何将这3种机制融为一体可能会是CANXL落地后需要考虑的部分。

4. 对于选择10Base-T1S还是CAN XL,考虑哪些方面

前面提到很多关于CAN XL的内容,但总的来讲,其与10BASE-T1S各有优劣,尤其是当前CAN XL还未正式发布(所有的内容都可能存在变更),那么在此仅基于应用落地的考虑谈谈如何做出选择:

1)用在哪里

在考虑成本等因素前,或许需要先梳理清楚为什么要引入这些技术,应用场景是什么。

CANXL典型应用场景: 在以太网作为主干网的架构中,CANXL用作其下一级网段,满足对数据吞吐、实时性有较高要求,需与域控或区域控制器构建更灵活的交互机制的通信需求。基于这种场景,CANXL可能是更优的选择(即本文的核心观点:兼容性)。

如果选择10BASE-T1S,车内CAN信号的交互需要经过UDP/TCP包的重组,可能还需要考虑丢包、延迟等协议不同带来的差异。

2)成本

成本将会成为能否广泛推广应用的核心点。虽然CANXL在设计时就考虑过其成本应该低于10BASE-T1S,但硬件成本只是一方面,软件开发各环节成本可能会是压倒骆驼的最后一根稻草。

3)沿用件的情况

沿用件本身应该算作成本的一环,但这里把沿用件单独拿出来分析,是由于车型的更迭不是一蹴而就的过程,会有较长的过渡期,甚至某些样件或技术会一直沿用。这种情况下,新技术的引入必须考虑与沿用件和原技术的兼容情况。

4)休眠、唤醒

这里的“休眠、唤醒”指的是低功耗相关行为,当前的车载以太网对于休眠唤醒的深度支持大多需要I/O或者CAN端口作为控制来实现,这对于车内网络来说显然不够灵活并且也产生额外的成本,或是需要10BASE-T1S的PHY同样支持TC10所定义的Sleep/Wake-up机制。而CAN XL由于继承了CAN本身的休眠唤醒特性且可兼容CAN,有着天然的优势(CAN XL可以使用标准CAN报文作为唤醒信号,而不需要为了适应高速率做额外定义)。

5.总结

虽然CANXL未正式发布,但从目前的技术文档来看其潜力很大,尤其是其既保留了CAN本身的优势、特点,又能对以太网进行衔接。因此需要大家保持关注,提前做好技术储备。

北汇信息专注于汽车电子测试,与众多OEM和Tier1合作,在车载通信、诊断刷写、OTA、车内网络安全、域控制器功能测试等领域积累了丰富的经验。我们会持续关注CANXL的后续进展,持续分享。

注: 文中部分图片来源于
http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf

参考文献
[1] CiA 610-1 CAN XL specifications and test plans Part 1: Data link layer and physical coding sub-layer requirements
[2] CiA 610-2 CAN XL Part 2: Data link layer and physical signaling conformance test plan
[3] CiA 610-3 CAN XL specifications and test plans - Part 3: Physical media attachment sub-layer requirements
[4] http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf
[5] TC10 Wake-upSleep Specification for Automotive Ethernet

对垒以太网10BASE-T1S,CAN XL能后来居上么?相关推荐

  1. 浅谈车载以太网2-CAN总线和车载以太网

    上一篇简单介绍了车载和传统以太网的区别,还有车载以太网物理层的特点.今天书接上回接着往下简单聊聊传统车载通信总线,也顺带补充一点车载以太网的特点,以及为啥要将以太网引入汽车. 要说车载通信总线系统,先 ...

  2. 图解通信原理与案例分析-8:以太网通信案例及其物理层工作原理深入剖析--物理层编码

    前言: 以太网是一种计算机局域网通信技术,主要由介质访问层(MAC L2) 协议.物理层(PHY L1)协议.电子信号连接组成. MAC层主要有交换芯片实现,物理层由PHY芯片实现,电信号连接主要定义 ...

  3. 英飞凌的AURIX TC4x系列芯片在汽车控制器上应用

    英飞凌的AURIX  TC4x系列微控制器--智能汽车安全的领导者来了! 汽车市场上出现了重大的颠覆者: 汽车E/E架构微控制器(MCU)在领域和区域控制方面的创新 加速从传统动力系统到xEV的转变 ...

  4. Ethernet(以太网) 物理介质(10Base、100Base-T、100Base-TX等)

    Ethernet(以太网) 物理介质(10Base.100Base-T.100Base-TX等)   以太网采用CSMA/CD(Carrier Sense Multiple Access/Collis ...

  5. Ethernet(以太网)之二 物理介质(10Base、100Base-T、100Base-TX等)

    Ethernet(以太网)之二 物理介质(10Base.100Base-T.100Base-TX等) 在搞网络这一块的时候,看到了100Base-T.100Base-TX等这些东西,在IEEE802. ...

  6. 以太网MII接口类型大全 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XL、RXAUI

    大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时时钟速率仍旧是625MHz,不过此时跟SGMII接口不同 ...

  7. 以太网MII接口类型大全 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XL

    大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时时钟速率仍旧是625MHz,不过此时跟SGMII接口不同 ...

  8. 转载:Network 之三 Ethernet(以太网)物理介质(10Base、100Base-T、100Base-TX等)介绍

    在搞网络这一块的时候,看到了 100Base-T.100Base-TX 等这些东西,在 IEEE802.3 中,也到处是这些词.大体了解了一下,下面是正文.   以太网采用 CSMA/CD(Carri ...

  9. 以太网学习之二 物理介质(10Base、100Base-T、100Base-TX等)

    在搞网络这一块的时候,看到了100Base-T.100Base-TX等这些东西,在IEEE802.3中,也到处是这些词.大体了解了一下,下面是正文.   以太网采用CSMA/CD(Carrier Se ...

最新文章

  1. 尼康单反相机测试软件,尼康D4S数码单反相机专题测试
  2. python报错:UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe0 in position 0: ordinal not in rang
  3. SAP CRM呼叫中心里多重Contact person confirm的处理
  4. java实现遍历树形菜单方法——数据库表的创建
  5. MySQL 表和列的注释
  6. python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态
  7. 通过一个模拟程序让你明白ASP.NET MVC是如何运行的
  8. mysql查询删除重复数据
  9. 《机器学习实战》读书笔记——Logistic回归
  10. 19款国产手机无一幸免:15分钟破解人脸识别,打印眼镜让刷脸形同虚设
  11. 基于RS485通讯总线的ModbusRtu协议C#上位机开发源码
  12. cocos2dx 显示html,cocos2dx - 在游戏中显示HTML页面
  13. Deep Learning: The Big Picture 深度学习大局观 Pluralsight课程中文字幕
  14. 成功解决pdf文档加密后时间久了忘记密码—本文档有打开口令或修改口令—在线完美解决
  15. Red Hat Enterprise Linux 5.1 Server(正式版)各版本下载2011-04-17 22:21
  16. es6+最佳入门实践(8)
  17. 自学java编译老是出错_编写HelloWorld程序编译时提示写入HelloWorld时出错是什么意思...
  18. hashmap底层源码详解
  19. 纯Java实现坦克大战游戏,源码公开
  20. java.lang.arrayindexoutofboundsexception: Index 13 out of bounds for length 13

热门文章

  1. 2020年年度关于前端学习与工作的心得体会
  2. Python 基础 - Day 1 Assignment - Three tier menu 三级菜单
  3. 第3章第10节:如何压缩幻灯片中的图片素材 [PowerPoint精美幻灯片实战教程]
  4. 利用QT制作串口助手
  5. 2022-06-29 AndroidR 获取接近传感器Proximity Sensor的信号,休眠和唤醒。
  6. HTML让背景图片铺满整个图片
  7. 乐筑加速推进绿色建筑理念执行落地
  8. Elasticsearch:如何部署 NLP:文本嵌入和向量搜索
  9. GCB:农田土壤丰富真菌比稀有真菌适应更广(一作解读+主图重现)
  10. 一篇文章,助你实现认知突破,重获新生