中圖分類號(hào):U461 收稿日期:2025-02-25
DOI: 10.19999/j.cnki.1004-0226.2025.07.017
Research on Methods for Collecting and Analyzing Automotive Communication Data
Xie Yahui1Zhao YoulHuo Yuanyuan2 1.Liuzhou Polytechnic University,Liuzhou 545oo0,China 2.Liuzhou City Vocational College,Liuzhou 545oo0,China
Abstract:Withtherapidincreaseinthenumberofcarsandtheincreasinguseofautonomousdriving,therearemoreandmore trafficacidentsbyutomobiledrivingTerefore,tisnessarytostudycarommunicationdata.Withtheevelopmentoftheelectriica tionandntellgenceofautomobiles,teumberofECUcomponentsinveiclecontrolunitsisincreasing,andthestructureofutoo tivecommunicationnetworkshasbecomemoreandmoreimportant.Thispaperintroducesamethodforcolectingandanalyzingautomotivecommunicationdata.Thepaperelaboratesonfouraspects:communicationrules,compositionstructureofcommunicationdata, collectionandanalysisofcommunicationdata.AnactualvehiclemodelisusedasacasestudytocolectandanalyzeautomotiveCAN communicationdata.Theconlusionindicatesthatthismethodcanbeappliedtothecolectionandanalysisofautomotivecommunication data,providing reference for the intelligent upgrading and transformation of automobiles.
Keywords:Communication data;Data collection;Data parsing;Automotive intelligence
1前言
當(dāng)前,由于汽車數(shù)量的急劇增加及汽車自動(dòng)駕駛的逐漸增多,在交通事故中,汽車因素占據(jù)的分量越來(lái)越大[1-2],因此有必要對(duì)汽車通信數(shù)據(jù)進(jìn)行研究。隨著汽車電子技術(shù)的發(fā)展,車載控制單元ECU部件的數(shù)量也越來(lái)越多,使用傳統(tǒng)的點(diǎn)到點(diǎn)線束的連接方式會(huì)急劇增大線束的重量,從而導(dǎo)致其安裝困難,而CAN通信網(wǎng)絡(luò)結(jié)構(gòu)因其具有能提高整個(gè)系統(tǒng)的可靠性、減少線束數(shù)量和成本、多重使用傳感器、傳輸復(fù)雜數(shù)據(jù)、系統(tǒng)變更靈活、能實(shí)現(xiàn)新型功能、有效診斷和降低硬件成本等優(yōu)點(diǎn),成為汽車發(fā)展的一種必然選擇[3]。
隨著人工智能以及5G時(shí)代的到來(lái),汽車產(chǎn)業(yè)掀起新一輪的產(chǎn)業(yè)革命[4-5]。文獻(xiàn)[6]表明汽車業(yè)就是被智能化改造的高可靠性的移動(dòng)終端,而目前在歐洲幾乎每一個(gè)汽車生產(chǎn)公司都會(huì)使用CAN通信技術(shù),因此車輛的CAN通信數(shù)據(jù)采集及解析成為重要一環(huán)。對(duì)于職業(yè)教育而言,大部分車輛的故障診斷還停留在單純的車輛診斷儀上[8-10],無(wú)法真正讀出相應(yīng)的通信數(shù)據(jù)流,一旦脫離診斷儀,汽車故障的讀取就顯得很吃力。為此,本文研究了一種汽車通信數(shù)據(jù)的采集及解析方法,旨在為汽車后續(xù)的智能化改造提供參考。
2汽車CAN網(wǎng)絡(luò)協(xié)議規(guī)則
2.1多主機(jī)結(jié)構(gòu)
CAN總線采取總線拓?fù)浣Y(jié)構(gòu)(圖1),沒有特權(quán)節(jié)點(diǎn)??偩€在空閑的時(shí)候,所有的單元都可以發(fā)送信息(多主機(jī)的控制)。開始時(shí)向總線發(fā)送信息的單元享受發(fā)送的優(yōu)先權(quán),在多個(gè)單元同時(shí)發(fā)送的時(shí)候,優(yōu)先級(jí)別高(幀ID級(jí)別高)的單元享受優(yōu)先權(quán)。
圖1總線拓?fù)浣Y(jié)構(gòu)
2.2廣播方式發(fā)送信息
廣播方式就是一家發(fā)送大家接收。CAN網(wǎng)絡(luò)的數(shù)據(jù)是采用廣播式的發(fā)送模式的,任何部件都可以通過控制模塊接收,也都能發(fā)送到CAN數(shù)據(jù)線上。CAN總線廣播方式如圖2所示。
圖2CAN總線廣播方式
2.3非破壞性仲裁(優(yōu)先權(quán))
為了保證CAN總線的傳輸速度,每個(gè)控制單元在發(fā)送數(shù)據(jù)時(shí)是有優(yōu)先權(quán)的,一般優(yōu)先級(jí)為3位的二進(jìn)制碼發(fā)送在數(shù)據(jù)的最前端,該二進(jìn)制碼通過線與的關(guān)系使二進(jìn)制碼000處于數(shù)據(jù)優(yōu)先級(jí)的最高位,111處于數(shù)據(jù)位的最低位,所以在CAN協(xié)議傳輸中優(yōu)先級(jí)被分成000~111這8個(gè)等級(jí),當(dāng)控制單位通過線與的關(guān)系發(fā)現(xiàn)自己的優(yōu)先級(jí)處于低位時(shí)就即刻停止發(fā)送該數(shù)據(jù)流。如圖3所示,ABS/EDS控制單元信息處于最高位000,其他控制單位立即停止發(fā)送數(shù)據(jù)。
2.4采用雙絞線傳輸(差動(dòng)信號(hào))
CAN總線采用雙絞線的傳輸方式(圖4),其中一根為CAN高線,一根為CAN低線。信息在傳輸過程中采用高線和低線的信號(hào)差作為傳輸信號(hào),該方式可以有限地減少信號(hào)干擾,如圖4所示,大部分的CAN總線采用雙線的工作模式,少數(shù)也有單線工作模式如汽車舒適CAN總線。
圖3數(shù)據(jù)發(fā)送的優(yōu)先權(quán)
圖4雙絞線傳輸
3CAN通信的數(shù)據(jù)格式分析
表1為CAN協(xié)議的數(shù)據(jù)單元格式表。
表1CAN數(shù)據(jù)單元格式表
從表1可以看出,一個(gè)完整的CAN數(shù)據(jù)包含P優(yōu)先權(quán)、R保留位、DP數(shù)據(jù)頁(yè)、PDU參數(shù)組編號(hào)PF、PS源地址、SA目標(biāo)地址以及最后發(fā)送的數(shù)據(jù)DATA。表1中的數(shù)字代表二進(jìn)制的位數(shù),具體的格式解析如下:a.P為3位二進(jìn)制的優(yōu)先權(quán),從最高0設(shè)置到最低7;b.R為保留的位置,以備后面的開發(fā)使用;c.DP為數(shù)據(jù)頁(yè),被用來(lái)作為選擇參數(shù)組所描述的輔助頁(yè);d.PF為PDU的格式,表示數(shù)據(jù)域?qū)?yīng)的參數(shù)組編號(hào)以及用作確定PDU的格式;e.PS為PDU特定格式,表示發(fā)送信息起始的目標(biāo)地址,PS值取決于PDU格式,在本標(biāo)準(zhǔn)中采用PDU1格式;f.SA為源地址,表示信息的接收地址即發(fā)送此報(bào)文的源地址;g.DATA為數(shù)據(jù)域,即發(fā)送的具體命令內(nèi)容,若給定參數(shù)組數(shù)據(jù)長(zhǎng)度 ?8 字節(jié),則按照前面的報(bào)文傳送規(guī)則傳送,若傳送的數(shù)據(jù)信息大于8個(gè)字節(jié),一條信息發(fā)不完則需要傳送多幀數(shù)據(jù)組,就可以通過傳輸協(xié)議的規(guī)則來(lái)開啟或者關(guān)閉多幀數(shù)據(jù)組的傳輸。
4CAN通信數(shù)據(jù)的采集及解析
通過上文分析,可以了解到CAN的發(fā)送規(guī)則以及數(shù)據(jù)格式,下面使用CAN分析儀及電腦對(duì)汽車CAN網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行讀取。
4.1軟件安裝
首先在電腦中安裝USB_CANTOOL的軟件(圖5),安裝完成后再進(jìn)行調(diào)試。
圖5USB_CANTOOL的安裝
圖7CAN分析儀數(shù)據(jù)采集
4.2CAN分析儀的連接
本文采用的是創(chuàng)芯科技的CANalyst-II,將CAN分析儀的電阻擋撥到 120Ω ,使用其中一個(gè)CAN1通道,將CAN1通道的CANH線連接到汽車診斷接口某一組CAN網(wǎng)絡(luò)的CANH線,CAN1通道的CANL線連接到汽車診斷儀相應(yīng)的CANL線,將CAN分析儀的另一端(如圖6中的圓圈)連接到電腦端。
圖6CAN分析儀的連接
圖8實(shí)際采集數(shù)據(jù)
4.3CAN網(wǎng)絡(luò)數(shù)據(jù)采集
將CAN分析儀按上述步驟連接好之后,直接在電腦上打開USB_CANTOOL的軟件,選擇好連接的CAN1或者CAN2通道,然后再選擇 500k 的波特率開始對(duì)汽車CAN網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行采集。
如圖7所示,從軟件中可以看到采集到的時(shí)間、幀類型、長(zhǎng)度、幀ID以及最右邊的幀數(shù)據(jù),根據(jù)表1所示的CAN數(shù)據(jù)的格式,實(shí)際需要采集的數(shù)據(jù)主要由幀ID和幀數(shù)據(jù)兩部分組成,因此在下面的解析中可以將幀ID和幀數(shù)據(jù)直接提取出來(lái)。
5數(shù)據(jù)解析實(shí)際應(yīng)用
5.1幀ID的解析
本文以北汽EV200的快充CAN為例對(duì)CAN數(shù)據(jù)進(jìn)行實(shí)例解析。首先通過上文方法在北汽EV200充電時(shí)采集到一組快充CAN的電池充電需求數(shù)據(jù)(以下簡(jiǎn)稱報(bào)文),該報(bào)文由BMS發(fā)送給充電機(jī),作用是讓充電機(jī)根據(jù)充電需求來(lái)調(diào)整充電電壓和充電電流,確保充電過程的正常進(jìn)行,將采集的報(bào)文信息導(dǎo)出成EXCEL表,如圖8所示,從中選取1913這條數(shù)據(jù)進(jìn)行解析,該條數(shù)據(jù)為:
幀ID:181056F4幀數(shù)據(jù):600EDE0D02
1908 通道1接收擴(kuò)展數(shù)據(jù)幀1CECF456 13090002FF00110020:28:03.180.729
1909 通道1接收擴(kuò)展數(shù)據(jù)幀1812F456 700DE20D0000FD 20:28:03.193.701
1910 通道1接收擴(kuò)展數(shù)據(jù)幀181356F4 515201510700D0 20:28:03.199.668
1911 通道1接收擴(kuò)展數(shù)據(jù)幀181056F4 60OEDEOD02 20:28:03.229.599
0 通道1接收擴(kuò)展數(shù)據(jù)幀1812F456 700DE20D0000FD 20:28:03.243.708
1913通道1接收擴(kuò)展數(shù)據(jù)幀181056F4 60OEDEOD02 20:28:03.279.598
1914通道1接收擴(kuò)展數(shù)據(jù)幀1812F456 700DE20D0000FD 20:28:03.293.713
1915通道1接收擴(kuò)展數(shù)據(jù)幀181056F4 60OEDEOD02 20:28:03.329.596
1916通道1接收擴(kuò)展數(shù)據(jù)幀1812F456 700DE20D0000FD 20:28:03.343.719
1917 通道1接收擴(kuò)展數(shù)據(jù)幀181056F4 60OEDEOD02 20:28:03.379.594
1918通道1接收擴(kuò)展數(shù)據(jù)幀1812F456 700DE20D0000FD 20:28:03.393.726
通過表1可以知道幀ID發(fā)送的信息包含優(yōu)先權(quán)、保留位、數(shù)據(jù)頁(yè)、PDU參數(shù)組編號(hào)、目標(biāo)地址以及源地址。
幀ID:181056F4為十六進(jìn)制碼,將其轉(zhuǎn)換為二進(jìn)制碼:幀ID:0001100000010000010101101110100。去掉前三個(gè)0(系統(tǒng)默認(rèn)設(shè)置),變?yōu)槿缦滦问剑簬琁D:1100000010000010101101110100對(duì)應(yīng)表1逐一解析:a.優(yōu)先級(jí)為前三位的二進(jìn)制110轉(zhuǎn)化為十進(jìn)制為6,所以優(yōu)先級(jí)為6,處于第二低位。b.保留位R為第四位的0。c.DP數(shù)據(jù)頁(yè)為第五位的0。d.PDU參數(shù)組為二進(jìn)制的00010000。e.PS為CAN數(shù)據(jù)發(fā)送的目標(biāo)地位,為二進(jìn)制的01010110或十六進(jìn)制的56,通過查找GB/T27930—2015電動(dòng)汽車非車載傳導(dǎo)式充電機(jī)與電池管理系統(tǒng)之間的通信協(xié)議[11],可以看出56指的是BMS電池管理系統(tǒng)的地址位置。
f.SA為二進(jìn)制的01110100或十六進(jìn)制的F4,查找GB/T27930—2015可以知道F4為充電機(jī)的地址。
因此,該條幀ID的含義為:該數(shù)據(jù)優(yōu)先級(jí)為6,保留位為0,DP數(shù)據(jù)頁(yè)為0,PDU參數(shù)組為十六進(jìn)制的10,該數(shù)據(jù)是BMS發(fā)送給充電機(jī)的。
5.2幀數(shù)據(jù)的解析
下面將解析幀數(shù)據(jù):600EDE0D02。通過查找GB/T27930—2015電動(dòng)汽車非車載傳導(dǎo)式充電機(jī)與電池管理系統(tǒng)之間的通信協(xié)議,可以得到該報(bào)文的解釋,如表2所示。
表2通信協(xié)議解析
其中:a.SPN3072為電壓需求數(shù)據(jù)分辨率:0.1V/位,0V偏移量。b.SPN3073為電流需求數(shù)據(jù)分辨率:0.1A/位, -400A 偏移量。
這里要注意,對(duì)于北汽,其初始字節(jié)是從第1個(gè)字節(jié)位開始編寫的,有的協(xié)議如博世是從0字節(jié)位開始,另外北汽的編碼是倒過來(lái)的,每個(gè)字節(jié)是從第8位開始編碼的,因此在解析計(jì)算的時(shí)候要將字節(jié)倒過來(lái)算。由于每個(gè)字節(jié)等于2個(gè)十六進(jìn)制數(shù),通過表2可以看出該組數(shù)據(jù)表達(dá)了三個(gè)信息,分別是電壓需求、電流需求和充電模式。
幀數(shù)據(jù):600EDE0D02字節(jié)位:12345
電壓需求為第1位的起始字節(jié)長(zhǎng)度為2,即為十六進(jìn)制的600E,將字節(jié)進(jìn)行倒置即為0E60,轉(zhuǎn)化為十進(jìn)制后為3680。
電流需求為第3位的起始字節(jié)長(zhǎng)度為2,即為十六進(jìn)制的DEOD,將字節(jié)進(jìn)行倒置為0DDE,轉(zhuǎn)化為十進(jìn)制后為3550。
根據(jù)表2中的SPN數(shù)據(jù)分辨率進(jìn)行轉(zhuǎn)換,可以得出如下結(jié)論:
電池的電壓需求為 3680×0.1+0=368(V), 門電流需求為 3550×0.1-400=-45(A) 。
充電模式為起始位第5字節(jié)1個(gè)字節(jié)長(zhǎng)度的02,根據(jù)表2即為恒流充電。
通過對(duì)該條幀數(shù)據(jù)的解析可以得出:該幀數(shù)據(jù)是由BMS發(fā)送給充電機(jī)的,BMS告訴充電機(jī)它需要368V的電壓、45A的電流,BMS的充電模式是恒流充電。
6結(jié)語(yǔ)
a.通過本方法可以切實(shí)采集到汽車的通信數(shù)據(jù)。b.通過本方法可以直接讀取到汽車通信的數(shù)據(jù)流,該數(shù)據(jù)可以應(yīng)用到車輛的故障診斷中去,而不用受診斷儀設(shè)備的限制。c.通過本方法,在采集到汽車的CAN網(wǎng)絡(luò)數(shù)據(jù)之后可以通過通信協(xié)議解析及分析該數(shù)據(jù),為汽車后續(xù)的智能化改造提供參考。d.目前通信協(xié)議除了已公布的國(guó)標(biāo)及車企以外,很多汽車企業(yè)的通信協(xié)議是其核心機(jī)密,只能通過逐步分析數(shù)據(jù)結(jié)構(gòu)這種方法,想要更為徹底地解析所有車型的通信數(shù)據(jù),還需要進(jìn)一步的努力。
參考文獻(xiàn):
[1]馬文博,秦康.駕駛員注意力監(jiān)測(cè)系統(tǒng)測(cè)試評(píng)價(jià)方法分析[J].專用汽車,2024(10):14-19.
[2]王曉亮,李兵,應(yīng)宇汀,等.駕駛員狀態(tài)監(jiān)測(cè)系統(tǒng)測(cè)試評(píng)價(jià)方法分析[J].專用汽車,2023(10):85-88.
[3]王劍鋒,王大方,張冠哲.電動(dòng)車車身網(wǎng)絡(luò)CAN總線通信實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009,25(17):106-107+219.
[4]張銳.汽車智能化即將進(jìn)入加速軌道[J].中關(guān)村,2020(11):68-69.
[5]未來(lái)智能汽車不止于出行[J].汽車零部件,2021(1):68
[6]梁鋒華.新領(lǐng)域、新機(jī)遇、新挑戰(zhàn)—關(guān)于智能化的思考[J].內(nèi)燃機(jī)與配件,2016(2):31-33.
[7]馮軍強(qiáng),彭能嶺,李振山,等.CAN網(wǎng)絡(luò)通信技術(shù)介紹及在混合動(dòng)力汽車中的應(yīng)用[C]//重慶汽車工程學(xué)會(huì).新型汽車工程塑料——正確的設(shè)計(jì)和制造工藝高研班論文集.鄭州宇通客車股份有限公司,2015:7.
[8]張小興.純電動(dòng)汽車故障診斷案例分析[J].時(shí)代汽車,2021(3):157-158.
[9]于國(guó)鋒.新能源汽車的故障問題與維修關(guān)鍵技術(shù)探討[J].時(shí)代汽車,2019(3):74-75.
[10]于曉喜.大眾邁騰無(wú)法起動(dòng)故障診斷與排除[J].時(shí)代汽車,2019(20):107-108.
[11]GB/T27930—2015電動(dòng)汽車非車載傳導(dǎo)式充電機(jī)與電池管理系統(tǒng)之間的通信協(xié)議[S].
作者簡(jiǎn)介:
謝亞輝,男,1990年生,講師,研究方向?yàn)橹悄芫W(wǎng)聯(lián)汽車、交通運(yùn)輸工程。