在2020年第17届国际CAN大会上CiA协会(CAN in Automation)介绍了第三代CAN通信技术CAN XL (CAN Extra Long)。CANXL是一种高度可扩展的通讯技术,其数据场长度提升至最高2048 byte。物理层仍在开发中,其目标是进一步实现高达10Mbps甚至20Mbps的传输速率。
CANXL是对HSCAN和CANFD的进一步扩展,在很大程度上遵循相同的运行原理,即报文仍分为仲裁段和数据段。仲裁段仍使用500kbps至1Mbps的低速率,但数据段的传输速率提升至最高20Mbps。CANXL通过位仲裁机制解决总线的访问权限问题,遵循严格的优先级判定,让更重要的报文得到更短延迟的传输。
CAN XL (Controller Area Network with Extended Length) provides a superior solution for data rates of up to 20Mbit/s by maintaining the advantages of the CAN protocol like collision-resolution by non-destructive arbitration. It expands the number of data bytes per CAN frame up to2048 bytes.With a bit rate of up to 20 Mbit/s in the data phase, CAN XL fills the gap between CAN FD and 100BASE-T1 (Ethernet). CAN XL protocol controllers are also able to perform Classical CAN and CAN FD communication.
CAN XL是博世的专利,如上是博世对CAN XL的介绍。如上可知主要就是继承CAN优点,速度提高到最高20Mbit/s,数据量提高到2048 Bytes
CANXL的设计目标是在成本、性能、速率之间取得平衡,顺应新的应用场景需求。同时保留CAN可靠性性、非破坏性仲裁等优点,允许CAN FD和CAN XL在同一网络上。因此从传统的CAN升级到CAN XL,CAN节点的数量可以任意增加或减少,不会对其他的节点有影响。CAN XL还具有可扩展性,可以在成本、速度和网络复杂性之间灵活权衡,同时,CAN XL具有广泛的可用性,可以在绝大多数下一代汽车µC中提供。CANXL适用于3大类应用:需要更高带宽的应用、支持SOA(面向服务的架构)的应用以及安全应用。
在CiA601-1规范中定义了CANXL协议。与以太网相似,CANXL定义了两个数据链路层子层:
- Logical Link Control (LLC):位于OSI网络层和Media Access Control (MAC)子层中间的层。
- Media Access Control (MAC):负责将帧数据从LLC子层移动到Physical Signaling Sub-layer (PLS)子层,并通过位填充(Stuff-bits)和CRC (Cyclic Redundancy Check)来保护帧数据的传输。
如下图,新的LLC帧格式可支持三代CAN协议。
其中,FDF表示这帧报文是经典CAN还是CANFD,FDF选择了CANFD后,就可以额外选择XLF段,进一步表示这帧报文是CANXL。根据协议格式,CANXL有如下几个特点:
- 在HS-CAN和CANFD中,CAN-ID字段(11 位或29 位)用于仲裁和寻址目的。在CANXL中,这些函数是分开的。11位优先级ID子字段(Priority ID)提供了CANXL数据帧的唯一优先级分配,系统工程师需要为数据分配独一无二的优先级ID。
- 32位接受字段AF (Acceptance Field)包含在CANXL控制器的64位硬件接受过滤器中,它可能包含节点地址或内容指示信息,可以用于包含经典CAN的高层协议。
- 服务数据单元类型SDT (Service Data-unit Type)表示这个CANXL帧使用哪个高层协议,它是在ISO7498-4:1998中描述的嵌入式(OSI)层管理信息。可以使用以下类型的定义:
- 遗留的基于CAN的高层协议
- 以太网帧的隧道化
- 经典CAN和CANFD帧的隧道化
- TCP/IP段
- CANopen / CANopenFD
- J1939-21/22消息
- 生产商自定义协议等
- 虚拟CANID (Virtual CAN network ID)字段允许运行多达256个逻辑网络在一个单一的CANXL网络段。这允许实现由服务数据单元类型确定的多个同构逻辑网络,这个字段可以说是一个嵌入的(OSI)层管理信息,如ISO7498-4:1998所述。
- 数据长度编码DLC (Data Length Code)在CANXL中增加到11位,支持最高2048字节的数据长度。
- 数据链路层安全指示SEC (DLL Security Indication)是一个新的位,表示在数据链路层使用了额外的数据安全协议。
CANXL数据帧以两个不同的比特速率传输,类似于CANFD数据帧的传输。低速传输遵循经典CAN仲裁的规则,而数据段则使用高比特率传输。
- 在仲裁阶段,最大传输速率是1Mbps。所选的速率决定网络长度,速率越高,允许的网络长度越短。
- 在数据阶段,最大传输速率不受网络长度的限制。它可以是10Mbps甚至更高,这取决于收发器的能力和所选的其他物理层组件,例如电缆、连接器、保护电路等。
多种CAN协议组网示例:
欢迎关注公众号 不懂汽车的胖子