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