车载 OTA技术概念_sota和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界面和车载地图、人机交互界面等功能,像娱乐系统更新操作界面或主题。

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的非易失性存储单元(内存)。

3.2 几种OTA实现方案


在介绍了分区刷写和地址映射的概念后,下面来了解ECU的OTA实现方案。总的来说,OTA实现方案分为两种,一种与通常的刷写方式一样,即先擦除当前版本软件,再刷写新版本软件,但这种方法有个隐患,就是新软件有问题时,由于旧软件已经被擦除,没有备份,恢复会很麻烦,因此就提出了另一种,即A/B交换。

A/B交换就是内存中会分两块区域,一块存放当前版本软件,另一块存放旧版本软件。当OTA升级新版本软件时,新版本软件将代替旧版本软件,这时,一块放的是当前版本软件,另一块放的是新版本软件。再激活运行新版本软件,此时原先的当前版本就变为旧版本软件,作为备份,以防运行的新版本软件有问题,可以及时回滚恢复。


正常情况:最常见的情形,例如设备下线时,A分区和B分区都可以成功启动并正确运行,所以两个分区都设置为bootable和successful,但由于是从B分区启动,所以只有B分区设置为active。
升级中:系统正在从B分区运行,因此,B分区是可启动(bootable)且被标记为成功(successful)的活动分区。由于正在更新A分区,因此A分区被标记为不可启动(unbootable)。在此状态下,重启仍从slot B运行。
升级完成,正在等待重新启动:系统正在从B分区运行,B分区可启动(bootable)且被标记为成功(successful),A分区升级完成后,重启后需要从A分区启动被标记为active和bootable,但尚未验证成功,所以不能被标记为successful,bootloader应尝试从A分区启动。
系统重启:设备重启后,bootloader检测到A分区为active,完成校验之后,A分区如能正确运行,应将slot A 标记为成功(successful)。对比第1个普通场景,A和B分区都设置为bootable和successful,但active从B分区切换到A分区。至此,B分区成功更新并切换到A分区,设备重新进入正常场景。

FOTA和SOTA的区别

FOTA,指的是给车辆下载完整的固件镜像(核心服务)可能影响所有应用程序(手机会变成砖头),影响较大
SOTA,只仅发送需要更改的部分应用软件,只对小范围的功能有影响。(下载一个知乎应用)。
SOTA对整车的要求较低,一般你一个稍微高级点的ECU接一个4G网卡就可以实现简单的应用升级,由于影响范围有限,且大多是娱乐系统,单独并不大。但FOTA的实现(一般需要进行固件更新的都是高阶复杂的域控制器)往往涉及整车重要的控制器,包括车身、动力和自动驾驶系统,整车要求较高

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

智能推荐

高级映射(一):一对一、一对多,多对多查询总结_购物车和商品是一对多还是多对多-程序员宅基地

文章浏览阅读2w次,点赞2次,收藏18次。多表之间的数据交互其实一对一和一对多映射,在前面的配置中已经接触到,我没在日志里直接说明,是因为想要在之后写一篇总结日志(就是本篇),总结这些高级映射的配置。例如一对一查询在关联的嵌套结果集查询中就涉及到,一对多查询则在这个基础上再加上一个或多个嵌套结果集,它们可以是一个实体类,或者是一个集合。多对多查询稍微有点复杂,举个例子来说,一个商城管理系统中,一名顾客在一个购物清单中可以有多件商品,而..._购物车和商品是一对多还是多对多

值得关注的 CI/CD 主要趋势-程序员宅基地

文章浏览阅读909次,点赞10次,收藏9次。CI/CD 是那些想要加速应用程序交付、发布周期、控制成本并降低开发风险的人的首选。适应用户反馈、提高对市场变化和业务优先级的响应能力以及提升竞争力取决于应用程序质量,CI/CD 成为提高开发速度的宝贵推动者。

个推图可视化应用实践_d3js和g6|graphin对比-程序员宅基地

文章浏览阅读5.2k次。个推资深前端开发专家 东风图可视化应用是数据可视化的一个重要组成部分。图指的是知识图谱(Knowledge Graph),此概念于2012年由Google正式提出,旨在帮助Google优化搜索引擎返回的结果,提升用户搜索质量及体验。个推作为专业的数据智能服务商,在图可视化应用方面也进行了丰富的实践。本文将从四部分讲述图可视化应用:应用场景、组成部分、个推图可视化组件、个推图可视化展望。(文末附视频版讲解及完整资料下载)01图可视化应用场景..._d3js和g6|graphin对比

