CPAUTOSAR中的FOTA技术栈

原创 汽车电子与软件 2024-12-24 08:08

作者:不可说
出品:汽车电子与软件


#01
CP与FOTA
   
FOTA(Firmware Over-The-Air)是一种通过无线网络远程更新车辆中的软件的技术。

随着安全要求的不断提升以及分布式、互联功能带来的软件复杂性日益增加,车辆系统需要频繁保持最新状态。为了减少因软件更新而带来的耗时和重复前往维修厂的麻烦,应通过FOTA技术向车辆推送软件更新。

CP AUTOSAR对FOTA的支持主要体现在以下几个方面:

  • 软件包管理:CP AUTOSAR提供了一套丰富的软件包管理功能,以支持FOTA。这些功能包括软件包的下载、验证、存储和安装。车辆可以通过无线网络接收到新的软件包,并使用CP AUTOSAR提供的安全机制进行验证,以确保软件包的完整性和可靠性。验证通过后,软件包可以被存储在车辆的存储器中,准备进行更新。

  • 更新过程执行:CP AUTOSAR定义了FOTA更新过程的执行流程。这包括检测新的软件包、下载软件包、安装软件包以及更新后的验证等步骤。在更新过程中,CP AUTOSAR提供了数据完整性和安全性的保障,以确保软件包的正确性和可靠性。

不过,CP AUTOSAR自身是不直接支持OTA的。这意味着要更新在CP AUTOSAR上运行的应用程序,就必须更新整个ECU的代码。通过其他控制器对运行CP AUTOSAR的控制器进行更新,并不被视为CP AUTOSAR自身的OTA功能。
             


#02
FOTA简介
  
FOTA引入了一种通用机制,允许在车辆运行时更新ECU(电子控制单元)软件。当当前ECU软件正在执行且功能完全正常时,新的ECU软件应在后台进行打包准备。在安装过程中,必须验证新软件的真实性和完整性。一旦验证通过,ECU应能启用新的软件版本。不过,软件的启用需要ECU进入一种特殊模式,因此在车辆行驶过程中不得启动或执行新软件的启用操作。启用新软件应在确保车辆安全的状态下进行,比如车辆静止、发动机熄火且已施加驻车制动时。

如果在启用新软件的过程中或之后发现异常或错误,ECU应具备内部回滚功能,即能够恢复到之前的软件版本。这意味着之前的软件会保留在ECU上,并可以随时重新启用。
         

 

不同的无线技术(UMTS、LTE、蓝牙、WiFi、5G)可用于将车辆连接到后端/云系统,以提供将软件下载到车辆的能力。通过CAN、CAN-FD、Flexray或汽车以太网等车辆总线,将新软件分发到需要更新的目标ECU。
         

 

如今,大多数ECU都具备更新升级功能。通常,这种软件更新的实现接口采用闪存引导加载程序的形式,并且支持通过OTA技术更新主ECU。可以通过将软件更新任务从外部诊断仪发送到已连接的车载ECU(作为OTA-Master)上,来实现无线的软件更新。从目标ECU的角度来看,无论是通过传统的诊断仪还是通过OTA-Master进行更新,整个过程都十分便捷。
         

 

这种方法涉及几个重要方面,需要在实施过程中仔细考虑(以下针对单分区升级方案):

首先,从功能角度来看,在整个软件更新过程中,目标ECU将无法正常运行,这通常意味着整个车辆在软件更新期间会处于不可用状态。   

其次,在分布式电子电气架构中,由于多个ECU需要在一次更新活动中同步更新,与单独更新一个ECU相比,车辆的不可用时间可能会更长。

再者,如果在安装新软件的过程中或之后出现问题,虽然可以通过OTA主控端启动并重新安装之前的软件来进行修复,但这一操作会进一步延长车辆的不可用时间,并有可能导致ECU功能完全失效。

此外,如果需要进行软件回滚,那么与更新相关的所有依赖ECU也必须同步进行回滚操作。

最后,采用这种方法时,我们还需要特别注意电池的剩余容量,以确保更新过程的顺利进行。



#03
FOTA流程
  
FOTA的整体更新过程可分为几个阶段,可以参考如下图示:


FOTA升级过程图示

1. Update  


术语“(FOTA)update”用于表示 ECU 的整个更新过程(如果是其他依赖 ECU 更新,则表示多个 ECU)。它包含下面描述的所有任务,例如download, installation, verification, activation等。如有必要,可以将回滚功能视为更新过程的一部分。

2. Download  


