众所周知,CAN通信技术在汽车领域中,有着非常广泛的应用。从1991年,第一代经典CAN在奔驰S级轿车中首次应用;到2011年,开始第二代CAN总线(即CAN FD)的开发;如今,ISO 11898-1:2024以及ISO 11898-2:2024版本的发布,标志着第三代CAN总线——CAN XL的时代将要来临。
在已有CAN 和CAN FD总线的情况下,为什么还要推出 CAN XL呢?当前,常用的车载总线包含了低速率总线和高速率总线,其中CAN、CAN FD、FlexRay等属于低速率总线,以太网(100/1000BASE-T1)属于高速率总线。在车载网络中,大部分控制节点的通信速率在10 Mbit/s以内,因此10 Mbit/s的通信速率有着非常广泛的应用领域。于是,为了顺应这种新的需求,低速率总线得到提升,也就有了CAN XL,通过CAN XL弥补了CAN FD与100BASE-T1之间的空白。
在已发布的ISO 11898-1:2024以及ISO 11898-2:2024的标准中,详细的说明了CAN XL数据帧的结构,其中CAN XL帧的数据段支持高达2048字节的数据传输,理论上CAN XL技术可以适配以太网的高层协议,不过具体的以太网协议兼容性仍需进一步验证。此外,CAN XL在PCS和PMA子层之间引入了PWM编解码机制,以切换PMA子层的两种总线驱动方式(显性/隐性和Level_0/Level_1),从而实现更高的传输速率。
下面将介绍CAN XL在CANoe软件中的应用,从应用中了解CAN XL协议的具体信息。
以CANoe 18.0 SP2中的DEMO工程CANXLBasic.cfg为例,该示例演示了CAN XL协议在音视频流中的应用。
注:该DEMO工程在CANoe 17.0 SP3及以上版本中存在。
图1 CAN XL示例工程路径
在CANXLBasic.cfg这个工程中,设置了两路通道,一路通道作为数据发送方,另一路作为数据接收方,即在Panel面板中设计了MediaClient和MediaServe两个面板。
MediaClient面板用于控制音频流的播放,其面板内的时间指示器将实时显示音频文件的播放时间,当音频流停止并重新启动时,数据再次开始传输。
MediaServe面板显示音频文件的相关信息,在MediaClient启动音频流后,MediaServe中的Media File Information区域会显示当前媒体文件、采样率、媒体类型以及服务状态等信息,Frame Information区域则会显示报文周期和报文数据长度。注意:MediaServe中的FrameFormat可以将协议配置为CAN XL或者CAN FD,但如果选择CAN FD,声卡上的音频流输出将出现问题,这表明CAN FD在这种情况下是不够的。
图2 CAN XL的示例工程
在仿真模式(Simulated Bus)下运行CANXLBasic.cfg工程,当MediaServe面板中的协议类型设置为CAN XL时,Trace窗口自动将Column Layout切换为CAN XL Layout1,即Trace窗口条目栏的解析模板将切换为CAN XL模式,Trace窗口可实时监控并分析CAN XL数据传输情况,通过该窗口,可以查看CAN XL报文的详细信息,包括DLC(数据场长度)、Data(数据场)、SEC(功能保留位)、SDT(数据段数据类型)、VCID(虚拟CAN网络ID)、AF(寻址)等。
图3 MediaServe协议为CAN XL
当MediaServe面板中的协议类型设置为CAN FD时,Trace窗口可实时监控并分析CAN FD数据传输情况。此时CAN Statistics窗口中的总线负载率超过了90%,在这种高负载的情况下,系统可能无法有效处理所有的数据帧,从而会导致通信延迟或丢帧。MediaClient中播放的音频质量则会下降,变成杂音,这种情况表明CAN FD的速率无法满足该音频流的传输需求。
图4 MediaServe协议为CAN FD
在真实模式(Real Bus)下运行CANXLBasic.cfg工程,需要带有CAN XL驱动程序的VN1670或者VN1641硬件。在进行硬件配置时,在Network Hardware Configuration中将总线模式配置成CAN XL,总线速率设置为8000kBit/s,在后续实际的应用中,或许可以设置的更高,在ISO 11898-1:2024中已发布,CAN XL的数据场的速率可以达到10Mbit/s,甚至最高可以提速到20 Mbit/s。
图5 Network Hardware Configuration配置
已发布的ISO 11898-1:2024中,详细的说明了CAN XL报文的结构,如下图所示:
图6 CAN XL数据帧结构
CAN XL报文解析,当XLF位置为1时,表示该帧为CAN XL报文。CAN XL报文有两种CRC校验方式,即PCRC(前置CRC校验)和FCRC(后置CRC校验)。PCRC共13bits,主要校验仲裁场、reXEL、ADS、SDT、SEC、DLC和SBC的内容;FCRC共32bits,用于整帧CRC校验,确保整个数据帧的数据完整性。
此外,当前Trace窗口下所选报文的有效字节数为1920个字节,显著高于CAN FD的字节数。相比之下,标准以太网帧的最大长度为1518个字节,考虑到以太网头部和尾部,实际有效载荷会更小。因此,CAN XL的1920字节有效载荷容量远超以太网帧的最大有效载荷,这使得CAN XL能够在单个帧中传输更多数据,特别适用于需要大量数据传输的应用场景。
图7 Trace窗口报文解析
CANoe 16.0开始可以支持CAN XL总线,但是从CANoe 16.0一直到CANoe 18.0的版本中,并没有新建CAN XL总线工程的模板,用户可以通过新建CAN/CAN FD总线工程,然后在Network Hardware Configuration中配置CAN XL的协议(如图5所示),以此建立CAN XL总线通信。
图8 新建CAN XL工程
当前可支持CAN XL的硬件接口卡为VN1670、VN1641。VN1641支持CAN XL的最大速率可达到20Mbit/s,这取决于线路和收发器的配置,即需要选择CAN SIC XL型收发器。注意:当总线速率超过5 Mbit/s时,需要将CAN SIC XL Piggyback配置为FAST Mode。
图9 CAN收发器型号
图10 控制器与收发器模式
CAN SIC XL收发器需要同时支持显性/隐性与Level_0/Level_1两种驱动方式,即支持两种发送模式: SIC Mode和FAST Mode。在仲裁段采用SIC Mode,此时收发器支持显性/隐性的驱动方式即可,CAN SIC XL收发器亦可以作为CAN SIC收发器使用。在数据段可通过模式转换进入FAST Mode,此时收发器需要支持Level_0/Level_1的驱动方式,当CAN XL控制器发送PWM信号到收发器,收发器检测到PWM信号时,将从SIC Mode转换到FAST Mode,之后如果没有再次检测到PWM信号,收发器会切换回SIC Mode。
注意:VN1670需在CANoe 15.0 SP3以上版本使用,支持Windows 10/ Windows 11系统,若要将其用作支持CAN XL总线的硬件,则需搭配CANoe 16.0及以上的软件。由于CANoe 16.0及以上版本软件仅支持Windows 11系统,因此VN1670在做CAN XL数据收发时,仅支持Windows 11系统。VN1641目前需在CANoe 18.0以上版本使用,同时只支持Windows 11系统。
图11 VN1670硬件接口卡
图12 VN1641硬件接口卡
以上就是有关CAN XL在CANoe软件中的应用以及适配硬件的相关内容,目前CAN XL协议推出不久,还没有被广泛应用,期待在未来的使用中,会有更多的应用场景!
东信创智一直深耕于电子电气架构开发、车载总线通信与诊断测试、整车控制系统XIL仿真测试平台、控制系统及整车功能测试服务、嵌入式软件开发与集成服务等多个领域,致力于为客户提供安全可靠的研发工具和“本地化、快速化、定制化、产品化”的解决方案。东信创智不但在汽车电子传统领域的经验和能力一直处于行业前列,如CAN/LIN/Ethernet开发与测试、控制系统功能测试、整车功能验证测试、控制系统HIL仿真平台、AUTOSAR软件开发与服务等,而且在新兴技术的探索方面持续不断的提前投入研发,如ADAS智驾仿真、HMI测试验证、SOA架构开发、V2X测试验证、OTA测试验证、信息安全与功能安全等,均取得了可喜的成果。东信创智拥有多支“敢于挑战、乐于进取、善于拼搏、忠于客户”的经验丰富的技术服务团队,同众多合作伙伴一道整合全球优质资源,为客户提供“高效、高质、高价值”的产品与服务。