張成偉,龔元明
(上海工程技術(shù)大學(xué) 汽車工程學(xué)院,上海 201620)
隨著發(fā)動機電控技術(shù)的發(fā)展,發(fā)動機匹配標定已成為發(fā)動機管理系統(tǒng)開發(fā)不可缺少的重要環(huán)節(jié),發(fā)動機電子控制單元是發(fā)動機管理系統(tǒng)的核心,在發(fā)動機管理系統(tǒng)的開發(fā)中,有一系列MAP圖參數(shù),需要在匹配標定過程中確定,有了這些MAP圖參數(shù),發(fā)動機才能滿足動力性、經(jīng)濟性和排放性的綜合要求。基于CCP協(xié)議的標定系統(tǒng)開發(fā)已成為研究的重點。CCP協(xié)議(CANCalibration Protocol)是歐洲ASAP項目組[1]基于CAN協(xié)議制定的一套對控制系統(tǒng)參數(shù)標定的系統(tǒng)。目前基于CAN總線的分布式系統(tǒng)在汽車電子領(lǐng)域得到廣泛應(yīng)用,發(fā)動機電子控制單元的標定已成為發(fā)動機電子控制裝置開發(fā)的一個重要環(huán)節(jié)。CCP標定協(xié)議是ASAP標準的一部分,它首先是由標定系統(tǒng)制造商提出并開發(fā)的,該協(xié)議為標定系統(tǒng)開發(fā)提供了標準平臺,在電控系統(tǒng)開發(fā)方面具有強大的優(yōu)勢,已逐漸為世界各大汽車公司所采用,如BOSCH公司和DELPHI公司的標定系統(tǒng)。因此基于CAN的CCP協(xié)議是匹配標定平臺技術(shù)的首選。采用CCP協(xié)議可以快速高效地實現(xiàn)對發(fā)動機電控單元的標定。
然而基于CCP協(xié)議的標定,只有ECU控制器與標定工具底層內(nèi)部均具有支持CCP協(xié)議的驅(qū)動程序 (CCPdriver),才能夠?qū)崿F(xiàn)二者之間數(shù)據(jù)的傳輸。目前大多數(shù)應(yīng)用都采用Vector公司提供的free CCPdriver。但是其中難免有許多復(fù)雜而且不適用的函數(shù),對于代碼的運行效率以及空間占有率都非常不利。基于此,文中設(shè)計了一個通用的ECU與CCP驅(qū)動接口程序,以幫助縮短整個標定開發(fā)周期。
CANape是一款ECU開發(fā)、標定、診斷和測量數(shù)據(jù)采集的綜合性工具。通過CCP標定協(xié)議,不僅能完成對ECU的標定,同時還能同步地獲取ECU內(nèi)部的測量參數(shù),實時采集和顯示ECU內(nèi)部信號。基于此,本文將闡述如何基于CCP協(xié)議使用CANape完成ECU的標定。
CCP 協(xié)議[2]是 ASAP(Arbeitskreis zur Standardisierung von Applikationssystemen)標準的有機組成部分。該協(xié)議是符合ASAP中ASAP1 a標準的協(xié)議,它基于CAN2.0B通訊協(xié)議。
該通信協(xié)議采用主-從式通信方式如圖1,主設(shè)備通過CAN總線與多臺從設(shè)備相連接,主設(shè)備是測量標定系統(tǒng),從設(shè)備是需要標定的ECU,主設(shè)備首先與其中一個從設(shè)備建立邏輯鏈接,建立邏輯連接后,主、從設(shè)備之間所有的數(shù)據(jù)傳遞均由主機控制[3]。

