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