黃麗花,寧勝花,黎飛,陳宇
(上汽通用五菱汽車股份有限公司,廣西柳州 545007)
隨著電子信息化及新能源車輛的發(fā)展,整車上產(chǎn)生的數(shù)據(jù)也越來越多,作為車聯(lián)網(wǎng)發(fā)展的初期,所有整車廠都在嘗試對車輛的數(shù)據(jù)進行深度學(xué)習(xí)和分析,所以對數(shù)據(jù)要求也在發(fā)生著變化。目前主流數(shù)據(jù)采集方案是基于GB/T 32960-2016《電動汽車遠程服務(wù)與管理系統(tǒng)技術(shù)規(guī)范》來實現(xiàn)的,車載終端中存儲固定CAN總線采集信號,不能靈活變更采集車輛CAN總線信號。而隨著車聯(lián)網(wǎng)的迅猛發(fā)展,車輛CAN總線采集信號將呈現(xiàn)更多變化,固定采集信號方式無法滿足經(jīng)常變動的真實需求,不同的車型、總線協(xié)議都會涉及到開發(fā)不同的車載終端軟件版本,加上對數(shù)據(jù)信號采集的不確定性,對數(shù)據(jù)采集的調(diào)整無疑會產(chǎn)生很大的工作量,會增加車載終端開發(fā)管理和時間成本,很難跟上車聯(lián)網(wǎng)技術(shù)發(fā)展。
一種電動汽車數(shù)據(jù)采集系統(tǒng)由車載終端、無線通信網(wǎng)絡(luò)、遠程服務(wù)平臺三大部分組成。車載終端安裝在電動汽車上,用于采集、存儲、傳輸電動汽車運行、充電、定位等整車及系統(tǒng)部件的關(guān)鍵狀態(tài)數(shù)據(jù),同時通過其內(nèi)置的通信模塊將數(shù)據(jù)往外發(fā)送到遠程服務(wù)平臺,由無線通信網(wǎng)絡(luò)負責將車載終端發(fā)送的數(shù)據(jù)傳輸?shù)竭h程服務(wù)平臺服務(wù)器;遠程服務(wù)平臺主要負責接收車載終端發(fā)來的數(shù)據(jù),并按照相應(yīng)的協(xié)議規(guī)則轉(zhuǎn)換后通過顯示屏展示出來。一種電動汽車數(shù)據(jù)采集系統(tǒng)框架如圖1所示。該方案的電動汽車數(shù)據(jù)采集系統(tǒng)是車聯(lián)網(wǎng)快速發(fā)展的產(chǎn)物,它的主要作用是實現(xiàn)了不同車型快速接入遠程服務(wù)平臺的兼容性功能,通過DBC快速適配不同車型采集的CAN總線信號,車載終端的固件與車型無關(guān),縮短開發(fā)周期,極大地減少了后期維護的工作量。
遠程服務(wù)平臺采用采集動態(tài)數(shù)據(jù)CAN總線數(shù)據(jù)方案,在車載終端的設(shè)計中考慮到統(tǒng)一終端,避免在不同車型采用不同車載終端CAN總線信號數(shù)據(jù)情況,做到一個車載終端可以裝在不同協(xié)議的總線上,或者在數(shù)據(jù)臨時變更時也能夠通過簡單的配置指令靈活地應(yīng)對不同的需求,因此車載終端定位為透傳終端,弱化其業(yè)務(wù)功能,強化技術(shù)靈活性。因為車載終端要采集的數(shù)據(jù)都是由遠程服務(wù)平臺下發(fā)的TBC決定的,遠程服務(wù)平臺告知車載終端采集數(shù)據(jù)信號項,所以車載終端不用去對要采集的數(shù)據(jù)協(xié)議進行了解,使得它不受業(yè)務(wù)環(huán)境影響,使其在任何一個具備CAN總線協(xié)議的車上都可以使用,并且無需改變車載終端程序,通過遠程服務(wù)平臺的簡單配置實現(xiàn)數(shù)據(jù)采集的需求,從而做到車載終端的兼容性。
圖1 一種電動汽車數(shù)據(jù)采集系統(tǒng)框架
一種電動汽車數(shù)據(jù)采集系統(tǒng)根據(jù)車輛CAN總線電子通信協(xié)議采集動態(tài)CAN總線信號,生成車輛CAN總線信息采集的DBC文件,由遠程服務(wù)平臺轉(zhuǎn)化為車載終端識別的配置文件TBC,遠程服務(wù)平臺將配置文件TBC通過無線網(wǎng)絡(luò)GPRS發(fā)送給車載終端,車載終端根據(jù)TBC文件采集總線上的車輛信息數(shù)據(jù),依據(jù)組包協(xié)議將車輛CAN總線數(shù)據(jù)進行組包生成數(shù)據(jù)包,并將數(shù)據(jù)包回傳給遠程服務(wù)平臺,遠程服務(wù)平臺根據(jù)DBC文件解析數(shù)據(jù)包,獲得車輛數(shù)據(jù)信息。一種電動汽車數(shù)據(jù)采集系統(tǒng)車輛數(shù)據(jù)信號采集流程圖如圖2所示。
圖2 車輛數(shù)據(jù)信號采集流程圖
根據(jù)車輛CAN總線電子控制器協(xié)議,通過Vector CANoe軟件創(chuàng)建生成DBC文件。并在此基礎(chǔ)上刪減一些重復(fù)不必要的數(shù)據(jù),加入波特率信息,制作成新的DBC文件,在整體格式上保留著 DBC文件格式。遠程服務(wù)平臺存儲DBC文件,DBC文件用于生成配置文件,也用于解析車載終端上傳的數(shù)據(jù)包。
DBC文件格式如下:
BO_幀ID 幾路CAN_報文名稱:報文所在控制器節(jié)點
SG_信號名稱:起始位|位長@0+(比例,偏移量)[最小值|最大值]“單位”Vector__XXX
車載終端根據(jù)TBC配置文件采集CAN總線的車輛數(shù)據(jù)信息,車載終端根據(jù)TBC配置文件提取波特率配置,設(shè)定數(shù)據(jù)傳輸速度。根據(jù)配置文件,車載終端提取幀ID、數(shù)據(jù)起始位和位長度,獲得CAN總線上幀ID上的數(shù)據(jù)。車載終端重復(fù)執(zhí)行以上步驟,直到完成配置文件里所有幀數(shù)據(jù)的提取,完成車輛CAN總線數(shù)據(jù)信號的提取。波特率配置、幀ID配置和幀數(shù)據(jù)配置是配置TBC文件的三大項,波特率配置包括配置高速波特率、中速波特率和低速波特率,波特率根據(jù)車輛CAN總線信號傳輸速率進行配置。幀ID配置是對報文對象配置,報文對象在DBC文件中以“BO_”作為關(guān)鍵字,它包含有幀ID、幀類型(標準幀或擴展幀)等信息。幀數(shù)據(jù)配置是對Signal對象配置,Signal對象在DBC文件中以“SG_”作為關(guān)鍵字,由數(shù)據(jù)名稱、起始位、位長度、類型(Intel或Motorola)、分辨率、偏移量、最大值、最小值、單位等組成。
TBC文件格式如下:
BO_幀ID|標準幀或擴展幀等|Intel或Motorola 類型|一路CAN或兩路CAN
SG_起始位|位長度
由DBC文件生成TBC配置文件如下:
hsbaudrate 125000
msbaudrate 250000
lsbaudrate 500000
BO_288 MS_Vehicle_Odometer:5 IC
SG_VehOdo:7|32@0+(0.015625,0)[0|67108863.984375]"km"Vector_XXX
BO_288|0|1|1
SG_32|32
對車輛進行數(shù)據(jù)采集時,只需將TBC文件下發(fā)車載終端上,車載終端通過解析TBC文件的內(nèi)容了解到采集指令,對總線上的數(shù)據(jù)進行分析處理組包,并按照約定的協(xié)議把組包好的數(shù)據(jù)回傳到遠程服務(wù)平臺上,協(xié)議也是遵從兼容性原則定義。
組包協(xié)議包含幀頭和數(shù)據(jù)項,幀頭長度為一個字節(jié),幀頭低七位是幀數(shù)據(jù)字節(jié)長度數(shù),幀頭最高位為更新位,更新位用于標識數(shù)據(jù)是否更新,數(shù)據(jù)項字節(jié)數(shù)最大為127字節(jié)。車載終端根據(jù)配置文件TBC采集車輛CAN總線上的數(shù)據(jù),根據(jù)回傳數(shù)據(jù)組包一幀數(shù)據(jù)格式的數(shù)據(jù)順序與配置文件TBC中幀ID順序一一對應(yīng),打包成數(shù)據(jù)包。一個數(shù)據(jù)包對應(yīng)一個配置文件,數(shù)據(jù)包包含多幀數(shù)據(jù),但最多可傳輸255幀數(shù)據(jù)。表1所示為車載終端回傳數(shù)據(jù)包一幀數(shù)據(jù)格式。在數(shù)據(jù)上傳遠程服務(wù)平臺中采用數(shù)據(jù)定時回傳功能,每2 s回傳1個數(shù)據(jù)包。
表1 回傳數(shù)據(jù)組包一幀數(shù)據(jù)格式
遠程服務(wù)平臺在配置DBC 生成TBC文件過程中生成文件的MD5值,當作配置文件的唯一標識。該方案為防止數(shù)據(jù)包上傳過程丟包,車載終端在上傳數(shù)據(jù)包過程中同時回傳數(shù)據(jù)包的MD5值,以便遠程服務(wù)平臺校驗是哪個DBC文件的數(shù)據(jù)包,選用對應(yīng)的DBC文件進行解析數(shù)據(jù)包。數(shù)據(jù)包和DBC文件里的數(shù)據(jù)項相對應(yīng),通過數(shù)據(jù)包對應(yīng)的DBC文件對數(shù)據(jù)包進行解析,獲得車輛CAN總線上數(shù)據(jù)信號。遠程服務(wù)平臺通過提取DBC文件一個幀ID,并同時提取數(shù)據(jù)包一幀的幀頭,獲取數(shù)據(jù)字節(jié)長度,并根據(jù)數(shù)據(jù)字節(jié)長度提取該幀數(shù)據(jù),根據(jù)車輛CAN總線電子控制器協(xié)議,獲得該幀數(shù)據(jù)所代表的數(shù)據(jù)含義。按順序依次提取每一幀數(shù)據(jù),獲得車輛數(shù)據(jù)信號。通過把車輛CAN總線上幀原始數(shù)據(jù)有效數(shù)據(jù)組包返回,再通過遠程服務(wù)平臺對數(shù)據(jù)按照DBC文件的定義進行解析、存儲,最終展顯出來的就是可被識別的車輛數(shù)據(jù)信號。在TBC配置文件里并沒有對數(shù)據(jù)包里面數(shù)據(jù)指代的內(nèi)容含義進行備注和注釋,僅僅從TBC配置文件和組包數(shù)據(jù)協(xié)議上無法直接獲得車輛數(shù)據(jù)信號所代表的意思,具有很好的保密性。
綜上所述,一種電動汽車數(shù)據(jù)采集系統(tǒng)解決了不能靈活變更采集車輛CAN總線上車輛數(shù)據(jù)信號的問題,能根據(jù)采集車輛數(shù)據(jù)信號的實際需求或者在數(shù)據(jù)采集臨時變更時,通過簡單配置TBC配置文件采集車輛數(shù)據(jù)信號應(yīng)對不同的需求,節(jié)約網(wǎng)絡(luò)帶寬,通過遠程服務(wù)平臺直接變更配置文件TBC;車載終端定位為透傳終端,適應(yīng)性強,數(shù)據(jù)采集系統(tǒng)對車載終端的依賴小,弱化其業(yè)務(wù)功能,強化其技術(shù)靈活性,增強了車載終端與車輛的匹配能力,使同一款車載終端具備匹配多種車型的能力,具有快速、高效、方便獲取車輛CAN總線數(shù)據(jù)信號的優(yōu)點,不需要人工現(xiàn)場操作;遠程服務(wù)平臺通過GPRS網(wǎng)絡(luò)將配置文件TBC傳輸?shù)杰囕d終端,方案簡單、高效且不易出錯。該方案由于車載終端要采集的車輛數(shù)據(jù)是遠程服務(wù)平臺事先通過TBC配置文件告知的,車載終端不用去對要采集的車輛CAN總線協(xié)議進行了解,使得車載終端不受業(yè)務(wù)環(huán)境影響,使其在任何一個具備CAN總線協(xié)議的車輛上都可以使用,并且無需改變車載終端程序,通過遠程服務(wù)平臺的簡單配置實現(xiàn)數(shù)據(jù)采集的需求,使得車聯(lián)網(wǎng)系統(tǒng)具有很強的兼容性。