OTA全称为Over-The-Air technology(空中下载技术)_over the air_aFakeProgramer的博客-程序员秘密

技术标签: 汽车电子  

OTA全称为Over-The-Air technology(空中下载技术),通过移动通信的接口实现对软件进行远程管理,传统的做法到4S店通过整车OBD对相应的ECU进行软件升级。OTA技术最早2000年在出现日本,目前通过OTA方式升级软件广泛应用于智能手机。

对于汽车而言,OTA最早出现特斯拉2012年推出的Modes S车型上,其更新范围涉及自动驾驶、人机交互、动力、电池系统等领域,通过OTA的方式特斯拉完成钥匙卡漏洞、续航里程提升、提高最高速度、提升乘坐舒适度等功能或者漏洞的修复。

2016年11月,丰田宣布将采用OTA技术更新车辆ECU软件,并讨论了上市车辆通过OTA新增功能的可能性。

2017年5月福特首次通过OTA技术为搭载Sync 3车载系统的车型新增功能。

国内以小鹏、蔚来为代表的新造车势力也将整车OTA作为自身产品智能化的体现,传统造车企业也逐步在新车型上提供OTA功能。

汽车为什么要OTA

随着汽车“电动化,网联化,智能化,共享化”新四化的推进,其电子化程序也越来越高,如图1所示,汽车电子成本占整车成本逐步提升,新能源车比传统车明显提升很多。“软件定义汽车”已成为汽车的发展趋势,汽车软件的复杂度也随之大增,软件故障的修复以及个性化定制需求的更新,仅通过4S升级难以给予用户最佳的体验。那OTA又可以带来哪些好处呢?

1、OTA远程为用户修复软件故障,大幅度缩短中间步骤的时间,使软件快速到达用户,减少汽车制造产商和用户的成本,包括汽车制造产商的召回成本,用户的时间成本;

2、OTA可以为车辆增加新功能,增加用户的新鲜感;

3、OTA拓宽了“服务”和“运营”的范畴,增加车辆的附加价值。

与此同时,OTA也带来了新的挑战,由于车载ECU众多,网络复杂,一旦车辆与外界建立通信,带来了原本封闭的网络受到入侵的可能性,怎么保证车辆安全,建立安全防护措施是OTA的重要课题。

图1 汽车电子成本占整车成本比例

OTA设计要求

OTA要求主要从安全、时间、版本管控、异常处理方面考虑,具体为:

1、软件升级时间最短,就是确保车辆无法行驶的时间最短,车载ECU通常是通过CAN或Ethernet刷写,在带宽允许的情况下,尽可能采取并行刷写模式,选取刷写时间最长的节点优先处理等设计原则。

2、版本管控版本管控对于OTA来说很重要,因为车辆上ECU众多,不同ECU有不同版本的软件,另外产商的车型众多,不同车型ECU的需求有不同,版本也存在差异。

3、异常处理方案。在OTA传输过程中,外界干扰或者其他因素导致刷写异常或者中断,车载ECU必须支持软件回滚、断点续传、丢失重传等处理机制。

4、安全是OTA优先考虑的内容,保证车辆信息安全是当前OTA的一项挑战,必须从硬件、软件、云端几个方面,尤其是三者之间的传输应用来解决。

在数据传输链路上,通过遵守适当的传输协议保证其安全性。功能分区是降低风向的一种特别重要的技术,功能分区意味着对关键功能进行隔离,降低风险。车辆功能安全和冗余设计上的考虑主要是基于ISO26262标准,可以通过优化车载网络架构,将不同的域划分成不同的ASIL等级,将不同安全等级的ECU进行分隔,另外采用并行独立的OTA路径。信息安全上的考虑,包括网络安全、主机安全、数据库安全、数据传输安全等。

OTA架构

