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可以共同在基于信号的通信和面向服务的通信之间提供连接。通过对协议层进行适当地展开,将为应用提供更丰富的可能性。
微电子所在2019VLSI国际研讨会上展示最新研究进展
一文读懂不同类型的晶振封装
浙江大学首批招收人工智能专业 学什么,要怎么教?
永别了 三星Note 7
常见的电源适配器经常会碰到那些问题
第三代CAN总线CAN-XL解析
在rv-star板子上点LED灯实验
作为一名人工智能从业者应该看到什么
LED驱动模块在汽车照明中的市场机遇
Java中 equals 方法的实现方式
中兴将全球首发屏下3D结构光技术
三星Galaxy S11+参数进一步曝光 高配版将搭载1.08亿像素主摄并支持8K视频拍摄
鸿蒙报名入口
微软即将新推出Windows 10X系统
各类常用接地电阻的允许值
中兴通讯状告美国芯片厂商 索赔5500余万元
李开复:未来50%工作将被人工智能取代
嵌入式系统设计NI LabVIEW软件的十大特点
一文读懂LPC中的中断处理
看了三星S8的发布会,不知道大家对iPhone8的外观还满意吗?