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

相关推荐
哔哥哔特商务网14 小时前
一文探究48V新型电气架构下的汽车连接器
架构·汽车
电子科技圈16 小时前
IAR与鸿轩科技共同推进汽车未来
科技·嵌入式硬件·mcu·汽车
思尔芯S2C1 天前
面向未来的智能视觉参考设计与汽车架构,思尔芯提供基于Arm技术的创新方案
arm开发·架构·汽车·iot·fpga原型验证·prototyping·智慧视觉
IT生活课堂1 天前
Android智能座舱,视频播放场景,通过多指滑屏退回桌面,闪屏问题的另一种解法
android·智能手机·汽车
EasyCVR2 天前
ISUP协议视频平台EasyCVR私有化视频平台新能源汽车充电停车管理方案的创新与实践
大数据·网络·汽车·音视频·h.265·h.264
说书客啊2 天前
计算机毕业设计 | SpringBoot+vue汽车资讯网站 汽车购买咨询管理系统(附源码+论文)
java·spring boot·node.js·vue·汽车·毕业设计·课程设计
shaoweijava2 天前
靓车汽车销售网站(源码+数据库+报告)
java·数据库·spring boot·mysql·汽车
上海知从科技2 天前
知从科技加入SOAFEE组织,携手推动汽车软件创新
科技·汽车
青牛科技-Allen2 天前
【青牛科技】汽车收音机调频中频放大器——D1145
人工智能·科技·单片机·嵌入式硬件·汽车·充电桩·对讲机
《源码好优多》2 天前
基于Java Springboot汽车4s店管理系统
java·spring boot·汽车