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

    文章

    6876

    浏览量

    88810
  • 存储
    +关注

    关注

    13

    文章

    4260

    浏览量

    85655
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1367

    浏览量

    114518

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

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

收藏 人收藏

    评论

    相关推荐

    ADS8555使用并行数据模式,是否可以读取控制寄存器的内容数据

    我使用并行数据模式,是否可以读取控制寄存器的内容数据
    发表于 11-14 06:28

    传感器静态标定的主要步骤是什么

    传感器静态标定的主要步骤通常包括以下几个方面: 一、准备阶段 确定标定范围 :首先,需要明确传感器的全量程(即测量范围),这是标定工作的基础。 准备标准设备 :利用标准仪器或设备产生已知的非电量(如
    的头像 发表于 09-19 17:02 921次阅读

    基于CW32的仪表精度测量实现(三):标定与校准

    标定的概念 标定是一种校准过程,它通过与已知的标准或参考值进行比较来确保测量设备、仪器或系统的准确性和可靠性。这个过程涉及调整设备,以消除系统误差和提高测量结果与真实值的一致性,从而确保数据的精确度
    的头像 发表于 09-02 10:07 290次阅读
    基于CW32的仪表精度测量实现(三):<b class='flag-5'>标定</b>与校准

    esp8266读取模拟数据并记录到eeprom,发送tcp包时无法读取模拟如何解决?

    嗨,esp8266 读取模拟数据并记录到 eeprom,我正在将存储在 eeprom 中的数据作为 tcp 包发送,但在发送 tcp 包时无法读取
    发表于 07-11 07:22

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

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

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

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

    普冉半导体“数据读取控制方法与电路”专利公开,性能提升

    该项专利主要涉及数据读取处理领域,其内容包括对读取指令中的起始低位地址值进行初始测量,若其达到最大值,则在规定时间内采用第一周期数的方式进行数据
    的头像 发表于 03-29 09:31 329次阅读
    普冉半导体“<b class='flag-5'>数据</b><b class='flag-5'>读取</b>控制方法与电路”专利公开,性能提升

    从SDCard文件中读取数据时遇到的错误怎么解决?

    文件系统正在运行 ************* SD 卡上的 emFile FAT 文件系统和 QSPI NOR Flash ********* 使用 SD 卡作为存储设备 卷大小:7555072 KB
    发表于 01-30 06:56

    TC275如何设置XCP的标定数据区,使得数据擦除时不会影响应用程序的运行?

    使用TC275芯片,其中DFLASH用作模拟EEPROM,PFLASH0和PFLASH1都会运行应用程序,请问如何设置XCP的标定数据区,使得数据擦除时,不会影响应用程序的运行
    发表于 01-25 06:11

    服务器数据恢复—EVA存储数据恢复案例

    服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都可以正常读取数据
    的头像 发表于 01-23 13:53 415次阅读

    labview visa读取数据越来越慢

    实际上,LabVIEW通过VISA(Virtual Instrument Software Architecture)来与仪器通信。但是,有时候在使用VISA读取数据时,可能会遇到读取速度变慢
    的头像 发表于 01-08 10:00 2926次阅读

    labview读取三菱plc寄存器内容

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

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

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

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

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

    采集激光雷达和相机的初始标定数据

    包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。 本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点
    的头像 发表于 11-28 11:09 521次阅读
    采集激光雷达和相机的初始<b class='flag-5'>标定数据</b>