In-Depth Analysis of the SAE J1939 Breaking Down the PNG and SPN


 
 
  1. Introduction
Early 1990s – Heavy-duty industry needs standardization:
In 1986, Bosch officially presented the CAN protocol at the Society of Automotive Engineers (SAE). However, unlike passenger cars, heavy-duty trucks, buses, and agricultural machines involved multiple manufacturers, a common higher-layer protocol was needed so that ECUs from different vendors could interoperate on the same CAN bus.
About 1994-1998, SAE (Society of Automotive Engineers) developed J1939 as a higher-layer protocol on CAN, defines higher-layer communication rules such as message format, addressing, and data encoding. for communication and diagnostics among ECUs in heavy-duty vehicles, agricultural machinery, marine vessels, and industrial equipment. This article will provide a more in-depth analysis of the J1939 message format.
 
CAN/J1939 7 layer OSI:


 
  1. PGN – Parameter Group Number
A PGN is an 18-bit identifier that is contained within the CAN ID, therefore a J1939 message must be an Extended Frame (29 bits CAN ID).
  • The structure of the J1939 CAN ID field is as follows:
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 Format and PDU Specific are collectively referred to as the PDU (Protocol Data Unit).
According to J1939-21, PDU are divided into two types: PDU1 and PDU2.
If PF < 240, that is, in the range 0x00~0xEF, PS is used as the DA (Destination Address), if DA is 0xFF, it is called the Global Destination Address, all nodes on the network must receive this message and respond.
If PF ≥ 240, that is, in the range 0xF0~0xFF, PS is defined as the GE (Group Extension).
The total number of PGNs:



  • 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 serve as identifiers for actual physical parameters in heavy-duty vehicles. They are grouped under their respective PGNs. For example, within PGN 61444, the Engine Speed is defined as SPN 190 and is represented by two bytes in the payload.
The PGN 61444 and SPN 190 shown in the diagram below are taken from SAE J1939-71


 
According to SAE J1939-71, SPN defines several important parameters: Data Length, Resolution, Data Range, and Type. Based on these definitions, engineers can convert the acquired raw data into actual values understandable to users, such as the engine speed shown on a vehicle’s dashboard.


 

News & Event

In-Depth Analysis of the SAE J1939 Breaking Down the PNG and SPN


 
 
  1. Introduction
Early 1990s – Heavy-duty industry needs standardization:
In 1986, Bosch officially presented the CAN protocol at the Society of Automotive Engineers (SAE). However, unlike passenger cars, heavy-duty trucks, buses, and agricultural machines involved multiple manufacturers, a common higher-layer protocol was needed so that ECUs from different vendors could interoperate on the same CAN bus.
About 1994-1998, SAE (Society of Automotive Engineers) developed J1939 as a higher-layer protocol on CAN, defines higher-layer communication rules such as message format, addressing, and data encoding. for communication and diagnostics among ECUs in heavy-duty vehicles, agricultural machinery, marine vessels, and industrial equipment. This article will provide a more in-depth analysis of the J1939 message format.
 
CAN/J1939 7 layer OSI:


 
  1. PGN – Parameter Group Number
A PGN is an 18-bit identifier that is contained within the CAN ID, therefore a J1939 message must be an Extended Frame (29 bits CAN ID).
  • The structure of the J1939 CAN ID field is as follows:
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 Format and PDU Specific are collectively referred to as the PDU (Protocol Data Unit).
According to J1939-21, PDU are divided into two types: PDU1 and PDU2.
If PF < 240, that is, in the range 0x00~0xEF, PS is used as the DA (Destination Address), if DA is 0xFF, it is called the Global Destination Address, all nodes on the network must receive this message and respond.
If PF ≥ 240, that is, in the range 0xF0~0xFF, PS is defined as the GE (Group Extension).
The total number of PGNs:



  • 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 serve as identifiers for actual physical parameters in heavy-duty vehicles. They are grouped under their respective PGNs. For example, within PGN 61444, the Engine Speed is defined as SPN 190 and is represented by two bytes in the payload.
The PGN 61444 and SPN 190 shown in the diagram below are taken from SAE J1939-71


 
According to SAE J1939-71, SPN defines several important parameters: Data Length, Resolution, Data Range, and Type. Based on these definitions, engineers can convert the acquired raw data into actual values understandable to users, such as the engine speed shown on a vehicle’s dashboard.


 

News & Event

In-Depth Analysis of the SAE J1939 Breaking Down the PNG and SPN


 
 
  1. Introduction
