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