• 175查看
  • 0回复

[OTA] 一文了解OTA升级功能

[复制链接]


该用户从未签到

发表于 11-2-2025 18:40:39 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


当今这个年代,大家对于汽车上的OTA升级功能都不再陌生,因为大多数车都支持这一功能,一年当中总会碰到一两次OTA免费升级的推送信息。

一文了解OTA升级功能w1.jpg

source:http://it.cha138.com/android/show-77091.html

既然OTA功能已经这么普遍,那么本文就来详细了解OTA是什么?OTA有什么用?等等问题。

1 什么是OTA
随着智能网联和智能驾驶的快速发展,汽车控制越来越丰富,也越来越智能,这背后增加了更多的控制器,这意味着这汽车增加了更多的软件程序。软件越多通常出现错误或者故障的概率就越大,此时如果按照传统方式来解决软件问题,即车辆更新软件都需要到4S店物理连接方式进行,那将解决成本将很大,同时也极大降低用户的满意度。假设某款车量产后出现大批量充电软件问题,以传统解决方式将召回所有已上市该款车辆,然后主机厂人工去更新软件。很明显,传统方式既影响用户体验和满意度,又会耗费大量的人力物力。   
一文了解OTA升级功能w2.jpg

Source:OTA Software Update Technology for Vehicles
那有没有更好的方式,那么OTA就被引入到汽车行业。OTA(Over-the-Air)是指通过移动通信网络对汽车控制器软件进行远程管理,其实现分三步:先将更新软件上传OTA中心,再OTA中心通过无线传输将更新软件发送到车辆端,最后车辆端进行相应的软件更新。

一文了解OTA升级功能w3.jpg

Source:OTA Software Update Technology for Vehicles
那这样的话,上述的充电软件问题就不需要召回,只需要将更新软件无线传输到车辆端,提醒用户及时升级,因此不难发现OTA有很多优势,包括:

    能有效提升用户体验和满意度

    能大范围大批量升级软件,快速修复车辆故障

    能有效降低售后的维护成本
另外,在这个软件定义汽车的时代,软件服务也是主机厂重要的营收方式,比如智能驾驶功能服务的售卖,这种方式也OTA有很大的需求。OTA可分为两类:
    一类是固件在线升级FOTA(Firmware-Over-the-Air),是指不改变车辆原有配件的前提下,通过写入新的固件程序,使拥有联网功能的设备进行升级,包括车辆的发动机,电机,变速箱,底盘等控制系统,比如特斯拉曾通过FOTA新增过自动驾驶功能、增加过电池容量和改善过刹车距离等。另一类是软件在线升级SOTA(Software-Over-the-Air),是在操作系统的基础上对应用程序进行升级,是指那些离用户更近的应用程序,UI界面和车载地图、人机交互界面等功能,像娱乐系统更新操作界面或主题。
本文将以FOTA技术应用来进一步了解:2 怎么实现OTA

要搞清怎么实现OTA,需要先了解OTA系统的组成,其基本由OTA云端,OTA终端和OTA软件升级三部分组成,如下示意:
一文了解OTA升级功能w4.jpg
Source: 智能网联汽车的OTA升级方案其中,OTA云端是OEM专属的云端服务器平台,包括OEM支持OTA升级的ECU全部完整升级包,比如车辆管理平台,OTA升级服务和任务管理等内容,如下所示:
一文了解OTA升级功能w5.jpg
source: 二万五千字解读汽车软件OTAOTA终端采用TBox,主要负责协调和调度中断OTA的升级,接收OTA升级通知,主动升级检查,升级包下载,解密,签名验证和分发等相关工作。OTA软件升级最终作用于车辆的各个控制器,具体如何进行软件升级依赖于车辆的网络架构和ECU具体的软件升级方案,如下所示:
一文了解OTA升级功能w6.jpg
Source: 智能网联汽车的OTA升级方案车上很多ECU的OTA属于FOTA类型,比如底盘域和动力域,FOTA主要通过车载移动互联网进行数据传输,通过TBOX对车内ECU进行软件刷写,如下示意:
一文了解OTA升级功能w7.jpg

以上就是以FOTA为例来说明OTA实现的基本内容,除此之外,OTA 需要确保升级包在云端的安全存储、云端与车端的安全加密通讯、车端的升级包解密和 OTA 管理,以及车内ECU的安全通讯和安全 Bootloader 等。

一文了解OTA升级功能w8.jpg

Source: Software_Update_and Upgrade Over thr Air
3 怎么实现ECU的OTA升级

