CAN/CANFD
CCP/UDS
Bootloader/OTA
ECU/VCU/FCU
Simulink/ECUCoder
Ethernet
Hardware
Download
上一篇
下一篇
OTA
一.OTA概述
二.OTA系统需求
三.OTA系统方案
-3.1.OTA系统组成
-3.2.OTA服务端功能
-3.3.OTA车辆端功能
四.OTA系统实现
回到顶部
OTA
一.OTA概述
二.OTA系统需求
三.OTA系统方案
-3.1.OTA系统组成
-3.2.OTA服务端功能
-3.3.OTA车辆端功能
四.OTA系统实现
回到顶部
# OTA ## 一.OTA概述
OTA(Over The Air),空中下载技术,是一种不需要有线连接就能实现软件下载的技术。在电控技术领域,OTA通常用于远程刷写控制器。OTA利用升级软件的方式持续提升产品的功能与性能。OTA是软件定义产品的重要基础技术。 OTA技术来源于手机,2003年诺基亚推出了支持OTA的手机,随着通信技术的发展,3G-4G-5G与Wifi的普及,手机OTA技术得到了快速发展。OTA便捷的软件更新方式受到广泛欢迎,现在几乎每一台智能手机都支持OTA技术。 OTA技术诞生之后很快应用到手机之外的各种电子设备上,2012年的特斯拉Model S是首款支持OTA技术的汽车。之后,越来越多的汽车开始支持OTA技术。 ![](images/2023-08-06-11-09-14-91df4f2719bcf524c78315c50bec877.jpg) 随着汽车往智能化和互联化发展,智能汽车拥有更多的传感器与更复杂的软件系统,需要更加频繁地更新软件以解决问题和提升性能,因此OTA技术在汽车行业中的应用也日益广泛。OTA可以帮助汽车制造商快速推送软件更新,从而为车主提供更好的用车体验。 汽车OTA技术的发展和互联网的发展密切相关。随着互联网技术的不断发展,汽车制造商开始将互联网技术应用到汽车中,从而实现更多的智能化和互联化功能。OTA技术也成为了实现这些功能的一种重要技术手段。 ## 二.OTA系统需求
1. 完整性需求,OTA系统需要提供完整的功能,包括OTA服务端、OTA车辆端、通信协议等,完全覆盖车企对OTA的应用需求。 2. 独立性需求,OTA系统与车联网系统间相对独立,有所需的API(应用程序接口),同车企MES(制造执行系统)、TSP(实时监测系统)、PKI(公钥基础设施)等系统进行数据对接。 3. 安全性需求,OTA系统需保证系统的安全性,以及企业经营数据的保密性。提供完善的信息安全机制,以实现对信息的全面保护,保证系统的正常运行。 4. 扩展性需求,随着车辆的逐渐增多,OTA系统必须有能力承载不断增加的负载,要求可通过扩展服务器来增加整个OTA系统的负载能力。同时要求具有车型扩展性,即当车辆端变化时,OTA系统可以实现在多车型平台上的复用。 5. 鲁棒性需求,OTA系统提供有效的、系统的可监控机制,使得接口的运行情况可监控,便于及时发现错误及排除故障,具有相应的错误处理机制。 6. 增量性需求,OTA系统需具备增量升级的能力。升级包较小时,可直接使用全量包;升级包较大时,可采用差分技术生成增量包。 7. 兼容性需求,OTA系统应遵循工业标准和行业规范,同时系统可以与主流的硬件和第三方软件平台进行集成,具备良好的开放性和兼容性。 ## 三.OTA系统方案
### 3.1.OTA系统组成
完整的OTA系统组成包括OTA服务端(云端),OTA车辆端(车端),移动通信管端与APP(包括车辆上安装的APP与手机上安装的APP),如下图所示。 ![](images/2023-08-06-11-24-15-88df59fbbf31bed519bdffea3aac0c1.png) ### 3.2.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数据基础上,做更多的大数据分析,为不同的用户群提供个性化的服务等营销提供数据支撑。 ### 3.3.OTA车辆端功能
1.**升级通知和确认** 车辆端需要开发升级管控程序的人机交互界面,负责升级提醒、车主操作、升级过程的进度展示等,该部分由通常手机APP实现,OTA供应商配合。 2.**车辆状态获取** 在每次升级之前,需要获取车辆信息,包括车辆的每个ECU状态、OTA车辆端宿主ECU的状态、每个ECU升级的车辆前置状态,并将信息上报至OTA服务端。 3.**升级包下载** OTA车辆端通过网络下载升级包,并具备根据特定的应用场景切换数据通道的能力,支持升级包断点续传。车辆端可进行任务版本检测查询和升级包下载。 4.**升级包校验** OTA车辆端在下载完成升级包后,会对升级包的完整性和合法性进行校验。如果是增量包,则对增量包进行还原。 5.**升级任务准备** 在每次进行升级前,由车辆端进行刷写前置条件的判断,满足前置条件时才能够远程升级。 6.**升级任务执行** OTA车辆端会根据服务端下发的升级包、升级指令、升级策略等信息,针对多ECU刷写生成升级任务序列,并与对应控制器交互进行升级任务的执行。刷写流程执行各个ECU的Bootloader流程。 (1)如果升级成功,每个ECU升级成功后,OTA车辆端将获取升级成功后的ECU版本,并确认是否与目标版本一致,如果一致则上报至OTA服务端,如果不一致则上上报故障和升级日志。 (2)如果升级失败,升级失败的ECU回滚至之前的版本,并将状态、失败原因、升级日志等上报至OTA服务端。如果升级失败的ECU回滚也失败,则将结果和升级日志等上报至OTA服务端;如果升级失败的ECU和其它刷写的ECU存在依赖关系,则将有依赖关系且升级成功的ECU回滚至上一个状态,并上传结果和升级日志至OTA服务端。 (3)如果升级序列被打断,则等待下次满足升级条件后继续升级。 7.**升级日志上传** OTA车辆端将记录升级日志,并上传至OTA服务端。 ## 四.OTA系统实现
OTA系统实现主要涉及四个部分: 1. 车辆端待刷写控制器的Bootloader功能,可参考本站《[Bootloader介绍](./bootloader.html)》与《[刷写过程的通信协议](./communicationprotocol.html)》。 2. OTA车辆端功能,具体请见本文章节3.3《OTA车辆端功能》,OTA车辆端功能主要基于车载TBox或者具备联网功能的车机/智能座舱域控制器实现。 3. OTA服务端功能,具体请见本文章节3.2《OTA服务端功能》,OTA服务端功能主要基于联网的服务器(比如云服务器)实现。 4. 用户APP,包括车辆上安装的APP与手机上安装的APP,车辆上安装的APP通常基于具备联网功能的车机/智能座舱域控制器实现。为了提升用户体验,很多车辆可以通过APP绑定用户手机,此时手机APP应能提供类似车机APP的OTA管理功能。 综上,OTA系统实现涉及面较广,通常需要由主机厂牵头,各个供应商(包括各个控制器厂家与车联网服务提供商)配合实施。近些年由于汽车行业对OTA的愈加重视,行业内出现了一些专门的OTA解决方案提供商,可以提供一站式OTA解决方案,降低了OTA的技术门槛,从而进一步提升了OTA的普及程度。