OTA相关概念的通俗辨析

原创 汽车电子与软件 2025-01-27 09:02
         

 

作者 | 直观解

出品 | 汽车电子与软件



OTA:Over-the-Air Technology,即空中下载技术。 这项技术如此广泛使用,以至于汗牛充栋的文档对其描述。但是缺乏兼具深度和通俗的描述,大量的术语封锁了通俗理解,本文试图弥补这一缺憾。
         

 


#01
空气Air就是无线,介质是电磁波

本地升级 VS 无线升级

只要是通过无线通信方式实现升级的,都可以叫OTA升级,比如WIFI/蓝牙。通过有线方式进行升级,叫本地升级,比如通过UART,USB或者SPI通信接口来升级设备固件。

车主都很熟悉到4S店升级爱车。但OTA升级的好处是不限地点、不需要专门跑到特定位置。

OTA的便利性体现如下:

1.便利性和可访问性:空中下载更新消除了物理连接或手动干预的需求,使得向分布在不同位置的大量设备提供更新变得更容易和更方便。

2.及时的错误修复和增强:使制造商能够快速解决软件错误、安全漏洞,并添加新功能,无需用户访问服务中心或执行手动更新。

3.成本节约:远程更新减少了与手动固件更新、设备召回或维护访问相关的成本。

4.提高安全性:允许制造商通过及时向设备提供安全补丁和更新,迅速解决安全漏洞。甚至在用户发觉以前解决漏洞。
         

 



#02
升级什么?软件和固件

升级软件叫做SOTA,s代表software

升级固件叫做FOTA,f代表firmware    

          
图 1 FOTA和SOTA
         

 

软件和固件其实都是二进制形式表达的软件。

二者都要从非易失存储(硬盘或者ROM、闪存等等)读入内存RAM,再由处理器(软件一般是CPU,固件一般是MCU)从RAM中读取执行。
         

 

二者的主要区别在于功能层级不同,固件用于控制硬件的底层操作和基本操作,软件用于控制高级操作(比如用word写作),OS操作系统负责把软件要求的高级操作分派和分解成硬件的低级操作执行。
         

 

为了进一步清晰,本文列出固件控制和软件控制的区别。特别需要说明,同一操作的软件控制实际通过底层的固件控制来实现。

1. GPIO控制:

  • 固件控制:在固件中直接操作引脚寄存器,控制GPIO的状态、方向和中断等。

  • 软件控制:通过软件编程接口(如Python的RPi.GPIO库)操作GPIO,使用高级函数来设置和读取引脚状态、方向和中断。

2. PWM控制:

  • 固件控制:通过定时器和PWM寄存器,直接控制硬件PWM输出的频率和占空比。

  • 软件控制:通过软件编程接口(如Arduino的analogWrite函数)模拟PWM信号,使用软件算法和延时来控制输出的频率和占空比。

3. 电机控制:

  • 固件控制:使用固件编程语言(如C)直接操作电机驱动器的引脚和寄存器,控制电机的速度和方向等。

  • 软件控制:通过软件编程接口(如Python的GPIOZero库)使用高级函数来控制电机驱动器,提供简化的接口和功能。 
   
4. 通信协议:

  • 固件控制:使用硬件级别的通信协议(如SPI、I2C)进行数据传输和通信。

  • 软件控制:通过软件库(如Python的smbus库)使用高级函数来实现通信协议,将数据发送到外部设备或接收数据。

5. 实时任务调度:

  • 固件控制:使用固件编程语言和硬件定时器/中断来实现实时任务的调度和执行。

  • 软件控制:通过操作系统提供的实时任务调度器(如RTOS)来管理和调度任务,使用软件定时器等机制来实现实时性。
         

 

     

 

由于固件则运行在特定的硬件设备中,直接与硬件交互,本身就是执行硬件的底层操作,通常不需要操作系统支持来把复杂计算分解分派为硬件底层操作。
         

 

如果需要执行的计算很简单不复杂,可以直接用数量不多的硬件的低级操作来完成,那么就根本不需要操作系统作为大管家来分派和分解,直接用固件即可执行计算。这也是为什么很多车载MCU和无人机飞控不需要操作系统。
         

 