上节主要介绍OTA升级的整个过程,那么对于车内ECU怎么实现OTA呢,比如VCU, BMS, OBC,和MCU等。从上文可知,在车辆端,OTA实现是从TBox 经网关,通过总线通讯(CAN或以太网)将软件刷写到车内ECU(目标ECU)。那么具体是怎实现呢?为了更好地理解ECU的OTA实现方案,有必要 先了解分区刷写和地址映射的概念:3.1 什么是分区刷写与地址映射

汽车ECU软件以二进制文件形式(HEX或S19)刷写到ECU的非易失性存储单元(内存)。   
一文了解OTA升级功能w9.jpg
Source: 英飞凌TC2xx用户手册以英飞凌TC2xx系列为例,存储程序叫做PFlash,存储数据叫做DFlash。然后将它们分配来存储不同的软件内容,比如ASW, BSW和Boot软件等,比如ASW,而其他不变,即Bootloader和BSW不变。所谓分区刷写就是指可以单独刷写ASW或BSW或boot软件。正因为我们规定哪块空间放什么软件,这样就建立起了软件与地址的映射,比如ASW代码编译后会与0x80400000-0x805FFFFF地址范围映射,这样就能保证ASW二进制代码能刷写到预期的ECU PFlash地址,同理Bootloader和BSW。当软件运行时,就可以通过有序地访问来自PFlash地址的ASW内容,执行ASW预期的操作和运算。  
一文了解OTA升级功能w10.jpg
    3.2 OTA有哪些实现方案  

对分区刷写和地址映射有了概念之后,接下来就可以了解ECU的OTA实现方案。ECU的OTA实现方案主要有两类:
    无备份方案。即先擦除旧软件,再刷写新软件,但这种方法有个隐患,就是新软件有问题时,由于旧软件已经被擦除,没有备份,恢复麻烦。

一文了解OTA升级功能w11.jpg
Source: TA Updates - Requirements for a Full System Solution    2. 有备份方案。即A/B交换,内存中分两块空间,一块存放当前运行的软件,另一块存放旧软件。当OTA升级新软件时,新软件将代替旧软件,这时,一块放的是当前运行的软件,另一块放的是新软件。再激活运行新软件,此时原先的当前版本就变为旧版本软件,作为备份,以防运行的新版本软件有问题,可以及时回滚恢复。
一文了解OTA升级功能w12.jpg
Source:同上关于A/B交换方案,具体由三种实现方式:
    基于ECU硬件支持的A/B交换方案。这个方案ECU内存足够,支持地址重映射,当新软件刷写完成,通过更新映射地址来激活新软件,即新软件运行的入出地址不变。

一文了解OTA升级功能w13.jpg
Source:Software_Update_and Upgrade Over thr Air

    ECU不支持地址重映射,激活新软件的进出地址需要变化。   

一文了解OTA升级功能w14.jpg
Source:同上

    基于外扩内存的A/B交换方案,ECU外加内存,备份当前软件和旧软件,新软件会先刷写原先的旧软件空间,然后擦除ECU内存的当前软件,刷写新软件,完成激活。

一文了解OTA升级功能w15.jpg
Source:同上对于上述的这几种方案,当遇到新软件有问题时,都需要回滚旧软件。所谓回滚是指刷写后的软件有错误,需将软件恢复到之前正确状态的版本。另外,上述OTA升级刷写的新软件,就是通常理解的新软件替换旧软件,车内ECU的大部分软件都属于这类。但车载娱乐信息系统等的软件更新通常会采用另一种差分软件形式,这是由于受限车载网络的带宽资源有限,通常不直接传输完整的升级软件而是通过差分算法传输增量升级的软件,以此利于无线传输,同时节省流量,能够提升传输的安全性和可靠性。  
一文了解OTA升级功能w16.jpg

Source: TA Updates - Requirements for a Full System Solution

4 小结

到此就介绍OTA的基本概念和实现的技术方案,回顾一下在车端的FOTA升级过程,主要分为这样的几个阶段:

    Installation,即将新软件下载到目标ECU,这个过程中车可以一边跑一边下载软件。

    Verification,即通过预定算法验证新软件的正确性和完整有效性。

    Activation,即车辆处于安全状态下,备份旧软件,激活新软件。

一文了解OTA升级功能w17.jpg
Source:AUTOSAR_EXP_FirmwareOverTheAir   
不管最终采用哪种OTA实现方案,其思路基本都是这样,但方案的最终选择需要充分考虑整车网络架构和ECU软硬件能力。

创作不易,欢迎点赞收藏再看关注!

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 27-2-2025 01:10 , Processed in 0.522527 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.