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