下载镜像是指将FOTA目标ECU的完整更新所需的ECU软件、数据和配置从后端服务器传输到FOTA主节点,即FOTA的Master ECU。   

3. Installation  


Installation是指将待更新的ECU软件从FOTA主节点ECU转移到FOTA目标ECU。由于一次将整个ECU软件完全传输到FOTA目标ECU并不方便,因此该过程是使用数据块实现的。当没有更多块要传输到FOTA目标ECU并且所有块都已成功写入内存堆栈时,安装过程就完成了。

此外,安装过程还包括FOTA目标ECU内的flash驱动程序将软件实际写入非活动目标分区。

4. Verification  


Verification验证过程是要确保更新的ECU软件的正确性。这只会影响相应FOTA目标ECU中的普通ECU软件(例如镜像或者差异化更新)。

5. Activation  


Activation激活过程是ECU引导分区的实际启动操作。对于采用不可切换内存架构的ECU,比如那些使用外部闪存或固定多分区内存的ECU,这个过程还涉及到从临时存储(例如外部闪存)到内部闪存的复制。一旦确认了前一个ECU软件版本的备份,激活过程即告完成。新安装的软件必须在车辆处于安全状态时才能最终激活,开发者有责任确保车辆在这种安全状态下进行操作。

6. Rollback  


在回滚过程中,必须恢复之前运行软件的所有ECU和用户数据。回滚完成后,ECU软件和用户数据必须与整个更新过程开始之前没有差异。   




#04
FOTA技术架构
 

FOTA 流程中所有相关组件和模块的架构概述

整体 FOTA 架构设计如上图所示,包括:

  • FOTA Target ECU

它接收从 FOTA Master刷写的 ECU 软件,并将软件写入到内存堆栈(实际的 ECU 软件烧录过程);

  • FOTA Master ECU

缓存所有新的 ECU 软件工件,以发送到 FOTA 目标 ECU;

  • 后端服务器

为 FOTA Master ECU 提供要安装到 FOTA Target ECU 的镜像;

1. FOTA Target ECU  


由于FOTA处理程序规范目前仍在发展阶段,尚未涵盖和明确定义所有功能,因此现阶段将其视为CDD。如果未来FOTA的功能集增长到足够复杂,足以构成一个独立的BSW模块时,AUTOSAR可能会考虑定义FOTA BSW模块。
   
由于 AUTOSAR Dcm 模块实现了UDS诊断协议,因此直接提供了许多有用的功能以实现FOTA功能。对于FOTA程序,可以有如下的功能实现:

  • 会话处理

  • 安全访问

  • 身份验证

  • 服务处理(用户工作),例如:

  • 0x22/0x2E Read/WriteDataByIdentifier

  • 0x31 路由控制

  • 0x34 RD/0x36 TD/0x37 TE(请求下载/传输数据/传输退出)

  • 错误处理

  • 检查更新升级条件

  • 重置/重启 ECU
         

 

Nv Data

在AUTOSAR中,NvM模块主要负责管理数据闪存,包括用户数据、标定数据、错误记录、快照以及ECU软件的其他运行时数据。这些数据会被组织成所谓的NvDataBlock。NvM模块提供了功能接口,允许读取、写入或删除这些数据块。

为了迁移或修改NvData,应当使用NvM模块提供的功能,而不是直接操作数据闪存。这是因为FOTA(固件空中升级)的Master和Target端都不应直接与数据闪存交互,以防止数据受到干扰、阻塞或损坏。

如果数据发生变化,例如影响到NvData或用户数据的迁移,这些变化需要由实施者进行处理。

然而,为了安全地存储与FOTA进程相关的信息(如当前FOTA进程状态、FOTA处理程序上次成功写入的内存地址等),并确保这些信息在中断期间能够持续存在,应使用NvM模块来处理这些(FOTA特定的)用户数据。   
         

 

2. FOTA Master (UCM-Master)  


FOTA Target ECU 需要与相应的主节点通信,以便接收 FOTA 镜像数据。此 Master 实例必须存储车辆网络中所有相关 ECU 的镜像数据,数据量突然不会少。

通常,Classic Platform所针对的嵌入式ECU在内存、存储及计算能力上资源较为有限。因此,一种可行的方案是将FOTA Master实例的职责转移到资源更丰富的AP平台上的ECU中。

与 FOTA Target ECU 通信的实现目前由更新和配置管理模块(UCM,Update And Configuration Management)完成。这将产生以下逻辑体系结构:


3. Backend  


