对垒以太网10BASE-T1S,CAN XL能后来居上么?--CAN XL技术解读

1.前言can总线作为车载总线中极为重要的一部分,已经经历了相当长时间的考验,而第二代can总线(即can fd)也在近几年里逐步实现大规模的应用,与此同时,第三代can总线(can xl)也将要正式推出。本文将为大家分享can xl的相关内容。
2.为什么要推出can xl 
1)填补can fd与100base-t1之间的空白当前常用车载总线既包括低速率的总线,这些总线覆盖了5mbit/s及以下的应用(目前can fd的典型速率是2mbit/s,后续可能会升级至5mbit/s),也包含高速率的总线,即车载以太网(100/1000base-t1)。而在“复兴号”和“绿皮车”之间,需要较为合适运载手段,以在成本、性能、速率之间取得平衡,顺应新的应用场景需求。
大家可能会问,flexray总线是否可以?只要对flexray总线有所应用,会了解其开发成本、不友善的刷写应用、不利于拓展的拓扑结构等都影响了更广泛的推广应用,从而被放弃。
所以在10 mbit/s通信的“gap”区间,出现了2种易于推广的方案:从高速率通信技术下沉而来,即10base-t1s;从低速率总线升级提升而至,即can xl。
图1 填补can fd与100base-t1之间的空白
2)增加最大报文长度最大报文长度与通信速率是相辅相成的,更快的通信速率意味着可以使用更大的数据长度。can xl被设计为至少实现10 mbit/s的通信速率,最大支持2048字节的单帧传输。从can fd最大支持64字节的报文长度,到can xl最大支持2048字节,报文长度的提升有了质的飞跃。而我们知道,通常以太网报文的单帧最大长度为1518字节,这意味着我们可能会在can xl上运行tcp/ip协议。
为什么can xl要极大地增加最大报文长度? 这就涉及到第三点:如何与以太网的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. can xl的特点1)通信速率:10 mbit/s以上首先是其通信速率,设计为10 mbit/s以上(典型速率可能为12 mbit/s,但不会超过20 mbit/s),但由于can xl还没有完全落地,实际的参数需要等正式标准化结束后才有定论。
2)帧结构 
图2 can xl帧结构
帧结构总体与can fd一致,帧的头尾是低速模式(约1mbit/s),帧主体是高速模式,高速模式和低速模式通过特定字段划分。帧格式的简要说明如下:
priority id、af(acceptance field):与can id相比,can xl把优先级和message id的概念做了拆分,priority id用于处理优先级,af用于表示message id,后文做额外说明;xl:这个字段包含多个bit,表示此报文是标准can报文、can fd报文还是can xl报文(即兼容can、can fd);ads(arbitration data sequence)、das(data arbitration sequence):速率转换的过渡字段,用于低速率转高速率、高速率转低速率;sdt(sdu type):指示数据类型,后文做额外说明;sec:表示是否为加密数据,由于目前的资料有限,可能需要等can xl正式发布后再讨论其作用与否;sbc(stuff bit count)、pcrc、fcrc、fcp(format check pattern):用于crc校验、错误检测,由于可携带数据长度增加了很多,因此设计了前后2处的crc检验,crc的长度也相应扩展;vcid(virtual can network id):类似以太网中的vlan,后文做额外说明。 
3)sdt、af前面提到,canxl可以兼容以太网上层协议和can通信,这部分的内容正是由sdt和af字段实现。sdt类比于ethernet ⅱ的类型字段,表明can xl报文携带什么样的数据;af是用于寻址的字段,类比于can id和以太网的mac地址,根据sdt的不同值,af可以有不同的寻址方式。比如当sdt=0x3,af就是传统的can id,报文携带的数据就是传统can报文的数据;sdt=0x4,af表示以太网中目标mac地址,报文就表示为以太网报文。
图3 sdt定义
看到这里,有读者应该会意识到,这里存在一个问题。can xl通过sdt和af的组合可以表明一个以太网报文,但是以太网报文中3个重要字段:源mac地址、目标mac地址、类型在can xl中只截取了目标mac地址。目前看can xl可能是打算将整个以太网报文都放进data field中,再增加帧头等信息,但笔者认为这不是一个很好的方式,可能需要等canxl正式发布后我们再来探讨下这部分内容。
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)vcidvcid参照了以太网中vlan的概念,将vlan id应用到can xl上,即在数据链路层允许进行虚拟网络的划分。与vlan的相同,这种虚拟网络划分使得通信可以摆脱一部分物理拓扑的限制,也能提高数据的安全性。其实这种虚拟网络在当前can中存在类似的机制(autosar partial network,后文简称pn),也就是说,如果我们使用can xl中的vcid,我们就可能出现3种局部网络:通过软件实现pn而形成的上层局部网络(包含网络管理和上层应用);通过vcid实现的数据链路层的局部网络;通过pn收发器实现pn而形成的物理层局部网络(主要应用网络管理)。如何将这3种机制融为一体可能会是canxl落地后需要考虑的部分。
4. 对于选择10base-t1s还是can xl,考虑哪些方面前面提到很多关于can xl的内容,但总的来讲,其与10base-t1s各有优劣,尤其是当前can xl还未正式发布(所有的内容都可能存在变更),那么在此仅基于应用落地的考虑谈谈如何做出选择:
1)用在哪里
在考虑成本等因素前,或许需要先梳理清楚为什么要引入这些技术,应用场景是什么。
can xl典型应用场景:在以太网作为主干网的架构中,can xl用作其下一级网段,满足对数据吞吐、实时性有较高要求,需与域控或区域控制器构建更灵活的交互机制的通信需求。基于这种场景,can xl可能是更优的选择(即本文的核心观点:兼容性)。如果选择10base-t1s,车内can信号的交互需要经过udp/tcp包的重组,可能还需要考虑丢包、延迟等协议不同带来的差异。
2)成本
成本将会成为能否广泛推广应用的核心点。虽然can xl在设计时就考虑过其成本应该低于10base-t1s,但硬件成本只是一方面,软件开发各环节成本可能会是压倒骆驼的最后一根稻草。
3)沿用件的情况
沿用件本身应该算作成本的一环,但这里把沿用件单独拿出来分析,是由于车型的更迭不是一蹴而就的过程,会有较长的过渡期,甚至某些样件或技术会一直沿用。这种情况下,新技术的引入必须考虑与沿用件和原技术的兼容情况。
4)休眠、唤醒
这里的“休眠、唤醒”指的是低功耗相关行为,当前的车载以太网对于休眠唤醒的深度支持大多需要i/o或者can端口作为控制来实现,这对于车内网络来说显然不够灵活并且也产生额外的成本,或是需要10bbase-t1s的phy同样支持tc10所定义的sleep/wake-up机制。而can xl由于继承了can本身的休眠唤醒特性且可兼容can,有着天然的优势(can xl可以使用标准can报文作为唤醒信号,而不需要为了适应高速率做额外定义)。
5.总结虽然can xl未正式发布,但从目前的技术文档来看其潜力很大,尤其是其既保留了can本身的优势、特点,又能对以太网进行衔接。因此需要大家保持关注,提前做好技术储备。
北汇信息专注于汽车电子测试,与众多oem和tier1合作,在车载通信、诊断刷写、ota、车内网络安全、域控制器功能测试等领域积累了丰富的经验。我们会持续关注canxl的后续进展,持续分享。
注:文中部分信息及图片来源于bosch
参考文献
[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] tc10 wake-upsleep specification for automotive ethernet

室外型LoRaWAN网关的安装方式及注意事项
分析洗衣机行业技术在未来的发展方向
成功把握新一代人工智能发展重大契机
不同材质贴片电容的区别
一文知道设备与仪器的区别
对垒以太网10BASE-T1S,CAN XL能后来居上么?--CAN XL技术解读
报名丨安富利邀您参加瑞萨电子MCU全国巡回研讨会!
新一代“互联网+VR”智能安全体验馆的存在意义
用“芯”出发,复旦微MCU推出FM33FT0xxA系列面向汽车市场
手机充电宝多少毫安最好,年度性价比高的充电宝推荐
法院裁定TCL商业诋毁海信激光电视 判赔50万元
pcb半塞孔方法探讨
数字货币的市场是否受到了影响
仙知机器人将带领中国工厂走向创新智能化
7nm成台积电最大收入来源,未来还能继续统治市场?
国产AI芯片如何撑起来?GPGPU和ASIC技术路线齐头并进
浅析开关稳压器电路内部元件的作用
MWC2016:联网汽车有哪些新体验
STM32学习笔记一外部中断
防止MAX2104电路中的寄生模式振荡