• 524查看
  • 0回复

[综合] RH850\U2A SOTA机制分析

[复制链接]

  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 17-4-2024 22:10:12 | 显示全部楼层 |阅读模式

    汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


    目录

    1. U2A Flash架构概述

    2. U2A Flash模式概述

    3. U2A 无感OTA概述

    3.1 GCFU描述

    3.2 实现描述

    3.3 Double Map模式

    4.小结


    1. U2A Flash架构概述

    最近在考虑无感OTA方案时,汇总了TC3xx、RH850-U2A、S32K3等系列MCU对于OTA的硬件支持。TC3xx在文档中写的很清楚,有兴趣的可以看看TC3xx UserMannul 1.5 SOTA章节,以前我也在某平台写过相关文章,这里不再赘述。比较让我疑惑的是U2A的方案,因为在U2A高性能版本中,出现了3个Flash控制器,我第一反应是为将来跨域融合做准备,事实上也是如此;在这款MCU中提出了Cluster的概念,针对Cluster里面布局了Memory、中断、外设等资源;我们今天主要聊Flash相关,U2A16的Memory整体架构如下图:
    RH850\U2A SOTA机制分析w1.jpg
    相同颜色组成一个Cluster,对应不同的Flash资源;上面这个图看起来觉得麻烦,根据个人理解整理如下:
    RH850\U2A SOTA机制分析w2.jpg
    在该架构图中,总共有16MB Flash(A、B、C、D 4MB\Bank)分别给不同CPU使用,每个Cluster都有一个Flash控制器来管理当前Cluster里的Flash编程、擦除等动作,例如FACI0管理PF Bank A、B共计8MB,DF Bank0等,这种方式在未来跨域融合架构下实现不同vECU的OTA是非常有优势的。但是今天我们主要了解针对目前常见OTA方案,U2A做了哪些方面的内容。2. U2A Flash模式概述

    在U2A里,Flash有两种映射模式,分别为:Single Map和Double Map;

      Single Map:该模式下code flash地址连续,用户可使用的存储空间就更大,例如U2A16可使用16MB、U2A8可使用8MB;下图为U2A16的Single Map地址空间

    RH850\U2A SOTA机制分析w3.jpg
      Double Map:这种模式就和TC3xx的A\B Swap很相近了,将Flash均分为两个区域,分别为valid area和invalid area,意味着可使用的Flash容量减半;下图为U2A16的Double Map地址空间,可以发现invlid area首地址与上面有变化,变成了02xxxxx开头。

    RH850\U2A SOTA机制分析w4.jpg
    上述map模式可以通过OPBT12进行配置:
    RH850\U2A SOTA机制分析w5.jpg

    3. U2A 无感OTA概述

    针对Double Mode下使用无感OTA还可以理解,这个Single Map模式的无感,不就和以前软件实现A\B OTA是一样的吗?在U2A上面难道做了很多硬件处理吗? 在软件实现无感SOTA时,通常是在在Flash中划分出两块相同大小的区域,分为A区和B区,都用来存放APP,但同一时间下只有一个区的APP是有效的,分别设置一个标志位标识其有效性。初始状态下先将APP写入A区,更新的时候,将新的APP写入B区,再把A区的APP擦除,同时更新两个区的有效性标志位状态。BootLoader中判断哪个区的APP有效,就跳转到哪个区运行。这种方法不需要重复拷贝APP数据,但最大的一个缺陷是AB区的APP程序运行地址不同,需要分别编译,从而使得可应用性大大降低。但在U2A中,它采用了使用类似英飞凌Overlay的功能,它可以使用相同逻辑地址实现SOTA功能。具体如下:3.1 GCFU描述

    在U2A 51.18章节提出了GCFG(Global Calibration Function Unit) ,主要功能是将一块code flash重映射到另一块code flash。根据之前英飞凌相关的经验,Overlay是CPU视角,那么我们就可以这样设计:当Valid Bank的逻辑地址和物理地址一致时,不使用overlay功能;当Valid Bank的逻辑地址与物理地址不一致时,使用overlay。3.2 实现描述

    Single Map模式下,地址是连续的,所以为了实现RWW,我们选用Bank A 和B中前128KB作为SOTA实现的基础,如下图:
    物理地址Bank大小
    0x0000 0000 – 0x0001 FFFFBANK A128KB
    0x0040 0000 – 0x0041 FFFFBANK B128KB
    当Bank A激活时,这时候物理地址和逻辑地址一致,可以不使用overlay(remap:瑞萨说法),这样CPU就从Bank A取指运行代码,那么要更新的时候怎么办呢?直接操作FACI刷写Bank B对应区域(bin文件),如下图:
    RH850\U2A SOTA机制分析w6.jpg
    当Bank B激活时,物理地址和逻辑地址不一致了,但是不想改变程序运行地址,这时候使用remap功能,虽然CPU访问的是逻辑地址 Bank A,但通过GCFU可以重映射到Bank B中,如下:
    RH850\U2A SOTA机制分析w7.jpg

    由于CGFU仅作用于CPU,因此在FACI0视角里,刷写逻辑地址Bank A就是刷写物理Bank A。值得注意的是,由于硬件是没办法识别什么时候使用remap功能,因此需要我们在软件中定义一个Flag,这Flag可以存放到DFlash中,表示当前Valid的Bank是A还是B。这样,U2A 的Single Map模式就派上了用场,但看起来其实和Double Map区别不大呀。3.3 Double Map模式Double Map模式下,U2A16可用容量变为了8MB,相当于每个Cluster里的Flash变为了AB切,如下图:
    RH850\U2A SOTA机制分析w8.jpg
    因此相较于Single Map模式,这种方式较为死板,但是理解起来就不是那么困难。 只需要通过OPBT13来切换A\B 、C\D Bank,即可实现硬件上的无感SOTA。
    RH850\U2A SOTA机制分析w9.jpg
    4.小结

    本文主要梳理瑞萨U2A针对SOTA的两种硬件特性,但没有考虑security相关内容;不知道目前有没有HSM SOTA的需求,如果有,那么对于这方面的硬件设计想必又是一个大难题。



    往期回顾:

    1.汽车标定精选
    汽车标定技术--标定概念详解
    汽车标定技术--Bypass的前世今生
    万字长文:汽车标定技术--XCP概述

    2.AUTOSAR精选
    AUTOSAR CryptoStack--CSM Job夹带了哪些私货
    AUTOSAR 诊断栈分析(一)
    AUTOSAR OS概述(一)

    3.汽车网络安全精选
    汽车信息安全--MCU启动常用密码算法
    汽车网络安全方案需求分析
    汽车信息安全--常见车规MCU安全启动方案
    车载信息安全场景概述

    4.汽车功能安全精选

    5.汽车虚拟化精选

        汽车ECU虚拟化技术初探(一)

        汽车ECU虚拟化技术(二)--U2A虚拟化功能

    6.杂七杂八

        Flash模拟EEPROM原理浅析

        征途漫漫:汽车MCU的国产替代往事

        车规MCU应用场景及国产替代进展

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 22-12-2024 11:52 , Processed in 0.295414 second(s), 30 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.