汽车标定技术(八)--MPC57xx是如何支持标定的页切换

news2024/10/6 0:28:56

目录

1.页切换的概念

1.1 标定常量的理解

1.2 页切换

2.MPC57xx的Overlay模块

3.小结


1.页切换的概念

        在汽车标定测量中,有一个概念我想很多人都听过,但是实际上在项目里没有用到过,那就是今天要讲的页切换概念。在讲页切换的时候,我们先来理解Flash和RAM中的标定参数。

1.1 标定常量的理解

         在写代码时, 通常我们对常量数据都会增加const类型,如下

const uint8 calibration_1 = 10;

        编译后,calibration_1会存放在Flash的某个区域,我们可以通过hex和map去地址找到。 

        但实际上,标定参数对于ECU本身来说应该是常数,但是对于标定人员来说,它是可变的。如果标定人员直接通过map地址去修改值,那就会直接跑飞;如果通过擦除flash、写flash的方式进行标定,一是速度很慢,二是Flash不能按byte擦除。所以这就出现了在线标定的矛盾,既要快,还要方便。

        有朋友可能会说,那我用EEPROM或者EEPROM emulation来做呀,也没问题,成本上去了,手撸Fee,慢慢调bug也是可以的。

        为此,我们为了方便快速修改标定量,如果能把标定量存放到Flash,但加载到RAM运行,意味着CPU每次都到RAM中去取标定量的值,这个问题不久解决了吗?

#pragma section "cal_Ram"
const volatile uint8 calibraion_1 = 10;

        链接文件修改为:

.cal_ram:
{
    ...
} > WP_CAL AT > RP_CAL

        意味着存放在RP_CAL这个Section里,实际运行在RAM,因此编译出来的地址为RAM地址。

        上电启动时,把RP_CAL这里面的数据copy至WP_CAL即可。(后面单独出一篇说一下不同链接文件、标识符对于标定量地址的影响)

1.2 页切换

      有了上述概念,我们在标定测量系统中经常看到的WP/RP,即Working Page和Reference Page,在ECU对应的外设分别是RAM和Flash,如下:

        通常ECU是去FLASH获取常数的数据。但对于应用程序将数据复制到RAM中以便工具对其进行标定ECU可以在RAM和FLASH之间随时切换,从而可以通过切换到安全的FLASH数据以随时纠正由于标定疏忽而可能出现的临界状态。

        注意理解上面这句话,这表示ECU或者说是CPU对于某一个标定参数的访问地址可以随时通过页切换的指令来进行切换。这就有点神奇了,按理说一个常量经过链接文件编译出来出后的地址是固定的,CPU也只会根据这个地址去获取数据,那么这个页切换到底是如何做到的呢?

        我们换个思路,既然CPU只会根据map文件定义的地址去获取标定数值,页切换的时候就是保证Flash值和RAM值的来回切换,这还不简单么,实现a(RAM)\b(Flash)互换,那就是 t = a,a = b,t一直保存,用于从RP切换到WP。

        但这问题就来了,一旦WP很大,例如32K,copy的过程会比较耗费资源,且速度很慢,所以有些供应商页切换基本就没有做,毕竟上位机切到RP的时候自动变灰嘛,标不了,哈哈哈,但没法实现快速切到Flash参数。

        所以我们就要来看看从芯片硬件层面有没有什么机制来快速实现切换呢?答案是有的,参考汽车标定技术(七)--英飞凌TC3xx_Overlay实现页切换-CSDN博客

2.MPC57xx的Overlay模块

        除了英飞凌,NXP的MPC57系列同样也实现了overlay,但与英飞凌不一样的是,NXP的overlay实现在Flash/SRAM controller这一层,英飞凌在CPU这一层。我们具体来看。

        首先是overlay系统框图:

        CPU 发出的读访问通过AXBS传入到SRAM或者Flash controller;在标定期间,可以通过修改controller的overlay寄存器来改变路径。

        以CPU访问Flash某个常量为例,路径为:CPU -> AXBS -> FMC -> Flash;如果此时overlay功能打开,那么路径就变为了 CPU->AXBS-> FMC->SRC->SRAM。可以看到,CPU的地址总线和数据总线路径仍然是朝Flash去的,但在FMC这里被转到了SRAM。

        那么通过这个机制,就可以实现快速页切换;在WP时,打开overlay功能,这是访问的是RAM,可以随便进行修改,切换到RP时,关闭overlay功能,这时候就访问Flash了,同时upload到上位机,显示的也是Flash里的值,完美。伪代码如下:

if (WP == switchTarget)
{
    /* Enable Overlay */
}
else
{
    /* Disable Overlay */
}

3.小结

        从上文,我们了解到页切换的本质,以及为什么要使用一个Flash和RAM对应的标定区域,分析了MPC57xx是如何实现overlay机制的基本原理。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1189246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自考改革过渡期!广东小自考最优解只需要2门笔试

图片来源:广东省考试院* 近期广东教育考试院公布了自考专业调整的相关通知,新的专业考试计划从2026年1月起执行。 这次改革过渡期中有一个重大利好消息,小自考专业笔试统考科目最少只需考2门笔试! 这是为什么呢? 小…

蓝牙安全管理(SM:Security Manager)规范详解

总述 配对(Pairing)分为三个阶段,前两个阶段是必须的,而第三阶段是可选的,三个阶段如下: 阶段1:配对功能交换(Pairing Feature Exchange) 阶段2(LE传统配对 LE legacy pairing):短期密钥(STK:Short Term…

阿里巴巴国际站为什么凉了?数字一体化方案崛起!

随着全球化和数字化的浪潮不断涌现,跨境电商市场一直以惊人的速度增长。中国作为主要的出口和进口市场之一,成为跨境贸易的重要参与者。然而,近年来,阿里巴巴国际站似乎面临了一些挑战,同时数字一体化方案崭露头角&…

FallO’ween 活动:元宇宙中秋天与万圣节的邂逅

秋风徐徐,万圣节已经来临!还有什么比沉浸在 FallOween 的世界更好的方式来庆祝这个“恐怖“的季节呢?这项全新的季节性活动将于 10 月 30 日推出,将秋季的迷人气息与万圣节的怪异魅力融为一体,为大家带来为期 30 天的冒…

初识Java 17-4 反射

本笔记参考自: 《On Java 中文版》 接口和类型信息 interface关键字的一个重要目标就是允许程序员隔离组件,减少耦合。但我们可以通过类型信息来绕过接口的隔离,这使得接口不一定能够保证解耦。 为了演示这一实现,我们需要先创建一…

LabVIEW调用库函数节点无法显示DLL中的函数

LabVIEW调用库函数节点无法显示DLL中的函数 正在使用调用库函数节点来调用一个DLL文件。可是,当浏览该DLL时,却无法在Function Name下拉菜单中选择任何函数。为什么所有的DLL函数都无法选中呢? 解答: 调用的DLL可能是通过.NET封装的&#x…

1.77亿美元,安世被迫出售晶圆大厂NWF | 百能云芯

11月9日消息,安世半导体(Nexperia)与纽交所上市公司威世(Vishay)签署协议,作价1.77亿美元出售英国Newport Wafer Fab(以下简称NWF)的母公司NEPTUNE 6 LIMITED(以下简称“…

kubectl 资源管理命令-陈述式

目录 一、kubectl陈述式资源管理: 二、kubectl陈述式对象管理: 1.基础命令使用: 1.1 帮助手册: 1.2 查看版本信息: ​编辑 1.3 查看资源对象简写: 1.4 查看集群信息: 1.5 配置kubectl自动补全: 1.6 node节点查看日志…

使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问

文章目录 1.前言2. Net2FTP网站搭建2.1. Net2FTP下载和安装2.2. Net2FTP网页测试 3. cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人…

【LeetCode百道热题】1.两数之和

一,题目描述 给定一个整数数组nums和一个整数目标值target,请你在改数组中找出和为目标值target的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案,但是,数组中同一个元素在答案里不能重复出现…

Win10 180天后怎么才能继续体验,自动保持续期,无需手动JH

环境: Win10 专业版 自制小程序 问题描述: Win10 180天后怎么才能继续体验,自动保持续期,无需手动JH 解决方案: 在执行本程序前需要以管理员身份运行!关闭杀毒软件,否则会失败,本方案只能在个人电脑测试体验, 只能用于学习测试体验 ,勿用与商业行为 1.先完全JH…

RFID电力资产全周期智能化管理应用解决方案

电力行业需求 国家电网提出了建设“泛在电力物联网”的计划,旨在利用现代信息技术和先进通信技术,实现电力系统各环节的万物互联,构建一个具备全面感知、高效处理和便捷灵活特征的智慧服务系统,其中,重点方向之一是围…

深眸科技聚焦3D机器视觉技术,从技术形态到应用前景实现详细分析

机器视觉技术的不断升级,使得对二维图像的处理逐渐扩展到了更复杂的三维领域,形成了3D机器视觉。3D机器视觉是机器视觉的重要应用领域之一,通过计算机能够在短时间内处理视觉传感器采集的图像信号,从而获得目标对象的三维信息。 …

2023云栖大会,Salesforce终敲开中国CRM市场

2015年被视为中国CRM SaaS元年,众多CRM SaaS创业公司和厂商在Salesforce的榜样作用下涌入了CRM SaaS赛道。在全球市场,Salesforce是CRM SaaS领域的领导厂商,连续多年占据了全球CRM SaaS第一大厂商地位。然而,Salesforce作为业务类…

22款奔驰GLS450升级HUD抬头显示简洁的展示

说起HUD抬头显示这个配置,最初是用在战斗机上的,它可以让战斗机驾驶员读取飞机的各种信息和状态,而无需移动头部,这样就能够有效的提高效率。但随着汽车技术的进步HUD这种配置也逐渐下放到民用车上。发展到今,车上的抬…

Day45 力扣动态规划 : 1143.最长公共子序列 |1035.不相交的线 | 53. 最大子序和

Day45 力扣动态规划 : 1143.最长公共子序列 |1035.不相交的线 | 53. 最大子序和 1143.最长公共子序列第一印象看完题解的思路实现中的困难感悟代码 1035.不相交的线第一印象感悟代码 53. 最大子序和第一印象dp递推公式初始化遍历顺序 实现中的困难感悟代…

面试分享 | 护网蓝队面试经验

关于蓝队面试经验 1.自我介绍能力 重要性 为什么将自我介绍能力放在第一位,实际上自我介绍才是面试中最重要的一点,因为护网面试并没有确定的题目,让面试官去提问 更多是的和面试官的一种 “交谈” ,面试的难易程度也自然就取决…

C++ —— map 和 multimap

一、map 1.介绍 1. map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元 素。 2. 在map中,键值key通常用于排序和惟一地标识元素,而值value中存储与此键值key关联的内容。键值key和值value的类型可能不同&am…

二十、泛型(5)

本章概要 边界通配符 编译器有多聪明逆变无界通配符捕获转换 边界 边界(bounds)在本章的前面进行了简要介绍。边界允许我们对泛型使用的参数类型施加约束。尽管这可以强制执行有关应用了泛型类型的规则,但潜在的更重要的效果是我们可以在…

获取AAC音频的ADTS固定头部信息

文章目录 前言一、AAC音频中的ADTS二、解析ADTS信息1.标准文档中介绍2.解析3.采样率索引和值4.下载AAC标准文档 前言 调试嵌入式设备中播放aac音频的过程中,了解了aac音频格式,记录在此,防止遗忘。 一、AAC音频中的ADTS ADTS(Audi…