IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 对垒以太网10BASE-T1S,CAN XL能后来居上么? -> 正文阅读

[网络协议]对垒以太网10BASE-T1S,CAN XL能后来居上么?

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
在这里插入图片描述
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:28:31  更:2021-08-26 12:29:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:45:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码