XCP的主要应用于测量和标定ECU内部参数。此协议能够使数据采集工作与ECU内部运行的任务和中断同步,从而保证每当ECU软件更新参数时,能快速采集到所需的参数值。根据标定数据要实现掉电存储的要求,需要为RAM中的标定参数建立一个RAM-EEPROM的关联列表。列表中的具体元素为:EEPROM地址(相对于起始地址的偏移量)、RAM地址(标定参数在ECU中的地址,“&+变量名”的形式可直接获得)、标定参数的长度和标定参数的数据类型。数据标定任务可细分为三部分。上电标定参数更新读入、上位机对ECU中RAM地址的直接标定和运行过程中RAM-EEPROM参数关联列表的更新。上电时,标定参数处于初始化状态,其参数直接来源于程序烧写完成时的数值。断电之前标定的参数需要更新到RAM中才能保证之后运行的参数值是上次标定后的数值。因此数据更新时,将EEPROM中的存储值直接读出更新到RAM中即可。但若标定参数都未被标定过,则不需要标定参数的读出更新。如下图所示,处理的方法是在数据读出更新之前,读出EEPROM特定位置的标定更新标志位,若标定更新标志不存在,则不需要将数据读出更新到RAM。该任务在主函数初始化处被调用一次。
上位机对ECU中RAM地址的直接标定主要是在CCP命令指导下完成的。
数据在RAM中标定更新后可满足正常的控制运行,但数据仍需要更新到对应的EEPROM中才可实现掉电存储。如下图所示,在主函数中查询更新EEPROM标志位,以判断是否需要更新数据到EEPROM。在数据更新到EEPROM之前,向EEPROM的特定地址处写入一个标志,表示有数据更新到EEPROM,以方便下次上电时辨别标志读取最新的标定数据。读入RAM-EEPROM关联列表的信息,将地址偏移、数据类型、数据长度、数据值写入缓存,置写EEPROM中断标志,在中断函数中完成数据更新EEPROM的操作。整个任务在主函数中被调用,设定任务时间为100ms,减少不必要更新查询
审核编辑 :李倩
-
数据
+关注
关注
8文章
6876浏览量
88810 -
存储
+关注
关注
13文章
4260浏览量
85655 -
RAM
+关注
关注
8文章
1367浏览量
114518
原文标题:数据标定内容的存储和读取
文章出处:【微信号:阿宝1990,微信公众号:阿宝1990】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论