OTA整体架构包含OTA云端、OTA终端、OTA设计对象三部分,如下图2所示,OTA云端为OEM专属的云端服务器平台,OTA终端采用Tbox,网络架构按功能域划分,分为动力系统域、车身系统域、影音系统域、ADAS主动安全域,分为四个不同的功能安全等级。

图2 OTA架构

OTA云端

OTA云端也称为OTA云服务平台,包含OEM支持OTA升级的ECU全部的完整的升级包。OTA云端的设计要求是独立的平台,支持多车型、多型号规格、多种类型ECU软件的升级。OTA云端的框架结构主要包括五部分:OTA管理平台、OTA升级服务、任务调度、文件服务、任务管理,如图3所示。

图3 OTA云端架构

OTA终端

OTA终端主要包含OTA引擎和OTA适配器,其中OTA引擎是一个连接OTA终端与OTA云端的桥梁,实现云端同终端的安全通信,包括升级包下载、升级包解密、差分包重构等功能。OTA适配器是为兼容不同的软件或设备的不同更新逻辑或流程,根据统一的接口要求封装的不同实现。升级适配器由需要OTA升级的各个ECU软件实现提供。

OTA对象

汽车OTA对象主要包括影音系统,ADAS软件,以及车内嵌入式ECU。嵌入式ECU通常采用软件备份功能,如下表所示,即ECU内部用于两片区域,一部分用于存储当前运行的程序,一部分用于存储备份程序。除第一次安装或者设备下线时,ECU内部只有一份软件外,之后安装的软件都会与上一份共存。当前运行的是最新的软件,如果升级过程中发生错误或者刷写的程序不能运行,ECU内部自动回滚至上一版程序,防止车辆趴窝。

对于车企来说,OTA不仅仅是关乎技术,OTA还会影响汽车的研发流程,质量管控体系,另外OTA是互联网思维渗透到车企的体现。

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/usstmiracle/article/details/112259179

智能推荐

《web课程设计》使用HTML+CSS制作大学生校园二手交易网站_IT晓峰的博客-程序员秘密

校园网页设计 、学校班级网页制作、学校官网、小说书籍、等网站的设计与制作。️HTML静态网页设计作业使用dreamweaver制作,采用DIV+CSS布局,共有多个页面,首页使用CSS排版比较丰富,色彩鲜明有活力。顶部导航及底部区域背景色为100%宽度,主体内容区域宽度 一套优质的网页设计应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语...

ajax用get请求拼接参数中存在中文问题(会被自动转码)_get请求中文自动转码_Wudide_xiaobai的博客-程序员秘密

this.$http.get('http://localhost:9101/petrol/findPetrolByName?name='+encodeURI(encodeURI(name))).then(function(res){ }); 这样转码两遍即可,传到后台的就是正常的中文的名字,第一次转码会将某些符号转码掉,再转一下就会正常。第二种方法还有一劳永逸的方法直接在服务...

如何解决Mac软件(dmg,akp,app)出现程序已损坏的提示_dmg已损坏_茶茶π的博客-程序员秘密

一般情况下mac软件以dmg,akp和app后缀结尾,dmg只是类似ISO一样的光盘镜像,akp是安装程序,app是类似windows里可直接应用的绿色软件。这些应用一般出现程序真正损坏的情况很少,主要是权限问题“作祟”,所以以下的方法都是从权限问题着手的,一般问题都可以解决,enjoy!常见问题一1.如果出现“程序已损坏”的提示,请打开系统偏好设置 》 安全性与隐私 》 通用把其中的 允许从以下位置下载的应用程序 改成任何来源;2.如果显示“应用程序身份不明”,用右键点击,选择”打开”,便能正常使用

windows微信公众号采集系统_weixin_spider_考古学家lx(李玺)的博客-程序员秘密