Early 1990s – Heavy-duty industry needs standardization:
In 1986, Bosch officially presented the CAN protocol at the Society of Automotive Engineers (SAE). However, unlike passenger cars, heavy-duty trucks, buses, and agricultural machines involved multiple manufacturers, a common higher-layer protocol was needed so that ECUs from different vendors could interoperate on the same CAN bus.
About 1994-1998, SAE (Society of Automotive Engineers) developed J1939 as a higher-layer protocol on CAN, defines higher-layer communication rules such as message format, addressing, and data encoding. for communication and diagnostics among ECUs in heavy-duty vehicles, agricultural machinery, marine vessels, and industrial equipment. This article will provide a more in-depth analysis of the J1939 message format.
 
CAN/J1939 7 layer OSI:


 
  1. PGN – Parameter Group Number
A PGN is an 18-bit identifier that is contained within the CAN ID, therefore a J1939 message must be an Extended Frame (29 bits CAN ID).
  • The structure of the J1939 CAN ID field is as follows:
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 Format and PDU Specific are collectively referred to as the PDU (Protocol Data Unit).
According to J1939-21, PDU are divided into two types: PDU1 and PDU2.
If PF < 240, that is, in the range 0x00~0xEF, PS is used as the DA (Destination Address), if DA is 0xFF, it is called the Global Destination Address, all nodes on the network must receive this message and respond.
If PF ≥ 240, that is, in the range 0xF0~0xFF, PS is defined as the GE (Group Extension).
The total number of PGNs:



  • 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 serve as identifiers for actual physical parameters in heavy-duty vehicles. They are grouped under their respective PGNs. For example, within PGN 61444, the Engine Speed is defined as SPN 190 and is represented by two bytes in the payload.
The PGN 61444 and SPN 190 shown in the diagram below are taken from SAE J1939-71


 
According to SAE J1939-71, SPN defines several important parameters: Data Length, Resolution, Data Range, and Type. Based on these definitions, engineers can convert the acquired raw data into actual values understandable to users, such as the engine speed shown on a vehicle’s dashboard.


 

News & Event

In-Depth Analysis of the SAE J1939 Breaking Down the PNG and SPN


 
 
  1. Introduction
Early 1990s – Heavy-duty industry needs standardization:
In 1986, Bosch officially presented the CAN protocol at the Society of Automotive Engineers (SAE). However, unlike passenger cars, heavy-duty trucks, buses, and agricultural machines involved multiple manufacturers, a common higher-layer protocol was needed so that ECUs from different vendors could interoperate on the same CAN bus.
About 1994-1998, SAE (Society of Automotive Engineers) developed J1939 as a higher-layer protocol on CAN, defines higher-layer communication rules such as message format, addressing, and data encoding. for communication and diagnostics among ECUs in heavy-duty vehicles, agricultural machinery, marine vessels, and industrial equipment. This article will provide a more in-depth analysis of the J1939 message format.
 
CAN/J1939 7 layer OSI:


 
  1. PGN – Parameter Group Number
A PGN is an 18-bit identifier that is contained within the CAN ID, therefore a J1939 message must be an Extended Frame (29 bits CAN ID).
  • The structure of the J1939 CAN ID field is as follows:
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 Format and PDU Specific are collectively referred to as the PDU (Protocol Data Unit).
According to J1939-21, PDU are divided into two types: PDU1 and PDU2.
If PF < 240, that is, in the range 0x00~0xEF, PS is used as the DA (Destination Address), if DA is 0xFF, it is called the Global Destination Address, all nodes on the network must receive this message and respond.
If PF ≥ 240, that is, in the range 0xF0~0xFF, PS is defined as the GE (Group Extension).
The total number of PGNs:



  • 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 serve as identifiers for actual physical parameters in heavy-duty vehicles. They are grouped under their respective PGNs. For example, within PGN 61444, the Engine Speed is defined as SPN 190 and is represented by two bytes in the payload.
The PGN 61444 and SPN 190 shown in the diagram below are taken from SAE J1939-71


 
According to SAE J1939-71, SPN defines several important parameters: Data Length, Resolution, Data Range, and Type. Based on these definitions, engineers can convert the acquired raw data into actual values understandable to users, such as the engine speed shown on a vehicle’s dashboard.


 

News & Event

Subscribe SUNIX eDM

Subscribe SUNIX eDM

Subscribe SUNIX eDM

Subscribe SUNIX eDM

Back to top
返回頂部
返回頂部