步骤
| 内容
|
1. 升级包制作
|
ECU 供应商或车企内部开发团队完成软件开发并编译产生新版本的软件, 通过约定的方式制作成升级包。
|
2.上传软件
|
供应商或 OEM 内部开发部门生产的软件验证合格后,经由产品生命周期管理系统(PLM)或类似的系统流转到OTA云平台,供更新使用。
|
3.OTA 任务发 布
|
发布过程是选定特定软件,通知至指定目标车辆,通常由OTA 运营人员完成。发布之后的软件通常经过一系列安全处理后传至专门的文件服务端供车辆下载。
|
4.下载升级包
|
OTA发布完成后,通常OTA云平台需要通知车端OTA主控执行软件更新动作,OTA主控根据与云平台命令交互获取信息,从指定文件服务端地址下载所需要的升级包;不同的OTA系统可能由于升级对象升级包大小原因,OTA主控不会直接下载升级包而是通过相关命令控制目标ECU 完成其所需升级包的下载。
|
5.安装
|
安装过程是由 OTA 主控根据约定的协议,将目标升级软件刷写到对应 ECU 指定存储介质。ECU 硬件不同、通信方式不同,通常安装的过程会有所差异。
|
6.校验
|
软件安装前后需要进行完整性校验及真实性校验。完整性校验保证安装过程传输的数据没有被篡改,真实性校验保证所安装软件没有被仿冒伪造。
|
7.激活
|
根据ECU结构不同,安装步骤可能还会包含激活操作,即双备份分区ECU更新完成后进行分区切换。此外,OTA主控除了处理控制安装过程外,还需要控制车辆的状态,保证升级过程车辆的安全。
|
8.回滚
|
针对升级异常的情况,将软件版本恢复到升级前版本的过程,主要目的在于保证升级失败ECU功能仍可用。
|
9.状态上报
|
OTA主控需要将升级状态同步到OTA云平台,保证 OTA云平台可以根据车辆最新状态编排升级任务。同时,可根据业务实际情况,同步更新过程中各阶段状态至OTA云平台,以便更精准地控制升级。
|
常见服务
| 业务内容
|
车辆管理服务
|
维护所有可升级车辆的信息,包括品牌、车型、配置以及每个单车所包含的可升级设备信息等。
|
软件包服务
|
用于控制器升级包的在线管理、差分包的制作及管理,相当于OTA 的仓库管理,需要维护不同车型所有 ECU 不同版本的所有软件实体,包含软件包的签名加密以及各版本与其关联关系等。
|
版本服务
|
包括基线版本管理、软硬件版本及版本号管理,每个软硬件版本的依赖条件管理,并维护每一个软件版本所适用的品牌、车型、配置等。
|
策略管理服务
|
需适配各种复杂软件更新,提供灵活的设备群组管理、下发条件配置,支持升级任务策略配置,满足各类升级需求。
|
任务管理服务
|
对升级推送任务的管理,每次选择特定版本的软件包向指定车辆推送即可视为一个任务。任务管理包含:1)任务条件设定,如任务所适用的车型、升级模式、升级策略、任务有效时间; 2)发布车辆选择,指定将该任务适用于哪些车辆,可加入黑白名单,批量导入汽车唯一识别码(VIN 码)、标签匹配等业务逻辑;3)任务的基本操作,如创建、暂停、取消等。
|
审批服务
|
功能在于把传统的线下软件发布的审批流程通过 OTA 平台实现在线化,达到自动流传,提高效率的作用。
|
数据对接服务
|
数据对接的系统包括 PLM、MES、EOL、DMS、ADS,数据对接涉及到软件版本信息获取、车辆信息初始化、用户信息、售后信息同步等。
|
信息安全服务
|
用于保证OTA 的安全,主要通过与PKI 系统对接完成升级包的签名加密,车端设备的身份认证,通信链路的认证和加密。
|
安全访问控制 服务
|
通过云平台端的安全访问控制服务在线化管理会话控制的安全算法,防止未授权的系统或者设备对车辆 ECU 进行软件更新,更利于对每个ECU 实现独立的安全访问方案。
|
测试服务
|
用于支持OTA 的测试,主要包括OTA 升级策略、升级配置信息和任务等,以保证升级效果符合期望目标。
|
统计分析服务
|
用于动态统计OTA 升级状态,可以通过可视化展示升级状态,快速了解升级任务进度。同时,可以根据统计分析结果动态调整 OTA 任务推送的车辆数,保证系统资源和售后资源得到最有利的分配。
|
日志查询服务
|
包含云端日志、车云交互日志以及车端远程日志等查询功能。
|
基础信息服务
|
主要针对OTA 云平台本身的信息管理,如账号权限管理等。
|
功能模块
| 功能描述
|
升级管理(OTA Manager)
|
作为 OTA 的核心,管理车辆所有 ECU 的更新过程,控制着将固件更新分发到 ECU,并告知 ECU 何时执行更新,这在多个 ECUs 需要同时更新的情况下尤为重要。
OTA 任务下发到车辆后,OTA Manager 需要判断车辆条件,对于不符合条件的车辆,需要中止升级任务并上报给云平台,安全完成软件升级后, 也要上报云端。若想实现单车定制化功能,OTA Manager 还需能够灵活定义升级的具体范围,升级时机,升级内容,提示事项,失败后给用户的失败处理提示等。
|
OTA 客户端
|
负责 OTA 主控与 OTA 云平台交互,包括下发 OTA 云平台的 OTA 控制命令,反馈控制命令的执行结果,发起更新检查请求,同步升级过程状态等。
|
下载管理模块
|
负责从文件服务端下载升级所需升级包和文件,支持断点续传,保证升级包可以分多次下载,同时也避免部分重复下载造成流量浪费。
|
安装模块
|
负责将升级包安装到对应的 ECU。不同的 ECU 类型会需要不同的安装模块,比如 FBL 安装模块用于仅支持 Bootloader 升级 ECU,AB 安装模块用于支持 AB swap 双备份分区升级方式的 ECU, 其他安装模块主要是指一些采用私有协议进行升级的智能 ECU
|
车辆状态管理
|
负责确保车辆在安全状态下进行升级,其功能主要包括两个:
① 车辆状态判断,通过预设条件判断判断车辆状态是否满足 OTA 的要求,比如判断车辆的电池电量是否足以支持完成升级、车辆是否处于非行驶状态等,这些条件通常是通过监控车辆相关的信号实现;
② 车辆状态控制, 通过特定的控制命令或者信号值,限制车辆非升级必须的功能,保证升级过程车辆状态不可被改变,从而维持在安全状态。
|
人机交互接口
|
人机交互接口是 OTA 主控通过相关显示设备与用户进行交互的操作接口,控制 OTA 相关信息在车内的娱乐主机显示屏或者手机 APP 等设备上的显示。
|