張延良 王棟 李升建 蘇敏 梁雪濤 劉明
摘要:本文以XCP協(xié)議的同步數(shù)據(jù)傳輸DAQ模式為研究對(duì)象,分析了XCP協(xié)議的同步數(shù)據(jù)傳輸DAQ的基本架構(gòu)和功能,詳細(xì)介紹了動(dòng)態(tài)DAQ和靜態(tài)DAQ基本流程和不同之處,通過(guò)對(duì)比分析,明確了發(fā)動(dòng)機(jī)數(shù)據(jù)遠(yuǎn)程傳輸系統(tǒng)的開發(fā)流程和基本思路。
關(guān)鍵詞:同步數(shù)據(jù)傳輸;DAQ模式;模式研究
中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)05-0025-02
0 引言
在發(fā)動(dòng)機(jī)電控系統(tǒng)領(lǐng)域,CAN是一種比較主流的通訊方式,很多基于CAN架構(gòu)的通訊協(xié)議不斷發(fā)生和發(fā)展,這些CAN通訊協(xié)議為發(fā)動(dòng)機(jī)電控技術(shù)的應(yīng)用提供了可靠的信息交互媒介。隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,遠(yuǎn)程通訊技術(shù)與CAN的結(jié)合催生了很多發(fā)動(dòng)機(jī)智能制造和發(fā)動(dòng)機(jī)大數(shù)據(jù)應(yīng)用的實(shí)際應(yīng)用需求,其中,基于CAN的本地?cái)?shù)據(jù)采集和基于物聯(lián)網(wǎng)技術(shù)的遠(yuǎn)程控制和遠(yuǎn)程傳輸是目前比較熱門也比較成熟的一種模式。
在眾多的CAN協(xié)議中,XCP/CCP協(xié)議是基于ASAM架構(gòu)進(jìn)行開發(fā)的,因此通用性比較好。隨著XCP/CCP協(xié)議的不斷更新、硬件技術(shù)的不斷進(jìn)步,XCP/CCP協(xié)議設(shè)計(jì)了一種可以同時(shí)進(jìn)行大數(shù)量采集的模式—同步數(shù)據(jù)傳輸模式(Data Acquisition),簡(jiǎn)稱DAQ模式,這種數(shù)據(jù)采集模式可以支持毫秒級(jí)的數(shù)據(jù)傳輸,這對(duì)于電控系統(tǒng)的過(guò)程監(jiān)控比較有實(shí)用價(jià)值,因此DAQ模式在發(fā)動(dòng)機(jī)電控系統(tǒng)開發(fā)中得到了比較廣泛的應(yīng)用。DAQ模式在實(shí)際的電控產(chǎn)品開發(fā)中不斷完善,衍生出動(dòng)態(tài)和靜態(tài)兩種應(yīng)用方式,成為數(shù)據(jù)傳輸研究與應(yīng)用的兩種主要模式。本文就上述兩種DAQ模式進(jìn)行詳細(xì)的分析和對(duì)比,分析其不同和優(yōu)劣,為物聯(lián)網(wǎng)遠(yuǎn)程數(shù)據(jù)采集功能開發(fā)提供一定的指導(dǎo)。
1 XCP協(xié)議同步數(shù)據(jù)傳輸DAQ功能架構(gòu)概述
一般來(lái)說(shuō),XCP協(xié)議主要支持兩種同步數(shù)據(jù)傳輸模式,DAQ模式用于從設(shè)備向主設(shè)備發(fā)送同步數(shù)據(jù),即用于數(shù)據(jù)采集;STIM模式用于主設(shè)備向從設(shè)備發(fā)送同步數(shù)據(jù),即用于數(shù)據(jù)激勵(lì)。兩種模式模式都是依托ODT的方式進(jìn)行數(shù)據(jù)傳遞。DAQ模式主要用于數(shù)據(jù)采集和數(shù)據(jù)傳輸,是本文的重點(diǎn)。
DAQ數(shù)據(jù)傳輸?shù)幕玖鞒讨饕ㄋ膫€(gè)環(huán)節(jié),如圖1所示。
(1)確定數(shù)據(jù)采集的目標(biāo)參數(shù),明確需要采集的變量信息列表(下文簡(jiǎn)稱“變量”)。(2)獲取目標(biāo)采集變量的基本信息,主要是存儲(chǔ)地址和長(zhǎng)度兩個(gè)參數(shù),獲取到之后按照ODT的格式進(jìn)行整理和存儲(chǔ)。(3)將具體的變量通過(guò)XCP協(xié)議下發(fā)到ECU控制器,ECU控制器按照DAQ的模式將變量信息進(jìn)行重新排布。(4)ECU將配置好的變量數(shù)據(jù)以CAN報(bào)文的形式進(jìn)行發(fā)送,整個(gè)DAQ數(shù)據(jù)采集功能結(jié)束。
2 XCP協(xié)議DAQ配置過(guò)程
基于XCP協(xié)議進(jìn)行DAQ的配置過(guò)程主要分為五個(gè)主要的環(huán)節(jié),如圖2所示。
(1)建立連接。主要是通過(guò)CONNECT指令使上位機(jī)和下位機(jī)建立連接,這是XCP CAN通訊最基礎(chǔ)的一個(gè)環(huán)節(jié)。(2)安全訪問(wèn)。根據(jù)ECU控制器CAN總線防護(hù)等級(jí)決定,如果有加密的需要,則需要進(jìn)行安全訪問(wèn),進(jìn)行安全校驗(yàn),通過(guò)后才能執(zhí)行剩余環(huán)節(jié);如果不需要,可以繞過(guò)該環(huán)節(jié)直接進(jìn)行下一步。(3)DAQList準(zhǔn)備。為DAQ配置做一些準(zhǔn)備工作,主要目的是將ECU傳輸數(shù)據(jù)的緩存區(qū)重置。隨著DAQ功能應(yīng)用的不斷深入,這個(gè)過(guò)程衍生出了兩種不同的配置方式:動(dòng)態(tài)DAQ方式和靜態(tài)DAQ方式。靜態(tài)DAQ(Static DAQ)需要分配一塊固定的區(qū)域,用來(lái)存放配置后的變量數(shù)據(jù),允許發(fā)送的數(shù)據(jù)長(zhǎng)度是固定的。動(dòng)態(tài)DAQ(Dynamic DAQ)是指DAQ配置過(guò)程的變量是可以靈活分配的,理論上可以采集的變量個(gè)數(shù)不受限制(但是實(shí)際上因?yàn)榭刂朴布彺娴脑?,可以配置的變量個(gè)數(shù)還是受到限制的)。靜態(tài)DAQ和動(dòng)態(tài)DAQ兩種模式的區(qū)別主要就在于XCP DAQ配置過(guò)程的第三個(gè)環(huán)節(jié):DAQList準(zhǔn)備環(huán)節(jié),下一小節(jié)對(duì)兩種模式的區(qū)別進(jìn)行著重論述。(4)DAQList配置。主要是將需要采集的變量信息以XCP DAQ的方式下發(fā)到下位機(jī)ECU,告訴下位機(jī)需要采集的變量的信息,主要是變量的地址和長(zhǎng)度。(5)啟動(dòng)數(shù)據(jù)傳輸。下位機(jī)ECU在收到上位機(jī)配置的變量信息之后,會(huì)將需要發(fā)送的數(shù)據(jù)放置與某個(gè)緩存中,收到同步數(shù)據(jù)傳輸?shù)膱?bào)文后,下位機(jī)ECU就會(huì)把數(shù)據(jù)以XCP CAN 報(bào)文的形式發(fā)送出來(lái),DAQ數(shù)據(jù)傳輸功能實(shí)現(xiàn)。
3 XCP協(xié)議兩種DAQ模式的對(duì)比研究
3.1 靜態(tài)DAQ模式配置過(guò)程
靜態(tài)DAQ的數(shù)據(jù)采集配置流程如圖3所示,靜態(tài)DAQList的準(zhǔn)備過(guò)程只用到一個(gè)指令CLEAR_ DAQ_LIST,主要的目的就是將存儲(chǔ)數(shù)據(jù)的區(qū)域進(jìn)行初始化,為數(shù)據(jù)傳輸做準(zhǔn)備。由此可以看出,在靜態(tài)DAQ模式中,整個(gè)數(shù)據(jù)處理的邊界都是固定的,數(shù)據(jù)存儲(chǔ)的區(qū)域也是固定的,因此,在運(yùn)用XCP協(xié)議進(jìn)行處理的時(shí)候不需要處理控制器內(nèi)存,直接進(jìn)行XCP協(xié)議交互即可。
3.2 動(dòng)態(tài)DAQ模式配置過(guò)程
動(dòng)態(tài)DAQ配置的過(guò)程在內(nèi)存分配上相對(duì)復(fù)雜,具體流程如圖4所示,需要重新分配內(nèi)存,需要對(duì)每條報(bào)文重新進(jìn)行組織。從動(dòng)態(tài)DAQ模式的流程中可以看出,動(dòng)態(tài)DAQ List的準(zhǔn)備過(guò)程體現(xiàn)了下位機(jī)(ECU)內(nèi)存管理的靈活性,使得下位機(jī)(ECU)的內(nèi)存管理更加合理。
3.3 動(dòng)態(tài)靜態(tài)兩種模式的對(duì)比分析
兩種方法都有其適用的場(chǎng)景,具體對(duì)比的結(jié)果如表1所示??偟膩?lái)說(shuō),靜態(tài)DAQ模式相對(duì)簡(jiǎn)單,對(duì)于內(nèi)存的要求比較小,傳輸數(shù)據(jù)量是固定的,相對(duì)較少;而動(dòng)態(tài)DAQ模式相對(duì)復(fù)雜,對(duì)于內(nèi)存的要求比較高,傳輸?shù)臄?shù)據(jù)量可以靈活配置。
4 結(jié)語(yǔ)
本文對(duì)XCP協(xié)議的同步數(shù)據(jù)傳輸DAQ模式進(jìn)行了研究分析,并對(duì)現(xiàn)有的兩種DAQ模式進(jìn)行了詳細(xì)分析。通過(guò)本文的梳理,可以對(duì)XCP數(shù)據(jù)采集DAQ傳輸模式的基本原理能夠有更深入的認(rèn)識(shí),這對(duì)與發(fā)動(dòng)機(jī)數(shù)據(jù)的遠(yuǎn)程采集和在線監(jiān)測(cè)比較有實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 溫泉,張廣秀,張建.基于ASAM標(biāo)準(zhǔn)的汽車電控系統(tǒng)匹配標(biāo)定系統(tǒng)設(shè)計(jì)[J].汽車實(shí)用技術(shù),2012(05):40-46.
[2] 錢嘯君.基于ASAM標(biāo)準(zhǔn)的汽車通用標(biāo)定系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].浙江大學(xué),2012.
[3] 肖亞迪,肖兵.基于XCP協(xié)議的ECU標(biāo)定系統(tǒng)開發(fā)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(02):600-603.
[4] 馮占軍,丁鋒,譚啟寅.基于XCP協(xié)議的ECU控制器標(biāo)定系統(tǒng)開發(fā)[J].上海汽車,2013(11):16-18.