一、前言 隨著汽車電子技術(shù)的發(fā)展,電子控制單元(ECU)的標(biāo)定已成為汽車電子控制裝置開發(fā)的一個(gè)重要環(huán)節(jié)。大多數(shù)ECU都需要經(jīng)過匹配標(biāo)定的過程,從而確定其運(yùn)行參數(shù)和控制參數(shù)。目前國內(nèi)還沒有成熟的基于CCP的ECU標(biāo)定系統(tǒng),已有的一些系統(tǒng)主要是采用Vector提供的freeCCPDriver,或者基于MATLAB的相關(guān)工具包,在此基礎(chǔ)上作自己的應(yīng)用軟件,并沒有獨(dú)立的CCP驅(qū)動;國外的產(chǎn)品功能強(qiáng)大,但價(jià)格昂貴。因此,研究、掌握CCP的核心技術(shù),開發(fā)針對不同用戶需求提供不同的定制功能,并能適應(yīng)PCI、USB等不同主機(jī)接口的ECU標(biāo)定軟件就具有非常重要的意義。 二、CCP協(xié)議簡介 (一)CCP協(xié)議的通信方式 基于CCP協(xié)議的ECU標(biāo)定采用主-從通信方式,主設(shè)備通過CAN總線與多個(gè)從設(shè)備相連,如圖1所示。其中主設(shè)備測量標(biāo)定系統(tǒng)MCS(Measurement Calibration System),從設(shè)備是需要標(biāo)定的ECU。根據(jù)CCP協(xié)議,主設(shè)備首先與其中一個(gè)從設(shè)備建立邏輯連接。建立邏輯連接后,主、從機(jī)之間所有的數(shù)據(jù)傳遞均由主機(jī)控制,從機(jī)執(zhí)行主機(jī)命令后返回包含命令響應(yīng)值或錯誤代碼等信息的報(bào)文。任何一個(gè)從機(jī)都可以定時(shí)地根據(jù)由主機(jī)通過控制命令所設(shè)置的列表來傳遞內(nèi)部的數(shù)據(jù)。所以說數(shù)據(jù)的傳遞是由主機(jī)初始化,由從機(jī)來執(zhí)行,并且是由固定的循環(huán)采樣頻率或事件觸發(fā)的。 圖1CCP通信結(jié)構(gòu) CCP協(xié)議定義了兩種工作模式:一種是Polling(查詢)模式,另一種是DAQ(數(shù)據(jù)采集)模式。在本文所設(shè)計(jì)的標(biāo)定系統(tǒng)中,根據(jù)實(shí)際需求情況,采用了DAQ模式。 (二)CCP協(xié)議的通信數(shù)據(jù)對象 CCP協(xié)議只采用了兩個(gè)CAN報(bào)文對象,且每個(gè)對象根據(jù)其數(shù)據(jù)流向,都有一個(gè)唯一的ID標(biāo)識符進(jìn)行標(biāo)識: 1.命令接收對象(主機(jī)一從機(jī)):簡稱CRO。CRO用于傳遞指令代碼和內(nèi)部功能碼或主、從機(jī)之間交換的存儲區(qū)數(shù)據(jù)。 2.數(shù)據(jù)傳輸對象(從機(jī)一主機(jī)):簡稱DTO。DTO指由從設(shè)備反饋的報(bào)文。 根據(jù)報(bào)文PID的不同,DTO又可以分為三種形式: 命令返回消息CRM(PID=255):由從設(shè)備發(fā)送,針對CRO的反饋報(bào)文。 事件消息(PID=254):當(dāng)從設(shè)備檢測到內(nèi)部發(fā)生錯誤機(jī)制時(shí),由從設(shè)備自行向主設(shè)備發(fā)送,報(bào)告其當(dāng)前的運(yùn)行狀態(tài),并請求主設(shè)備暫停當(dāng)前工作進(jìn)程以處理發(fā)生的錯誤。 DAQ-DTO(0≤PID≤254):用在DAQ模式中,由從設(shè)備組織,定期向主設(shè)備發(fā)送。 三、基于CCP的ECU標(biāo)定系統(tǒng)實(shí)現(xiàn) (一)標(biāo)定系統(tǒng)工作原理 基于CCP的ECU標(biāo)定系統(tǒng)工作原理如圖2所示,對部分控制參數(shù)進(jìn)行調(diào)整后,通過一個(gè)USB轉(zhuǎn)CAN的驅(qū)動模塊就可以將數(shù)據(jù)送到發(fā)動機(jī)ECU當(dāng)中,ECU收到控制信號后,通過內(nèi)部處理又會由驅(qū)動模塊返回ECU內(nèi)部重要的數(shù)據(jù)到平臺上顯示,標(biāo)定軟件與發(fā)動機(jī)ECU的通信符合CCP標(biāo)定協(xié)議。 圖2標(biāo)定系統(tǒng)工作原理圖 CCP通信部分調(diào)用CCPDriver,為標(biāo)定軟件實(shí)現(xiàn)與ECU的通信,包括將用戶指定的標(biāo)定參數(shù)下載到ECU、接收ECU的測量數(shù)據(jù)供數(shù)據(jù)顯示子窗口使用。 (二)標(biāo)定系統(tǒng)的數(shù)據(jù)采集機(jī)制 本文采用的是DAQ模式,從而可以實(shí)現(xiàn)從設(shè)備按照指定的周期將需要監(jiān)視的數(shù)據(jù)上傳。 DAQ傳送的數(shù)據(jù)由一系列表來組織,這些表被稱為ODT(Object Descriptor Tables)。每個(gè)ODT表含7個(gè)元素,可描述7個(gè)ECU內(nèi)部參數(shù)的相對地址及數(shù)據(jù)長度等屬性。這些被ODT描述的參數(shù),就是需要從設(shè)備用DAQ-DTO幀周期發(fā)送給主設(shè)備的被監(jiān)視數(shù)據(jù);而這些屬性被稱為“參數(shù)描述”,它們可幫助從設(shè)備DAQ處理代碼確定該參數(shù)的當(dāng)前值,如圖3所示。ODT中描述的參數(shù),及各參數(shù)的“參數(shù)描述”由主設(shè)備通過CRO命令寫入。當(dāng)從設(shè)備的DAQ機(jī)制被啟動時(shí),從設(shè)備按主設(shè)備要求的周期,將每個(gè)ODT表描述的ECU參數(shù)當(dāng)前值順次放入相應(yīng)的DAQ-DTO幀中,并發(fā)送給主設(shè)備。 圖3數(shù)據(jù)描述表 (三)標(biāo)定系統(tǒng)DAQ模式的軟件實(shí)現(xiàn) 標(biāo)定系統(tǒng)的軟件設(shè)計(jì)主要分為兩個(gè)部分:CANDrvier和CCPDriver。本方案的ECU采用MC9S12Dg128,因此可以直接應(yīng)用芯片CAN模塊提供的接口發(fā)送CAN數(shù)據(jù)。CCPDriver是標(biāo)定系統(tǒng)的核心部分,它主要通過調(diào)用CANDriver實(shí)現(xiàn)與上位機(jī)標(biāo)定軟件的通信,從而進(jìn)行對ECU的在線標(biāo)定。 標(biāo)定系統(tǒng)的實(shí)現(xiàn)過程如下: 1.上層標(biāo)定軟件部分定義List的數(shù)目、每個(gè)List中的ODT數(shù)目、每個(gè)ODT中的元素?cái)?shù)目。 2.ECU按照上層的定義,確定自己的數(shù)據(jù)結(jié)構(gòu)。即上下層都定義一個(gè)三維的數(shù)組(List,ODT,Element),用來存放映射關(guān)系。 3.上層通過協(xié)議命令初始化ODT。首先,上層發(fā)送GET_DAQ_SIZE命令(參數(shù)為List號),得到指定的List大。╪umberofODTinthislist),并得到該List中DTO的第一個(gè)PID號。然后,上層發(fā)送SET_DAQ_PTR命令(參數(shù)為List號、ODT號、ODT中的元素號),指定需要初始化的參數(shù)單元。最后,上層根據(jù)SET_DAQ_PTR命令設(shè)置的具體元素,發(fā)送WRITE_DAQ命令(參數(shù)為DAQ元素的byte大小,DAQ元素的地址),反復(fù)通過SET_PTR和WRITE_DAQ兩條命令,初始化完一個(gè)具體的ODT表,然后初始化完一個(gè)具體的List表,最后初始化完所有的List表格。至此,初始化ODT工作結(jié)束。 4.開始和停止DAQ數(shù)據(jù)的傳輸。上層發(fā)送START_STOP命令,指定的ODT數(shù)據(jù)開始上傳。ODT將其中的每個(gè)元素復(fù)制到其對應(yīng)的DTO(8個(gè)字節(jié),1個(gè)PID號,7個(gè)存放數(shù)據(jù))中,然后以DataAcquisitionMessage的形式返回給上層的標(biāo)定系統(tǒng)。DAQ模式到此為止。 四、結(jié)語 ECU標(biāo)定軟件運(yùn)行情況如圖4所示,經(jīng)過多次不斷的調(diào)試,此標(biāo)定系統(tǒng)運(yùn)行穩(wěn)定可靠,能夠?qū)ζ囅到y(tǒng)中的ECU進(jìn)行在線標(biāo)定,并可以針對不同用戶需求提供不同的定制功能。 圖4標(biāo)定軟件示意圖 這個(gè)采用CCP協(xié)議的汽車發(fā)動機(jī)標(biāo)定系統(tǒng)具有符合國際通用標(biāo)準(zhǔn)、通用性好、對不同硬件與不同需求適應(yīng)性強(qiáng)的特點(diǎn),因此有很好的開發(fā)應(yīng)用前景。 |