热门问题
时间线
聊天
视角

OBD-II PID

来自维基百科,自由的百科全书

Remove ads

OBD-II PID車上診斷系統(OBD)參數ID的簡稱,是在診斷工具上向車輛請求資料用的編碼。

國際汽車工程師學會(SAE)標準 J1979(電子診斷測試模式)中定義了許多OBD-II PID。所有北美的道路車輛及卡車都要支援一部份的OBD-II PID,主要是在有強制排氣英語vehicle emissions control檢測英語vehicle inspection的州。製造商也定義針對個別車輛的PID。目前沒有強制摩托車要支援OBD-II PID,不過也有許多的摩托車支援。

在1996年時,輕型商用車(重量小於8,500磅 [3,900公斤])首先強制要支援OBD-II PID,之後是中型商用車(重量在8,500—14,000磅 [3,900—6,400公斤]之間)在2005年強制支援[1]。輕型商用車及中型商用車都要可以透過由SAE J1962定義的標準數據鏈路連接器英語Data link connector (automotive)進行存取。

依加州空氣資源局(CARB)的加州法規(CCR) sections 1971.1 title 13,美國2010年之後生產的重型商用車(重量大於14,000磅 [6,400公斤])可以透過SAE standard J1939-13英語SAE J1939(圓型的診斷用連接頭)支援OBD-II的診斷機能。有些北美的重型卡車使用SAE J1962 OBD-II診斷連接器,這也是一般轎車常用的連接器,知名的有麥克貨車及富豪卡車,不過CAN識別符是29位元,不是一般轎車的11位元。

Remove ads

模式

在最新的OBD-II標準SAE J1979中,有列出十種診斷服務。2002年以前的J1979,將這些服務稱為模式(modes)。其說明如下:

更多信息 模式(十六進制), 敘述 ...

汽車製造商不一定要實現所有的服務,製造商可以在#9以上增加製造商定義的服務(例如服務22是由Ford/GM的SAE J2190所定義,而服務21是因Toyota而定義) ,這些服務可以提供其他的資料,例如混合動力電動汽車(HEV)中牽引電池的電壓[2]

非OBD的統一診斷服務從0x10開始,避免和ID範圍重疊。

Remove ads

標準PID

下表中所列的是依SAE J1979定義的標準OBD-II PID。也列出每個PID的預期回應,以及回應和實際物理量之間的關係。不是所有車輛都會支援每一個PID,也有一些PID是廠商定義的,不在OBD-II標準中。

服務01和02基本上是相同的,不過服務01會提供目前的資訊,而服務02會提供上一次出現診斷錯誤碼時的資訊。但PID 01和PID 02是例外,PID 01隻出現在服務01,而PID 02隻出現在服務02,若服務02的PID 02為零,表示沒有凍結的頁框資料,其他服務02的資料都沒有意義。

若用位元編碼表示(Bit-Encoded-Notation)時,像C4表示是資料位元組C的第4位元。每一個位元都有0到7的編號,7是最高位元,而0是最低位元。

A B C D
A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0 C7 C6 C5 C4 C3 C2 C1 C0 D7 D6 D5 D4 D3 D2 D1 D0
Remove ads

服務01

