tag 标签: CAN XL

相关博文
  • 热度 1
    2024-9-26 09:47
    250 次阅读|
    0 个评论
    CAN XL是第三代控制器局域网协议,建立在经典CAN和CAN FD网络的基础上,并支持向后兼容。它面向车载网络,使用单个差模总线连接多个控制器和传感器。由于高度的耐用性和对布线需求最小的总线拓扑结构,控制器局域网协议越来越多地进入新的工业应用。 CAN XL支持比其前代产品更高的数据比特率和更长的数据有效载荷,允许高达20Mbit/s的传输速率和高达每帧2048字节的传输速率。为了支持更高的数据传输速率,引入了一种新的CAN SIC XL收发器类型,用于提供高速数据传输所需的快速信号边沿、低振铃和对称性。 CAN XL仍可与混合模式总线上的典型CAN、高速CAN或CAN SIC收发器一起使用,或者如果应用不需要高比特率时也可一起使用。 更高的比特率和数据有效载荷能力使 CAN XL能够弥合CAN FD和汽车以太网100BASE-T1之间的差距。CAN XL支持以太网隧道,旨在集成到TCP/IP网络系统中。 CAN XL的信号构成 CAN XL使用差分两线总线,由CAN高电平(H)和CAN低电平(L)信号组成。 实际信号的电压电平取决于总线拓扑结构和所使用的收发器类型(如:总线是仅由 CAN XL 器件组成,还是将 CAN XL 与经典 CAN 和/或 CAN FD 器件混合使用)。 CAN XL帧由仲裁段、XL数据段和第二个仲裁段组成。 图 1 CAN XL帧结构 在仲裁段,帧位以 “标称”比特率传输,通常高达 500kbit/s。XL 数据段通常以至少几兆比特/秒的更高比特率传输,称为 XL 数据比特率。 有两种逻辑状态:逻辑 0 和逻辑 1。在总线空闲和仲裁段,逻辑 0 由“显性”状态表示,而逻辑 1 由“隐性”状态表示。 当总线未驱动时,会进入隐性状态;当至少有一个节点驱动总线时,会进入显性状态。这提供了一种仲裁机制,允许来自一个节点的显性位覆盖另一个节点传输的隐性位,每个节点在发送时必须主动读取总线状态,如果总线状态与传输的状态不匹配,则立即停止传输。在这种情况下,另一个节点 “赢得”了仲裁。 仲裁只能在仲裁段进行,并且在 CAN XL数据段一次只能有一个节点在总线上传输。 总线在隐性状态下空闲, CAN H和CAN L信号都在2.5V左右。注意其差分电压等于或接近于0。在显性状态下,CAN H被驱动至5V,而CAN L被驱动至0V,从而产生正差分电压。 CAN XL波形测试与串行译码 测试工具:虹科 Pico4425A示波器(EP014) 图 2 CAN总线示波器(EP014) 测得的 CAN XL波形如下图。接下来,我们将在配套的PicoScope 7 Automotive软件中进行串行译码。 图 3 CAN XL波形数据 CAN XL 译码工具包含在虹科PicoScope 7 Automotive软件中。要在 PicoScope 7 Automotive软件中译码 CAN XL 波形,请从【更多】工具菜单里选择并启动【串行译码】话框。如下图 图 4 选择【更多】中的【串行译码】 在软件支持的协议列表里,选择【 CAN XL】,然后点【下一步】: 图 5 选择【 CAN XL】 为 CAN XL数据信号选择相应的输入通道, 例如下图的 A通道。数据源可以是来自CAN XL TXD 的信号、差分总线的CAN H 或 CAN L。 CAN XL译码只需要一个差分通道。但是,如果需要,也可以通过捕获CAN H和CAN L并使用数学通道来计算差分信号电压,并进行译码。数学通道可以用作译码器的数据源。 图 6 配置 CAN XL参数 一旦选择了数据的来源通道,接着根据所测的 CAN XL总线的参数来设置以下选项: ( 1)阈值 一般设置为信号电压水平的中间值为阈值,即 CAN XL的差分电压在0至5V之间变化,我们设置为2.5V的阈值。 ( 2)XL Data Bit Rate (XL数据比特率) XL数据段所使用的波特率 ( 3)FD Data Bit Rate (FD数据比特率) 比特率可切换( BRS=1)的CAN FD数据包,其数据段所用的波特率。 如果总线上没有节点发送 CAN FD数据,这个选项可以被忽略。 ( 4)Nominal Bit Rate (标称比特率) CAN XL数据包仲裁段所使用的波特率。 此设置也适用于总线上可能存在的任何经典 CAN数据包和任何CAN FD数据包的仲裁段。 ( 5)Hing or Low (高或低) 所选择的数据来源是 CAN高还是CAN低信号。 如果是对 CAN TXD进行译码,请选择CAN L ow 配置完所有选项后,单击 【 下一步 】 进入 【 显示 】 选项卡。在 【 显示 】 选项卡中,根据需要配置以下字段: 名称 设置译码器实例名称。 PicoScope 会自动使用默认名称填充此名称,但你可以根据需要进行更新。 图形显示格式。 为原始的数据包选择一种在波形图上显示的数据格式。 表格显示格式 为原始的数据包选择一种在译码器输出表格里显示的数据格式。 表格内容 选择让表格只显示当前缓冲区里的数据,还是显示所有缓冲区里的数据。 时间标尺间解码 如果设置了时间标尺,译码器将仅解码两条时间标尺之间的数据。 图 7 配置显示字段 到此,你可点击上图的 “完成”,完成所有设置,软件即开始译码。 图 8 CAN XL译码结果 如需波形源文件,可点此获取: https://bbs.qichebo.com/forum.php?mod=viewthread&tid=71867&extra=page%3D1&_dsign=7495e943
  • 热度 5
    2022-5-28 17:11
    786 次阅读|
    0 个评论
    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总线有所应用,会了解其开发成本、不友善的刷写应用、不利于拓展的拓扑结构等都影响了更广泛的推广应用,从而被放弃。 所以在10MBit/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协议。 为什么CANXL要极大地增加最大报文长度? 这就涉及到第三点:如何与以太网的10BASE-T1S形成有力竞争。 3 )竞争力 前面提到了对垒双方10BASE-T1S与CAN XL大致信息。先说10BASE-T1S,其上层协议完全使用TCP/IP,物理拓扑上则变成了类似CAN的总线形式,总的来说特点就是降低成本。得益于以太网上层应用的成熟性,10BASE-T1S能更好地将外部应用向车内扩展。但是,车内如何与当前车载网络技术融合是很大的挑战,这在我看来也正是CAN XL在着力解决的问题:兼容性。 CANXL一方面是从CAN FD衍生,继承了CANFD的特性(如仲裁机制、错误检测等等),能很好的衔接以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),帧主体是高速模式,高速模式和低速模式通过特定字段划分。帧格式的简要说明如下: PriorityID、AF(AcceptanceField):与CAN ID相比,CAN XL把优先级和message ID的概念做了拆分,Priority ID用于处理优先级,AF用于表示message ID,后文做额外说明; XL:这个字段包含多个bit,表示此报文是标准CAN报文、CANFD报文还是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(FormatCheck 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地址,报文就表示为以太网报文。 图三SDT定义 看到这里,有读者应该会意识到,这里存在一个问题。CAN XL通过SDT和AF的组合可以表明一个以太网报文,但是以太网报文中3个重要字段:源MAC地址、目标MAC地址、类型在CAN XL中只截取了目标MAC地址。目前看CAN XL可能是打算将整个以太网报文都放进data field中,再增加帧头等信息,但笔者认为这不是一个很好的方式,可能需要等CANXL正式发布后我们再来探讨下这部分内容。 4 ) Priority ID 、 AF CAN 依据优先级进行仲裁,而在CAN和CAN FD中,优先级和messageID使用相同载体,这也使得在系统设计时会将重要信号放在高优先级的报文中。但CAN XL将优先级和message ID做了分开处理,即Priority ID和AF。这意味着可以有更灵活的设计方式,同时由于SDT的划分,CAN XL报文同样也可以采用源地址和目标地址的寻址方式(即SDT=0x2,Node Addressing)。但考虑到CAN已经使用了很多年,出于沿用和过渡的考虑也可以将Priority ID和AF设计为同样的值,继续按照之前的方式使用。 5 )VCID VCID 参照了以太网中VLAN的概念,将VLAN ID应用到CANXL上,即在数据链路层允许进行虚拟网络的划分。与VLAN的相同,这种虚拟网络划分使得通信可以摆脱一部分物理拓扑的限制,也能提高数据的安全性。其实这种虚拟网络在当前CAN中存在类似的机制(AUTOSAR Partial Network,后文简称PN),也就是说,如果我们使用CAN XL中的VCID,我们就可能出现3种局部网络:通过软件实现PN而形成的上层局部网络(包含网络管理和上层应用);通过VCID实现的数据链路层的局部网络;通过PN收发器实现PN而形成的物理层局部网络(主要应用网络管理)。如何将这3种机制融为一体可能会是CANXL落地后需要考虑的部分。 4. 对于选择10BASE-T1S还是CANXL,考虑哪些方面 前面提到很多关于CAN XL的内容,但总的来讲,其与10BASE-T1S各有优劣,尤其是当前CAN XL还未正式发布(所有的内容都可能存在变更),那么在此仅基于应用落地的考虑谈谈如何做出选择: 1 )用在哪里 在考虑成本等因素前,或许需要先梳理清楚为什么要引入这些技术,应用场景是什么。 CANXL典型应用场景:在以太网作为主干网的架构中,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. 总结 虽然CANXL未正式发布,但从目前的技术文档来看其潜力很大,尤其是其既保留了CAN本身的优势、特点,又能对以太网进行衔接。因此需要大家保持关注,提前做好技术储备。 北汇信息专注于汽车电子测试,与众多OEM和Tier1合作,在车载通信、诊断刷写、OTA、车内网络安全、域控制器功能测试等领域积累了丰富的经验。我们会持续关注CANXL的后续进展,持续分享。 注:文中部分图片来源于http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf 参考文献 CiA 610-1 CAN XL specifications and test plans Part 1: Data link layer andphysical coding sub-layer requirements CiA 610-2 CAN XL Part 2: Data link layer and physical signaling conformancetest plan CiA 610-3 CAN XLspecifications and test plans - Part 3: Physical media attachment sub-layerrequirements http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf TC10 Wake-upSleep Specification for Automotive Ethernet