后台FOTA服务器Backend 实例表示要更新的车辆的初始镜像程序和通知接口。有关可用新软件的通知可以从后端实例触发到车辆,或者车辆自行决定何时询问是否有新软件可用(轮询方法)。但是,如果车辆网络中一个或多个 ECU 的新软件可用,则启动镜像拉取过程并将镜像存储在车辆内的适当位置(例如 FOTA Master)。后台服务器还必须提供有关与其他软件包的依赖关系的信息。车辆可以与后台服务器共享有关 FOTA 流程的状态和更新进度信息,以便进行分析和诊断。   
    


#05
FOTA内部状态
   
FOTA Handler 模块需要在处理 FOTA 镜像期间处理并指示所有不同的状态。这还包括恢复中断(例如由于驾驶周期更改)或暂停(例如通过更高优先级的诊断请求)。为了将此信息提供给启动和触发 FOTA 程序的 FOTA Master,应实现诊断服务,从 FOTA Target 的角度提供和更新安装程序的当前状态。这些不同的状态应通过以下状态来反映:

  • IDLE

ECU启动程序后FOTA Handler的初始状态

  • INIT

FOTA处理程序已初始化,Dcm已设置为正确状态(在Dcm FOTA会话中,已授予安全访问权限)。

  • READY

所有FOTA数据块均已完成安装,可以触发激活程序。

  • PROCESSING

FOTA Handler由Dcm调用触发,因为新块已被接收并正在处理。

  • WAIT

FOTA处理程序已成功处理最后一个接收到的数据块,返回了Dcm函数返回值,并正在等待下一个数据块。

  • VERIFY

自行设定如何验证数据包,CP对这方面没有具体的约定。

  • ACTIVATE

FOTA安装已完成,并从FOTA Master收到相应的工作指令,该指令指示下一次启动过程中的分区切换。   

  • ERROR

可以反馈Target的错误状态,根据实际情况自已进行定义,CP对这方面没有具体的约定。
         

 

上述所有状态应有助于保持FOTA Target状态,从而保持整个FOTA更新过程的确定性、可靠性和可恢复性。这将导致一个状态机来处理FOTA更新,如图所示:


FOTA状态机




#06
小  结
     
AUTOSAR CP中的FOTA流程是一种在运行时更新ECU软件的机制,它通过无线技术将新软件下载到车辆上,并在后台进行安装和验证,以减少车辆停机时间并提高软件更新效率。FOTA技术架构包括FOTA目标ECU、FOTA主机和后端等组件,通过一系列步骤实现软件的下载、安装、激活和回滚等功能。内部状态机则管理FOTA过程中的各种状态转换,确保软件更新的可靠性和安全性。   
      
   

 

/ END /


汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 耳机虽看似一个简单的设备,但不仅只是听音乐功能,它已经成为日常生活和专业领域中不可或缺的一部分。从个人娱乐到专业录音,再到公共和私人通讯,耳机的使用无处不在。使用高质量的耳机不仅可以提供优良的声音体验,还能在长时间使用中保护使用者听力健康。耳机产品的质量,除了验证产品是否符合法规标准,也能透过全面性的测试和认证过程,确保耳机在各方面:从音质到耐用性,再到用户舒适度,都能达到或超越行业标准。这不仅保护了消费者的投资,也提升了该公司在整个行业的产品质量和信誉!客户面临到的各种困难一家耳机制造商想要透
    百佳泰测试实验室 2024-12-20 10:37 251浏览
  • ALINX 正式发布 AMD Virtex UltraScale+ 系列 FPGA PCIe 3.0 综合开发平台 AXVU13P!这款搭载 AMD 16nm 工艺 XCVU13P 芯片的高性能开发验证平台,凭借卓越的计算能力和灵活的扩展性,专为应对复杂应用场景和高带宽需求而设计,助力技术开发者加速产品创新与部署。随着 5G、人工智能和高性能计算等领域的迅猛发展,各行业对计算能力、灵活性和高速数据传输的需求持续攀升。FPGA 凭借其高度可编程性和实时并行处理能力,已成为解决行业痛点的关
    ALINX 2024-12-20 17:44 177浏览
  • 光耦合器,也称为光隔离器,是用于电气隔离和信号传输的多功能组件。其应用之一是测量电路中的电压。本文介绍了如何利用光耦合器进行电压测量,阐明了其操作和实际用途。使用光耦合器进行电压测量的工作原理使用光耦合器进行电压测量依赖于其在通过光传输信号的同时隔离输入和输出电路的能力。该过程包括:连接到电压源光耦合器连接在电压源上。输入电压施加到光耦合器的LED,LED发出的光与施加的电压成比例。光电二极管响应LED发出的光由输出侧的光电二极管或光电晶体管检测。随着LED亮度的变化,光电二极管的电阻相应减小,
    腾恩科技-彭工 2024-12-20 16:31 169浏览
  •                                                窗        外       年底将近,空气变得格外寒冷,估计这会儿北方已经是千里
    广州铁金刚 2024-12-23 11:49 135浏览
  • 汽车行业的变革正愈演愈烈,由交通工具到“第三生活空间”。业内逐渐凝聚共识:汽车的下半场在于智能化。而智能化的核心在于集成先进的传感器,以实现高等级的智能驾驶乃至自动驾驶,以及更个性、舒适、交互体验更优的智能座舱。毕马威中国《聚焦电动化下半场 智能座舱白皮书》数据指出,2026年中国智能座舱市场规模将达到2127亿元,5年复合增长率超过17%。2022年到2026年,智能座舱渗透率将从59%上升至82%。近日,在SENSOR CHINA与琻捷电子联合举办的“汽车传感系列交流会-智能传感专场”上,艾
    艾迈斯欧司朗 2024-12-20 19:45 244浏览
  • 国产数字隔离器已成为现代电子产品中的关键部件,以增强的性能和可靠性取代了传统的光耦合器。这些隔离器广泛应用于医疗设备、汽车电子、工业自动化和其他需要强大信号隔离的领域。准确测试这些设备是确保其质量和性能的基本步骤。如何测试数字隔离器测试数字隔离器需要精度和正确的工具集来评估其在各种条件下的功能和性能。以下设备对于这项任务至关重要:示波器:用于可视化信号波形并测量时序特性,如传播延迟、上升时间和下降时间。允许验证输入输出信号的完整性。频谱分析仪:测量电磁干扰(EMI)和其他频域特性。有助于识别信号
    克里雅半导体科技 2024-12-20 16:35 149浏览
  • 随着工业自动化和智能化的发展,电机控制系统正向更高精度、更快响应和更高稳定性的方向发展。高速光耦作为一种电气隔离与信号传输的核心器件,在现代电机控制中扮演着至关重要的角色。本文将详细介绍高速光耦在电机控制中的应用优势及其在实际工控系统中的重要性。高速光耦的基本原理及优势高速光耦是一种光电耦合器件,通过光信号传递电信号,实现输入输出端的电气隔离。这种隔离可以有效保护电路免受高压、电流浪涌等干扰。相比传统的光耦,高速光耦具备更快的响应速度,通常可以达到几百纳秒到几微秒级别的传输延迟。电气隔离:高速光
    晶台光耦 2024-12-20 10:18 201浏览
  • 光耦固态继电器(SSR)作为现代电子控制系统中不可或缺的关键组件,正逐步取代传统机械继电器。通过利用光耦合技术,SSR不仅能够提供更高的可靠性,还能适应更加复杂和严苛的应用环境。在本文中,我们将深入探讨光耦固态继电器的工作原理、优势、挑战以及未来发展趋势。光耦固态继电器:如何工作并打破传统继电器的局限?光耦固态继电器通过光电隔离技术,实现输入信号与负载之间的电气隔离。其工作原理包括三个关键步骤:光激活:LED接收输入电流并发出与其成比例的光信号。光传输:光电传感器(如光电二极管或光电晶体管)接收
    腾恩科技-彭工 2024-12-20 16:30 134浏览
  • 百佳泰特为您整理2024年12月各大Logo的最新规格信息。——————————USB▶ 百佳泰获授权进行 USB Active Cable 认证。▶ 所有符合 USB PD 3.2 标准的产品都有资格获得USB-IF 认证——————————Bluetooth®▶ Remote UPF Testing针对所有低功耗音频(LE Audio)和网格(Mesh)规范的远程互操作性测试已开放,蓝牙会员可使用该测试,这是随时测试产品的又一绝佳途径。——————————PCI Express▶ 2025年
    百佳泰测试实验室 2024-12-20 10:33 173浏览
  • Supernode与艾迈斯欧司朗携手,通过Belago红外LED实现精准扫地机器人避障;得益于Belago出色的红外补光功能,使扫地机器人能够大大提升其识别物体的能力,实现精准避障;Belago点阵照明器采用迷你封装,兼容标准无铅回流工艺,适用于各种3D传感平台,包括移动设备、物联网设备和机器人。全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)近日宣布,与国内领先的多行业三维视觉方案提供商超节点创新科技(Supernode)双方联合推出采用艾迈斯欧司朗先进Belago红
    艾迈斯欧司朗 2024-12-20 18:55 170浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