摘要:智能网联汽车时代,软件已逐步成为汽车的核心竞争力。汽车OTA能够实现汽车软件的远程升级,可以提升用户体验,降低车厂由于软件缺陷带来的召回成本,已成为智能网联汽车的关键技术。汽车内控制器数目、种类繁多,软硬件差异较大,因此汽车OTA技术对汽车设计将带来一定的挑战。文章介绍汽车OTA系统的组成,OTA管理平台的结构和功能,重点分析OTA技术对汽车端的要求和汽车端的实施方案。
作者简介:李立安,博士,就职于爱驰汽车有限公司,研究方向为智能网联汽车、汽车智能座舱、电子电气等。
随着人工智能、电子控制以及互联网技术的不断完善,汽车正逐步地从机械产品演变成为集各种先进电子技术于一身的智能网联汽车。智能网联汽车的各个系统,从灯光控制到车辆控制,从主动安全到高级自动驾驶系统,无一不是借助各种精密可靠的电子电气系统得以实现。软件定义汽车时代,软件作为智能网联汽车的重要组成部分,其规模和复杂程度不断增加,软件也成为迭代最快,最容易个性化的部分。汽车的远程升级能力可以保证汽车的软件系统及时更新,导入新的功能,提升用户体验。同时,也可以修复软件问题,有效降低主机厂的开发风险和召回成本。 因此,汽车的远程升级能力是智能网联汽车必备的功能。
OTA(Over-the-Air)是指通过无线网络下载远程服务器上的升级包,对系统或应用进行升级的技术。汽车的OTA解决方案实现了汽车内控制器的远程升级能力,OTA在手机、平板电脑等消费类电子产品中已经广泛应用,技术相对成熟,但对于汽车是一个比较新的技术解决方案。由于车内控制器数目、种类繁多,软硬件差异很大,并且车内网络构成复杂,网络传输速率有限等,都给汽车的OTA设计带来了很大的挑战。因此需要在汽车设计过程中,进行有针对性的详细设计,以满足汽车OTA的需求。本文将设计智能网联汽车OTA的实现方案,并重点分析汽车端OTA升级能力的需求和实现方式。
汽车OTA系统的构成如图1所示,汽车OTA系统是一个云端-车端协同工作的产品,主要由云端的OTA管理平台以及汽车端的OTA执行层组成。二者通过移动通信网络连接,共同完成汽车的OTA升级任务。
当汽车进行OTA升级时,后台操作人员根据预先制定的汽车控制器软件的升级需求,选择合适的升级范围和升级车辆,并远程下发升级任务。升级任务通过4G或WIFI等无线网络传输至符合升级条件的汽车内,汽车内的主控控制器接受到升级指令、下载升级文件,并执行升级命令,完成汽车内控制器的升级。
OTA管理平台是后台操作人员操作和维护的主要工具。在OTA管理平台内需要完成升级包的制作、升级任务的下发、升级结果的收集等整个升级流程的控制,同时还需要对车辆的信息、升级的成功率等进行统计汇总。
OTA管理平台采用面向服务的架构设计方式,采用三层体系架构设计,OTA管理平台的构成如图2所示。分为前端表现层、业务逻辑层和数据访问层。前端表现层向用户展示了OTA的操作页面,如用户管理、车辆管理、策略管理、任务管理等。业务逻辑层是OTA的核心业务层,所有的OTA业务都在业务逻辑层实现,如:创建OTA任务、统计OTA报表、向汽车端推送OTA升级指令等。数据访问层实现数据的统一处理,包含用户日志的存储、检索,用户业务数据的存取、处理操作等。OTA管理平台的主要功能如下:
(1) 升级包的制作:汽车内控制器的升级,可以采用整包升级的方式,也可以采用差分升级的方式。差分升级包可以减少用户流量消耗,缩短下载时间,提升用户体验。OTA管理平台需要根据升级包的大小确定是否制作差分升级包,升级包的制作还包括对升级文件的签名和加密过程,OTA管理平台将经过签名的升级包下发。
(2)与其它平台进行对接:OTA管理平台需要与车厂现有的其它平台进行对接,实现基础数据的同步获取以及升级任务的交互。如与TSP (Telematics Service Provider)平台进行对接,将升级任务由TSP平台下发至车辆和用户手机端。
(3) 升级任务的管理与分发:OTA管理平台需要根据预先制定好的升级方案,实现升级任务的配置,选择需要升级的具体车辆、车型,并制定升级策略,生成升级任务并下发。
(4)权限管理及数据统计:OTA管理平台支持职责权限的账号管理体系,实现账号管理、角色管理和权限设置。OTA管理平台可以进行车辆总数、激活车辆总数、发布的任务总数、升级成功总数等的汇总统计,此外还可以针对控制器的升级情况进行分类统计,包括控制器升级成功总数以及升级成功率排行等。
汽车的OTA升级过程由汽车内的控制器执行,因此在汽车端设计过程中,需要完成以下工作:①构建汽车端的升级能力,包括接收升级任务、车辆状态以及升级信息回传、升级流程的发起等。②制定合理的汽车端通信协议,实现车内数据的传输,包括升级包的分发、升级指令的下发、车辆信息的回传等。③开发OTA升级界面,提供HMI(人机交互)显示,支持用户下载和安装流程的启动。④根据汽车OTA升级过程中的需求,设计符合汽车OTA升级的整车模式。
汽车端OTA的架构如图3所示。汽车端需要选择一个控制器作为OTA升级的主控控制器,并由该控制器集成OTA升级的主控程序UC(Update Control),作为汽车端升级控制的主体与OTA管理平台进行数据通信,并控制汽车内的控制器升级。在车型设计过程中,通常选择TBOX作为升级的主控控制器。其主要功能是:本地ECU配置信息的采集和上报,与OTA管理平台交互获得升级策略文件,目标升级包的下载,升级包安全性和完整性校验,按照升级策略文件逐个进行升级包分发和目标ECU升级流程的发起,升级过程的记录及上报,升级过程中与HMI的交互。
对于带有安卓或Linux等智能操作系统的控制器(以下简称智能控制器),由于升级包较大,需要支持差分升级。 对于需要进行差分升级的智能控制器(如中控系统IVI、组合仪表IP等),还需要在控制器内集成差分还原程序UA(Update Agent),其主要作用是在控制器内进行差分包的还原。网关下的ECU升级包较小,采用整包刷写的方式进行固件升级,ECU需要支持基于UDS(统一诊断服务)协议的刷写。在OTA升级过程中,OTA主控制器承担着相当于诊断仪的角色,基于CAN总线通讯,TBOX通过UDS刷写的方式完成ECU的升级,网关起到路由的功能。如果通过OTA的UDS更新失败后,ECU需保证能够通过诊断仪或者其它刷写设备重新进行刷写。
汽车在进行OTA升级过程中,由于外界条件的变化(电池电压降低、控制器之间通信失败、人为打断等),都会导致控制器的升级失败,可能会导致控制器死机,并无法通过再次OTA升级的方式解决。因此,对于重要的控制器,需要进行A/B分区设置。A/B分区设置是指控制器内有A、B两个系统,两个系统相互备份冗余。带有A/B分区的控制器的升级流程如图4所示。控制器正常运行过程中,A系统正常运行,B系统处于待机状态,当系统检测收到升级任务后,B系统开始升级,而A系统仍然正常运行,当B系统升级完成后,下次开机时,B系统启动并正常运行,A系统进入待机状态。如果B系统升级过程中失败,不影响A系统的正常运行,系统将正常工作。
控制器A/B分区的方式,可以提升系统的稳定性,升级失败不会导致系统崩溃。同时控制器的升级场景更为灵活,B系统升级过程中,A系统可以正常工作,不影响车辆的正常功能。对于控制器的A/B分区,需要依托硬件设备支持,可进行双系统备份升级。控制器在设计过程中,要充分考虑系统备份的设置。
在进行OTA升级过程中,升级主控制器与被升级控制器之间需要进行升级指令的下发、升级包的传输,同时需要对控制器的版本、车辆的状态进行识别。因此需要控制器之间有稳定的传输通道。CAN(Co ntroller Area Network)总线是ISO国际标准化的串行通信协议,是目前常见的车内总线,用于车内各控制器之间的信号传输。因此,对于汽车端的升级指令、升级结果等可以通过CAN总线进行传输,车辆的状态信息由TBOX经CAN总线采集后,通过升级主控程序上传至OTA管理平台。
在车辆进行OTA升级的过程中,升级流程的控制由TBOX内集成的UC完成,当有控制器需要升级时,由TBOX进行升级包的下载及分发,并将升级包传输至需要升级的控制器内,因此需要控制器之间有相应的升级包传输通道。CAN总线的传输速率是500kb/s,对于网关下的ECU,一般全量升级包为几kb,可以使用CAN总线进行升级包的传输。智能控制器的升级包通常在10M到1500M之间,使用CAN 总线传输会导致传输时间过长,因此在汽车电子电气架构设计过程中,必须考虑智能控制器之间合理的数据传输方式。如图3所示的汽车端OTA架构设计中,TBOX和IVI之间通过USB通道进行传输,IVI通过LVDS线束将升级包传给仪表。对于网关及网关下的ECU,通过CAN总线进行升级包的传输。
汽车的OTA升级界面是用户执行OTA升级流程的操作入口,通常将OTA的升级界面设计在IVI端,方便用户进行升级操作。OTA升级界面的内容包含升级任务通知、软件版本检测、软件包下载、确认安装等主要流程。汽车端的OTA升级的交互流程如图5所示,当OTA管理平台下发升级任务后,用户会在IVI内收到TSP推送的升级通知,若用户确认下载升级包,将进行升级包的下载,下载过程中可正常使用车辆。升级包下载完成后,IVI端将提示用户是否开始安装,并显示预计升级时间,用户可选择立即安装或延迟安装。图5所示的流程中确认下载和确认安装两个步骤需要用户手工操作,其余为系统执行动作。确认下载和确认安装需要用户反复操作两次,为简化流程,也可以进行升级包的静默下载,即有新的更新包时系统自动下载,省去用户确认下载的步骤,下载完成后再提示用户安装,用户仅需要操作一次就可以完成安装。
OTA升级界面是用户在OTA升级过程中的主要交互方式,需要按照OTA的升级流程进行设计,同时升级界面要做到简洁明了、通俗易懂,并能够将升级过程中的注意事项、升级软件的更新内容、升级预估时间等清晰地呈现给用户,便于用户正确使用OTA的功能。
当用户在IVI内选择了确认安装后,OTA主控控制器内的UC将检测车辆升级的前置条件,OTA升级的前置条件如表1所示,对车辆的电源状态、档位、车速以及电池电量等有确定的要求和依赖。如前置条件符合要求,车辆将开始进入OTA升级过程,按照前置条件的要求,OTA升级过程中,车辆的电源状态将维持在KL15,如果期间用户下电,或锁车离开,车辆将下KL15进入OFF状态,升级过程中断,会导致控制器升级失败,甚至无法再还原。因此,在OTA升级过程中,用户不能人为下电或锁车离开。同时对于高压相关的控制器,在升级过程中不能工作,车辆不能上高压,而在车辆实际使用过程中,不存在这样的工况。汽车的OTA升级工况,与车辆正常使用工况存在一定的差异。
因此需要定义汽车的OTA升级模式,OTA升级模式主要是指车辆电源的状态维持在KL15,同时刷写高压相关的控制器时禁止车辆上高压,期间允许用户锁车,车辆的电源状态保持KL15不变。OTA模式主要由车身控制器(BCM)控制,在此种模式下,车辆的升级流程如图6所示,当检测到前置条件通过时,车辆进入OTA升级模式,此时保持在KL15电源状态,用户可以锁车离开。如果需要升级BCM,在升级其它控制器完成后对BCM进行升级,当BCM升级成功后,车辆下KL15电,升级结束。
OTA升级是智能网联汽车必备的功能,本文设计智能网联汽车的OTA系统,介绍了汽车OTA系统的组成,对OTA管理平台的进行设计介绍和功能分析。重点针对汽车端实现OTA功能的关键技术进行了详细的分析,包括汽车端OTA升级能力的构建、通信协议的定义、OTA升级界面的交互流程以及汽车的OTA升级模式。本文将为汽车OTA系统设计提供参考,汽车OTA技术的应用及普及,将大力推动智能网联汽车的发展和用户体验的升级。