更加快速可靠的通信协议:CAN FD(第1章)初步认识 CAN FD
引入CAN FD协议的背景及其标准化
随着电子、半导体、通讯等行业的快速发展,汽车智能化的诉求也越来越强。为了提高汽车的安全性和舒适性,实现汽车的电动化和智能化,以及增强网络连接,汽车制造商将越来越多功能集成到了汽车上,ECU(电子控制单元)大量地增加使总线负载率急剧增大。
目前在市场上的商用车中广泛使用的是车载网络CAN(Controller Area Network)。但是由于CAN总线的最高传输速率为1Mbit/s(通常汽车CAN系统的实际使用速率最高为500kbit/s),ECU大量增加使总线负载率急剧增大以致造成网络拥堵,影响信息传输的可靠性和实时性。为了满足日益增长的汽车网络需求,所以我们需要能够传输更多信息的高速车载网络。
因此,在2012年Bosch发布了CAN的替代总线CAN FD(CAN with Flexible Data rate,灵活数据传输率)协议。
2015 年 ,国际标准化组织(ISO)正式发布支持CAN FD的11898-1协议。与此同时,这需要将CAN收发器支持超过1Mbit/s的技术标准化,目前已经由 ISO 11898-2 完成。另外ISO 11898-2草案也已经成功通过了委员会投票。新的ISO 11898-2标准包含着ISO 11898-5格式定义 (低功耗功能)和 ISO 11898-6 (可选唤醒功能)。
CAN FD的用例
首先是传输速率方面,CAN FD比CAN更加快。ECU是汽车的大脑,如果ECU大量增加,处理器ROM容量也将随之增加。在进行ECU研发时,需要将软件写入ROM,这个写入的过程是通过CAN来完成的。但是,通过CAN重写大容量的软件,需要花费非常长的时间。因此,我们正在研究引入速度更快的CAN FD。
其次是带宽方面,CAN FD更加能满足需求。由于功能不断增加,CAN总线的负荷将逐渐达到极限,从而出现延迟时间增加和网络带宽不足(网络传输能力较差)。在这种情况下,根据功能来划分局部网络的方式可以解决带宽不足的问题。CAN的最高传输速率可达1Mbps, CAN FD可达 8Mbps,如果用CAN FD来代替CAN,就不必为了解决带宽问题而使用划分局部网络的方式了。
最后是信息安全方面。对车载通信敏感数据的认证和完整性保护,是确保车辆通信系统安全的必要条件。基于当前国外主流的汽车电子软件开发规范AUTOSAR,对安全车载通信的机理进行详细研究并加以实现。实验证明,SecOC安全通信机制能够对车内总线上传输的数据进行安全保护。以往的车辆CAN总线通信传输的都是未经加密的数据,一旦被第三方侵入,便可直接读取车辆的关键数据,如转速、转向、刹车等信息,一旦被非法利用,后果不堪设想。而在CAN FD中,几乎毫不费力就能实现多个节点的加密数据传输,这个方法同时也可以适配现存的Autosar环境。
除了替换现有的 CAN之外, 还应该考虑使用新的应用程序和附加网络, 如高度安全的驾驶辅助系统和部分传感器网络。
CAN FD 的概要
CAN总线采用双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制使CAN总线有很高的安全性。CAN FD是由CAN扩展而来的通信协议,继承了的CAN总线主要特性的同时,还能够快速的传输更多数据。
在CAN中,所有的数据都以固定的帧格式发送。帧类型有五种,其中数据帧包含数据段和仲裁段。
当多个节点同时向总线发送数据时,对各个消息的标识符(即ID号)进行逐位仲裁,如果某个节点发送的消息仲裁获胜,那么这个节点将获取总线的发送权,仲裁失败的节点则立即停止发送并转变为监听(接收)状态。
在同一条CAN线上,所有节点的通信速度必须相同。这里所说的通信速度,指的就是比特率。
也就是说,CAN在仲裁阶段,用于仲裁ID号的仲裁段和用于发送数据的数据段,比特率是必须相同的。
而CAN FD 协议对于仲裁段和数据段来说有两个独立的比特率。即在仲裁段采用标准CAN位速率通信,在数据段采用高速率通信,这样一来缩短了位时间,从而提高了位速率。这就是CAN FD(灵活数据传输率)的起源。
数据段的最大比特率并没有明确的规定,很大程度上取决于网络拓扑和ECU系统等。不过在ISO 11898-2:2016标准中,规定比特率最高可达5 Mbps的时序要求。汽车厂商正在考虑根据应用软件和网络拓扑,使用不同的比特率组合。
例如,在诊断和升级应用中,数据段的比特率可以使用5Mbps,而在控制系统中,可以使用500kbps至2Mbps。相对于传统CAN报文有效数据场的8字节,CAN FD对有效数据场长度作了很大的扩充,数据场长度最大可达到64bytes(协议的细节将在后面描述)。可在如星型,总线型,点对点等的网络拓扑中使用。
CAN FD 协议
接下来将继续说明关于CAN FD协议。以从CAN的演变部分为中心,解释CAN FD的帧类型和、帧结构以及帧中每个字段。
1.帧类型
CAN FD仅定义了数据帧,与传统CAN相比,取消了远程帧的支持。原因是在没有数据的情况下,远程帧没有必要改变数据段的比特率。
与CAN一样,数据帧分为“标准帧(11位ID)”和“扩展帧(29位ID)”格式。从BRS(Bit Rate Switch)到CRC分界符之间为可变速率。在下面的图中,类似于CAN的比特率部分以橙色显示,可变速率以蓝色显示。
CAN FD的标准帧和扩展帧格式。橙色表示与CAN的传输速度相同,蓝色表示可加速传输速度。来源:Vector Japan
由于篇幅关系,本章仅讲述到帧类型,在下一章中,将为大家详细阐述由7位区域构成的帧结构。