LSM-Tree 与 RocksDB_rocksdb 和lsmtree的区别-程序员宅基地

文章浏览阅读1.3k次。冥冥之中,接触到了不同于关系数据库的NoSQL Key-Value存储引擎RocksDB,懵懵懂懂、充满好奇,google一点,满眼皆是LSM-Tree,头晕眼花、若即若离,便有了这篇文章,一起与大家分享这趟探险之旅。LSM-Tree(Log-Structured-Merge-Tree)LSM从命名上看,容易望文生义成一个具体的数据结构,一个tree。但LSM并不是一个具体的数据结构,也不是一..._rocksdb 和lsmtree的区别

计算机专业毕设java选题参考_软件工程专业与算法结合的毕业设计题目计算机视觉方向java-程序员宅基地

文章浏览阅读3.9k次。人员管理、彩票管理、业务人员管理、银行管理、地区管理、系统备份、交接班管理、申购管理、出票管理、退票管理、兑奖管理、彩票盘点(自动生成数据,根据A生成B的数据)、现金盘点、流水账信息、多账号登录。人员管理、图书类别管理、图书管理、库存管理、ISBN查询(Http接口、JSON)、采购管理(流程)、出库管理(流程)、入库管理(流程)、销售管理、退货管理、财务明细。枸杞树管理、减枝管理、温度管理、施肥管理、器具管理、弄务工管理、晾晒管理、用户信息、包装库存、出库、入库、预订信息、留言信息、前台。_软件工程专业与算法结合的毕业设计题目计算机视觉方向java

JSTL 标签大全详解_jstl标签-程序员宅基地

文章浏览阅读10w+次,点赞124次,收藏539次。(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53311722 冷血之心的博客)关注微信公众号(文强的技术小屋),学习更多技术知识,一起遨游知识海洋~目录一、JSTL标签介绍1、什么是JSTL?2、JSTL标签库:3、使用taglib指令导入标签库:4、core标签库常用标签:..._jstl标签

随便推点

在MyEclipse中将项目部署Tomcat_myeclipse部署web项目到tomcat-程序员宅基地

文章浏览阅读2k次。(1)配置Server(2)选择Tomcat 7.0 的解压目录。点击apply。点击ok即可。5.部署到Tomcat点击finish即可。然后ok。6.启动Tomcat,_myeclipse部署web项目到tomcat

Linux系统部署可视化数据多维表格APITable并实现无公网IP远程协同办公-程序员宅基地

文章浏览阅读7.9k次,点赞105次,收藏108次。Linux系统部署可视化数据多维表格APITable并实现无公网IP远程协同办公

FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)_filters_descr-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏20次。FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出。我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件。在上代码之前先明白几个概念: Filter:代表单个filter FilterPad:代表一个filter的输入或输出端口,每个filter都可以有多个输入和多个输出,只有输出pad的filter称为source_filters_descr

C++ vector容器的常用用法_c++ vector修改数据可以直接赋值吗-程序员宅基地

文章浏览阅读7.6k次,点赞23次,收藏93次。vector可以说是一个动态数组,它可以存储任何类型的数据,包括类!使用vector需包含头文件#include< vector >.定义一、不带参数// 定义了一个int类型的容器vector<int> v1;// 定义了一个double类型的容器vector<double> v2;注意事项:容器可以使用数组方式获取它的值 和 给它赋..._c++ vector修改数据可以直接赋值吗

万字长文,深度解析SpringMVC 源码,让你醍醐灌顶!!-程序员宅基地

文章浏览阅读4.1k次,点赞11次,收藏92次。文末可以领取所有系列高清 pdf。大家好,我是路人,这是 SpringMVC 系列第 16 篇。本文将通过阅读源码的方式带大家了解 springmvc 处理请求的完整流程,干货满满。目录1..._springmvc源码分析

kdump核心崩溃信息存储到SSH服务器-程序员宅基地

文章浏览阅读752次。1、配置测试机和SSH服务器之间的免密钥登录:测试机生成密钥#ssh-keygen -t rsa将/root/.ssh/id_rsa.pub中的内容拷贝到SSH服务器的/root/.ssh/authorized_keys文件中,并修改文件权限为600;2.、编辑测试机的/etc/kdump.conf,注释其他内容,并在文件末尾添加:ssh [email protected] sshkey /root/.ssh/id_rsa path /sshkdump core_collect_核心崩溃信息存储到ssh服务器

推荐文章

热门文章

相关标签