汽车标定技术(十)--从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从开发到量产再到售后所有环节,并且都有不同的硬件适配,只是我们应用人员在使用时没有发现而已。

相关推荐
samLi06201 天前
中国新能源汽车&公共充电桩数据合集(2002-2023年)
汽车
怿星科技1 天前
怿星科技联合赛力斯举办workshop活动,进一步推动双方合作
汽车
TSINGSEE1 天前
新能源汽车充电需求攀升,智慧移动充电服务有哪些实际应用场景?
汽车
CASAIM1 天前
模具制造之三维扫描和逆向建模
目标检测·3d·汽车·制造
百感水佩1 天前
NOTEBOOK_11 汽车电子设备分享(工作经验)
汽车
开源网安2 天前
安徽移动携手开源网安亮相2024中国国际车联网技术大会,共筑车联网安全新壁垒
物联网·安全·汽车·车联网
Q_19284999062 天前
基于Spring Boot的新能源汽车个性化推荐系统
spring boot·后端·汽车
高工智能汽车2 天前
踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发
人工智能·机器人·汽车
Qingniu012 天前
汽车气候控制传感器
人工智能·科技·单片机·嵌入式硬件·汽车·电脑·散热风扇
矽睿半导老谢2 天前
霍尔传感器在汽车车门把手上的应用
人工智能·科技·嵌入式硬件·汽车·智能硬件