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