接口/总线/驱动
CAN-FD引入了更快的比特率,在数据阶段可设置为高达5Mbit/s,但其后果是由于信号振铃而受到严格的拓扑结构限制。这就使CAN-FD局限于线性网络,限制了设计的自由度,增加了布线和系统成本。所以,在2020年的第17届国际CAN大会(iCC)上,CiA推出了第三代CAN通信技术CAN-XL(extra long)。
CAN-XL是一种高度可扩展的通信技术,涉及比特率和数据字段的长度,物理层仍在开发中。其目标是实现高达10+Mbit/s的比特率。CAN-XL针对面向区域的异构网络体系结构进行优化,能够以最优的长度满足未来车载网络的要求。
汽车工业试图减少布线,以最小化重量,或者换句话说,是限制能耗。CAN-XL通过保持CAN协议的优势(例如无损仲裁的冲突解决),为高达10Mbit/s的数据速率提供了出色的解决方案, 填补了CAN-FD与100BASE-T1之间的空白。
它主要有以下几个核心期望特性。
1.有效负载长度: 与以太网帧长度一样。
2.可靠性: 等于或者优于CAN,CAN-FD和10Mbit/s以太网的稳定性。
3.鲁棒性: 与CAN-FD一样好,甚至要优于10Mbit/s以太网。
4.波特率: 在数据段的传输速率至少大于10Mbit/s。
5.兼容性: 向后兼容CAN-FD。
CAN-XL是对CAN和CAN-FD的进一步扩展,并且在很大程度上遵循相同的运行原理。CAN报文分为仲裁段和数据段,尽管CAN-XL在仲裁段使用500kbit/s至1Mbit/s的低速率,但数据段的传输速率却可提升至2Mbit/s至10Mbit/s。相对于CAN-FD的可选速率切换功能,CAN-XL能够强制执行速率切换。
CAN-XL协议
此外,总线访问仍旧采用CSMA/CD(载波侦听多路访问/冲突解决方案),通过位仲裁解决总线访问权限问题。CAN-XL遵循严格的优先级概念,允许更重要的消息无延迟地传输。CAN-XL仅支持11位标识符ID,不再使用29位标识符ID,凭借用于报头和帧以及格式检查的汉明距离6算法,确保数据传输的高可靠性,实际上胜过FlexRay和以太网的CRC功能。
然而,对于未来的应用而言重要的不仅仅是提高数据传输速率。CAN-XL主要功能之一是数据段支持1~2048Byte的可变长度。在必要时,可将以太网帧打包为CAN-XL消息,直接或间接通过CAN-XL使用IP通信技术。
第3代 CAN-XL 数据链路层协议关键功能如下:
1.传输数据最多可达2048字节;
2.包含高层协议管理信息;
3.使用两个CRC检验段用于提升可靠性;
4.其传输位速率达到10 Mbit/s;
5.支持所有3种CAN协议,经典CAN、CAN-FD和CAN-XL,保留与CAN2.0和CAN-FD的互操作性;
6.支持集成到TCP/IP网络系统中。
CAN-XL重新定义数据链路层,分为两个数据链路子层CAN-XL与以太网相似,CAN标准(ISO 11898系列)规定了两个数据链路层子层:LLC层和MAC层。
LLC子层: 位于OSI网络层和MAC子层的中间层。LLC帧结构包含所有的CAN帧格式和类型需要的内容。
MAC子层: 负责将帧数据从LLC子层移动到PMA子层,通过位填充(stuffbits)和CRC来保证帧的传输。
在发送过程中,LLC帧被转换为一个MAC帧。在接收时MAC帧被转换为一个LLC帧。在LLC帧中未被用于所选的CAN帧格式的部分内容将被忽略。
从顶层看,CAN控制器支持CAN-XL,CAN-FD和经典CAN,所以需要支持3种数据格式,其软件接口如图所示。
新的LLC帧格式
有了优先级ID、远程帧和扩展帧指示,FDF位表示使用CAN-FD协议而不是经典CAN;选择了FDF段,就可以选择额外使用包含很多内容的XLF段,表示支持CAN-XL。
根据CAN XL LLC帧格式,可以总结出如下几个特点:
1、CAN-XL数据需要传输一个11位的优先级ID,表示数据在总线上的优先级。系统设计师需要为数据分配独一无二的优先级ID;
2、FDF位会一直是显性的;
3、XLF位会一直是显性的;
4、服务数据单元(SDU)类型表示这个CAN-XL帧使用那个高层协议;
5、数据链路层安全指示(SEC)是一个新的位,表示在数据链路层使用了额外的数据安全协议;
6、数据长度编码(DLC),在CAN-FD和经典CAN中也有,它的长度是4位。在CAN-XL中是11位,为了传输更多的数据,数据可以有2048个字节;
7、虚拟CAN ID和SDU类型一样是新的字段。虚拟CAN ID可以使完全不同的应用运行在同一条电缆上。例如这一帧用于这个应用,下一帧用于另外一个应用,可以使用分开不同的通道。虚拟ID在以太网中很常见;
8、接收段(AF),首先这是正式的CAN ID,有时直接使用29位ID,可以在这里提供用户希望收到的内容,也可以用作保证字段,像经典CAN一样表示数据的内容或者节点地址信息。无论用户想要什么,都可以将其放入接收字段;
9、LLC数据字段的帧可以包含最多2048字节数据,最小字节为1字节,所以不能像经典CAN和CAN-FD一样发送0字节的数据。
正如上面提到CAN ID和CAN-FD和经典CAN不一样,在经典CAN和CAN-FD中,CAN ID字段(11位或29位)用于仲裁和寻址目的。而在CAN-XL中,这些函数是分开的。11位优先级ID子字段(priority ID sub-field)提供了CAN-XL数据帧的唯一优先级分配。32位接收字段(acceptance field)包含在CAN-XL控制器的64位硬件接收过滤器中,它可能包含节点地址或内容指示信息,可以用于包含经典CAN的高层协议。
数据服务单元(SDU)是一个新的内容,和以太网的EtherType类似。OSI层管理信息符合ISO 7498-4:1998,这是一个旧的协议,将它内嵌到XL帧中,可以提供更多的应用。在SDT中,发送节点提供使用高层协议的信息,可以是传输层协议、网络层协议或应用层协议。例如:遗留的基于CAN的高层协议;以太网帧的隧道化,可以传输以太网帧,使过程更加平滑和简单;经典CAN和CAN-FD帧的隧道化,将经典CAN和CAN-FD帧转发到另一个局域网,CAN-XL作为骨干网使用;TCP/IP段;CAN open/CAN open FD;J1939-21/22消息;生产商自定义协议等。
虚拟CAN-ID和SDT虽然有些类似,但也有一定的区别。虚拟CAN-ID的目的是在电缆上运行不同的应用,带宽和长度足以用于更多的数据。例如,可以同时上传或下载两个不同的应用程序,支持256个不同的虚拟通道,某种程度上也属于网络层信息。所以,可同时使用一帧用于某个应用程序,另一帧用于另一个程序或一组应用程序。
对于数据链路层,CAN-XL支持专有的协议。控制字段中的SEC位表示这个CAN-XL数据帧是否使用CADsec协议。CADsec协议具有一个4字节的header,包含密码控制信息、CAN安全通道ID和一个新鲜度值。16字节的trailer包含128位身份验证标记。这个功能目前尚在开发中,还需要芯片制造商的支持。
经典CAN、CAN-FD和CAN-XL帧的区别如图所示。
经典CAN、CAN-FD和CAN-XL帧的比较
1. 帧起始
帧起始和帧结束是作为不变的部分。
2.仲裁段
在仲裁段中存在如下内容:
(1)优先级ID:11位优先级ID字段负责分配唯一优先级仲裁的CAN XL数据帧。系统设计人员需要保证优先级ID对于不同帧是唯一的;
(2)RRS:用于填充远程帧;
(3)IDE:用于指示是否使用29位ID;
(4)FDF:FDF指示使用2个波特率;
(5)XLF:用于指示是否使用新了XL协议。
3.控制段
控制段在经典CAN和CAN-FD中很短,在CAN-XL中有更多的功能,需要更多的位去控制XL帧。
控制段中包括以下几个内容:
(1)R1:保留的R1位,用于未来第四代CAN的开发;
(2)ADS:并不是协议的一部分,只是切换比特率,为了正确切换到快速波特率,长度需要4位。传输使用快速波特率,可以达到10Mbit/s或者更高;
(3)SDT:服务数据单元;
(4)SEC:安全位;
(5)DLC:数据长度编码;
(6)SBC:填充位计数器,这个在CAN-FD协议就已经有了,用于计算填充位的数据;
(7)PCRC:CRC多项式校验,PCRC是13位,它提供的汉明距离为6,意味着可以检测出在CRC字段之前5个随机分布的错误。在CAN-XL中可以进行单次发送,可以停止传输并表明需要处理一个错误;
(8)VCID:虚拟CAN ID;
(9)AF接收段,有32位长,在控制段的结尾,不需要经典CAN和CAN-FD的地址信息。
4.数据段
数据段最大长度为2048字节。
5.CRC段
数据段受CRC段保护,CRC段提供32位的帧CRC,在全部2048字节的汉明距离也为6,比其他网络要好。检查模式用于检测帧中某一位的错误。因为两个CRC是级联的,所以FCRC也保护PCRC,全部的FCRC和PCRC保证了高可靠性的通信系统。
6.ACK段
经典CAN和CAN-FD是2位,CAN-XL有6位,多出来的4位用于将不同节点从高速度重新同步到低速度。DAS字段中的第一个是DAH位,它是作为逻辑1发送的。通过该位,将CAN-XL SIC中的收发器模式切换回SIC模式。ACK位和ACK界定符同之前的协议一样。
7.帧结束
帧结束段包含7个隐性位,表示已经准备好并且帧已经发送完毕。
CAN-XL有很多变化,需要更多位,所以帧头开销更大,数据也变得更长长。使用CAN-XL仅传输一个字节的话,效率会非常低。如果使用所有的2048个字节,例如下载软件,效率会很高。
CAN-XL的物理层会有些不同,使用经典CAN收发器速率会被限制在1Mbit/s,CAN-FD收发器速率会被限制在2Mbit/s或者2Mbit/s,使用CAN SIC收发器,速率可以达到8Mbit/s。
目前正在开发CAN-XL SIC收发器,速率可以达到10Mbit/s以上,2023年4月CAN XLPlugfest会议上Kvaser成功演示了20Mbit/s的速度。CAN-XL SIC收发器必须支持MICI接口(medium-independent CAN interface,介质无关CAN接口),当采用MICI接口时,可以向下兼容之前的CAN-FD,也给半导体商和工具开发商提供更多灵活的实现方案。目前研发中的芯片MICI接口是和收发器芯片在一起的,MICI用于连接CAN-XL控制器和CAN-XL SIC收发器,它基于TX的单路经PWM信号而工作。
MICI接口
CiA规定了CAN-XL控制器(CIA 610-1)和CAN-XL SIC收发器(CIA 610-3),CAN-XL控制器可以连接到所有提供AUI或MICI接口标准化CAN收发器技术。CAN SIC XL收发器有两个工作模式:SIC mode模式;Fast TX /RX mode模式。
CAN-XL传承自经典的CAN和CAN-FD,并缩小了CAN/CAN-FD与Ethernet之间的传输速度和耦合的差距。在合适的应用领域中,CAN-XL可以采用更小巧更便宜的控制器。利用高达2048Byte的有效数据长度,CAN-XL为将来传输以太网帧和利用IP通信提供所需的功能。这意味着CAN-XL和10base-T1S可以共同在基于信号的通信和面向服务的通信之间提供连接。通过对协议层进行适当地展开,将为应用提供更丰富的可能性。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !