2.2.3 OTA系统方案
1.OTA服务端功能
(1)基础数据管理
1)车辆管理:系统管理车辆信息,包括车辆识别代号(VIN)、车辆生产信息等车辆基本信息,也可以更详细地获取/维护车辆软硬件BOM(物料清单)及所有ECU软硬件版本信息,形成车辆档案。车辆生产信息可从MES对接获取,实时最新的各ECU软硬件版本信息可通过远程信息处理器(TBOX)上报。
2)车型管理:管理车型信息,可以通过大数据手段,对不同的ECU组合的汽车进行分组,同一个组就是一个车型,可以远程升级的车型及ECU有多少装配的可能性,则都需要建立对应的车型信息。
(2)软件管理 管理所有ECU软件,包括所有ECU版本的上传、供应商信息和软件版本等基础信息添加、查看等,从而可以详细查看所有软件迭代情况。
(3)升级策略管理 在进行升级任务前,可进行升级策略的配置。OTA系统提供基于地区、时间、品牌、车型等不同维度的灰度升级策略支持,支持静默升级、强制升级、可选升级等各种灵活的升级能力。
在进行多ECU升级时,考虑到各ECU模块间可能存在相互关联,所以在升级某些ECU时需要充分考虑各ECU升级的先后顺序,各ECU间是否存在依赖关系,如果升级失败的ECU和其他刷写的ECU存在依赖关系,则应将有依赖关系且升级成功的ECU回滚至上一个状态。
(4)升级包制作与发布 升级包制作服务会根据任务要求和具体内容,制作全量、差分升级包,包括可制作QNX、Android、Linux系统的差分升级包。同时为了保证升级包文件的安全性,升级包必须有加密和签名的过程。
(5)升级任务管理 升级任务管理可以对升级任务进行任务创建、任务控制和任务监控等,系统提供便捷的任务创建、查询、展示功能,通过升级任务的方式可实现前期小规模车辆升级的验证及后期大规模车辆升级。
1)任务创建:根据业务需求,在可视化的界面进行任务创建,进行任务参数配置,配置参数主要包括升级策略,VIN范围、升级时间、通知方式、升级方式、地区范围等信息。
2)任务控制:针对在特定条件下,对任务的暂停或者取消等的控制。
3)任务监控:任务执行状态的查看和监控,以便了解升级的进度和完成情况。可查看系统定义的各种升级状态。
(6)升级日志管理 升级日志包含两部分,一部分是服务端日志,另一部分是车辆端日志,所有升级过程中的日志都会被记录。
1)服务端日志:OTA服务端记录所有的登录、操作、配置等日志,并可提供日志查看和下载功能。
2)车辆端日志:车辆端(TBOX)记录的日志支持上传至OTA服务端,按照特定的目录进行存储和展示,在必要时可查询和下载车辆端日志进行问题分析。
(7)用户及权限管理 基于OTA系统安全的重要性,在用户及权限管理方面提供账号管理、角色管理、权限设置功能。
1)账号管理:可添加用户账号、名称、密码、联系方式等信息,可为账号分配角色,可为账号设置数据查看范围,可修改或删除账号信息。
2)角色管理:可按照国际组织架构及系统功能添加角色,并可实现修改及删除角色。
3)权限设置:为角色设置相应的菜单及车辆的访问权限。
(8)数据统计 数据统计主要是针对每次发布升级任务具体执行情况的分析及升级车辆数、升级成功数、升级失败数、车型、区域等维度的汇总分析。OTA系统可根据车厂要求输出分析报表。后续可以在OTA数据基础上,做更多的大数据分析,为不同的用户群提供个性化的服务等营销提供数据支撑。
2.OTA车辆端功能
(1)升级通知和确认 车辆端需要开发升级管控程序的人机交互界面,负责升级提醒、车主操作、升级过程的进度展示等,该部分由手机应用程序实现,OTA供应商配合。
(2)车辆状态获取 在每次升级之前,需要获取车辆信息,包括车辆的每个ECU状态、OTA车辆端宿主ECU的状态、每个ECU升级的车辆前置状态,并将信息上报至OTA服务端。
(3)升级包下载 OTA车辆端通过网络下载升级包,并具备根据特定的应用场景切换数据通道的能力,支持升级包断点续传。车辆端可进行任务版本检测查询和升级包下载。
(4)升级包校验 OTA服务端在下载完升级包后,会对升级包的完整性和合法性进行校验。如果是差分包,则对差分包进行还原。
(5)升级任务准备 在每次进行升级前,由车辆端进行刷写前置条件的判断,满足前置条件时才能够远程升级。
(6)升级任务执行OTA车辆端会根据服务端下发的升级包、升级指令、升级策略等信息,针对多ECU刷写生成升级任务序列,并与对应控制器交互进行升级任务的执行。刷写流程执行车企的BootLoader流程。
1)针对升级失败:升级失败的ECU回滚至之前的版本,并将状态、失败原因、升级日志等上报至OTA服务端。如果升级失败的ECU回滚也失败,则将结果和升级日志上报至OTA服务端;如果升级失败的ECU和其他刷写的ECU存在依赖关系,则将有依赖关系且升级成功的ECU回滚至上一个状态,并上报结果和升级日志至OTA服务器。
2)针对升级成功:每个ECU升级成功后,OTA车辆端将获取升级成功后的ECU版本,并确认是否与目标版本一致,如果一致则上报至OTA服务端,如果不一致则上报故障和升级日志。
3)针对升级序列被打断:如果升级序列被打断,则等待下次满足升级条件后继续升级。
(7)升级日志上传 OTA车辆端将记录升级日志,并可上传至OTA服务端。