01.概述
1.1 汽车 OTA——三个关键用例
1.数据收集
实施预测性维护
建立早期反馈循环(例如在推出新模型时)
基于车辆数据提供新服务
例如,为当地天气报告收集雨水传感器数据
2.实时诊断
从中央车辆支持中心从远程获得路边援助
继续驾驶还是继续等待拖车服务?
立即解决一些 E/E 问题
3.软件更新
通过快速修复功能和安全事件来避免昂贵的召回
发布花哨的新功能,创造新的商业模式
实施基于软件的模型升级
1.2 基于Vector的OTA 方案
02.软件下载用例
2.1 通过离线车载诊断测试仪下载软件
2.2 单分区的引导加载程序上下文中的 OTA 软件下载
2.3 多分区(MulTIple ParTITIons)的引导加载程序上下文中的 OTA 软件下载
2.4 Bootloader 上下文中的 OTA 软件下载
方法
在路上行驶时,连接单元接收到软件更新包
在 Flash Bootloader 上下文中的运行后阶段(post-run phase)对目标 ECU 进行更新
约束
下载过程中需要实现下载中断/恢复能力
必须考虑电池容量
优点
重用现有基础架构(Flash Bootloader)
对应用程序运行时行为没有影响
在更新阶段利用最大网络带宽
缺点
关闭期间(key-off)进行更新的时间窗口是有限的
由于关闭了正常的消息通信,因此对运行后系统设计(post-run)产生影响
2.5 ApplicaTIon上下文中的 OTA 软件下载
方法
在路上行驶时,连接单元接收到软件更新包
更新在应用程序上下文中的目标 ECU 上的影子内存中进行
约束
应用栈需要通过OTA下载软件组件进行扩展
必须考虑总线负载和 ECU 性能影响
必须实现多内存分区概念和下载中断/下载恢复的能力
优点
ECU 在应用程序上下文中运行,无需禁用正常的消息通信
根据内存分区概念,对车辆可用性几乎没有影响
缺点
复杂性增加
额外的 ROM 资源
必须考虑对 ECU 系统设计和安全要求的
03.ECU存储解决方案
3.1 硬件辅助 A/B分区交换解决方案
这种架构需要微控制器本身的硬件支持
硬件将活动分区(active partition)映射到预定义的地址范围(例如 0x000000,在下面的示例中分区大小为 2MB)
代码总是从预定义的地址范围执行(0x000000-0x200000)
激活(Activation)分区意味着重新映射活动和非活动内存地址范围
3.2 下载缓存解决方案
在后台下载期间,下载的数据缓存在未使用的内存区域(内存区域可以是内部存储器或者是外部存储器)
在软件激活期间,Flash Bootloader 将新应用程序复制到活动存储区
3.3 Dual Binary解决方案
根据活动/非活动内存,选择不同的应用入口地址
代码从不同的内存位置执行
需要维护两个相同版本的软件二进制文件,它们链接到不同的内存位置
诊断Tester需要知道活动/非活动内存的位置以选择正确的镜像
3.4 ECU存储解决方案比较
Hint:符号“+”表示优点,符号“-”表示缺点
硬件辅助 A/B分区交换解决方案 +单个二进制 +激活时间较短 -目前只支持少数硬件平台
下载缓存解决方案 +单个二进制 +通用解决方案 +现有 MCU 平台可通过添加外部闪存重复使用 -由于数据复制,激活时间较长 -增加了外部闪存的成本
Dual Binary解决方案
+除了支持边写边读外,没有额外的硬件要求 +极短的激活时间 -双软件镜像的配置管理 -可能需要复杂的软件来处理不同的复位向量和中断地址
04.MICROSAR.OTA 软件下载解决方案
4.1 MICROSAR.OTA 软件架构 - 职责
注意:架构图只显示了OTA 特定的 BSW 模块。
MICROSAR
下载软件更新
软件更新验证
备份创建(可选)
Flashbootloader
激活(Activation)软件更新
回滚(Rollback)到以前的软件
4.2 MICROSAR.OTA 软件架构 - SWDL Handler
4.3 MICROSAR.OTA 软件架构 – 软件更新管理器
软件更新管理器
签名验证
解压
解密
闪存数据的缓冲
数据处理
模块的定义,也就是逻辑块
模块到虚拟地址的映射
处理保存的恢复信息来继续中断的软件下载
4.4 MICROSAR.OTA 软件架构 – 内存访问管理器
内存访问管理器
AUTOSAR FLS
Vector vMem
虚拟地址的定义
虚拟到物理地址的映射
闪存作业(flash jobs)的优先级和调度
处理多个闪存驱动程序
4.5 MICROSAR.OTA 软件架构 – vMem
vMem(外部)
读/写/擦除 程序闪存(program (code) flash)
可用于内部和外部闪存
4.6 SWDL 软件架构
OTA 管理器
在内部和/或外部闪存的分区之间复制数据
使用硬件辅助 A/B 交换
Vector Flashbootloader 的附加组件
负责激活和回滚
OTA 管理器基础版本
OTA 管理器扩展版本
审核编辑:刘清
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)