更多信息 , (或 ...
Remove ads

服務02

服務02的PID和服務01相同,意義也相同[4],不過資訊是在產生凍結頁框[5]時的資料。

需要在訊息的資料區中傳送頁框號碼。

更多信息 PID (hex), 回應資料位元組個數 ...

服務03

更多信息 PID (hex), 回應資料位元組個數 ...

服務04

更多信息 PID (hex), 回應資料位元組個數 ...

服務05

更多信息 PID (hex), 回應資料位元組個數 ...
Remove ads

服務 09

更多信息 PID (hex), 回應資料位元組個數 ...
  1. 在公式欄中,字母A, B, C,.....表示資料位元組的第一位元組、第二位元組、第三位元組......的十進位。若有問號,表示有衝突或是不完整的資料
Remove ads

位元編碼PID

上表中有部份的PID無法用簡單的公式來說明。以下是這些PID的細部說明。

服務01 PID 00

這個PID的請求會回傳4位元組的資料(Big-endian。每一個位元的排序順序是由MSBLSB。表示接下來的32個PID,並且說明支援哪些PID。

例如,若汽車的回覆是BE1FA813,可以解碼如下

更多信息 十六進位, 二進位 ...

因此,支援的PID有:0103040506070C0D0E0F101113151C1F20

Remove ads

服務01 PID 01

這個PID的請求會回傳4位元組的資料,分別標示A B C、D。

第一個位元組(A)包括二部份的資訊。位元A7(位元組A的MSB)表示MIL(檢查發動機警示燈)是否點亮。位元A6A0表示發動機控制器顯示的診斷故障碼。

第二至第四位元組(B, C和D)表示特定在線測試的可進行程度(availability)及完整性(completeness)。可用程度會用設定位元1來表示,而完整性會用清除位元0來表示。

更多信息 位元, 名稱 ...

以下是常見的B位元組定義,是以測試為基礎的內容。

更多信息 可進行測試, 測試不完整 ...

第三位元組及第四位元組的定義會依發動機是火星塞點火(奧托發動機或汪克爾發動機)或柴油發動機而不同。第二位元組的bit 3會說明如何定義位元組C和D,0表示是火星塞點火(奧托發動機或汪克爾發動機),1表示是壓縮點火(柴油發動機)

火星塞點火監控時的位元組C和D (奧托發動機或汪克爾發動機):

更多信息 可進行測試, 測試不完整 ...

柴油發動機監控時的位元組C和D:

更多信息 可進行測試, 測試不完整 ...
  1. NMHC可以表示甲烷之外的碳氫化合物(Non-Methane HydroCarbons),不過J1979沒有明確說明。
Remove ads

服務01 PID 41

這個PID的請求會回傳4位元組的資料。 第一個位元組會是0,第二個到第四個位元組會提供特定在線測試(on-board test)可進行程度(availability)及完整性(completeness)。和PID 01相同,第三和第四個位元組的定義會依發動機類型(B3)而不同,B3為0表示是火星塞,為1表示是壓縮點火。可進行程度(availability)是用位元1表示,而完整性(completeness)是用位元0表示。

以下是共用的位元組B的定義,以測試為基礎。

更多信息 可進行測試, 測試不完整 ...

針對火星塞點火監控的位元組C和D(奧托發動機或汪克爾發動機):

更多信息 可進行測試, 測試不完整 ...

柴油發動機監控時的位元組C和D:

更多信息 可進行測試, 測試不完整 ...
  1. NMHC可以表示甲烷之外的碳氫化合物(Non-Methane HydroCarbons),不過J1979沒有明確說明。

服務01 PID 78

這個PID的請求會回傳9位元組的資料。 第一個位元組是位元編碼,表示支援的尾氣溫度感測器:

更多信息 Byte, 敘述 ...

第一個位元組的位元編碼如下:

更多信息 Bit, 敘述 ...

剩下的位元組是16位元的整數,表示攝氏下的溫度,範圍從-40到6513.5(比例0.1),其轉換公式為(高位元組為A,低位元組是B)。只有有支援的感測器對應的值是有意義的。

PID 79的結構相同,但是是針對bank 2的感測器。

服務03(不需PID)

此服務的請求會回傳一串已設定的DTC。會用ISO 15765-2的協定進行封裝。

若DTC不超過二個(4位元組),會用ISO-TP單一頁框格式(SF)回覆。若三個或三個以上的DTC,會分為多個頁框傳送,實際的頁框數會依通訊格式以及定址方式而定。

每個診斷錯誤碼為二個位元組。診斷錯誤碼的文字敘述如下。診斷錯誤碼的第一個字會由第一個位元組的前二個位元決定:

更多信息 A7-A6, DTC的第一個字元 ...

DTC碼的第二個字會由第一個位元組的下二個位元決定:

更多信息 A5-A4, DTC的第二個字元 ...

DTC碼的第三個字是一個數字,定義如下:

更多信息 A3-A0, DTC的第三個字元 ...

DTC碼的第四個字及第五個字定義方式類似,不過是用B7-B4B3-B0位元。所產生的五個字元需類似U0158之類的字元,而且可以在OBD-II DTC表上找到。最後三個字允許使用十六進制的數字(0-9, A-F),不過常見的還是使用十進制的數字(0-9)。

服務09 PID 08

會提供有關催化劑bank、氧氣偵測器bank、蒸發泄漏偵測系統、排氣再循環及第二側空氣系統的使用追蹤資訊。

每一個元件或是系統的分子針對偵測特定誤動作的監控,追蹤該監控所有條件成立的次數 每一個元件或是系統的分母針對該特定條件,車輛運作的次數

資料的個數需在訊息的一開始就說明(第一個位元組)

所有使用中性能追蹤的資料會包括二個位元組,依次數送出(每個訊息有二個資料,因此長度為4)

更多信息 Mnemonic, 敘述 ...

服務09 PID 0B

此服務提供有關NMHC 催化劑監控、NOx 催化劑監控、NOx吸收器監控、PM過濾器監控、排氣感測器監控、GR(排氣再循環)及/或VVT(可變氣門正時)監控, 提昇壓力監控及燃料系統監控的使用性能資訊。

所有的資料都有2個位元,以以下的順序排列(每一個訊息有二個資料,因為是4個位元):

更多信息 記憶字, 敘述 ...

枚舉PID

有些PID的解讀方式比較特殊,是有枚舉的型式,這類PID沒有位元定義,也沒有單位。

服務01 PID 03

這種PID的請求會回覆二個位元組的資料。 第一個位元組表示燃料系統#1。

更多信息 值, 敘述 ...

其他的值無效。

第二個位元組表示燃料系統#1,定義完全相同。

服務01 PID 12

這種PID的請求會回覆一個位元組的資料,表示第二側空氣狀態。

更多信息 值, 敘述 ...

其他的值無效。

服務01 PID 1C

此種PID請求會回覆一個位元組的資料,說明電子控制器使用的OBD標準。以下是數值以及其對應的標準。

更多信息 值, 敘述 ...

燃料碼

服務01 PID 51會回傳數值,對應車輛的燃料型態。燃料型態一個位元組,數值和燃料對應如下:

更多信息 數值, 描述 ...

其他的值保留供ISO/SAE使用,目前沒有針對彈性燃料車英語flexible-fuel vehicle的定義。

非標準的PID

大部份的在使用的OBD-II PID都是非標準的,針對大部份現今的車輛,OBD-II界面中支持的非標準PID功能比標準PID功能還多,各家的非標準PID只有少部份的重疊。

在公眾領域中非標準PID的資訊相當有限。有一個以美國為主的設備工具研究所英語Equipment and Tool Institute(ETI)有維護一些廠商的非標準PID,只提供給其會員。ETI的年費和公司在北美車輛工具及設備的營業額有關:

更多信息 北美年營業額, 年費 ...

就算是ETI,也沒有所有非標準PID的文件。ETI表示[6][7]

有些車廠拒絕用ETI來提供資訊給相關工具廠商。他們比較想和每一家工具廠商個別作生意。這些公司會要求你和他們簽合約。其費用是變動的,以下是2015年4月13日的年費:

通用汽車 $50,000
豐田 $5,000
鈴木 $1,000
BMW $25,500,每次更新要加$2,000,每年更新一次

CAN(11位元)通訊格式

在車內的CAN網路中會有查詢PID以及PID回覆的訊息。標準OBD查詢以及回覆會用機能式的地址。診斷讀取器會用CAN ID 7DFh送出查詢訊息,此位址是廣播位置,並且會接受從7E8h到7EFh的回覆。回覆OBD查詢的電子控制器也會接收7DFh廣播位置的訊息,並且接收7E0h到7E7h範圍內指定ID的訊息。其回應的ID是指定ID值加8,範圍從7E8h到7EFh。

此作法可以允許最多8個電子控制器,每一個都可以回覆OBD的查詢。診斷讀取器可以用ECU回覆的ID繼續和特定的電子控制器通訊。特別是多頁框的通訊需要特定ID電子控制器的回覆。

CAN也可以傳送標準OBD訊息以外的資訊,實體位址會用這些特殊模組的CAN訊息(例如720h是福特汽車的組合儀表),也會有專屬的頁框以及傳送資料。

查詢

機能性的PID查詢會用ID 7DFh的CAN訊息送出,其資料為:

更多信息 Byte, PID Type ...

回應

車輛會用訊息ID來回應PID查詢,其ID編輯和回應的模組有關。一般而言發動機及主發動機控制器會用ID 7E8h回應,其他設備,像是混合控制器或是Prius裡的電池控制器,會用07E9h、07EAh、07EBh等ID回應。設備回應的訊息ID會比其設備接收的訊息ID多8。回應值的長度會變動,但回應訊息固定都是8個位元。 各位元組的定義為:

更多信息 Byte, PID Type ...

相關條目

參考資料

延伸閱讀

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads