1 CAN通讯的发展趋势
在没有CAN通讯之前,汽车电子系统相对简单,各控制单元之间的通信方式主要通过点对点连接或专用的、单一功能的总线。这意味着每增加一个新的电子设备,就需要在车辆内部布设额外的线束,连接到相应的控制单元,这不仅增加了车辆的重量,而且也增加了系统的复杂性和故障率。比如发动机管理系统、制动系统和灯光控制等都有自己的独立控制单元,它们之间的数据交换是通过直接的硬连线或简单的通信协议来完成,这种点对点的连接方式缺乏灵活性,对于系统扩展和维护来说非常不便,同时也限制了数据共享和实时性要求高的应用。
因此在这样的背景下,这种传统的连接方式逐渐无法满足现代汽车复杂电子系统的需求,CAN总线就被提出来了。CAN总线允许多个电子设备共享同一数据总线,实现了设备间高效、实时的通信,大大减少了车内线束的数量,降低了成本,提高了系统的可靠性和可维护性。可以说CAN总线的出现是汽车电子领域的一次革命,为现代汽车复杂电子网络的构建奠定了基础。
source: CAN 协议 : 完整信息
回溯CAN总线的历史,如下所示:
起点是1986 年, 博世在美国底特律举行的汽车工程师协会 (SAE) 会议上正式发布CAN 。
在1991 年,博世发布了 CAN 2.0 版本(A 部分:CAN 2.0A(11 位标识符),B 部分:CAN 2.0B(29 位标识符))。
随后在 1993年,CAN 标准 ISO 11898 被发布,CAN 进一步重组为两部分:涵盖数据链路层的 ISO 11898-1 和涵盖高速 CAN 的 CAN 物理层的 ISO 11898-2。在2003 年,ISO 11898 成为标准系列。
在2012 年,博世发布了 CAN FD 1.0,并于 2015 年标准化 (ISO 11898-1)。
2 CAN
帧起始 (SOF)。 仲裁字段,由标识符和 RTR 位组成,仲裁字段确定消息的优先级,其中值越低表示优先级越高。 控制字段,由 IDE 位(标准 11 位标识符占主导地位)、保留位和数据长度代码组成。 数据字段 ,可以包含 0 到 8 个字节的数据。 循环冗余校验 (CRC) 。 确认槽 (ACK)。 帧结束(所有位都是隐性的)。
这里为啥需要扩展格式?这是因为在商用车中的应用表明,要映射的大量报文需要更长的标识符。因此,除了 11 位标识符之外,还定义了使用 29 位标识符的附加扩展格式(两部分:11 位长的基本标识符和 18 位长的扩展标识符),这样可以区分多达 5.12 亿条报文。
除此之外,经典CAN的传输速度高达1Mbps,传输数据高达8个字节,其发展已将近30年,应用非常广泛,至今如此。但随着汽车行业的快速发展,对能够传输大量数据的需求不断增长,不管经典CAN的传输速率还是数据负载都有点不够了。出于这个原因,博世在2012年推出了熟悉的经典CAN的扩展版本- CAN FD。
3 CAN FD
相对于经典CAN,CAN FD 改善了3个关键问题:
传输速率:CAN FD引入了一种双速率机制,数据段位速率(最高达8 Mbps),同时仍能维持仲裁阶段和其他部分的标准速率(1 Mbps),这意味着在需要高速度的地方可以选择加速,而不影响整体网络的稳定性。
数据负载能力:提供了多种选项来适应不同类型的应用程序,数据负载可以从12、16、20等逐步递增直到最大64个字节。
错误检测功能:采用了更先进的循环冗余校验(CRC)算法,能够更好地保护数据完整性并减少误码的可能性。
通过这些改进,CAN FD不仅提升了系统的处理能力和响应速度,还能有效地管理复杂的车载网络环境中的大量数据流。但是随着自动驾驶和高级驾驶辅助系统(ADAS)的发展,对数据传输量的需求仍在急剧增加,CAN FD仍然无法满足某些极端应用的需求,因此CAN XL又被提出来。
4 CAN XL
CAN XL的传输速率可超过10Mbit/s,甚至高达20 Mbit/s,同时在仲裁场使用较低速率,确保兼容性和稳定性; CAN XL帧的数据字段大小高达2048 字节,这使得以太网帧现在也可以首次在CAN报文中传输。 CAN XL通过增加的CRC校验位和更复杂的帧结构来增强错误检测,确保在传输大量数据时的可靠性。
source:CAN、CAN FD、CAN XL - 有什么区别?
PID(Priority ldentifier):优先级ID,指定优先级,将传统CAN ID的仲裁、寻址两功能拆分为CAN XL的PID优先级和下述AF寻址两部分,先说仲裁段: RRS(Remote Request Substitution):远程请求,不支持远程帧; IDE(Identifier Extension):ID拓展,只支持11位ID,固定为显性; XLF(XL Format):XL格式,隐性电平表明为CAN XL帧;
source: 1.26_CAN-XL介绍—CiA.pdf
resXL(reserved bit XL format):XL格式预留位,为之后可能的拓展更新预留; ADS(Arbitration-to-Dataphase Switch):仲裁段向数据段转换,包括四个固定位,从ADH位之后开始加速,CANXL强制数据段加速; SDT(Service Data Unit Type):服务数据单元类型,表示数据field使用的OSI协议。类似以太网帧中的EtherType。CiA 611-1的第一个版本指定了以下的SDT值: 基于内容的寻址(即使用消息ID) 节点寻址 CAN和CAN FD映射隧道 以太网帧的节点隧道 SEC(Simple Extended Content):简单拓展内容,指明是否有进一步的链路层功能,比如QoS或安全功能; DLC(Data Length Code):DLC是一个11位整数,其中数据字节数是该整数加1; SBC(Stuff Bit Count):填充位计数; PCRC(Preamble CRC):前导CRC,保证头部数据传输正确; VCID(Virtual CAN network ID):虚拟CAN网络ID,划分CAN虚拟逻辑网络,类似以太网帧中的VlanID; AF(Acceptance Field)接受域,该字段包含在CAN XL控制器的64位硬件接受过滤器中,可能包含节点地址或内容指示信息。
FCRC(Frame CRC):帧CRC,整个帧的CRC,包括PCRC; FCP(Format Check Pattern):格式校验模式,对固定位检查。
综上,CAN XL是针对现代高数据量需求的通信协议,它在数据传输能力、速率灵活性、错误检测和未来扩展性方面都进行了重大升级,以适应更复杂和数据密集的应用场景。
CAN XL设计时考虑了未来技术的发展,提供了更大的扩展空间,以适应未来可能的通信标准和更高的数据传输要求。
通过以上对CAN,CAN FD和CAN XL的介绍,它们三者主要在以下这些方面存在差异:
数据传输能力:CAN XL在数据传输能力上远超CAN和CAN FD,适合大数据量传输需求。 数据传输速度:CAN XL和CAN FD都提高了数据传输速率,CAN XL更是达到了一个新的高度,但CAN XL在物理层和数据链路层的设计上更为复杂。 兼容性:CAN和CAN FD在兼容性上表现良好,尤其是CAN FD向后兼容CAN。CAN XL虽然努力保持兼容性,但在某些特性上(如远程帧和29位ID)有所牺牲。 应用领域:CAN适用于简单的控制网络,CAN FD适合需要更高数据速率的应用,而CAN XL则面向需要大量数据传输的高级应用,如自动驾驶系统中的传感器数据传输。 标准化与成熟度:CAN和CAN FD有成熟的标准化和广泛应用,而CAN XL尚在发展过程中,规范有待进一步完善。
source:20230717_can_xl_overview.pdf
创作不易,欢迎关注点赞再看收藏!
汽车研发交流群,有兴趣的朋友请添加群主:prOmiseyes,备注:公司+职务入群。仅限汽车从业人员。