朱宏翔,蔡花(西安蘭德新能源汽車技術(shù)開發(fā)有限公司,陜西 西安 710043)
Matlab自動(dòng)代碼生成中CCP分析研究
朱宏翔,蔡花
(西安蘭德新能源汽車技術(shù)開發(fā)有限公司,陜西 西安 710043)
文章論述了在代碼生成中所需CCP協(xié)議中的驅(qū)動(dòng)命令,以及標(biāo)定診斷工具與ECU的通訊方式和DAQ模式的分析與配置。詳細(xì)描述了在實(shí)際應(yīng)用中如何配置和操作,并驗(yàn)證了 A2L文件采用 DAQ模式上傳的時(shí)間和VISION實(shí)際所得到的DAQ上傳命令時(shí)間一致。在車輛標(biāo)定和診斷應(yīng)用方面具有參考價(jià)值。
CCP協(xié)議;DAQ模式;VISION
10.16638/j.cnki.1671-7988.2015.12.017
CLC NO.: U463.6Document Code: AArticle ID: 1671-7988(2015)12-46-03
MATLAB 自動(dòng)代碼生成的優(yōu)勢(shì)是實(shí)現(xiàn)圖形化編程,讓編程方式變的簡(jiǎn)單和容易操作。
在汽車網(wǎng)絡(luò)中,CAN網(wǎng)絡(luò)技術(shù)是一個(gè)成熟的技術(shù),以它為載體的CCP協(xié)議是一個(gè)通用的接口標(biāo)準(zhǔn),它使得在汽車電子設(shè)備研發(fā)過程中相關(guān)的測(cè)試、標(biāo)定、診斷方法及工具能夠兼容并互換。
CCP的全稱是 CAN Calibration Protocol(CAN標(biāo)定協(xié)議),是基于CAN總線的ECU標(biāo)定協(xié)議規(guī)范。CCP協(xié)議遵從CAN2.0B通信規(guī)范,支持11位標(biāo)準(zhǔn)與29位擴(kuò)展標(biāo)識(shí)符。該通信協(xié)議采用主-從式通信方式,主設(shè)備通過CAN總線與多臺(tái)從設(shè)備相連接,主設(shè)備是測(cè)量標(biāo)定系統(tǒng),從設(shè)備是需要標(biāo)定的ECU。
CCP協(xié)議的標(biāo)定診斷工具與ECU的通信有Polling模式和DAQ模式,由于Polling模式是一問一答的通訊模式,通訊時(shí)間長(zhǎng),效率低。本文采用 DAQ模式,這種模式自主向設(shè)備傳輸數(shù)據(jù),數(shù)據(jù)上傳效率高。
支持CCP協(xié)議的標(biāo)定軟件主要有:CANape、VISION、DiagRA。
1.1ccp命令標(biāo)準(zhǔn)格式
主設(shè)備:標(biāo)定觀測(cè)工具;
從設(shè)備:ECU;
信息字節(jié):8字節(jié);
命令接收對(duì)象(CRO):主設(shè)備向ECU發(fā)送消息,格式為“CMD(CRO)+CTR+命令參數(shù)域”;
數(shù)據(jù)傳輸對(duì)象(DTO)是從設(shè)備反饋給主設(shè)備的消息,格式為“PID+ERR+CTR+參數(shù)數(shù)據(jù)域”;
一般情況下PTD=0xFF,當(dāng)命令回復(fù)ERR=0x00時(shí),表示命令回復(fù)正確;當(dāng)ERR不等于0x00時(shí),表示當(dāng)前命令回復(fù)是有誤的,然后對(duì)照命令返回碼表進(jìn)行查錯(cuò)。
1.2Matlab自動(dòng)代碼生成中ccp驅(qū)動(dòng)命令
1.2.1開始命令
(1)CONNECT連接命令((0x01)即握手信號(hào);
(2)SET_S_STATUS設(shè)置當(dāng)前通信狀態(tài)(0x0C);
(3)GET_DAQ_SIZE獲取DAQ列表大小(0x14)。
這些命令用來建立連接和獲得一些DAQ的信息。
1.2.2標(biāo)定命令
(1)SET_MTA設(shè)置MTA地址(0x02);
(2)DNLOAD數(shù)據(jù)下載(0x03);
(3)UPLOAD數(shù)據(jù)上傳(0x04)。
這些命令用來獲取標(biāo)定量的信息和改寫標(biāo)定量的信息。
1.2.3觀測(cè)命令
(1)SET_S_STATUS設(shè)置當(dāng)前通信狀態(tài)(0x0C);
(2)GET_DAQ_SIZE獲取DAQ列表大小(0x14);
(3)SET_DAQ_PTR設(shè)置DAQ列表指針(0x15);
(4)WRITE_DAQ寫入DAQ列表(0x16);
(5)GET_S_STATUS獲取當(dāng)前通信狀態(tài)(0x0D)。
這些的命令用來建立DAQ列表。
1.2.4結(jié)束命令
(1)START_STOP開始/終止數(shù)據(jù)傳輸(0x06);
(2)DISCONNECT斷開命令(0x07);
(3)START_STOP_ALL開始/停止同步數(shù)據(jù)傳輸(0x08)。這些的命令用來斷開VISION和ECU之間的連接。
1.3通訊方式
CCP協(xié)議的實(shí)現(xiàn)只依賴兩則CAN消息:命令接收對(duì)象(CRO)和命令傳輸對(duì)象(DTO)。CRO由主設(shè)備發(fā)給從設(shè)備,DTO是從設(shè)備反饋的報(bào)文,兩者分別通過一個(gè)自己的ID標(biāo)識(shí)符進(jìn)行標(biāo)識(shí)(CRO_ID與DTO_ID),下圖是主、從設(shè)備通信的架構(gòu)。
2.1DAQ模式配置方式
在使用DAQ模式進(jìn)行通信前,主設(shè)備需要對(duì)DAQ列表及ODT列表進(jìn)行配置,方法如下:
(1)獲取ECU 內(nèi)所實(shí)現(xiàn)DAQ列表數(shù)目及ODT數(shù)目,DAQ列表數(shù)據(jù)由數(shù)據(jù)上傳的周期決定,ODT列表數(shù)由每個(gè)周期下所需上傳的數(shù)據(jù)個(gè)數(shù)及長(zhǎng)度決定。
(2)向相應(yīng)的ODT元素中填入內(nèi)容,即數(shù)據(jù)的存儲(chǔ)地址和數(shù)據(jù)長(zhǎng)度(數(shù)據(jù)長(zhǎng)度一般為1個(gè)字節(jié))。數(shù)據(jù)將根據(jù)其類型及上傳周期,被寫在不同DAQ列表的不同ODT元素中。
(3)根據(jù)上傳數(shù)據(jù)的周期,針對(duì)不同的DAQ列表賦以事件通道和預(yù)分頻。事件通道與上傳周期一一對(duì)應(yīng),同一個(gè)DAQ列表中的不同ODT享有同一個(gè)事件通道和預(yù)分頻值,即同一個(gè)DAQ列表中的所有數(shù)據(jù)的上傳周期相同。通過預(yù)分頻值可將數(shù)據(jù)的上傳周期成倍擴(kuò)大。
(4)啟動(dòng)DAQ模式,進(jìn)行數(shù)據(jù)采集。
2.2上傳觀測(cè)量的實(shí)際速率和設(shè)置的速率對(duì)比
A2L文件中設(shè)置的DAQ上傳時(shí)間的代碼如下:/begin RASTER
"10ms time synchronous""10_ms" 041 /end RASTER
這段代碼中的4,1表示的就是10ms。VISION中實(shí)際得到上傳時(shí)間:
其中,200ms是總體時(shí)間,10ms是真正獲得參數(shù)的上傳時(shí)間。
對(duì)比可知,設(shè)置的上傳時(shí)間和VISION實(shí)際得到的上傳時(shí)間一致。
CCP協(xié)議在典型系統(tǒng)(標(biāo)定診斷)中所需的硬件如下圖所示:
圖2 標(biāo)定診斷系統(tǒng)
3.1CCP標(biāo)定系統(tǒng)的組成
控制器ECU,CCP協(xié)議棧驅(qū)動(dòng)的實(shí)現(xiàn),A2L文件,ECU標(biāo)定和測(cè)試工具。
3.2實(shí)現(xiàn)過程
(1)將控制器的CAN線和kvaser的一端(九針插頭端)連在一起,另一端USB端連接在電腦上;
(2)打開VISION讀入ASAP2(A2L)文件;
(3)在VISION的screen里面導(dǎo)入觀測(cè)量和標(biāo)定量,標(biāo)定量的有藍(lán)紅箭頭,余下的變量是觀測(cè)量,它們通過CCP協(xié)議中的DAQ模式上傳;
(4)在ECU中我們將標(biāo)定參數(shù)放置在EEPROM和RAM區(qū),當(dāng)參數(shù)需要斷電保存時(shí),選擇把標(biāo)定參數(shù)放置在EEPROM區(qū),當(dāng)參數(shù)不需要斷電保存時(shí),可以把標(biāo)定參數(shù)放置在RAM區(qū)。
VISION和ECU之間通過CCP協(xié)議中的命令進(jìn)行交互,且A2L文件采用DAQ模式上傳的時(shí)間與VISION實(shí)際所得到的DAQ上傳命令時(shí)間一致,最終完成VISION和ECU之間通訊,實(shí)現(xiàn)控制器參變量的標(biāo)定和觀測(cè)。
[1] 羅峰,孫澤昌.汽車 CAN總線系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[2] 孫同景,陳桂友.Freescale 9S12 十六位單片機(jī)原理及嵌入式開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008..
[3].丁圣彥,羅峰,孫澤昌.基于CCP協(xié)議利用CANape進(jìn)行電控系統(tǒng)標(biāo)定[J].電子技術(shù)應(yīng)用,2005(12):1-4.
[4] ASAP,Can Calibration Protocol Version 2.1.1999:1-45.
[5] Vector.CCP Driver (Implementation in Electronic Control Units CCP Version 2.1).1999:6-31.
CCP Analysis and Studyin the process of Matlabcode generation
Zhu Hongxiang, Cai Hua
( Xi'an New Energy Automotive Technology Development Co., Ltd., Shaanxi Xi'an 710043 )
This article discusses the driving command of the CCP protocol, Communication mode of calibration diagnostic tool and ECU,analysis and configure of DAQ mode. It also detailedlydescribes how to configure and operate in practical application.Verfyingthe time waste on upload the A2L file in DAQ mode is equal to the time waste on VISION.Specially,It has the reference value in the vehicle calibration and diagnostic applications.
CCP protocol; DAQ mode; VISION
U463.6
A
1671-7988(2015)12-46-03
朱宏翔,就職于西安蘭德新能源汽車技術(shù)開發(fā)有限公司。