SAE J1939 深度解析:PGN 與 SPN 拆解


 
 
  1. 前言

    1990 年代初期 – 重型產業的標準化需求:
    1986 年,Bosch 在美國汽車工程師協會(SAE)正式發表 CAN 通訊協定。然而,相較於乘用車,重型卡車、公車及農業機械往往涉及多家製造商,因此需要一套共通的高層通訊協定,讓不同廠商的 ECU(電子控制單元)能夠在同一條 CAN 總線上互通。

    大約在 1994–1998 年間,SAE(美國汽車工程師協會)制定了 J1939,作為基於 CAN 的高層通訊協定。J1939 定義了高層的通訊規則,例如訊息格式、位址分配與資料編碼,以支援重型車輛、農業機械、船舶及工業設備之間的 ECU 通訊與診斷。本文將針對 J1939 訊息格式進行更深入的分析。

    CAN / J1939 與 OSI 七層模型



 
  1. PGN – Parameter Group Number(參數群組號碼)

    PGN 是一個 18 位元識別碼,包含在 CAN ID 當中,因此 J1939 訊息必須使用延伸幀(Extended Frame, 29 位元 CAN ID)

    J1939 的 CAN ID 欄位結構如下所示:

29bits CAN-ID
Bit positions with the CAN-ID
28...26 25…8 7…0
Priority PGN SA(Source Address)
 
 
  • PGN Format
 
PGN
25 24 23…16 15…8
EDP(Ext. Data Page) DP(Data Page) PF(PDU Format) PS(PDU Specific)
1 bit 1 bit 8 bits 8 bits
 
 

PDU(協定資料單元)

