0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据标定内容的存储和读取

jf_C6sANWk1 来源:阿宝1990 作者:阿宝1990 2022-11-11 09:17 次阅读

XCP的主要应用于测量和标定ECU内部参数。此协议能够使数据采集工作与ECU内部运行的任务和中断同步,从而保证每当ECU软件更新参数时,能快速采集到所需的参数值。根据标定数据要实现掉电存储的要求,需要为RAM中的标定参数建立一个RAM-EEPROM的关联列表。列表中的具体元素为:EEPROM地址(相对于起始地址的偏移量)、RAM地址(标定参数在ECU中的地址,“&+变量名”的形式可直接获得)、标定参数的长度和标定参数的数据类型。数据标定任务可细分为三部分。上电标定参数更新读入、上位机对ECU中RAM地址的直接标定和运行过程中RAM-EEPROM参数关联列表的更新。上电时,标定参数处于初始化状态,其参数直接来源于程序烧写完成时的数值。断电之前标定的参数需要更新到RAM中才能保证之后运行的参数值是上次标定后的数值。因此数据更新时,将EEPROM中的存储值直接读出更新到RAM中即可。但若标定参数都未被标定过,则不需要标定参数的读出更新。如下图所示,处理的方法是在数据读出更新之前,读出EEPROM特定位置的标定更新标志位,若标定更新标志不存在,则不需要将数据读出更新到RAM。该任务在主函数初始化处被调用一次。

e63deb74-615d-11ed-8abf-dac502259ad0.png




上位机对ECU中RAM地址的直接标定主要是在CCP命令指导下完成的。

数据在RAM中标定更新后可满足正常的控制运行,但数据仍需要更新到对应的EEPROM中才可实现掉电存储。如下图所示,在主函数中查询更新EEPROM标志位,以判断是否需要更新数据到EEPROM。在数据更新到EEPROM之前,向EEPROM的特定地址处写入一个标志,表示有数据更新到EEPROM,以方便下次上电时辨别标志读取最新的标定数据。读入RAM-EEPROM关联列表的信息,将地址偏移、数据类型、数据长度、数据值写入缓存,置写EEPROM中断标志,在中断函数中完成数据更新EEPROM的操作。整个任务在主函数中被调用,设定任务时间为100ms,减少不必要更新查询


e65db954-615d-11ed-8abf-dac502259ad0.png


审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6509

    浏览量

    87557
  • 存储
    +关注

    关注

    12

    文章

    3847

    浏览量

    84639
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1314

    浏览量

    113684

原文标题:数据标定内容的存储和读取

