XCP的主要應(yīng)用于測(cè)量和標(biāo)定ECU內(nèi)部參數(shù)。此協(xié)議能夠使數(shù)據(jù)采集工作與ECU內(nèi)部運(yùn)行的任務(wù)和中斷同步,從而保證每當(dāng)ECU軟件更新參數(shù)時(shí),能快速采集到所需的參數(shù)值。
根據(jù)標(biāo)定數(shù)據(jù)要實(shí)現(xiàn)掉電存儲(chǔ)的要求,需要為RAM中的標(biāo)定參數(shù)建立一個(gè)RAM-EEPROM的關(guān)聯(lián)列表。
列表中的具體元素為:EEPROM地址(相對(duì)于起始地址的偏移量)、RAM地址(標(biāo)定參數(shù)在ECU中的地址,“&+變量名”的形式可直接獲得)、標(biāo)定參數(shù)的長度和標(biāo)定參數(shù)的數(shù)據(jù)類型。
數(shù)據(jù)標(biāo)定任務(wù)可細(xì)分為三部分。上電標(biāo)定參數(shù)更新讀入、上位機(jī)對(duì)ECU中RAM地址的直接標(biāo)定和運(yùn)行過程中RAM-EEPROM參數(shù)關(guān)聯(lián)列表的更新。
上電時(shí),標(biāo)定參數(shù)處于初始化狀態(tài),其參數(shù)直接來源于程序燒寫完成時(shí)的數(shù)值。斷電之前標(biāo)定的參數(shù)需要更新到RAM中才能保證之后運(yùn)行的參數(shù)值是上次標(biāo)定后的數(shù)值。
因此數(shù)據(jù)更新時(shí),將EEPROM中的存儲(chǔ)值直接讀出更新到RAM中即可。
但若標(biāo)定參數(shù)都未被標(biāo)定過,則不需要標(biāo)定參數(shù)的讀出更新。如下圖所示,處理的方法是在數(shù)據(jù)讀出更新之前,讀出EEPROM特定位置的標(biāo)定更新標(biāo)志位,若標(biāo)定更新標(biāo)志不存在,則不需要將數(shù)據(jù)讀出更新到RAM。
該任務(wù)在主函數(shù)初始化處被調(diào)用一次。
上位機(jī)對(duì)ECU中RAM地址的直接標(biāo)定主要是在CCP命令指導(dǎo)下完成的。
數(shù)據(jù)在RAM中標(biāo)定更新后可滿足正常的控制運(yùn)行,但數(shù)據(jù)仍需要更新到對(duì)應(yīng)的EEPROM中才可實(shí)現(xiàn)掉電存儲(chǔ)。如下圖所示,在主函數(shù)中查詢更新EEPROM標(biāo)志位,以判斷是否需要更新數(shù)據(jù)到EEPROM。
在數(shù)據(jù)更新到EEPROM之前,向EEPROM的特定地址處寫入一個(gè)標(biāo)志,表示有數(shù)據(jù)更新到EEPROM,以方便下次上電時(shí)辨別標(biāo)志讀取最新的標(biāo)定數(shù)據(jù)。
讀入RAM-EEPROM關(guān)聯(lián)列表的信息,將地址偏移、數(shù)據(jù)類型、數(shù)據(jù)長度、數(shù)據(jù)值寫入緩存,置寫EEPROM中斷標(biāo)志,在中斷函數(shù)中完成數(shù)據(jù)更新EEPROM的操作。
整個(gè)任務(wù)在主函數(shù)中被調(diào)用,設(shè)定任務(wù)時(shí)間為100ms,減少不必要更新查詢
??
審核編輯:劉清
-
RAM
+關(guān)注
關(guān)注
8文章
1369瀏覽量
115070 -
EEPROM
+關(guān)注
關(guān)注
9文章
1033瀏覽量
82016 -
ecu
+關(guān)注
關(guān)注
14文章
893瀏覽量
54795 -
CCP
+關(guān)注
關(guān)注
0文章
21瀏覽量
11273
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
請(qǐng)問做反射式血氧飽和度測(cè)量時(shí)如何進(jìn)行標(biāo)定呢?
XCP之A2L文件簡(jiǎn)介
![<b class='flag-5'>XCP</b>之A2L文件簡(jiǎn)介](https://file1.elecfans.com/web1/M00/F4/F6/wKgaoWc0HFKAMf2kAAAXEos0M5Q607.png)
ECU和OBD的區(qū)別
ecu電子控制器內(nèi)部故障怎么解決
傳感器靜態(tài)標(biāo)定的主要步驟是什么
基于CW32的儀表精度測(cè)量實(shí)現(xiàn)(三):標(biāo)定與校準(zhǔn)
![基于CW32的儀表精度<b class='flag-5'>測(cè)量</b>實(shí)現(xiàn)(三):<b class='flag-5'>標(biāo)定</b>與校準(zhǔn)](https://file1.elecfans.com//web2/M00/04/BF/wKgZombRpWeAaSMEAABpnBq-Jys92.webp)
磁珠的參數(shù)怎樣測(cè)量好壞
請(qǐng)問ESP32如何實(shí)現(xiàn)Flash到ram重映射這種功能呢?
頻譜儀可以測(cè)量哪些參數(shù)及參數(shù)定義
國產(chǎn)模數(shù)轉(zhuǎn)換器替代AD7193應(yīng)用于流量測(cè)量
![國產(chǎn)模數(shù)轉(zhuǎn)換器替代AD7193<b class='flag-5'>應(yīng)用于</b>流量<b class='flag-5'>測(cè)量</b>](https://file1.elecfans.com/web2/M00/EA/8F/wKgZomZZLhWAZMihAABiukG4F68726.png)
評(píng)論