汽车CAN-FD总线通信应用研究
2020-10-29孙建蕾陈博尹荣彬
孙建蕾 陈博 尹荣彬
(1. 中国第一汽车股份有限公司 智能网联开发院,长春130013;2. 汽车振动噪声与安全控制综合技术国家重点实验室, 长春130013)
主题词:CAN-FD 自动驾驶 带宽
缩略语
CAN-FD CAN With Flexible Data-Rate
DLC Data Length Code
OSI Open Systems Interconnection
LLC Logical Link Control
MAC Media Access Control
OTA Over-the-Air Technology
HIL Hardware In the Loop
ADAS Advanced Driver Assistant System
PDU Protocol Data Unit
ASIL Automotive Safety Integration Level
1 前言
随着智能网联和自动驾驶的飞速发展和社会需求的增长,汽车各控制系统间的信息交互对数据吞吐量和传输时延要求亦迅猛提高。CAN通信方案最初是在1986 年的SAE 大会上由Bosch 提出,由于其可靠性及强兼容性好被全球的OEM 广泛采用。但传统的车载CAN总线最高支持500 kbit/s的传输速率,每帧只能承载8 bytes的数据,由于传输速率和数据长度的限制,在自动驾驶和智能网联对网络通信的高要求背景下,使用传统CAN 通信势必会导致总线负载率过高从而导致网络拥堵,传统CAN总线通信的瓶颈逐渐凸显。
2011年,为满足带宽和可靠性的需求,Bosch首次发布了CAN-FD(CAN With Flexible Data-Rate)方案,CAN-FD 继承了传统CAN 总线的主要特性,使用改动较小的物理层,双线串行通信协议,依然基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制,在此基础上对带宽和数据长度进行优化,将逐步取代传统CAN成为下一代主流汽车总线系统,与车载以太网搭配构建未来汽车的网络骨架[1]。
2 CAN-FD概述
2.1 基于OSI参考模型的CAN-FD 协议分层
CAN-FD 的协议架构(网络分层)与传统CAN 保持一致,故后文中对协议架构部分的说明将不对CAN与CAN-FD进行区分。
CAN 协议也是基于ISO/IEC 7498-1 中规定的开放系统互联(OSI)基本参考模型,该模型将通信系统结构划分为7 层。自上而下分别为应用层(层7)、表示层、会话层、传输层、网络层、数据链路层和物理层(层1)[2]。考虑到CAN 作为工业测控底层网络,其信息传输量相对较少,信息传输的实时性要求较高,网络连接方式相对较简单,因此,CAN 总线网络底层只采用了OSI 7 层通信模型的最低2 层,即物理层和数据链路层,而在高层只有应用层。CAN 的数据链路层又分为逻辑链路控制(LLC)子层和媒体访问控制(MAC)子层。物理层定义信号怎样传输,完成电气连接,实现驱动器/接收器特性;MAC 子层是实现CAN 协议的核心,它的功能主要是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定;LLC 子层的功能主要是报文滤波、超载通知和恢复管理[3]。物理层和数据链路层的功能可由CAN 接口器件来完成。应用层的功能是由微处理器完成的。在ISO 11898 中对CAN 协议层级与OSI 模型层级的关系进行了说明,图1 描述了CAN 协议中数据链路层和物理层与OSI 模型的关系[4]。
图1 CAN分层结构与OSI模型对比[4]
2.2 CAN-FD优势分析
CAN-FD 相比传统CAN 总线,其优势主要有以下3点。
(1)传输速率更快
FD 全称是Flexible Data-Rate,顾名思义,表示CAN-FD 的帧报文具有数据场波特率可变的特性,即仲裁场合数据控制场使用标准的通信波特率,而到数据场就会切换为更高的通信波特率,车端常用的为2 Mbit/s和5 Mbit/s,从而达到提高通信速率的目的[4]。
图2 CAN标准帧结构[4]
图3 CAN-FD标准帧结构(数据长度最大为16 bytes)[4]
图4 CAN-FD标准帧结构(数据长度为20~64 bytes)[4]
(2)有效数据场更长
传统CAN 报文标准帧的有效数据场只有8 bytes,每帧携带的数据量很少,CAN-FD 对有效数据场的长度进行了很大的扩充,标准帧的有效数据场最大可达到64 bytes,大大提高了每帧报文中所能携带的数据量。
(3)更小的改动
CAN-FD 保留了传统CAN 总线协议的核心特征,这使得在ECU 和收发器等硬件层面上相较于车载以太网更易实现和应用,且由于CAN-FD 与传统CAN 对物理层的要求基本一致,CAN-FD 的ECU 和收发器对传统CAN 兼容,OEM 不论是采用直接升级为CANFD 总线的方案还是在切换过渡的阶段先采用混网的方案[5],在技术实现和开发成本控制层面都可以达到预期。
3 CAN-FD在产品车型上的应用
以某车型为例,该项目已对CAN-FD 网络进行了量产化应用,该项目基于电子电气功能架构搭建了集合多种车载网络协议的网络架构,集信息域、互联域、自动驾驶域、底盘动力域的多域融合的一汽新一代整车网络架构,该架构具备支持拓展L2+级自动驾驶和整车级OTA 技术的能力,具有高功能安全、高信息安全的技术优势。
3.1 功能定义
本车型CAN-FD 部分主要实现ADAS自动驾驶和动力车控等功能,ADAS 功能分为驾驶智能辅助功能和自动驾驶功能,包括拨杆换道、自动换道、自适应巡航、高速代驾、拥堵跟车、自动泊车等基本或高阶的功能,涉及到ADAS 域控制器与感知传感器、底盘、动力等执行控制器的控制交互。
3.2 方案设计
对于3.1 章节所描述的功能需求,在以往项目设计时多采用CAN 总线进行传输相关报文,但随着ADAS 功能水平升级,这些ADAS 功能的实现对网络通信有着更高性能、低时延、高带宽及ASIL B+的功能安全要求,传统CAN通信已无法满足。一汽红旗在本车型上首次应用CAN-FD 搭建ADAS 等域的网络架构,实现ADAS 域控制器与感知控制器及执行控制器之间的高实时性和稳定性的通信传输。
在本车型网络架构设计中,将ADAS 功能相关的报文分为2 类,控制类和感知类。再根据每个单元功能的功能安全ASIL 等级确定每条报文和信号的ASIL等级,进而制定每条信号的E2E 校验策略。由于舒适娱乐采用传统CAN的网络骨架,所以在中央网关中做了CAN 转CAN-FD(CAN-FD 转CAN)的功能设计,并对网关做了功能安全冗余设计,网关功能安全设计内容在此不做赘述。
3.3 设计实现
3.3.1 车型CAN-FD节点拓扑结构设计
在本车型项目中,CAN-FD 节点主要有网关控制器、ADAS 域控制器、ADAS 感知控制器、动力域控制器、底盘域控制器(图5)。其中网关主要实现PDUCAN-FD 路由功能、CAN-CANFD 路由功能;ADAS 域控制器实现ADAS 规划决策功能;ADAS 感知控制器实现环境感知和定位功能;动力域控制器实现动力分配和控制功能;底盘域控制器实现制动和转向功能。
图5 车型CAN-FD节点拓扑
3.3.2 路由策略设计
从CAN 到CAN-FD 的路由,考虑到传输效率,网关将接收到的多个CAN 报文打包到一个CAN-FD 报文中进行发送,为保证报文矩阵的可扩展性和打包解析的便利性,CAN-FD 中每8个bytes 与传统CAN 报文相对应,每连续的8 bytes 中至少预留32 bits 用于未来功能的扩展。CAN-FD报文数据部分设计为如图6。
图6 CAN-FD路由CAN-FD报文数据场结构
网关的报文路由形式分为CAN-CAN 路由,CANCANFD 路由和CANFD-CAN 路由3 种,CAN-CAN 路由遵循传统CAN 路由原则,在此不做赘述,后文主要对后2种路由形式进行详细说明。
CAN-CANFD路由:
网关可以将多条报文进行组包后转发,也可以不组包单报文转发;单报文转发仅改变源网段报文的ID和报文类型(帧结构和传输速率),但不改变数据场里信号的位置和数据场长度(DLC),这种转发形式称为报文路由。直接路由可以通过底层软件自己完成,不需要上层软件的参与,路由时间延迟低,一般可控制器在2 ms以内。
图7 报文路由过程示例
CANFD-CAN路由:
CAN-FD 到CAN 总线的消息转发需要将DLC 长达64 bytes 的CAN-FD 的消息帧拆分为多个DLC 最长为8 bytes的CAN消息帧,需要数据场中的信号拆分重组,改变报文的ID、报文类型、DLC 长度以及信号位置,这种路由方式称为信号路由。信号路由过程需要上层软件的参与,路由时延相比报文路由要高一些,想实现功能安全,网关也需要做更多的安全冗余设计工作。
3.4 CAN-FD通信性能验证
针对本项目设计,搭建了台架对CAN-FD 相关节点进行了一致性测试和硬件在环(Hardware In the Loop,HIL)验证,在网络的关键性能指标如总线负载率、吞吐量、平均时延和峰值时延、网络利用率和网络效率都得出了不错的结果数据。
图8 信号路由过程示例
4 基于CAN-FD的新一代汽车网络架构
车联网、V2X 和自动驾驶对汽车网络高带宽、低延迟的高要求,使得以传统CAN为骨架的汽车网络架构已逐步退出历史舞台。车载以太网技术的发展为高带宽提供了可能性,但车载以太网由于其点对点通信和非实时的协议特性使其无法满足车控功能对高实时性和一对多通信的需求,而CAN-FD 基于传统CAN 的核心特征,继承了总线仲裁和广播通信特性,非常适用于车控信息的交互。利用CAN-FD 与车载以太网的协议特征,主机厂已构建出以CAN-FD 和车载以太网为网络骨架的新一代智能汽车的网络架构。
车载以太网在一汽的量产车型上也已得到应用,用于实现了安全防护、车况查询、远程控制、手机泊车、移动网络、WiFi 功能、定位导航、信息推送方面功能。在该车型上,以车载以太网和CAN-FD 为主干网络,研发工程师搭建了面向服务的集信息域、互联域、自动驾驶域、底盘域的多域融合的新一代整车网络架构。
5 结束语
本文以某车型的实际应用为例讲述了CAN-FD在智能网联汽车上的应用必要性和可操作性,以及基于当前技术现状的应用解决方案,通过本文的介绍,可以得出以下结论和启示。
(1)随着自动驾驶和智能网联快速发展,越来越高的网络吞吐量的需求,使得传统的CAN总线协议已逐渐无法满足智能车辆需求。
(2)CAN-FD 由于继承了传统CAN 总线协议的核心优良特征,有着很好的稳定性,技术难度较低,具备更高的传输速率的同时通过总线仲裁的策略保证重要车控报文的低延迟,将逐渐取代传统CAN总线成为新一代主流车载总线协议。
(3)CAN-FD 与车载以太网搭配取长补短,基本可以全面覆盖未来智能驾驶汽车的车端网络通信需求,成为新一代面向智能汽车和面向服务的骨干网络。