ASAP2標準規定瞭ECU內部數據單元的描述規范,即A2L數據庫文件(簡稱為A2L文件)。
標定系統在對ECU內部數據單元進行測量和標定時,所需的通信配置參數及變量基本信息等都要從A2L文件中獲取。
A2L文件是標定系統一切功能的基礎。A2L文件記錄瞭標定系統與ECU通信的配置參數和ECU內部數據單元的詳細信息。
matlab在編譯生成A2L前,並不知道A2L變量的地址,這樣就需要在後期將變量的地址添加進去。
基於matlab的工具鏈一般的過程為:模型編譯生成C代碼和不帶地址的A2L,然後調用編譯器生成目標文件,如hex/elf/map等,最後從map或者elf文件中將變量更新到A2L中。
所謂測量,是指監測ECU處於在線運行時的某個參數,以此判斷ECU的工作狀況。
所謂標定,是指通過標定系統在線修改ECU中的某些參數的值,以觀察不同參數值對運行結果的影響,優化控制參數。
標定系統在對ECU內部數據單元進行測量和標定時,必須從符合ASAP2標準的A2L文件中獲取到ECU內部數據單元的內存地址、數據類型和字節順序等等信息。
其中ASAP3是應用系統,即測試、標定、診斷系統到自動化系統的接口規范。
ASAP2又稱為ASAP描述文件,是電子控制單元內部數據描述文件的規范。
ASAP1是電子控制單元ECU到MCD系統的接口規范, ASAPL1又可以細分為ASAP1a和 Asap1b。
ASAP1a是到ECU端的數據通信的物理及邏輯接口規范,包括通過CAN總線對ECU進行標定的協議規范。
ASAP1b接口包括一個符合ASAP標準的驅動程序、硬件接口及電子控制單元,因此 ASAPLB接口規范保證瞭MCD與ECU之間的通信不受所選通信媒介及不同FCU供應商的限制。
一種是從elf文件中提取地址,然後將地址填寫到A2L相對應的位置。
一種是從MAP文件中提起地址,然後更新到A2L的對應位置。
這兩種方法各有其優缺點。
從ELF文件更新地址的方法教為簡單,通過調用MATLAB自帶的函數rtw.asap2SetAddress(ASAP2File,InfoFile),輸入A2L文件和elf文件名即可得到更新地址後的A2L。缺點是ELF文件不是文本文件,不能看到其內容,很難檢驗地址更新的正確性。
用MAP文件更新地址的方法教為復雜,其通過調用matlabroot/toolbox/rtw/targets/asap2/asap2/asap2post.m文件來更新地址。但是需要手動更改該文件的內容,使其符合對應你MAP的格式(每種編譯器生成的MAP文件格式不一樣)。
Generate single A2L file for model by merging A2L files generated for top model and referenced models。
[status, info] = rtw.asap2MergeMdlRefs(TopModel, FileName)
generates a single A2L file for TopModel by merging the A2L files of the top model and referenced models, saving the single A2L file as FileName.a2l.
TopModel —Name of the model.— Model containing referenced models
FileName — Custom name for the A2L file
status—Outputs the status of the A2L file merge. 0 indicate that the A2L file merge was successful and 1 indicates it was not.
info — warning message on skipped objects
% merge A2L files into single A2L file and save with custom name
[status, info] = rtw.asap2MergeMdlRefs('modelName','modelasap.a2l')
(報告出品方/作者:開源證券,諸海濱,趙昊)1、公司情況:深耕智能終端產品,2021年營收上漲39%1.1、發展歷程:成立於2011...