这正是为何在众多简易无人机系统里,像路径规划这类较为复杂的计算通常是由地面站(GCS)来完成的,而非无人机自身的飞控FCS来承担这一任务。原因在于,经济型的FCS飞控实质上是仅仅依赖于固件的MCU(成本考虑,MCU可以便宜到几块钱甚至几十块钱,而CPU要贵几十倍以上)。这类MCU在处理能力方面存在一定的局限性,难以应对诸如路径规划这样需要高度复杂运算的任务。相比之下,地面站(GCS)配备了更为强大的计算资源和专业的软件系统,能够高效、精准地进行这类复杂计算,从而确保无人机在飞行过程中的安全性、稳定性和精准性。
         

 

   

图 2 FOTA执行框架图
         

 



#03
MCU OTA升级的过程概述

现代MCU虽然相比于同时代的CPU更加经济,但是其功能和计算力其实不亚于小型CPU。

比如,1985 年英特尔推出的 80386 处理器。386 集成了 27 万 5 千只晶体管。

而现在一款常见的STM32F103系列微控制器芯片,其晶体管数量大约在100万到200万之间。更高端的STM32H7系列芯片,晶体管数量可能会超过1000万。硬件能力远强于早期的CPU,而386处理器是可以运行Windows 2.x系列(包括2.03、2.1和2.11)视窗操作系统的。


图 3 早期的30386 CPU
         

 

   
由此可见,现代MCU不仅可以实现简单的固件控制功能,也可以轻松实现复杂的软件控制功能。

既然现代MCU可以实现软件和固件控制。自然可以单独实现软件OTA或固件OTA,更常见的模式则是把FOTA当作SOTA的子过程,通过SOTA带动FOA实现软件固件的一体化空中升级。
         

 

SOTA 的关键组成部分:

  • 软件更新包:更新的软件包,包括必要的文件、代码更改或二进制文件。


  • 更新服务器:管理和分发软件更新的中心服务器。


  • 设备管理客户端:安装在目标设备上的客户端软件或模块,用于与更新服务器通信并处理更新过程。


  • 网络连接:更新服务器和目标设备通信所通过的无线网络连接(例如,蜂窝网络、Wi-Fi)。
         

 

SOTA 工作流程:

1. 更新准备:软件更新包由软件提供商或制造商创建、测试和签名。

2. 更新分发:更新包上传到更新服务器,该服务器管理向目标设备的更新分发。

3. 设备通知:更新服务器向目标设备发送通知,指示软件更新的可用性。

4. 设备请求和验证:设备连接到更新服务器,请求更新,并验证更新包的真实性和完整性。

5. 下载:设备通过无线网络下载更新包。

6. 安装:设备安装更新包,可能涉及验证和解压缩包、应用代码更改以及更新设备的软件组件。

7. 重启和验证:安装后,设备可能需要重启并进行验证检查,以确保更新成功。

8. 报告:设备向更新服务器发送状态报告,指示更新过程的结果。

9. FOTA(固件空中下载):FOTA 是专门针对远程更新设备固件的 SOTA 的一个子集。固件是嵌入在设备硬件中的软件,提供低级控制功能。FOTA 常用于智能手机、平板电脑、路由器、物联网设备和嵌入式系统等设备。
         

 

FOTA 与 SOTA 有许多相似之处,但它是为固件更新量身定制的,通常涉及更关键和低级的软件组件。

FOTA 工作流程:  
 
FOTA 的工作流程与 SOTA 非常相似,因为它涉及相同的更新准备、分发、设备通知、请求和验证、下载、安装、重启和验证的基本步骤。主要区别在于对固件更新的具体处理,由于固件的关键性质,可能涉及额外的预防措施。
         

 

FOTA额外的预防措施的具体举例:

1. 完整性校验:在下载固件之前,设备可以使用校验和、哈希值或数字签名等机制来验证固件文件的完整性。这可以确保固件在传输过程中没有被篡改或损坏。

