宋維群 楊世春 李 明 崔海港 曹耀光
(北京航空航天大學)
標定是指依據整車的各種性能要求(如動力性、經濟性、排放及輔助功能等)調整、優化和確定整車上各ECU的運行及控制參數的控制算法[1]。在實際的標定系統開發中,為實現軟硬件之間數據交換的兼容性,ASAM組織提出了標定診斷系統的3個層次[2]。其中,第1層為硬件交互層,定義標定系統與ECU交互功能及軟件實現的標準接口;第2層為標定系統的數據庫信息;第3層為標定系統的自動化實現。標定數據庫信息層用于定義和標識標定過程中的參數信息,其最終目標是建立標定過程中的數據庫體系。
本文分析了標定數據庫的基本功能和必要組件,提出并實現了符合ASAM數據庫信息層即符合ASAM-2MC標準的標定數據庫管理系統。
標定工程師的最終目標是對功能性代碼和MAP進行修改以實現和優化控制系統的最優運行狀況。實現該目標的最簡捷方式是對標定信息按類型和功能進行分類,此2種分類方式可滿足標定系統的基本功能。
本文提出的標定數據庫采用了ASAM-2MC標準中與控制相關的關鍵字[3]作為按類型進行分類的標準,如表1所列。

表1 ASAM-2MC標準中與控制相關的關鍵字
關鍵字CHARACTERISTIC定義了在標定過程中需要進行修改的變量,如VALUE(標定參數值)、CURVE(1 維 MAP)、MAP(2 維 MAP)等,這些變量在FLASH中的存儲方式以關鍵字RECORD_LAYOUT具體給出。
標定人員在標定過程中需要通過監測來確定發動機運行狀態的變量,在ASAM-2MC標準中采用關鍵字MEASUREMENT進行定義。
在ASAM-2MC標準中采用關鍵字COMPU_METHOD對變量真實物理值與ECU中數據存儲形式的相互轉化方式進行描述,該關鍵字必選。
對于功能性分類,ASAM-2MC標準提供了關鍵字GROUP,該功能類似計算機操作系統中的文件管理。標定人員可根據需要自定義某一控制功能的標定參數組,并分配涉及到的監測變量與標定變量。
項目開發的不同階段(系統設計、軟件編程、功能驗證等)對控制系統的功能有不同需求,控制系統的功能越復雜對標定系統的功能性要求就越多。任何對ECU控制代碼的修改都將引起相應的標定任務。對于控制代碼的自動化生成而言,標定數據庫應能自動更新標定數據的信息,以保證控制系統功能性代碼與數據的一致性。
標定數據庫的應用將使標定軟件在不同實例中的架構保持穩定,標定數據庫的標定數據輸入與輸出以特定的文件格式實現。ASAM-2MC標準采用*.a2l格式的文件來滿足標定過程中數據格式的一致性。基于*.a2l文件的格式,使用者可很容易地理解和修改標定系統的整體信息。標定數據采用符合ASAM-2MC標準的格式決定了必須采用符合ASAM其它標準的軟件接口。因此,本文在實現該標定數據庫的過程中,只使用了ASAM標準中與控制相關的關鍵字,軟件開發者可在此架構上依據相應的軟件接口自定義相應的關鍵字以實現特有的標定數據庫。
標定數據庫通常以控制系統的標定模塊為單元進行層次劃分。標定模塊的屬性應包括名稱、接口信息、參數集合與軟硬件通信接口等。標定模塊中各參數的具體信息是數據庫真正要管理的信息,因此相應的屬性描述也較詳細。標定人員提供的模塊參數描述性信息對應ASAM-2MC標準中的關鍵字COMMENT。為增加參數的可讀性并方便標定人員對其做出正確判斷,標定數據庫存儲標定變量與監測變量的物理單位并顯示,標定參數在ECU中的存儲數值與標定系統實際顯示的物理值之間的轉化法則以關鍵字COMPU_METHOD定義,標定參數在FLASH中存儲的具體方式由關鍵字RECORD_LAYOUT給出。
ASAM-2MC標準中提供了不同參數之間內部和外部的邏輯鏈接,如圖1所示。以關鍵字CHARACTERISTIC為例,依據標準中定義的參數存儲模板,“/begin CHARACTERISTIC”(圖 2) 關鍵字表明該參數為可標定參數,標定MAP圖對應屬性信息“MAP”,參數名稱為KF2,雙引號中的信息為參數信息的詳細描述,十六進制數0x14053表明該標定MAP圖在FLASH中的存儲單元首地址。_UBYTE標示該標定參數的具體存儲方式,其在數據庫中的邏輯關系如圖2中的連線所示。標定系統根據標定參數的首地址和具體存儲信息可準確定位該MAP中所有變量在FCASH中的位置,為標定過程提供所有必要的信息。NO_FORMULA標示標定參數的轉換方式,標定數據庫中對該信息的描述由關鍵字COMPU_METHOD屬性記錄。ASAM-2MCD標準通過嵌套標示關鍵字AXIS_DESCR實現對MAP圖獨立坐標軸信息的描述。示例中的MAP圖與其它MAP圖共享同一坐標軸,因此數據庫在進行信息處理時,可根據該MAP圖所關聯坐標軸的名稱(唯一標示)查找相應的信息提供給標定系統使用。
利用Visual C++6.0作為開發工具,在Windows XP系統平臺上實現了標定數據庫系統。VC++6.0是微軟公司提供的Windows操作系統的C++接口,其中包含對API函數的分類模塊MFC,本文采用該編程環境以節省開發時間,并且能夠較容易地實現與其它標定系統之間的數據接口。
ASAM-2MC標準中定義了142個關鍵字以描述在標定過程中需要的信息,其中大部分關鍵字可以嵌套使用,以表達標定參數之間的邏輯關系[3]。因為基于ASAM-2MC標準的*.a2l文件解析過程比較復雜,所以需要使用自定義的后進先出的數據結構承接相應關鍵字與嵌套關鍵字信息,其解析流程如圖3所示。在實際編程過程中,可通過VC++中提供的集合來模擬后進先出的數據結構。
采用某公司的標定數據庫描述文件al00.a2l進行標定數據庫系統的功能性驗證。al00.a2l文件基于ASAM-2MC標準,對其正確的解析能夠對所開發的標定數據庫系統功能的完整性與可靠性進行驗證,驗證結果如圖4所示。
圖4左側樹形圖中的Functional子項目對應標定數據庫的功能性分類,右側視圖顯示相關的參數信息。以加速踏板標定任務組(accped)為例,數據庫管理系統右側視圖顯示該標定任務組中的參數信息,包括加速踏板開度(AccPed_rChkdVal)、發動機平均轉速(Eng_nAvrg)和車速當前值(VSSCD_v)等3項監測參數信息,以及發動機轉速閾值(AccPed_nLim_C)、低怠速狀態加速踏板開度錯誤數據替代值(AccPed_nErr_C)等多項標定參數,另外還包括動力總成加速踏板標定MAP圖(AccPed_trqEng_MAP)和高級動力總成加速踏板標定MAP 圖(AccPed_trqPrp_MAP)等。
動力總成加速踏板標定MAP圖在ECU中的存儲首地址為0x1CFA9E,相應的數據存儲結構定義于Record layout屬性Kf_Xs16_Ys16_Ws16信息中,其中X軸、Y軸和MAP圖數據依次順序存在于ECU的FLASH中。數據庫提供MAP數據的物理顯示單位(N·m),相應的物理數值顯示范圍為該標定數據的變化極限。
加速踏板標定MAP圖采用獨立X坐標軸和獨立Y坐標軸。標定工程師可選擇相應的坐標軸并快速對其進行修改。圖4中所示的X坐標軸為標準坐標軸(STD_AXIS),輸入參數為監測變量發動機平均轉速(Eng_nAvrg)。對標定任務組標定參數或MAP圖信息的修改可直接通過編輯對話框實現,對關聯獨立坐標軸的MAP圖可直接通過選擇相應的坐標軸信息實現。
功能性驗證表明,所開發的標定數據庫管理系統可正確讀入和輸出該公司標定數據庫所有項目實體,并成功對其按照標定參數類別與功能進行分類,提供與標定系統的數據接口,實現了標定參數可視化分析與修改。
傳統的標定軟件編程需要開發者輸入必要的標定參數信息,這些工作將耗費大量的時間與精力,并且使用者在不了解標定軟件架構的情況下無法對標定數據的信息進行添加和修改。而應用標定數據庫可以使標定數據與標定數據信息相分離,并可采用可視化的方式對標定參數的各項信息進行處理。
1 李計融,鐘再敏.車載控制器匹配標定ASAP標準綜述.汽車技術,2004(10):1~4.
2 ASAM MCD-2MC Measurement and Calibration Data Specification Version 1.6:ASAM e.V., 2009-2-1.
3 湯莎莎.基于CCP協議的通用發動機標定系統研究:[學位論文].江蘇:江蘇大學,2007.