圖1 CCP通信方式Fig.1 CCPcommunication mode
CCP定義了兩種工作模式:Polling(查詢)模式及DAQ(Data Acquisition Command)模式。查詢模式下,主設(shè)備與從設(shè)備間的每一次通信都由主設(shè)備發(fā)送命令來起始,從設(shè)備收到主設(shè)備的命令后,執(zhí)行相應(yīng)的操作并反饋一幀報文。這種工作模式由于需要主機與從機之間進行“一問一答”的信息交互,工作效率不高,但實現(xiàn)簡單,且占用ECU內(nèi)存資源較小。
DAQ模式使從設(shè)備可以脫離主設(shè)備命令控制按一定周期自動向主設(shè)備上傳數(shù)據(jù)。DAQ模式下,主設(shè)備首先發(fā)送一條請求DAQ命令,從設(shè)備收到后,按命令中參數(shù)自行配置并組織需要上傳數(shù)據(jù),然后按一定周期自主向主設(shè)備上傳數(shù)據(jù)。這種模式不需要主機命令逐步控制,工作效率高,但實現(xiàn)較復(fù)雜,需要上傳數(shù)據(jù)量很大,會占用大量ECU內(nèi)存空間。
CCP協(xié)議中有兩種CAN報文對象如圖2,根據(jù)其數(shù)據(jù)流向,都有一個唯一的ID標識符進行標識,ID在控制器的描述文件(如A2L)中定義,CRO用于主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)命令,DTO則用于從設(shè)備發(fā)送數(shù)據(jù)至主設(shè)備,CRO高于DTO。

圖2 CCP協(xié)議主、從設(shè)備CAN報文通信Fig.2 CCPprotocol master and slavedevice CANmessagecommunication
Polling模式下 CRM-DTO (Command Receive Message—Data Transmission Object),為ECU發(fā)送給匹配標定工具的命令響應(yīng),即對CRO的響應(yīng);DAQ模式下 DAQ—DTO(Data Acquisition—Data Transmission Object), 即 ECU發(fā)送給匹配標定工具的實時測量數(shù)據(jù),用于監(jiān)控的目的。
在使用標定系統(tǒng)對控制器實施基于CCP協(xié)議的標定工作前,必須在控制器端程序上進行相應(yīng)的開發(fā)工作。需要上位機 MCS(Measurement Calibration System)與下位機ECU的應(yīng)用程序都能夠支持CCP協(xié)議,這部分應(yīng)用程序稱為CCPdriver。本文采用Vector公司提供的free CCPdriver[4]。

圖3 接口程序基本流程圖Fig.3 Basic flow chart of interface program
主設(shè)備發(fā)送的命令使用CAN數(shù)據(jù)幀進入CAN驅(qū)動程序的接收模塊,判斷為CRO后,交由CCP驅(qū)動程序的命令處理模塊處理。命令處理模塊根據(jù)接收到的CRO的CMD代碼進行命令解釋并執(zhí)行,生成應(yīng)答數(shù)據(jù),包括從應(yīng)用程序中獲取數(shù)據(jù)。
基于CCP協(xié)議的基本CAN通信流程如圖3所示。ECU接收到報文后,轉(zhuǎn)入CAN接收子函數(shù),在常規(guī)接收流程后,對報文的ID標識符進行判斷,如為CRO-ID,則調(diào)用CCP driver的命令處理器。命令處理器的調(diào)用會在主函數(shù)中進行。
Command處理機制由一個ccp Command()命令處理函數(shù)完成,ccp Command()通過調(diào)用CAN driver中的CCP發(fā)送子函數(shù)ccp Send()發(fā)送一幀 DTO。ccpSend()須在CAN中實現(xiàn),由CCPdriver調(diào)用。當(dāng)命令處理模塊判斷收到CRO為DAQ請求后,啟用CCP驅(qū)動程序的DAQ處理模塊。DAQ處理模塊從應(yīng)用程序待監(jiān)測的變量中組織應(yīng)答數(shù)據(jù),然后調(diào)用CAN driver程序的發(fā)送模塊,將數(shù)據(jù)以DAQ-DTO的形式自行周期發(fā)送至主設(shè)備。
CANape標定系統(tǒng)的結(jié)構(gòu)如圖 4,CANape是德國Vector公司出品的一款基于ASAP標準[5]的車載控制器測試、診斷和標定工具。它通過基于CCP協(xié)議的CAN總線物理連接,實現(xiàn)硬件接口與ECU相連。ASAPl作為應(yīng)用層同控制設(shè)備之間接口的標準,定義了應(yīng)用系統(tǒng)和ECU之間的物理和邏輯連接。其中,ASAPla定義了控制器(ECU)和MCD(Measurement calibration and Diagnostics)系統(tǒng)之間的物理層和協(xié)議層。ASAP2標準對ECU功能和接口及標定信息進行了標準和規(guī)范化的描述,按此標準生成的ASAP2描述文件作為標定系統(tǒng)的數(shù)據(jù)庫而保存。ASAP3定義了MCD系統(tǒng)同用戶之間的接口,此標準的目的是使用戶可以通過調(diào)用標準化的函數(shù),MCD系統(tǒng)進行數(shù)據(jù)和命令的交互來實現(xiàn)測量、標定和診斷的功能[6]。