2. 认证和授权:设备可以使用认证和授权机制,如密钥或证书,来验证固件更新的来源和合法性。只有经过验证和授权的固件才能被设备接受和安装。

3. 双重镜像和回滚机制:在安装固件更新之前,设备可以维护双重镜像,其中一份为当前运行的固件,另一份为新的固件。这样,在安装新固件时,如果出现异常情况或失败,设备可以回滚到之前的稳定固件版本。

4. 安全启动和签名验证:设备可以采用安全启动机制,如可信启动(Secure Boot),来验证固件的签名和完整性。只有通过验证的固件才能被设备启动和执行。

5. 安全存储和更新:设备可以使用安全存储来保护固件的敏感信息,如密钥和证书。此外,固件更新的过程也需要进行安全处理,防止恶意攻击者利用固件更新通道进行攻击或注入恶意代码。

6. 安全通信:在固件更新的过程中,设备和服务器之间的通信应采用安全通信协议,如HTTPS或MQTT over TLS等,以确保数据的机密性和完整性。
         

 

    

#04
OTA的关键应用场景总结


以vector的方案为例:

 

图 4 vector对OTA的关键应用场景总结
          
项目

描述

数据收集

收集车辆数据,如雨量传感器数据用于本地天气报告

预测性维护

通过数据分析实现预测性维护,降低故障率

建立早期反馈循环

在新车型发布等方面建立早期反馈循环,优化产品和服务

提供新服务

基于车辆数据提供新服务,如本地天气报告等

实时诊断

通过远程路边援助,解决部分电气/电子问题,提高车辆使用体验

软件更新

快速修复功能和安全性问题,避免昂贵的召回,同时发布新功能,创造新的商业模式


1. 数据收集    

  • 解释:OTA升级使得车辆能够定期接收并安装最新的数据收集软件。这些软件可以优化数据采集过程,例如改进雨量传感器的数据处理算法,从而更准确地反映当前天气状况。很明显,车主不会为了收集雨量数据而专门去服务站升级车辆软件。

  • 优势:车辆可以通过OTA下载最新的数据采集软件,而无需用户亲自到店进行硬件更换或软件更新。

2. 预测性维护  


  • 解释:OTA升级允许车辆获取最新的数据分析算法和模型,以便更好地监控车辆状态。通过分析车辆运行数据(如发动机温度、油液水平、行驶里程等),OTA更新可以提前识别潜在故障,并提醒车主进行预防性维护。

  • 优势:减少因突发故障导致的维修成本和时间损失,提升车辆可靠性。

3. 建立早期反馈循环  


  • 解释:OTA升级使汽车制造商能够在新车型发布后,迅速根据用户反馈和实际使用情况调整软件,优化产品性能。例如,如果用户报告某个功能存在问题,制造商可以通过OTA更新快速修复问题。

  • 优势:加快产品迭代速度,提升用户体验,提高品牌满意度。

4. 提供新服务  


  • 解释:OTA升级使车辆能够接入最新的云服务和应用程序。例如,通过OTA更新,车辆可以集成新的本地天气报告功能,为用户提供实时天气信息。

  • 优势:增加车辆的功能性和实用性,提供更多增值服务,增强市场竞争力。

5. 实时诊断  


  • 解释:OTA升级可以更新车辆的诊断软件,使其具备更强大的远程诊断能力。例如,通过OTA更新,车辆可以支持远程路边援助,帮助解决部分电气/电子问题。

  • 优势:提高车辆的自我诊断和自我修复能力,减少车主等待救援的时间,提升车辆的可用性和便利性。   

6. 软件更新  


  • 解释:OTA升级允许车辆快速修复已知的功能和安全漏洞,避免大规模的物理召回。此外,OTA还可以发布新功能,为车辆带来持续的改进和创新。

  • 优势:降低召回成本,提高车辆的安全性和功能性,同时通过新功能的发布创造新的商业模式,如订阅服务等。
         

 

       

/ END /


 

 

         

 

    

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 199浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 72浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 162浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 185浏览
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 210浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 325浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 237浏览
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 146浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 178浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 103浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