汽车标定技术(十)--从CPU角度观察Overlay实现原理

目录

1.问题引入

2.功能概述

[2.1 P1X 标定功能](#2.1 P1X 标定功能)

[2.2 MPC57xx标定功能](#2.2 MPC57xx标定功能)

[2.3 TC3xx标定功能](#2.3 TC3xx标定功能)

3.问题分析

[3.1 英飞凌CPU子系统猜想](#3.1 英飞凌CPU子系统猜想)

[3.2 ARM内核CPU子系统分析](#3.2 ARM内核CPU子系统分析)

4.小结


1.问题引入

在分析瑞萨RH850-P1x系列、NXP S32K3系列和英飞凌TC3xx系列对标定测量功能的实现时,发现了一个很有意思的事情:仅TC3xx明目张胆地将overlay写了出来,

  • P1x仅支持ED片子的标定功能;
  • S32K3系列没有找到相关描述(MPC57xx倒是有相关remap功能支持标定);
  • TC3xx明确写了有Overlay功能支持标定测量功能。

这就很奇妙了,明白overlay的原理之后,其实从使用者来说芯片要实现这个功能应该不难,但为啥NXP和瑞萨就不做呢?要知道标定测量(页切换)这个业务在ECU研发阶段还是非常重要的。

出于好奇,我详细去看了这几家实现方式。

2.功能概述

2.1 P1X 标定功能

瑞萨的这个标定功能仅在ED片子上面提供,该功能将Code Flash的部分内容(标定量等)搬到Emulation RAM,并启用该ERAM。PE去访问Flash实际上访问的是ERAM,这样就可以动态修改标定数据。

具体原理如下:

那就是说,如果我用PD的芯片,还是得走最原始XCP开发方法,即一块Flash区域对应一块RAM区域,使用链接文件修改标定量存储和加载地址,从而达到标定目的;使用RAM块替换的方式来实现页切换功能。

2.2 MPC57xx标定功能

MPC57xx这款芯片以前聊过,具体可见 汽车标定技术(八)--MPC57xx是如何支持标定的页切换-CSDN博客

值得注意的是,它也是在Flash/Sram controller这一层级进行的切换,并且没有使用Overlay这个字眼,采用Remap这种说法。

2.3 TC3xx标定功能

那么到了英飞凌TC3xx这块片子里呢,它很自豪地说了Overlay可以在程序运行时修改应用程序的存储在Flash中的测试数据和标定数据,

并且相比其他家的芯片,它可以重映射的区域有很多,例如Local RAM、Emulation Memory、CPU里的DPSR\PSPR等等。具体如下:

3.问题分析

问题就来了,为什么英飞凌可以做到这么多源地址和目标地址的overlay,其他家就有点困难呢?

我们先从标定测量的本质说起。

实际上,我理解的汽车控制器中标定测量功能本质上是对内部memory地址空间的访问,例如标定就是修改目标标定量在RAM里的数据、测量就是获取目标观测量在RAM的数据。

而谁来执行访问的动作?当然是CPU了。

所以我从CPU角度出发,来看看各家有什么不同。

3.1 英飞凌CPU子系统猜想

首先来看明确提供Overlay机制的英飞凌TC3xx,它的内核是TC1.6.2P TriCore,在芯片手册 CPU子系统章节5.3.9小节,我发现了Overlay机制的相关描述。就是说英飞凌上来就抓住了核心问题--从CPU的视角来处理对地址的访问。

值得一提的是,英飞凌不管是cacheable的地址还是non-cacheable的地址,均可以实现overlay功能,那么我可以大胆猜测一下,在TriCore这个核里面对于Flash访问的接口应该是一个双向接口,并且overlay模块是在发起访问的汇聚点,简易示例如下:

3.2 ARM内核CPU子系统分析

瑞萨由于是自研的RISC内核,并且没有CPU的overlay机制,这里就暂时不分析了,后面找到详细资料再说。

要分析的目前市面上卷的很厉害的国产芯片,是如何来实现overlay机制的。

要知道,目前有NXP背景的那几家芯片,基本都还是基于Cortex-M,稍微高端一点的是Cortex-R52;那么ARM内核的芯片可以做到像英飞凌这么丝滑的overlay机制吗?

我们还是从CPU结构分析,以M33为例,其处理器模型如下:

可以看到, 内核包含两个AHB接口与NIC总线连接,其中:

  • C-AHB:Code AHB
  • S-AHB:System AHB

在C-AHB下面做overlay模块,是否就可以达到目的呢?


那么继续来看最近很火的R52,其处理器模型如下:

可以看到,R52对Flash的访问有单独的Flash interface直连,对于RAM的访问需要通过AXIM接口。其中Flash interface为一个只读接口,那就意味着 store指令就不能从这个口子发出来了,overlay机制只能通过AXIM这条线出来,因此对于R52来说,仅有一个地址(即AXIM对应的Flash地址)能够支持overlay。

但是,我们再看图的右边,方框里赫然写的RAM Calibration。并且通过图上,我们可以看到,通过CoreSight相关寄存器,可以实现emulation和calibration。

这是不是和overlay机制差不多呢?目前我还没有找到相应资料佐证,看一下Stella怎么做的吧,哈哈

4.小结

以上内容,我们从CPU视角分析了主流汽车芯片对于标定测量功能的支持程度,其实很容易发现一些端倪,有背景或者合作方的芯片厂在设计芯片时会充分考虑汽车ECU从开发到量产再到售后所有环节,并且都有不同的硬件适配,只是我们应用人员在使用时没有发现而已。

相关推荐
虹科Pico汽车示波器3 小时前
汽车免拆诊断案例 | 2016款奔驰C200L车组合仪表上多个故障灯偶尔点亮
汽车·汽车示波器·can总线·汽修案例·波形诊断·通信总线·奔驰c200
天天爱吃肉821810 小时前
电动汽车域控制器:技术深度解析与未来趋势展望
汽车
aiden:)13 小时前
UML 状态图:以共享汽车系统状态图为例
汽车·软件工程·软件构建·uml
GXSC13 小时前
国芯思辰|可编程线性霍尔传感器AH820替换HAL825用于汽车涡轮增压
汽车
酷讯网络_24087016015 小时前
海外版高端Apple科技汽车共享投资理财系统
学习·游戏·开源·汽车
HiEV1 天前
激光雷达成为新时代「安全气囊」,禾赛推动智能车安全再进化
自动驾驶·汽车
虹科Pico汽车示波器1 天前
汽车免拆诊断案例 | 2013款大众辉腾车发动机抖动
汽车·汽车示波器·怠速抖动·发动机故障·汽修案例·喷油器·大众辉腾
一RTOS一2 天前
鸿道操作系统Type 1虚拟化:破局AI机器人与智能汽车的“安全”与“算力”双刃剑
人工智能·机器人·汽车·鸿道intewell操作系统·工业os
博一波3 天前
【汽车ECU电控数据管理篇】S19文件格式解析篇章
汽车