圖4 CANape標定系統(tǒng)的結(jié)構(gòu)Fig.4 Structure of CANape calibration system
CANape對控制器的參數(shù)標定和數(shù)據(jù)測量都是基于ASAP2控制器描述文件,該文件記錄了ECU控制器中各標定參數(shù)和測量變量在控制器中的存儲地址、存儲結(jié)構(gòu)、數(shù)據(jù)類型和轉(zhuǎn)換公式等。這些標定參數(shù)和測量數(shù)據(jù)都會有一個變量名,如發(fā)動機轉(zhuǎn)速、冷卻水溫度等。當(dāng)使用CANape進行參數(shù)標定時,只需要訪問該變量在ASAP2描述文件的變量名即可,通過變量名找到該變量在控制器中的存儲地址、數(shù)據(jù)長度等信息,然后進行參數(shù)標定與優(yōu)化并生成MAP圖。
在電控單元標定的過程中,需要標定的參數(shù)主要被保存在FLASH或ROM中時,當(dāng)ECU重新上電初始化后,程序自動將需要標定的參數(shù)初始值復(fù)制到RAM中。標定過程中,標定工程師通過CANape標定軟件不斷修改和優(yōu)化Calibration RAM中的參數(shù)值。標定全部結(jié)束后,再將該段RAM中標定優(yōu)化后的參數(shù)值復(fù)制回FLASH或ROM中,并同時通過標定顯示界面可以看到生成的相應(yīng)MAP圖。
在CANape中標定方法有兩種,分別是在線標定和離線標定。在線標定(有沒有鏡像內(nèi)存都是可以的),標定對象的值改變時,新的值會立刻下載到鏡像內(nèi)存和ECU的RAM中,或改變標定對象值,新的值首先存儲在Buffer,不會立刻傳給ECU,直到選擇“更新參數(shù)”時,該值才會被下到ECU或保存到鏡像內(nèi)存。離線標定時(必須激活鏡像內(nèi)存),標定對象的改變值被保存到鏡像內(nèi)存中,當(dāng)變?yōu)樵诰€,這些值會下載到ECU中。
在基于現(xiàn)場總線的分布式控制中,汽車網(wǎng)絡(luò)技術(shù)進一步優(yōu)化了汽車的電子控制系統(tǒng),傳統(tǒng)意義的發(fā)動機匹配標定方法已無法滿足。基于CAN總線網(wǎng)絡(luò)連接的發(fā)動機電子控制單元,目前已成為研究和應(yīng)用的重點。CANape是基于CCP協(xié)議的通用型發(fā)動機電子控制單元匹配標定工具,在國內(nèi)新型電控發(fā)動機開發(fā)過程中得到了廣泛的應(yīng)用。使用CANape能夠縮短開發(fā)周期,快速準確地進行汽車發(fā)動機電子控制單元的匹配標定,并在實際開發(fā)應(yīng)用的過程中達到了預(yù)期效果,使發(fā)動機綜合性能得到提高。
[1]胡嘉,楊正林,張彤,等.基于CCP協(xié)議的混合動力整車控制器標定系統(tǒng)及其底層驅(qū)動的開發(fā)[J].汽車科技,2010,5(4):2-4.HUJia,YANGZheng-lin,ZHANGTong,et al.Hybrid electric vehicle controller based on CCP protocol calibration system and itsunderlyingdriven development[J].Journal of Automotive Technology,2010,5(4):2-4.
[2]李先成.電控噴油系統(tǒng)噴油特性測試和油量線性化自動標定系統(tǒng)開發(fā)[D].上海:上海交通大學(xué),2008.
[3]羅峰,孫澤昌.汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版,2010.
[4]陳振輝.基于CCP協(xié)議標定混合動力車整車控制器[D].上海:上海交通大學(xué),2007.
[5]李計融,鐘再敏.車載控制器匹配標定ASAP標準綜述[J].汽車科技,2004,10(6):54-58.LI Ji-rong,ZHONG Zai-min.Vehicle matching controller calibration ASAP standard review[J].Journal of Automotive Technology,2004,10(6):54-58.
[6]韋文波.基于CCP協(xié)議的電控發(fā)動機標定系統(tǒng)開發(fā)[D].湖南:湖南大學(xué),2011.