文章出处:【微信号:阿宝1990,微信公众号:阿宝1990】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32片上flash能否读取正在运行的代码段内容

    如题 小弟想请教下大家 STM32片上flash的读取问题。举个例子: 函数的功能是 读取片上flash 0x0800_1000~0x0800_2000的存储内容 函数
    发表于 04-16 07:22

    STM32F030 FLASH存储,第二次或者多次写入或者擦除的时候读取不到数据是为什么?

    最新在用STM32F030 因为没有外部存储设备,现在用的是芯片的FLASH来当存储,现在遇到的问题是刷一次程序后,第一次读取可以读取到,当第二次或者多次写入或者擦除的时候
    发表于 04-10 07:34

    labview读取三菱plc寄存器内容

    如何使用LabVIEW读取三菱PLC的寄存器内容,并提供一些实例代码和注意事项。 首先,我们需要了解PLC寄存器的基本概念。PLC寄存器是一种用于存储数据的内部变量,被用于传输和保存信
    的头像 发表于 12-27 16:31 658次阅读

    labview读取excel数据中的每个数据

    如何使用 LabVIEW 读取 Excel 数据,并对其中的每个数据进行处理。 Excel 是一种常用的电子表格软件,广泛用于数据存储和分析
    的头像 发表于 12-26 11:19 983次阅读

    AD5272的50 -tp存储器怎么读取

    如果按照资料里的:0x1419 0x0000 准备从存储器位置0x19读取数据。 0x2000 0x0100 准备从控制寄存器读取数据。SD
    发表于 12-06 06:04

    浅析传感器的外参标定和在线标定问题

    作为无人车以及智能机器人而言,在装配过程中各个传感器之间的外参标定一直是比较头疼的问题。这里作者也系统的学习了一下,传感器的外参标定和在线标定问题。
    发表于 11-20 15:45 363次阅读
    浅析传感器的外参<b class='flag-5'>标定</b>和在线<b class='flag-5'>标定</b>问题

    如何读取、修改嵌入式产品Flash中内容

    如何读取、修改嵌入式产品Flash中内容
    的头像 发表于 10-26 15:31 442次阅读
    如何<b class='flag-5'>读取</b>、修改嵌入式产品Flash中<b class='flag-5'>内容</b>?

    智能振弦传感器的读取工具——振弦采集仪

    等功能,可以嵌入传统振弦传感器的二根信号线中,与仪表连接,通过电信号切换隐含地线的作用,在不需要标定数据文档、计算标定系数和被测物理量的情况下,直接测量并显示压力、温度等物理量以及读取传感器编号。经过数百只智
    的头像 发表于 10-25 09:57 181次阅读
    智能振弦传感器的<b class='flag-5'>读取</b>工具——振弦采集仪

    FPGA在一个时钟周期可以读取多个RAM数据吗?

    FPGA在一个时钟周期可以读取多个RAM数据吗?如何理解FPGA中存放程序的RAM? FPGA在一个时钟周期可以读取多个RAM数据 FPGA中的RAM是FPGA中
    的头像 发表于 10-18 15:28 683次阅读

    对flash整块地址数据存储读取数据为什么要左对齐?

    对flash整块地址数据存储读取数据为什么要左对齐
    发表于 10-13 06:45

    什么是电机标定?电机标定的工作原理

    假设已经实现了电机控制,后续的电机标定大抵上分成两类,一类是效率标定,一类是外特性标定。前者目标是以提升在各工况下的系统效率。假设你了解交直轴变换,那么效率标定的目标,就是通过调整交直
    发表于 08-04 10:26 2548次阅读
    什么是电机<b class='flag-5'>标定</b>?电机<b class='flag-5'>标定</b>的工作原理

    张正友标定方法是手眼标定吗 如何分析相机标定参数的好坏

    张正友标定方法是一种经典的相机标定方法,目前是最受欢迎的方法之一。该方法通过一种机器学习的方法,利用大量匹配的数据点像素坐标、世界坐标,基于极大似然估计拟合得到一个最优解。
    发表于 08-03 10:59 728次阅读
    张正友<b class='flag-5'>标定</b>方法是手眼<b class='flag-5'>标定</b>吗 如何分析相机<b class='flag-5'>标定</b>参数的好坏

    自动驾驶为什么要传感器标定车辆

    在初期阶段,一般需要维护测试车辆的标定,支持一些特定的标定需求,比如没有车辆的古老数据标定,在标定间不完善的情况下快速
    发表于 07-28 15:24 354次阅读
    自动驾驶为什么要传感器<b class='flag-5'>标定</b>车辆

    MCP5674F如何读取或携带闪存中存储内容

    如上图所示,这是程序试图擦除内部闪存的代码,但问题是它已被正确擦除,无法证明它是可以正确编程的代码。 或者,如何读取或携带闪存中存储内容?未来我们计划通过串口通信接收数据
    发表于 05-19 06:01

    博途控制参数 REQ 启用地址数据读取

    过指令“GetSMCinfo”,可检索当前所插入 SIMATIC 存储卡的相关信息。通过参数“Mode”,可选择待读取的信息。 通过控制参数 REQ 启用地址数据读取。输出参数 Do
    的头像 发表于 05-17 09:26 1027次阅读
    博途控制参数 REQ 启用地址<b class='flag-5'>数据</b>的<b class='flag-5'>读取</b>