微信采集系统项目文档环境配置1. mitmproxy安装:2. windows本地代理:3. 数据库准备工作启动测试目录结构采集目标: 微信公众号文章的阅读数、在看数、评论数、评论列表,还有微信公众号的账号基本信息。采集难点: 采集以上数据需要客户端的一些参数,比如 x-wechat-key 、 __biz 、appmsg_token 、pass_ticket等。采集方式: 通过Windows客户端+mitmproxy的方式获取加密参数采集流程:备注: 一个微信号每天只能获取5000-8

matlab课程设计第五章,(完整版)有限元大作业matlab - 课程设计例子_张涵赫的博客-程序员秘密

有 限元 大 作 业 程 序 设学校:天津大学院系:建筑工程与力学学院 专业:01级工程力学 姓名:刘秀 学号:\\\\\\\\\\\\\\\\\\\\\\ 指导老师:计连续体平面问题的有限元程序分析[题目]:如图所示的正方形薄板四周受均匀载荷的作用,该结构在边界上受正向分布压力,p?1kNm,同时在沿对角线y轴上受一对集中压力,载荷为2KN,若取板厚t?1,泊松比v?0。2kN 1kN/m 2k...

随便推点

上云安全必须了解的安全产品:阿里云云盾_阿里云盾扫描出jar依赖漏洞_jisuyunzzc的博客-程序员秘密

上云安全必须了解的安全产品:阿里云云盾为了切实有效地拦截黑客扫描和入侵行为,最大程度减少网站被黑、被挂黑链等安全事故发生,阿里云通过自主研发,推出了自己的分布式大规模防护产品——云盾,能有效拦截黑客扫描和入侵行为,极大增强云主机的安全性,为用户的网站安全运营保驾护航。有了这些安全防护措施,可以大大降低用户上云的安全顾虑。告别挂马、攻击、黑链和恶意代码,网站运行更安全据CNCERT分析原因,云平台成为网络攻击的重要目标主要是因为云服务存在便捷性、可靠性、低成本、高带宽和高性能等特性,攻击者更多的利用

javascript 查看变量类型_sayyy的博客-程序员秘密

console.log(Object.prototype.toString.call(1));console.log(Object.prototype.toString.call(3.14));console.log(Object.prototype.toString.call('a'));console.log(Object.prototype.toString.call(true));console.log(Object.prototype.toString.call([1,2,3]));co

oracle SQL语句练习_卫家小哥哥的博客-程序员秘密

--创建BOOK:(图书表)CREATE TABLE BOOK (BOOK_ID NUMBER(10),SORT VARCHAR2(10),BOOK_NAME VARCHAR2(50),WRITER VARCHAR2(10),OUTPUT VARCHAR2(50),PRICE NUMBER(3));--创建READER:(读者表)CREATE TABLE READER (READER_ID NUMBER(3),COMPANY VARCHAR2(10),NAME VA...

D2R:将关系数据库映射到RDF_d2r映射_Chihk-Anchor的博客-程序员秘密

关于rdf不懂的同学可以移步至《语义网知识表示方法:RDF,RDFS与OWL》我们这里主要介绍D2R,使用D2R将关系数据库中的数据映射到RDF中D2R 主要包括 D2R Server, D2RQ Engine 以及 D2RQ Mapping 语言。D2R Server 是一个 HTTP Server,它的主要功能提供对 RDF 数据的查询访问接口,以供上层的 RDF 浏览器、SPAR...

Nginx+uWSGI部署_nginx uwsgi_一夜奈何梁山的博客-程序员秘密

目录一:Nginx + uWSGI部署框架1.1:WSGI接口:1.2:uWSGI 服务器:1.3: uwsgi协议:二: uwsgi2.1: uwsgi的安装:2.2:uwsgi的配置:2.3:启动和停止三:uwsgi和Nginx如何关联3.1: 修改uwsgi的配置文件:3.2: 修改Nginx的配置文件:四:Nginx 配置静态文件4.1: 修改Nginx的配置文件:4.2: 将项目用到的所有静态文件指定到某个目录下:五:Nginx转交请求给其他地址:5.1: Nginx增加配置项:六: Nginx实