欢迎来到
小样儿目录
!
登录
如何实现OTA升级
1 OTA技术概念随着高级辅助驾驶的发展和自动驾驶的引入,汽车变得越来越智能,这些智能汽车被软件控制,装有巨量的软件程序,当出现一个软件程序问题或者更新时,如果按照传统的解决方式,那都将是一项很繁重的任务。以某车上市后出现的刹车逻辑问题为例,按照传统的解决方案,那么所有该车辆先将被召回,然后派人更新软件。这样,一方面影响用户体验和满意度,另一方面又要耗费大量的人力物力来修复问题。为了解决传统方式的痛点,使得软件更新更迅速,一种远程升级软件的技术OTA被引入到汽车行业。汽车远程升级技术OTA(Over-the-AIr)是指通过移动通信网络(2G/3G/4G或wifi)对汽车的零部件终端上固件、数据及应用进行远程管理的技术。简单来说OTA技术实现分三步:首先将更新软件上传到OTA中心,然后OTA中心无线传输更新软件到车辆端,最后车辆端自动更新软件。也就是上述刹车逻辑问题的解决方式就变成了更新软件无线传输到车辆并自动完成更新,完美地解决传统方式的痛点,显然我们可以看出OTA技术的优势:能有效提升用户体验与满意度能大范围大批量升级系统并提供升级成功率能快速修复车辆故障能有效降低售后维护成本而且随着汽车行业已进入软件定义汽车的时代,对售后汽车售卖各种各样功能的新商业模式兴起,也要求汽车必须具备OTA功能。这里准确地说,OTA分为两类,一类是固件在线升级FOTA(Firmware-Over-the-Air),是指不改变车辆原有配件的前提下,通过写入新的固件程序,使拥有联网功能的设备进行升级,包括车辆的发动机,电机,变速箱,底盘等控制系统,比如特斯拉曾通过FOTA新增过自动驾驶功能、增加过电池容量和改善过刹车距离等。另一类是软件在线升级SOTA(Software-Over-the-Air),是在操作系统的基础上对应用程序进行升级,是指那些离用户更近的应用程序,UI界面和车载地图、人机交互界面等功能,像娱乐系统更新操作界面或主题,下面将以FOTA技术应用来进一步了解。2 OTA技术架构当前智能网联汽车的OTA架构由OTA云端,OTA终端和OTA升级三部分组成,如下所示。这里,OTA云端为OEM专属的云端服务器平台,OTA终端采用TBox,网络架构采用功能域划分方式。考虑到本文对OTA技术介绍的完整性,但重点不在说明OTA技术架构,而是旨在说明车内嵌入式设备ECU等的升级方案,故引用《智能网联汽车的OTA升级方案》供相关朋友再做进一步研究。针对ECU升级的过程描述:FOTA 系统主要通过车载移动互联网进行数据上报及下行传输,通过车内网对车内设备单元进行数据刷写。典型的 FOTA 系统网络安全主要由 OTA 远程管理平台端、 TBox 端(4G LTE)、中央网关、域控制器端及数个 ECU 等节点组成。FOTA 系统网络安全性需要确保升级包在远程服务器端的安全存储、后台服务器到车端的安全加密通讯、中央网关的升级包解密、防火墙和 OTA 管理,以及车内网络基于对称加密的安全通讯和安全 Bootloader 等要素。3 ECU的OTA技术实现方案本部分主要介绍车内嵌入式设备ECU的OTA技术实现方案,也就是整车控制器,发动机控制器,变速箱控制器和电池管理控制器等实现OTA升级,可以采用怎样的实现方案。从上文可知,在车辆端,OTA实现是从TBox 端(4G LTE)经网关,通过总线通讯(CAN或以太网)将软件刷写到车内嵌入式设备ECU(目标ECU)。那么具体刷写到目标ECU还是其他存储设备?以及又将如何启动新软件运行?下面将详细介绍,不过为了更好地理解ECU的OTA实现方案,先解释下分区刷写和地址映射的概念:3.1 分区刷写与地址映射的概念关于软件刷写,经常会看到需求“要求支持Bootloader,BSW,ASW和标定等独立刷写”,这是怎么个概念呢?下面进行详细解释:对于汽车ECU软件研发来说,所谓软件要么是模型,要么是C/C++代码,但最终都会变成一个二进制文件,比如HEX, S19, Bin等格式。这个文件将会被刷写到ECU的非易失性存储单元(内存)。像英飞凌TC2xx系列采用的内存是Flash,存储程序叫做PFlash,存储数据叫做DFlash。为了合理有效使用这些内存,同时也方便管理,通常我们会分配这些内存的用途,以下图的PFlash分配为例,分配2MB存启动软件Bootloader,2MB存底层软件BSW和2MB存应用层软件ASW。针对前面需求,不难理解客户的意思,就是需要能只更新其中一个,比如ASW,而其他不变,即Bootloader和BSW不变。当然,OTA本质上就是实现软件远程刷写,当然会有这样的需求,所以在此先介绍第1个概念--分块刷写、分区刷写。第2个概念--地址映射,上面进行了内存分配,那么我们写代码时候,怎么保证代码就能放入规定的内存空间,比如说ASW的软件代码怎么能放在规定的内存空间,更准确第地说,ASW代码编译完成后的地址怎么会在0x8040 0000 - 0x805F FFFF范围。需要使用#pragma用法来实现,以一个ASW函数QxyDemo的定义为例,Qianyixing_sdata的地址范围属于上图规定的ASW内存空间,通过所示#pragma的用法,那么QxyDemo编译后二进制代码的地址将在Qianyixing_sdata内,也就意味着在0x8040 0000 - 0x805F FFFF范围。通过上述这个过程,其实我们建立ASW C/C++代码与ECU Flash地址的映射,这样就能保证ASW二进制代码刷写到预期的ECU PFlash地址,同理Bootloader和BSW。当软件运行时,就可以通过有序地访问来自PFlash地址的ASW内容,执行ASW预期的操作和运算。3.2 几种OTA实现方案在介绍了分区刷写和地址映射的概念后,下面来了解ECU的OTA实现方案。总的来说,OTA实现方案分为两种,一种与通常的刷写方式一样,即先擦除当前版本软件,再刷写新版本软件,但这种方法有个隐患,就是新软件有问题时,由于旧软件已经被擦除,没有备份,恢复会很麻烦,因此就提出了另一种,即A/B交换。A/B交换就是内存中会分两块区域,一块存放当前版本软件,另一块存放旧版本软件。当OTA升级新版本软件时,新版本软件将代替旧版本软件,这时,一块放的是当前版本软件,另一块放的是新版本软件。再激活运行新版本软件,此时原先的当前版本就变为旧版本软件,作为备份,以防运行的新版本软件有问题,可以及时回滚恢复。这里,对于A/B交换方案,其实有三种实现方案:第1种,基于硬件辅助的A/B交换方案。该方案要求ECU内存足够,而且支持地址重映射,也就是当新版本软件刷写完成,通过更新映射地址来激活新版本软件,即新版本软件运行的入出地址不变。第2种,A/B交换方法与第1类的差别在于ECU硬件不支持地址重映射,激活新版本软件的入出地址变化。第3种,基于外扩内存的A/B交换方案,该方案是需要额外的外扩内存,备份当前版本软件和旧版本软件,新版本软件会先刷写原先的旧版本软件空间,然后擦除ECU内存的当前版本软件,刷写新版本软件,完成激活。针对以上三种A/B交换方案,这三种方案在新版本软件有问题时,都支持旧版本软件回滚;第1,2方案的激活时间都较短,但第1种方案一般需要高级版本的ECU才支持,比如英飞凌TC39x;第2种方案软件实现较复杂,因为需要处理不同的复位向量和中断地址;第3种方案则是通用的方案,因为对已有的MCU平台不需要做很大改动,只需要增加额外的外扩内存就能实现。注:回滚(Rollback)指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚包括程序回滚和数据回滚等类型。3.3 新版本软件上述OTA升级刷写的新版本软件,一般分为两类。一类是通常理解的新软件替换旧软件。像车辆ECU的大部分软件很小,都采用这类,但像车辆的娱乐信息系统和车载地图等的软件很大,可能采用另一类:差分文件。引自[6]: 由于车载网络的带宽资源和计算资源等有限,通常不在其上直接传输完整升级文件而是选择通过差分算法传输增量升级文件然后再通过相应还原算法计算出原完整升级文件,以减少传输过程中的时间消耗以及对车载网络本身的使用负载。差分算法是指在云服务器端比较新、旧版本之间的差异并生成差分 delta 文件,然后将该文件传输到车辆客户端,由车辆客户端根据接收到的差分 delta 文件和旧版文件还原成新版文件。因差分 delta文件的大小远小于源文件,所以有利于无线传输,同时节省流量,能够提升整个传输过程的安全可靠性和经济性。以上就是从ECU角度介绍了OTA技术实现方案的大体思路,当然在此基础上,还有若干OTA技术关键问题有待深究,比如设计要求方面:OTA升级时间,异常恢复处理,信息安全等;另外,从软件实现角度,OTA升级又如何去实现。Reference:[1] OTA Software Update Technology for Vehicles – Highly Reliable and Quick Updates : Research & Development : Hitachi[2] Software_Update_and Upgrade Over thr Air[3] 智能网联汽车的OTA升级方案 PDF[4] 基于OTA的车辆ECU软件远程刷写系统 PDF[5] OTA Updates - Requirements for a Full System Solution[6] 智能网联汽车FOTA系统安全机制的研究与实现 PDF[7] 空中下载技术在商用车上的应用 PDF转载自车端、知乎@谦益行,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,我们将及时处理。-- END --
Mr.zhu
2025-04-28 10:31:32
特别提示:
推荐内容
微盾云
微盾云-专业虚拟主机域名注册服务商!稳定、安全、高速的虚拟主机!域名注册虚拟主机租用
idc.nx260.com
问小白
问小白 - 更专业的AI搜索
www.wenxiaobai.com
网站自动推送
搜索引擎全自动推送_站长工具
submit.uzkoo.com
百度WAF云防护
百度智能云WAF云防护
oauth.shejiz.cn/tb/waf.html
上海云盾CDN
网站安全防护_CDN加速_Web安全加速_高防云盾_网站加速_云盾_「YUNDUN」
www.yundun.com/products/web
生活妙招网
快乐生活一点通家有妙招生活百事通生活百科生活技巧生活常识
www.lifeskill.cn
EDM邮件营销
EDM_EDM营销_邮件群发_邮件营销_EDM电子邮件营销软件_企业邮箱-营销梦
edm.nx260.com
最新入库
Ahrefs
Ahrefs—Marketing Intelligence Tools Powered by Big Data.
ahrefs.com
SPlayer
SPlayer
music.ydev.tech
BootCDN
BootCDN API 服务介绍
api.bootcdn.cn
免费二维码生成器
免费二维码生成器
https://www.qronline.io/
奇云测
奇云测_在线ping_在线tcping_网站测速_HTTP测速_API测速_路由追踪_在线MTR_DNS查询_IPV6测试_站长工具
www.qyc.cc
龙珠直播
龙珠直播,足球直播,体育直播,免费体育赛事直播,免费nba直播,发烧友在一起的地方。
m.longzhu.com
优品PPT
PPT模板免费下载_精美免费PPT模板下载 -【优品PPT】
www.ypppt.com
temp-mail
Disposable Temp Email - Safe & Secure
temp-mail.io/zh
Temp Mail
Temp Mail - Disposable Temporary E-Mail Address
mail.cx/zh
吾爱汇编
吾爱汇编:软件安全、逆向分析与防护
www.52hb.com
Dr API
Dr API.Dev - 领先的AI平台
pro.gptuu.com
Lovart
Lovart | The World’s First Design Agent
www.lovart.ai
MiniMax
MiniMax智能共创平台
www.minimaxi.com
猫耳FM
猫耳FM_来自二次元的声音_( :3」∠)_M站
www.missevan.com
StarTab
StarTab - 轻简舒适、高效灵活的模块化自定义书签导航
startab.cn
SaDuck
SaDuck - 公考知识库
saduck.top
TempMail
Disposable Temporary Email - TempMail.Plus
tempmail.plus
腾讯课堂
腾讯课堂_专业的在线教育平台
ke.qq.com
奇异互动
云服务器_云虚拟主机_香港VPS_裸金属服务器_独立服务器 - 奇异互动
www.7e.hk
巍视云公益API
巍视云公益API - 为公益事业做出贡献
api.weiserver.top
临时邮箱365
Temp Mail 365
https://temp-mail-365.com
AI导航网
AI导航网 - 每日更新全球AI工具产品!
idaohang.cn
笔灵AI写作
笔灵AI写作-ai智能写作-在线AI写作生成器
m.ibiling.cn
企鹅电竞
企鹅电竞-感谢陪伴
egame.qq.com
最新文章
为什么光照到地上会消失,照到天空却可以传很远?微观世界不同
2025-06-03
人员编制中,公务员、参公、事业编哪种好?
2025-06-03
保存生姜原来这么简单,教您一招,放久也不干瘪不变色,不怕多买
2025-06-03
15个“必须休息”的信号
2025-06-03
工作年限满30年可退休,公务员的新政策来了
2025-06-03
人工智能工程技术人员等十三个新职业发布
2025-06-03
二手房过户要注意哪些问题?要缴纳哪些费用
2025-06-03
1分钟学会印花税的计算方式!
2025-06-03
全国结婚率出现“五连降” 晚婚、不婚已成趋势?
2025-06-03
人体最佳睡觉时间表
2025-06-03
老人买房 不要落在子女名下
2025-06-03
有公积金和没有公积金有什么区别?
2025-06-03
暂时不买房,公积金要不要先取出来?
2025-06-03
车子换哪种轮胎最好?老司机给你最实在的建议,新手学会不吃亏
2025-06-03
研究发现酒精对大脑的生长有抑制作用
2025-06-03
2019年最值得关注的五大科技趋势
2025-06-03
养老保险交15年和25年,退休后的退休金差距大吗?
2025-06-03
给你一个团队,你该怎么带?做好这五点,团队大变样!
2025-06-03
4个信号说明你的血液太黏稠了
2025-06-03
住房公积金有一万,能贷多少钱?
2025-06-03
猜你想看
早晨不刷牙就喝水,会喝进一堆细菌损伤肠胃?请大家放宽心
2025-05-31
手持蒸汽熨斗,到底是神器还是智商税,用了两年多,说说真实感受
2025-05-05
一份重庆美食攻略,帮助您发掘这座城市的美食宝藏。
2025-04-19
社保缴费不够15年,可一次性补交吗?3种情况可补,看看符合吗
2025-05-14
留意工资条!这项可能有变→
2025-04-30
劳动合同到期,哪些情况下须顺延?
2025-04-24
如何从小公司跳槽去大公司?
2025-05-29
都说底盘才是衡量车辆好坏的标准,看了底盘后不容易被销售忽悠
2025-05-07
离职后,社保怎么办?这篇文章说全了(建议收藏)
2025-05-29
马斯克的星舰推迟发射,“人类史上最强的火箭”有多疯狂?
2025-04-23
智齿真的“多余”吗?遇到这几种情况尽早拔除
2025-05-17
年内,北京将开展适龄女孩HPV疫苗接种试点
2025-04-18
为什么我们不会忘记怎样骑自行车?
2025-04-24
养一辆车一年大概要花多少钱呢?简单分析,供未买车的车主们参考
2025-05-07
玻璃茶具与金属茶具的妙处
2025-04-16
熬小米粥,记好“3放1不放”,才能轻松熬出米油,很多人还不知道
2025-05-09
手表的档次排名标准是什么?劳力士只属于一类表?
2025-05-02
无探测漏洞高维贝尔不等式检验得以实现
2025-04-29
三月国内最佳旅游打卡地,有你的目的吗?
2025-05-15
平时这么做,5个快速健康有效的减肥方法
2025-04-18