Site Information

 Loading... Please wait...

Blog

SAE J1939 Parameter Group Number (PGN) Range

Posted by Wilfried Voss on

The following is an excerpt from  A Comprehensible Guide To J1939 by Wilfried Voss.

A Comprehensible Guide to SAE J1939

With the definition of PDU Format (PF) and PDU Specific (PS) – as shown below - J1939 supports a total of 8672 Parameter Group numbers.

The Parameter Group Number range is divided into two sections:

  1. Specific PGNs for peer-to-peer communication (PDU1 Format) 
    Range: 00hex - EFhex (not including PDU Specific) 
    Number of PGNs: 240
  2. Generic PGNs for message broadcasting (PDU2 Format) 
    Range: F000hex – FFFFhex (including PDU Specific) 
    Number of PGNs: 4096

Considering the Data Page (DP) bit, the total number of PGNs is (240 + 4096) * 2 = 8672.

PDU Format and PDU Specific
PDU Format and PDU Specific

As a reminder:

The DP bit works as a page selector for the following PDU (Protocol Data Unit) Format (PF) field. Currently this bit is at 0, pointing to page 0, which in turn points to all currently defined messages. Page 1 will be used to provide extended capacity for the future, i.e. as soon as page 0 has reached its capacity.

The following shows a Parameter Group Number map:

Parameter Group Number Range
Parameter Group Number Range

The current range of Parameter Group Numbers as defined in SAE J1939/71 is from PGN 0 (Torque/Speed Control) to PGN 65279 (Water in Fuel Indicator). This range is not a real representation of the total number of PGNs, since there are gaps between PGN definitions. The same is true for SPNs, who range from SPN 16 (Engine Fuel Filter) to SPN 4096 (XBR Urgency).


SAE J1939 ECU Simulator Board With USB Port

SAE J1939 ECU Simulator Board With USB Port

The  jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. It allows any host device with a USB COM port to monitor SAE J1939 data traffic and communicate with the SAE J1939 vehicle network.

The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP). It is also supported by an extensive programming interface for Windows and Linux/Ubuntu applications, including full C/C++/C# source code for short time-to-market developments.

The strength of the board lies in the fact that the entire SAE J1939 protocol, including all timing requirements, is stored on-chip, thus taking the burden off the main system. The board uses a USB COM port to communicate with the main system, i.e. all data transfer is handled through a standard COM port access. 

The communication protocol between the board and the main system is well documented and thus allows a porting to any computer system with a USB connection. Working source code libraries exist for Windows (C# under Visual Studio 2012/2013), Linux and its derivatives (C++ using Code::Blocks), and Raspberry Pi (C using the standard gcc compiler).

More Information...