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文章
7134瀏覽量
89471 -
存儲
+關注
關注
13文章
4353瀏覽量
86113 -
RAM
+關注
關注
8文章
1369瀏覽量
114933
原文標題:數據標定內容的存儲和讀取
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論