SAE J1939 Parameter Group Number (PGN) Range
The following is an excerpt from A Comprehensible Guide To J1939 by Wilfried Voss.
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:
- Specific PGNs for peer-to-peer communication (PDU1
Range: 00hex - EFhex (not including PDU Specific)
Number of PGNs: 240
- Generic PGNs for message broadcasting (PDU2
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
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
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
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).