摘 要:近幾年,隨著技術(shù)的發(fā)展,應(yīng)用CAN總線系統(tǒng)的工程車越來越多。與普通線路相比,CAN總線具有各電器系統(tǒng)相對(duì)獨(dú)立,相互之間關(guān)聯(lián)較少,線路相對(duì)簡(jiǎn)單等特點(diǎn)。只要能夠掌握CAN總線原理,車輛各電氣系統(tǒng)的原理圖,CAN總線各模塊功能及其在車上的位置,就能通過故障現(xiàn)象,迅速準(zhǔn)確地排除故障。本文針對(duì)新能源工程機(jī)械報(bào)文解析在故障診斷的方面應(yīng)用,通過報(bào)文的獲取,報(bào)文解析進(jìn)而確定故障原因。
關(guān)鍵詞:CAN協(xié)議 報(bào)文 報(bào)文格式 報(bào)文解析
1 CAN協(xié)議概述
1.1 相關(guān)術(shù)語介紹
總線:節(jié)點(diǎn)(功能部件)間信息交換技術(shù);作一個(gè)比喻:電腦處理信息就好像在不斷穿梭接送乘客的BUS,而各個(gè)計(jì)算機(jī)部件就是一個(gè)個(gè)車站,從而將信息連接到每個(gè)計(jì)算機(jī)部件的。
CAN總線:CAN總線是英文Controller Area Network的縮寫,就是某種信息交換技術(shù)的網(wǎng)絡(luò)布置方法。其等效原理如圖1。
總線分類:在工程機(jī)械上已經(jīng)出現(xiàn)了多種總線標(biāo)準(zhǔn),從總線所實(shí)現(xiàn)的功能角度分,
可分為兩類:
一類是控制策略驅(qū)動(dòng)的總線,如SAE的J1850、德國(guó)大眾的ABUS、博世的CAN、ISO11898和ISO11519、美國(guó)商用機(jī)器的AutoCAN、ISO的VAN、馬自達(dá)的PALMNET、以及用于低速場(chǎng)合的LIN等。
一類是以大量數(shù)據(jù)傳輸為目的的多媒體總線,如IDB-C、IDB-1394、MOST、AMIC-C等。
協(xié)議:網(wǎng)絡(luò)協(xié)議的簡(jiǎn)稱,通訊雙方必須共同遵從的一組約定。簡(jiǎn)單的說了,網(wǎng)絡(luò)中的節(jié)點(diǎn)要能夠互相順利的通信,就必須講同樣的語言,協(xié)議就相當(dāng)于符號(hào)化的語言。工程機(jī)械中采用J1939CAN網(wǎng)絡(luò)協(xié)議。
1.2 通訊協(xié)議的三要素
a:語法:數(shù)據(jù)與控制信息的結(jié)構(gòu)或格式;簡(jiǎn)單的說,類似語言中的:主謂賓,定狀補(bǔ)
b:語義:結(jié)構(gòu)或格式中每部分所表示的現(xiàn)實(shí)含義。如:何種控制、何種響應(yīng)等
c:時(shí)序:事件實(shí)現(xiàn)順序的詳細(xì)描述
在CAN協(xié)議中存在大量專業(yè)術(shù)語,在此不再敖述,可以參考CAN網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)[1]。
2 何為報(bào)文
報(bào)文:將位于應(yīng)用層的信息分組稱為報(bào)文,是網(wǎng)絡(luò)傳輸中的數(shù)據(jù)單元,包含了數(shù)據(jù)的完整性。以幀為最小傳輸單位,長(zhǎng)度不限且可變。在網(wǎng)絡(luò)傳輸過程中不斷的封裝為段、組、包、幀來傳輸。封裝的本質(zhì)就是添加一些信息域俗稱報(bào)文頭。
(1)數(shù)據(jù)單元:報(bào)文是計(jì)算機(jī)網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)單元。它是信息在網(wǎng)絡(luò)中傳遞的基本單位,類似于日常生活中的信件或郵包。
(2)封裝和解封裝:報(bào)文在傳輸前需要經(jīng)過封裝的過程,即將數(shù)據(jù)添加額外的頭部信息,以便在網(wǎng)絡(luò)中正確傳遞到目標(biāo)位置。在目標(biāo)位置,報(bào)文會(huì)被解封裝,也就是將頭部信息去除,還原出原始的數(shù)據(jù)。
(3)標(biāo)識(shí)信息:報(bào)文通常包含標(biāo)識(shí)信息,例如源地址和目標(biāo)地址,以確保數(shù)據(jù)被正確傳送到目標(biāo)設(shè)備,并讓接收方知道報(bào)文的來源。此外還有控制信息、仲裁信息、檢驗(yàn)信息等。
(4)通信協(xié)議:報(bào)文的格式和規(guī)則由通信協(xié)議定義。不同的應(yīng)用和協(xié)議可能會(huì)使用不同的報(bào)文格式,但它們都遵循相應(yīng)協(xié)議規(guī)定的結(jié)構(gòu)和處理方式。
CAN通訊協(xié)議的基本格式:如圖2所示。
基本格式=報(bào)文頭+報(bào)文體+報(bào)文尾。
報(bào)文頭:包含通訊開始時(shí)所涉及的必要標(biāo)識(shí)信息,例如控制信息、仲裁信息、功能信息、擴(kuò)展信息、源地址、目標(biāo)地址等,對(duì)應(yīng)的是:幀起始、仲裁場(chǎng)、控制場(chǎng)。
報(bào)文體:應(yīng)用層需求的信息,對(duì)應(yīng)的是數(shù)據(jù)場(chǎng)或域。
報(bào)文尾:包含通訊結(jié)束時(shí)所涉及的必要標(biāo)識(shí)信息,如應(yīng)答信息、檢驗(yàn)信息等。對(duì)應(yīng)的是CRC場(chǎng)、ACK場(chǎng)、幀結(jié)束。
(5)數(shù)據(jù)傳輸:報(bào)文通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行傳輸,經(jīng)過多個(gè)中間節(jié)點(diǎn),如路由器、交換機(jī)等,通過這些節(jié)點(diǎn)的轉(zhuǎn)發(fā),最終到達(dá)目標(biāo)設(shè)備。
(6)標(biāo)識(shí)符:信息的抽象符號(hào),以位為最小單位,以域?yàn)樽钚」δ軉挝弧?/p>
3 CAN報(bào)文的采集
(1)CAN報(bào)文采集所需的軟硬件。硬件有:CAN盒(周立功)、測(cè)試線、存儲(chǔ)設(shè)備(SD卡或優(yōu)盤),與硬件相匹配的軟件,CANPRO、USBCAND等。軟件安裝在筆記本電腦上。
(2)采集過程:通過測(cè)試線把CAN盒輸入口與整車的診斷口相連--輸出口與電腦相連--打開車輛電鎖--打開USBCAN軟件--選擇CAN通訊通道--選擇通訊波特率(在工程機(jī)械一般為250KB或500KB)--啟動(dòng)車輛,在軟件交互窗口獲取報(bào)文。如圖3所示某車型所獲取的報(bào)文,其中Message Number:報(bào)文序號(hào)信息;Time Offset(ms):報(bào)文采集時(shí)間信息;Bus:總線通道信息;Type:報(bào)文傳輸方向(其中Rx表示接受,Tx表示發(fā)出)信息;Reserved:保留位(用于功能擴(kuò)展)Data Lengh Code:表示數(shù)據(jù)長(zhǎng)度信息,其中數(shù)字8代表數(shù)據(jù)長(zhǎng)度占8個(gè)字節(jié);Data Bytes(Hex):表示報(bào)文數(shù)據(jù)信息,以十六進(jìn)制形式表示;ID:報(bào)文唯一標(biāo)識(shí)符,類似我們身份證,與數(shù)據(jù)場(chǎng)一一對(duì)應(yīng)。
4 報(bào)文的解析
報(bào)文的解析分為兩部分:第一部分對(duì)報(bào)文的標(biāo)識(shí)信息的的解析,第二部分對(duì)報(bào)文體的數(shù)據(jù)進(jìn)行解析。下文將對(duì)這兩部分進(jìn)行詳細(xì)的解釋。
4.1 報(bào)文標(biāo)識(shí)信息的解析:主要是對(duì)報(bào)文的ID進(jìn)行解析
CAN報(bào)文的ID根據(jù)CAN協(xié)議中規(guī)定可分為:標(biāo)準(zhǔn)幀的ID為11為二進(jìn)制數(shù)構(gòu)成,以十六進(jìn)制形式顯示;擴(kuò)展幀的ID為29為二進(jìn)制數(shù)構(gòu)成,同樣以十六進(jìn)制顯示。目前工程車輛都使用擴(kuò)展幀結(jié)構(gòu)即29位ID。幀ID中所包含的信息:優(yōu)先級(jí)、參數(shù)組編號(hào)、源地址、目的地址四個(gè)信息?,F(xiàn)以某車型實(shí)際報(bào)文為例進(jìn)行說明:所采集到的報(bào)文如圖4所示。
ID的十六進(jìn)制的形式為:0C08E4DC。
其中最后兩位DC為:源地址(Source Adress簡(jiǎn)稱SA),作用:告知我們數(shù)據(jù)場(chǎng)的數(shù)據(jù)來源,也就是說這些數(shù)據(jù)是哪個(gè)節(jié)點(diǎn)發(fā)出來的。其中DC為廠家自主定義,源地址與節(jié)點(diǎn)一一對(duì)應(yīng),不可重復(fù),一個(gè)節(jié)點(diǎn)只能獲得唯一一個(gè)地址碼。該處某廠家定義為:DC-DC模塊的地址標(biāo)識(shí)符。表1某廠家節(jié)點(diǎn)模塊地址碼定義。
前面六位十六進(jìn)制數(shù)0C08E4為參數(shù)組PGN(Parameter Group Number):傳輸數(shù)據(jù)參數(shù)的集合,每一個(gè)參數(shù)組都有一個(gè)唯一的標(biāo)識(shí)符稱為參數(shù)組編號(hào)。參數(shù)組依據(jù)功能進(jìn)行分配,例如命令參數(shù)組、數(shù)據(jù)參數(shù)組、請(qǐng)求參數(shù)組、應(yīng)答參數(shù)組等。這些在CAN協(xié)議標(biāo)準(zhǔn)中進(jìn)行明確的規(guī)定。PGN如圖5所示:
最前面3位二進(jìn)制 表示優(yōu)先級(jí)(Priority)信息,數(shù)值越小,傳輸優(yōu)先級(jí)越高。作用:可以明確該條報(bào)文的收發(fā)優(yōu)先級(jí),如圖5所示中:當(dāng)PF的值大于等于十進(jìn)制的240,則字節(jié)3的數(shù)據(jù)表示目的地址為全局(GE);當(dāng)PF的值小于十進(jìn)制的240,則字節(jié)3的數(shù)據(jù)表示目的地址為特定(DA);作用:可知是哪個(gè)或那些節(jié)點(diǎn)是需要接受信息。
4.2 報(bào)文的數(shù)據(jù)解析:主要是指數(shù)據(jù)場(chǎng)的數(shù)據(jù)進(jìn)行解析
CAN報(bào)文數(shù)據(jù)場(chǎng)由8個(gè)字節(jié)組成,共計(jì)64位二進(jìn)制(如表2)??梢源娣艛?shù)據(jù)類型:可以是狀態(tài)值或測(cè)量值。1個(gè)byte由8個(gè)bit組成,byte稱為“字節(jié)”,bit稱為“位”,bit的數(shù)值只能是“0”和“1”數(shù)據(jù)由廠家自行定義。以圖4某廠家實(shí)際報(bào)文為例:該報(bào)文的數(shù)據(jù)為:0A 28 10 27 10 27 38 48。
在解析數(shù)據(jù)時(shí)需要根據(jù)廠家實(shí)際的DBC(Data Base Can)文件來進(jìn)行解析(如圖6)。
如圖6所示,我們先看圖5 DCDC工作狀態(tài)數(shù)據(jù)在第7字節(jié)第7位,根據(jù)描述欄:其中“0”表示停機(jī)狀態(tài),“1”表示運(yùn)行狀態(tài)。實(shí)際測(cè)量值中(圖7所示)在第7字節(jié)第7位的值位0,說明DCDC沒有運(yùn)行。該車現(xiàn)在存在故障。DCDC工作運(yùn)行的條件:有輸入電壓和并有輸出電壓和。接下來根據(jù)圖圖5中的規(guī)定分別計(jì)算一下這些值。
DCDC輸入電壓:用兩個(gè)字節(jié)來表示,分別占用第5字節(jié)的0-7位和第6字節(jié)的0-7位;再根據(jù)圖5所示這兩個(gè)字節(jié)中的數(shù)據(jù)為十六進(jìn)制的10和27,該協(xié)議采用的MBS規(guī)則,寫成十六進(jìn)制順序?yàn)?710,將十六進(jìn)制轉(zhuǎn)化為十進(jìn)制:(2710)16=(10000)10,得到10000。
根據(jù)公式:測(cè)量值=十進(jìn)制數(shù)值*分辨率+偏移量,該DCDC輸入端電壓=10000*0.1-1000=0V。
0V說明DCDC沒有輸入電壓,所以DCDC沒有運(yùn)行。我們可以把故障鎖定在DCDC輸入端。
最終故障原因?yàn)楦邏汉薪oDCDC供電的接觸器損壞導(dǎo)致。
DCDC輸出端電壓:用兩個(gè)字節(jié)來表示,分別占用第1字節(jié)的0-7位和第2字節(jié)的0-7位;再根據(jù)表2所示這兩個(gè)字節(jié)中的數(shù)據(jù)為十六進(jìn)制的0A和28,該協(xié)議采用的MBS規(guī)則,寫成十六進(jìn)制順序?yàn)?80A,將十六進(jìn)制轉(zhuǎn)化為十進(jìn)制:(280A)16=(10250)10,得到10250。
根據(jù)公式:測(cè)量值=十進(jìn)制數(shù)值*分辨率+偏移量,該DCDC輸出端電壓=10250*0.1-1000=25V。
重要提示:此數(shù)據(jù)只能明確蓄電池電壓正常但是不能確定DCDC正常。同理可以計(jì)算DCDC輸入和輸出電流均為0A。讀者可自行驗(yàn)證。在此不再敖述。
5 結(jié)語
本文以實(shí)際案例為引線,詳細(xì)闡述報(bào)文獲取、解析在實(shí)際中的具體應(yīng)用。包括實(shí)際中所用到的硬、軟件工具,報(bào)文獲取以及解析流程步驟。為廣大讀者提供了具有現(xiàn)實(shí)的指導(dǎo)意義。
參考文獻(xiàn):
[1]劉君濤.計(jì)算機(jī)通信網(wǎng)絡(luò)安全與防護(hù)策略的相關(guān)思考[J].通訊世界,2016(19):104-105.
[2]王磊.關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)信息安全及防護(hù)策略探究[J].電腦知識(shí)與技術(shù),2014,10(19):4414-4416.
[3]張揚(yáng),申朝,曾昭凱,等.CAN總線技術(shù)在電動(dòng)汽車上的實(shí)現(xiàn)[J].沈陽工業(yè)大學(xué)學(xué),2006,28(5):563-565.
[4]韓成浩,高曉紅.CAN總線技術(shù)及其應(yīng)用[J].制造業(yè)自動(dòng),2010,32(2):145-147.
[5]楊兵,耿仁義.國(guó)產(chǎn)汽車CAN總線發(fā)展[J].科技創(chuàng)新導(dǎo)報(bào),2009,25(32):193-194.