PDU Format (PF)PDU Specific (PS) 合稱為 PDU(Protocol Data Unit,協定資料單元)
根據 J1939-21,PDU 可分為兩種類型:

  1. PDU1

    • PF < 240(範圍 0x00 ~ 0xEF)時,PS 被視為 DA(Destination Address,目的位址)

    • 如果 DA = 0xFF,則稱為 Global Destination Address(全域目的位址),表示網路上的所有節點都必須接收並回應此訊息。

  2. PDU2

    • PF ≥ 240(範圍 0xF0 ~ 0xFF)時,PS 被定義為 GE(Group Extension,群組擴充




  • PDU1
 
PDU1 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF DA(Destination Address)
8bits 8 bits
 
 
 
  • PDU2
 
PDU2 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF GE(Group Extension)
8bits 8bits
 
 
 
 
 
  1. SPN – Suspect Parameter Number(可疑參數號碼)

    SPN 用來標識重型車輛中的實際物理參數,並依照各自所屬的 PGN 進行分組。
    例如:在 PGN 61444 中,引擎轉速(Engine Speed) 被定義為 SPN 190,並且在資料負載(Payload)中以 兩個位元組表示。

    下方圖示所示的 PGN 61444 與 SPN 190,取自 SAE J1939-71



 

根據 SAE J1939-71 的 SPN 定義

在 SAE J1939-71 中,SPN(Suspect Parameter Number) 定義了幾個重要的參數屬性:

  • Data Length(資料長度)

  • Resolution(解析度)

  • Data Range(資料範圍)

  • Type(資料型別)

透過這些定義,工程師可以將所獲取的原始資料(raw data)轉換成使用者能理解的實際數值,例如:在車輛儀錶板上顯示的引擎轉速(Engine Speed)



 

新聞活動

SAE J1939 深度解析:PGN 與 SPN 拆解


 
 
  1. 前言

    1990 年代初期 – 重型產業的標準化需求:
    1986 年,Bosch 在美國汽車工程師協會(SAE)正式發表 CAN 通訊協定。然而,相較於乘用車,重型卡車、公車及農業機械往往涉及多家製造商,因此需要一套共通的高層通訊協定,讓不同廠商的 ECU(電子控制單元)能夠在同一條 CAN 總線上互通。

    大約在 1994–1998 年間,SAE(美國汽車工程師協會)制定了 J1939,作為基於 CAN 的高層通訊協定。J1939 定義了高層的通訊規則,例如訊息格式、位址分配與資料編碼,以支援重型車輛、農業機械、船舶及工業設備之間的 ECU 通訊與診斷。本文將針對 J1939 訊息格式進行更深入的分析。

    CAN / J1939 與 OSI 七層模型



 
  1. PGN – Parameter Group Number(參數群組號碼)

    PGN 是一個 18 位元識別碼,包含在 CAN ID 當中,因此 J1939 訊息必須使用延伸幀(Extended Frame, 29 位元 CAN ID)

    J1939 的 CAN ID 欄位結構如下所示:

29bits CAN-ID
Bit positions with the CAN-ID
28...26 25…8 7…0
Priority PGN SA(Source Address)
 
 
  • PGN Format
 
PGN
25 24 23…16 15…8
EDP(Ext. Data Page) DP(Data Page) PF(PDU Format) PS(PDU Specific)
1 bit 1 bit 8 bits 8 bits
 
 

PDU(協定資料單元)

PDU Format (PF)PDU Specific (PS) 合稱為 PDU(Protocol Data Unit,協定資料單元)
根據 J1939-21,PDU 可分為兩種類型:

  1. PDU1

    • PF < 240(範圍 0x00 ~ 0xEF)時,PS 被視為 DA(Destination Address,目的位址)

    • 如果 DA = 0xFF,則稱為 Global Destination Address(全域目的位址),表示網路上的所有節點都必須接收並回應此訊息。

  2. PDU2

    • PF ≥ 240(範圍 0xF0 ~ 0xFF)時,PS 被定義為 GE(Group Extension,群組擴充




  • PDU1
 
PDU1 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF DA(Destination Address)
8bits 8 bits
 
 
 
  • PDU2
 
PDU2 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF GE(Group Extension)
8bits 8bits
 
 
 
 
 
  1. SPN – Suspect Parameter Number(可疑參數號碼)

    SPN 用來標識重型車輛中的實際物理參數,並依照各自所屬的 PGN 進行分組。
    例如:在 PGN 61444 中,引擎轉速(Engine Speed) 被定義為 SPN 190,並且在資料負載(Payload)中以 兩個位元組表示。

    下方圖示所示的 PGN 61444 與 SPN 190,取自 SAE J1939-71



 

根據 SAE J1939-71 的 SPN 定義

在 SAE J1939-71 中,SPN(Suspect Parameter Number) 定義了幾個重要的參數屬性:

  • Data Length(資料長度)

  • Resolution(解析度)

  • Data Range(資料範圍)

  • Type(資料型別)

透過這些定義,工程師可以將所獲取的原始資料(raw data)轉換成使用者能理解的實際數值,例如:在車輛儀錶板上顯示的引擎轉速(Engine Speed)



 

新聞活動

SAE J1939 深度解析:PGN 與 SPN 拆解


 
 
  1. 前言

    1990 年代初期 – 重型產業的標準化需求:
    1986 年,Bosch 在美國汽車工程師協會(SAE)正式發表 CAN 通訊協定。然而,相較於乘用車,重型卡車、公車及農業機械往往涉及多家製造商,因此需要一套共通的高層通訊協定,讓不同廠商的 ECU(電子控制單元)能夠在同一條 CAN 總線上互通。

    大約在 1994–1998 年間,SAE(美國汽車工程師協會)制定了 J1939,作為基於 CAN 的高層通訊協定。J1939 定義了高層的通訊規則,例如訊息格式、位址分配與資料編碼,以支援重型車輛、農業機械、船舶及工業設備之間的 ECU 通訊與診斷。本文將針對 J1939 訊息格式進行更深入的分析。

    CAN / J1939 與 OSI 七層模型



 
  1. PGN – Parameter Group Number(參數群組號碼)

    PGN 是一個 18 位元識別碼,包含在 CAN ID 當中,因此 J1939 訊息必須使用延伸幀(Extended Frame, 29 位元 CAN ID)

    J1939 的 CAN ID 欄位結構如下所示:

29bits CAN-ID
Bit positions with the CAN-ID
28...26 25…8 7…0
Priority PGN SA(Source Address)
 
 
  • PGN Format
 
PGN
25 24 23…16 15…8
EDP(Ext. Data Page) DP(Data Page) PF(PDU Format) PS(PDU Specific)
1 bit 1 bit 8 bits 8 bits
 
 

PDU(協定資料單元)

PDU Format (PF)PDU Specific (PS) 合稱為 PDU(Protocol Data Unit,協定資料單元)
根據 J1939-21,PDU 可分為兩種類型:

  1. PDU1

    • PF < 240(範圍 0x00 ~ 0xEF)時,PS 被視為 DA(Destination Address,目的位址)

    • 如果 DA = 0xFF,則稱為 Global Destination Address(全域目的位址),表示網路上的所有節點都必須接收並回應此訊息。

  2. PDU2

    • PF ≥ 240(範圍 0xF0 ~ 0xFF)時,PS 被定義為 GE(Group Extension,群組擴充




  • PDU1
 
PDU1 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF DA(Destination Address)
8bits 8 bits
 
 
 
  • PDU2
 
PDU2 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF GE(Group Extension)
8bits 8bits
 
 
 
 
 
  1. SPN – Suspect Parameter Number(可疑參數號碼)

    SPN 用來標識重型車輛中的實際物理參數,並依照各自所屬的 PGN 進行分組。
    例如:在 PGN 61444 中,引擎轉速(Engine Speed) 被定義為 SPN 190,並且在資料負載(Payload)中以 兩個位元組表示。

    下方圖示所示的 PGN 61444 與 SPN 190,取自 SAE J1939-71



 

根據 SAE J1939-71 的 SPN 定義

在 SAE J1939-71 中,SPN(Suspect Parameter Number) 定義了幾個重要的參數屬性:

  • Data Length(資料長度)

  • Resolution(解析度)

  • Data Range(資料範圍)

  • Type(資料型別)

透過這些定義,工程師可以將所獲取的原始資料(raw data)轉換成使用者能理解的實際數值,例如:在車輛儀錶板上顯示的引擎轉速(Engine Speed)



 

新聞活動

SAE J1939 深度解析:PGN 與 SPN 拆解


 
 
  1. 前言

    1990 年代初期 – 重型產業的標準化需求:
    1986 年,Bosch 在美國汽車工程師協會(SAE)正式發表 CAN 通訊協定。然而,相較於乘用車,重型卡車、公車及農業機械往往涉及多家製造商,因此需要一套共通的高層通訊協定,讓不同廠商的 ECU(電子控制單元)能夠在同一條 CAN 總線上互通。

    大約在 1994–1998 年間,SAE(美國汽車工程師協會)制定了 J1939,作為基於 CAN 的高層通訊協定。J1939 定義了高層的通訊規則,例如訊息格式、位址分配與資料編碼,以支援重型車輛、農業機械、船舶及工業設備之間的 ECU 通訊與診斷。本文將針對 J1939 訊息格式進行更深入的分析。

    CAN / J1939 與 OSI 七層模型



 
  1. PGN – Parameter Group Number(參數群組號碼)

    PGN 是一個 18 位元識別碼,包含在 CAN ID 當中,因此 J1939 訊息必須使用延伸幀(Extended Frame, 29 位元 CAN ID)

    J1939 的 CAN ID 欄位結構如下所示:

29bits CAN-ID
Bit positions with the CAN-ID
28...26 25…8 7…0
Priority PGN SA(Source Address)
 
 
  • PGN Format
 
PGN
25 24 23…16 15…8
EDP(Ext. Data Page) DP(Data Page) PF(PDU Format) PS(PDU Specific)
1 bit 1 bit 8 bits 8 bits
 
 

PDU(協定資料單元)

PDU Format (PF)PDU Specific (PS) 合稱為 PDU(Protocol Data Unit,協定資料單元)
根據 J1939-21,PDU 可分為兩種類型:

  1. PDU1

    • PF < 240(範圍 0x00 ~ 0xEF)時,PS 被視為 DA(Destination Address,目的位址)

    • 如果 DA = 0xFF,則稱為 Global Destination Address(全域目的位址),表示網路上的所有節點都必須接收並回應此訊息。

  2. PDU2

    • PF ≥ 240(範圍 0xF0 ~ 0xFF)時,PS 被定義為 GE(Group Extension,群組擴充




  • PDU1
 
PDU1 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF DA(Destination Address)
8bits 8 bits
 
 
 
  • PDU2
 
PDU2 Format
PF(PDU Format) PS(PDU Specific)
0x00~0xEF GE(Group Extension)
8bits 8bits
 
 
 
 
 
  1. SPN – Suspect Parameter Number(可疑參數號碼)

    SPN 用來標識重型車輛中的實際物理參數,並依照各自所屬的 PGN 進行分組。
    例如:在 PGN 61444 中,引擎轉速(Engine Speed) 被定義為 SPN 190,並且在資料負載(Payload)中以 兩個位元組表示。

    下方圖示所示的 PGN 61444 與 SPN 190,取自 SAE J1939-71



 

根據 SAE J1939-71 的 SPN 定義

在 SAE J1939-71 中,SPN(Suspect Parameter Number) 定義了幾個重要的參數屬性:

  • Data Length(資料長度)

  • Resolution(解析度)

  • Data Range(資料範圍)

  • Type(資料型別)

透過這些定義,工程師可以將所獲取的原始資料(raw data)轉換成使用者能理解的實際數值,例如:在車輛儀錶板上顯示的引擎轉速(Engine Speed)



 

新聞活動

訂閱三泰科技電子報

訂閱三泰科技電子報

訂閱三泰科技電子報

訂閱三泰科技電子報

返回頂部
返回頂部
返回頂部