本文介紹了OBD2(On Board Diagnostic )的協(xié)議,其中包括OBD2連接器,OBD2 PID(parameter IDs)以與CAN總線的關(guān)系。
注意:這是一個(gè)實(shí)用介紹,因此您還將學(xué)習(xí)如何請(qǐng)求和解碼OBD2數(shù)據(jù),關(guān)鍵日志記錄用例以及應(yīng)用技巧。
什么是OBD2?
簡(jiǎn)而言之,OBD2——On Board DiagnosticsⅡ是您愛(ài)車(chē)的自我診斷系統(tǒng)。
您可能早已接觸過(guò)了OBD2:
試著回憶一下,您是否注意到故障指示燈突然在您儀表盤(pán)上彈出了?
這就說(shuō)明您的愛(ài)車(chē)向您反饋它出現(xiàn)了點(diǎn)問(wèn)題。如果您去找修理師求助,他會(huì)使用OBD2 掃描儀來(lái)進(jìn)行診斷。
通常,他會(huì)將OBD2掃描儀通過(guò)OBD2 16針的連接器連接到您的車(chē)輛,這樣修理師就可以讀取到OBD2的代碼——診斷故障代碼來(lái)判斷故障問(wèn)題所在。
OBD2連接器
您可以通過(guò)OBD2連接器輕松地訪問(wèn)汽車(chē)中的數(shù)據(jù)。SAE J1962標(biāo)準(zhǔn)中指定了兩種OBD2母頭16針連接器類(lèi)型(A和B)。
圖中是A型OBD2引腳連接器(有時(shí)也稱(chēng)為DLC(Data Link Connector))的示例。
需要注意的是:
OBD2連接器在方向盤(pán)周?chē)灿锌赡茉趬|子下面或者儀表盤(pán)后
并非所有的公頭都適合所有的OBD2母頭,需檢查接頭類(lèi)型和OBD的引腳
引腳16連著汽車(chē)電池,一般熄火后也是連通的
引腳6(CAN-H)和引腳14(CAN-L)是最重要的,因?yàn)镃AN(ISO 15765-4)是大多數(shù)現(xiàn)代汽車(chē)(包括電動(dòng)車(chē))的標(biāo)準(zhǔn)配置
我們車(chē)上有OBD嗎?
基本上都有!
幾乎最近幾年生產(chǎn)的汽車(chē)都支持OBD2,并且大多數(shù)都是基于CAN(ISO 15765)的。對(duì)于比較老的汽車(chē),請(qǐng)注意,即使有16針OBD2連接器,它可能也不支持OBD2。確定車(chē)輛上是否有OBD2的一種方法是看您是在何時(shí)何處購(gòu)買(mǎi)的產(chǎn)品。
下圖是適配OBD2的國(guó)家和年限:
連接OBD2和CAN
CAN總線是一種像電話似的通信方法,而OBD2是一種高層協(xié)議,可以理解為一種語(yǔ)言。
值得說(shuō)明的是,OBD2標(biāo)準(zhǔn)指定了的OBD2連接器,可以由5個(gè)協(xié)議運(yùn)行。然而,自從2008年以來(lái),CAN總線(ISO 15764)規(guī)定了美國(guó)出售的所有汽車(chē)強(qiáng)制性應(yīng)用OBD2,這基本消除了其他4種協(xié)議。
ISO 15765是指一組限制應(yīng)用的CAN標(biāo)準(zhǔn),它是由ISO 11898定義的。ISO11898又被稱(chēng)為為汽車(chē)而定的CAN。
另外,OBD2 與其他高層協(xié)議如J1939,CANopen有相似。
OBD2的歷史
OBD2來(lái)源于加利福尼亞,加州空氣資源委員會(huì)(CARB)從1991年起要求所有新車(chē)都使用OBD,以達(dá)到控制排放的目的。
汽車(chē)工程師協(xié)會(huì)(SAE)和標(biāo)準(zhǔn)化的轉(zhuǎn)軌以及OBD轉(zhuǎn)接器制造商(SAE j1962)聯(lián)合推薦OBD2標(biāo)準(zhǔn)的使用。
OBD2 標(biāo)準(zhǔn)按如下順序一步步推出:
1996:OBD2在美國(guó)被強(qiáng)制用于汽車(chē)/輕型卡車(chē)
2001:應(yīng)用于歐盟汽油車(chē)
2003:應(yīng)用于歐盟的柴油車(chē)
2005:美國(guó)要求OBD2應(yīng)用于中型車(chē)輛
2008:美國(guó)汽車(chē)必須使用ISO 15765-4 (CAN)作為OBD2基礎(chǔ)
2010:美國(guó)要求OBD2應(yīng)用于重型車(chē)輛
OBD2的未來(lái)
OBD2未來(lái)將以何種形式存在呢?
以下兩種潛在的途徑可能從根本上改變OBD2:
OBD3無(wú)線發(fā)送測(cè)試
在如今這個(gè)汽車(chē)智能網(wǎng)聯(lián)的時(shí)代,OBD2測(cè)試似乎有些麻煩:需要手工進(jìn)行排放控制,這樣檢查既費(fèi)時(shí)又昂貴。
OBD3可以為所有汽車(chē)添加遠(yuǎn)程信息處理功能來(lái)解決上述問(wèn)題。
基本上,OBD3給所有的汽車(chē)都增加了一個(gè)小型的無(wú)線電應(yīng)答器(比如網(wǎng)關(guān))。通過(guò)這種方式,車(chē)輛識(shí)別號(hào)碼(VIN)和DTCs可以通過(guò)WiFi發(fā)送到中央服務(wù)器進(jìn)行檢查。
現(xiàn)如今,許多CAN和OBD2的設(shè)備可以通過(guò)Wifi/移動(dòng)網(wǎng)絡(luò)完成數(shù)據(jù)傳輸——比如CANedge2 Wifi版CAN記錄儀。
這樣既方便又能節(jié)省成本,但是從政治角度來(lái)說(shuō),出于監(jiān)管方面的考慮,這也是一個(gè)挑戰(zhàn)。
減少第三方OBD2服務(wù)
上面提到過(guò),OBD2協(xié)議最初是為了控制排放才設(shè)計(jì)的。
然而,現(xiàn)在的OBD2被第三方開(kāi)發(fā)者廣泛地用于生成實(shí)時(shí)型數(shù)據(jù)——通過(guò)OBD2加密軟件和CAN記錄儀等。然而,德國(guó)汽車(chē)行業(yè)正在尋求方法改變這種狀況。
消除第三方OBD2服務(wù),建議開(kāi)車(chē)時(shí)停止OBD2服務(wù),而是在中央服務(wù)器上收集相關(guān)數(shù)據(jù),這樣可以讓汽車(chē)制造商控制“大數(shù)據(jù)”。
盡管許多人把OBD2的第三方服務(wù)認(rèn)定為是商業(yè)行為,但這一論證是基于安全考慮的(例如消除汽車(chē)黑客的風(fēng)險(xiǎn))。這是否會(huì)成為必定趨勢(shì)還有待觀察——但是這可能會(huì)真正擾亂OBD2第三方服務(wù)的市場(chǎng)。
OBD2的PID
我們?yōu)槭裁搓P(guān)心OBD2數(shù)據(jù)呢?
工程師顯然更關(guān)注OBD2 DTCs(用戶(hù)可能也同樣),然而管理機(jī)構(gòu)需要OBD2來(lái)控制排放。
但是OBD2同樣支持一系列可以被大多數(shù)汽車(chē)記錄的廣泛性標(biāo)準(zhǔn)參數(shù)。
這意味著您可以很容易地從您的車(chē)中獲得可讀的OBD2數(shù)據(jù),包括速度、轉(zhuǎn)速、油門(mén)位置等。
換句話說(shuō),OBD2讓您很容易分析您愛(ài)車(chē)相關(guān)數(shù)據(jù)——OEM特定專(zhuān)有的原始數(shù)據(jù)。
解碼OBD2和CAN總線的數(shù)據(jù)
原則上,從汽車(chē)上記錄原始的CAN幀很簡(jiǎn)單。如果將CAN記錄器連接到OBD2連接器,則將立即開(kāi)始記錄CAN總線的廣播數(shù)據(jù)。但是,原始CAN消息需要通過(guò)轉(zhuǎn)換規(guī)則數(shù)據(jù)庫(kù)進(jìn)行解碼,并且此類(lèi)數(shù)據(jù)庫(kù)通常是專(zhuān)有的,從而不能從原始CAN數(shù)據(jù)中獲得有用的信息。
汽車(chē)黑客可以嘗試對(duì)轉(zhuǎn)換規(guī)則進(jìn)行逆向工程,盡管這在技術(shù)上相當(dāng)先進(jìn)。但是,CAN仍然是“完全獲得”汽車(chē)數(shù)據(jù)的唯一方法,而OBD2僅只能提供對(duì)有限數(shù)據(jù)部分的訪問(wèn)。
如何記錄OBD2數(shù)據(jù)
OBD2數(shù)據(jù)記錄的工作方式如下:
您將OBD2記錄器連接到OBD2連接器
通過(guò)工具,您可以通過(guò)CAN發(fā)送“請(qǐng)求幀”
相關(guān)的ECU通過(guò)CAN發(fā)送“響應(yīng)幀”
換句話說(shuō),能夠發(fā)送自定義CAN幀的CAN記錄儀也可以用作OBD2記錄儀。
請(qǐng)注意,汽車(chē)在支持的OBD2 PID方面因型號(hào)/年份而異。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)我們的OBD2數(shù)據(jù)記錄器指南。
CANedge OBD2數(shù)據(jù)記錄儀
CANedge可以讓您輕松記錄OBD2數(shù)據(jù)到8-32 GB的SD卡。您只需指定想要請(qǐng)求的OBD2 PID,然后通過(guò)OBD2適配器將其連接到汽車(chē)即可開(kāi)始記錄。最后通過(guò)免費(fèi)軟件/ API和我們的OBD2 DBC處理數(shù)據(jù)。
原始OBD2報(bào)文細(xì)節(jié)
如果想要開(kāi)始記錄OBD2數(shù)據(jù),那先了解下原始OBD2消息結(jié)構(gòu)基礎(chǔ)會(huì)對(duì)您非常有幫助。
簡(jiǎn)而言之,OBD2消息包含 標(biāo)識(shí)符和數(shù)據(jù)。此外,數(shù)據(jù)按服務(wù)、PID和數(shù)據(jù)字節(jié)(A,B,C,D)拆分開(kāi)來(lái)并如下圖所示:
OBD2信息段解釋
標(biāo)識(shí)符:對(duì)于OBD2消息,標(biāo)識(shí)符是標(biāo)準(zhǔn)的11位,用于區(qū)分“請(qǐng)求消息”(ID 7DF)和“響應(yīng)消息”(ID 7E8至7EF)。請(qǐng)注意,7E8通常是主機(jī)或ECU響應(yīng)的ID。
有效位:僅用來(lái)反映這一幀數(shù)據(jù)的字節(jié)數(shù)(03至06)。對(duì)于“車(chē)速”的這個(gè)示例,請(qǐng)求幀的有效位是02(因?yàn)閮H跟隨01和0D),而響應(yīng)幀有效位是03,因?yàn)楦S41、0D和32。
服務(wù):對(duì)于請(qǐng)求,這將在01-0A之間。對(duì)于響應(yīng),將0替換為4(即41、42,…,4A)。如SAE J1979 OBD2標(biāo)準(zhǔn)中所述,有10種服務(wù)。模式1顯示當(dāng)前數(shù)據(jù),例如用于查看實(shí)時(shí)車(chē)速,RPM等。其他模式用于如顯示或清除存儲(chǔ)的診斷故障代碼并顯示凍結(jié)幀數(shù)據(jù)。
PID:對(duì)于每種服務(wù),都存在標(biāo)準(zhǔn)OBD2 PID的列表,例如,在01服務(wù)中,PID 0D為車(chē)速。有關(guān)完整列表,請(qǐng)查看Wikipedia OBD2 PID概述。每個(gè)PID都有一個(gè)說(shuō)明,有些PID具有指定的最小或最大值以及轉(zhuǎn)換公式。
比如只有參數(shù)A,速度的公式就是將16進(jìn)制的A轉(zhuǎn)換為十進(jìn)制以獲得km / h轉(zhuǎn)換后的值(即32變?yōu)?0 km / h以上)再例如,對(duì)于RPM(PID 0C),公式為(256 * A + B)/ 4。
A,B,C,D:這些是十六進(jìn)制中的數(shù)據(jù)字節(jié),在將其用于PID公式計(jì)算之前,需要將其轉(zhuǎn)換為十進(jìn)制形式。注意,不使用最后一個(gè)數(shù)據(jù)字節(jié)(在Dh之后)。
OBD2數(shù)據(jù)記錄實(shí)例
來(lái)自汽車(chē)和輕型卡車(chē)的OBD2數(shù)據(jù)可應(yīng)用于各種案例:
記錄汽車(chē)數(shù)據(jù)
來(lái)自汽車(chē)的OBD2數(shù)據(jù)可用于減少油耗,改善駕駛行為,測(cè)試新型零件和保險(xiǎn)事務(wù)
實(shí)時(shí)汽車(chē)診斷
OBD2接口可用于實(shí)時(shí)傳輸人類(lèi)可讀的OBD2
預(yù)測(cè)性維護(hù)
可以通過(guò)云端的IoT OBD2記錄器監(jiān)控汽車(chē)和輕型卡車(chē),以預(yù)測(cè)和避免故障
車(chē)輛黑匣子記錄器
OBD2記錄器可以用作車(chē)輛或設(shè)備的“黑匣子”,例如為糾紛或診斷提供數(shù)據(jù)
需要什么樣的OBD2的記錄儀呢?
下面我們概述了最常見(jiàn)的OBD2分析儀類(lèi)別:
OBD2診斷儀:維修師傅在車(chē)輛故障診斷(例如可能MIL燈相關(guān))時(shí),用于靜態(tài)讀取或者清除DTC。存在各種情況。
OBD2記錄儀:用于將汽車(chē)中的OBD2數(shù)據(jù)記錄到SD卡,非常適合例如黑匣子或新型零件現(xiàn)場(chǎng)測(cè)試。支持WiFi的版本也可用于例如車(chē)載遠(yuǎn)程信息處理。
OBD2接口:例如通過(guò)USB提供實(shí)時(shí)OBD2數(shù)據(jù),通常用于專(zhuān)業(yè)診斷和OEM車(chē)輛開(kāi)發(fā)中。
更專(zhuān)業(yè)的OBD2接口還可以用于傳輸OBD2數(shù)據(jù)以及專(zhuān)用的CAN總線數(shù)據(jù),這對(duì)于CAN嗅探和汽車(chē)黑客攻擊很有用。
文章開(kāi)之hongkeqiche
審核編輯 黃宇
-
連接器
+關(guān)注
關(guān)注
98文章
14476瀏覽量
136430 -
記錄儀
+關(guān)注
關(guān)注
1文章
458瀏覽量
21695 -
OBD2
+關(guān)注
關(guān)注
2文章
9瀏覽量
15633 -
汽車(chē)
+關(guān)注
關(guān)注
13文章
3493瀏覽量
37252
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論