SAE J2178 - 2v002 PDF
SAE J2178 - 2v002 PDF
SAE J2178 - 2v002 PDF
REV.
MAR1999
VEHICLE
400 Commonwealth Drive, Warrendale, PA 15096-0001
RECOMMENDED Issued 1993-06
PRACTICE Revised 1999-03
TABLE OF CONTENTS
1. Scope ....................................................................................................................................................... 2
1.1 Standardized Parameter Definitions......................................................................................................... 3
2. References ............................................................................................................................................... 4
2.1 Applicable Publications ............................................................................................................................ 4
2.1.1 SAE Publications ...................................................................................................................................... 4
2.1.2 Other Publications .................................................................................................................................... 4
3. Definitions................................................................................................................................................. 4
5. General Information.................................................................................................................................. 6
5.1 Part 2 Overview ........................................................................................................................................ 6
5.2 How to Use This Document...................................................................................................................... 6
7. Parameter Formats................................................................................................................................... 9
7.1 Bit Mapped Parameters............................................................................................................................ 9
7.1.1 Bit Mapped Data Without Mask Byte(s).................................................................................................... 9
7.1.2 Bit Mapped Data With Mask Byte(s)....................................................................................................... 10
7.1.3 Bit Values ............................................................................................................................................... 11
7.2 Byte (8 Bit) Parameters .......................................................................................................................... 11
7.3 Word (16 Bit) Parameters....................................................................................................................... 11
7.4 Multi-Byte (16 Bit) Parameters ............................................................................................................... 12
7.5 Multiple Parameter Packets.................................................................................................................... 12
SAE Technical Standards Board Rules provide that: “This report is published by SAE to advance the state of technical and engineering sciences. The use of this report is entirely
voluntary, and its applicability and suitability for any particular use, including any patent infringement arising therefrom, is the sole responsibility of the user.”
SAE reviews each technical report at least every five years at which time it may be reaffirmed, revised, or cancelled. SAE invites your written comments and suggestions.
1. Scope— This SAE Recommended Practice defines the information contained in the header and data fields of
non-diagnostic messages for automotive serial communications based on SAE J1850 Class B networks. This
document describes and specifies the header fields, data fields, field sizes, scaling, representations, and data
positions used within messages.
The general structure of a SAE J1850 message frame without in-frame response is shown in Figure 1. The
structure of a SAE J1850 message with in-frame response is shown in Figure 2. Figures 1 and 2 also show the
scope of frame fields defined by this document for non-diagnostic messages. Refer to SAE J1979 for
specifications of emissions related diagnostic message header and data fields. Refer to SAE J2190 for the
definition of other diagnostic data fields. The description of the network interface hardware, basic protocol
definition, electrical specifications, and the CRC byte are given in SAE J1850.
FIGURE 1— SCOPE OF SAE J2178 FOR A SAE J1850 FRAME WITHOUT IN-FRAME RESPONSE (IFR)
-2-
SAE J2178-2 Revised MAR1999
FIGURE 2— SCOPE OF SAE J2178 FOR A SAE J1850 FRAME WITH IN-FRAME RESPONSE (IFR)
SAE J1850 defines two and only two formats of message headers. They are the Single Byte header format
and the Consolidated header format. The Consolidated header format has two forms, a single byte form and a
three byte form. This document covers all of these formats and forms to identify the contents of messages
which could be sent on a SAE J1850 network.
SAE J2178-1, Part 1 of SAE J2178 (Titled: Detailed Header Formats and Physical Address Assignments)
describes the two allowed forms of message header formats, Single Byte and Consolidated. It also contains
the physical node address range assignments for the typical sub-systems of an automobile.
SAE J2178-2, Part 2 of SAE J2178 (this part, Titled: Data Parameter Definitions) defines the standard
parametric data which may be exchanged on SAE J1850 (Class B) networks. The parameter scaling, ranges,
and transfer functions are specified. Messages which refer to these parametric definitions shall always adhere
to these parametric definitions. It is intended that at least one of the definitions for each parameter in this part
match the SAE J1979 definition.
SAE J2178-3, Part 3 of SAE J2178 (Titled: Frame IDs for Single Byte Forms of Headers) defines the message
assignments for the Single Byte header format and the one byte form of the Consolidated header format.
SAE J2178-4, Part 4 of SAE J2178 (Titled: Message Definition for Three Byte Headers) defines the message
assignments for the three byte form of the Consolidated header format.
1.1 Standardized Parameter Definitions— The parameters used to describe data variables are one of the most
important functions of this document. To achieve commonality of messages in Class B networks, the data
parameters must become standardized. This applies to data parameter definitions for use during normal
vehicle operations as well as during diagnostic operations. By using common parameter definitions for non-
diagnostic and diagnostic functions on the network, the modules which form the network can maintain one
image or description of a data parameter.
At this time however, it is felt that there is not enough experience and commonality of philosophy within the
industry to define standard parameters. The purpose of this document is therefore to provide standard
methods of defining parameters and examples of defined parameters for many potential applications within a
vehicle. With this basis, it should be possible to avoid the definition of arbitrarily different parameters and
move toward standard parameters in the future.
Where parameters have been defined in the Diagnostic Test Modes, documents (SAE J1979 and J2190), such
as Parameter Identifies for diagnostic purposes, the definitions in Part 2 of this document match the diagnostic
definition.
-3-
SAE J2178-2 Revised MAR1999
SAE J2178-2 defines the parameters to be used for non-diagnostic and diagnostic data format definitions. For
new parameter definitions which are needed in the future, the new definitions, if they are expected to become
widely used, must be integrated into this document for commonality across these types of applications. Of
course, manufacturers are free to assign their own definitions to data parameters which are unique or
proprietary to their products. They are, however, restricted to using the “Manufacturer Reserved” message
header assignments in Parts 3 and 4 of this document when using these unique or proprietary data parameter
definitions.
2. References
2.1 Applicable Publications— The following publications form a part of this specification to the extent specified
herein. Unless otherwise indicated, the latest issue of SAE publications shall apply.
2.1.1 SAE P UBLICATIONS— Available from SAE, 400 Commonwealth Drive, Warrendale, PA 15096-0001.
SAE J1213-1— Glossary of Vehicle Networks for Multiplex and Data Communication
SAE J1850— Class B Data Communication Network Interface
SAE J1930— Electrical/Electronic Systems Diagnostic Terms, Definitions, Abbreviations, and Acronyms
SAE J1979— E/E Diagnostic Test Modes
SAE J2190— Enhanced E/E Diagnostic Test Modes
ANSI/IEEE Std 754-1985 August 12, 1985— IEEE Standard for Binary Floating-Point Arithmetic
3. Definitions
3.1 Data [Data Field]— Data and data field are used interchangeably in this document and they both refer to a
field within a frame that may include bytes with parameters pertaining to the message and/or secondary ID
and/or extended addresses and/or test modes which further defines a particular message content being
exchanged over the network.
3.2 Extended Address— The extended address is a means to allow a message to be addressed to a specific
geographical location or zone of the vehicle, independent of any node’s physical address.
3.3 Frame— A frame is one complete transmission of information which may or may not include an In-Frame
Response. The frame is enclosed by the start of frame and end of frame symbols. For Class B networks, each
frame contains one and only one message (see “message” definition).
3.4 Frame ID— The Frame ID is the header byte for the Single Byte Header format and the one byte form of the
consolidated header format. The definition of the Frame ID is found in SAE J2178-3. This header byte defines
the target and source and content of the frame.
3.5 Functional Addressing— Functional addressing allows a message to be addressed or sent to one or more
nodes on the network interested in that function. Functional addressing is intended for messages that may be
of interest to more than a single node. For example, an exterior lamp “off” message could be sent to all nodes
controlling the vehicle exterior lamps by using a functional address. The functional address consists of a
primary ID and may include a secondary ID and may also include an extended address.
3.6 Header [Header Field]— The header (or header field, used interchangeably) is a one or three byte field within
a frame which contains information about the message priority, message source and target addressing,
message type, and in-frame response type.
-4-
SAE J2178-2 Revised MAR1999
3.7 In-Frame Response (IFR) Type— The IFR type identifies the form of the in-frame response which is expected
within that message.
3.8 Load— The load command indicates the operation of directly replacing the current/existing value of a
parameter with the parameter value(s) contained in the message.
3.9 Message— A message consists of all of the bytes of a frame excluding the delimiter symbols (SOF, EOD,
EOF, NB).
3.10 Modify— The modify command indicates the operation of using the message data parameter value to change
(e.g., increment, decrement, or toggle) the current/existing value.
3.11 Parameter— A parameter is the variable quantity included in some messages. The parameter value, scaling,
offset, units, transfer function, etc., are unique to each particular message. (The assigned parameters are
contained herein.)
3.12 Physical Addressing— Physical addressing allows a message to be addressed to a specific node or to all
nodes or to a non-existent, null node. The information in this message is only of relevance to a particular node,
so the other nodes on the bus should ignore the message, except for the case of the “all nodes” address.
3.13 Primary ID— The primary ID identifies the target for this functional message. This is the primary discriminator
used to group functions into main categories.
3.14 Priority— The priority describes the rank order and precedence of a message. Based upon the SAE J1850,
Class B arbitration process, the message with the highest priority will win arbitration.
3.15 Report— A report indicates the transmission of parametric data values, based on: a change of state; a change
of value; on a periodic rate basis; or as a response to a specific request.
3.16 Request— A request is a command to, or a query for data, or action from another node on the network.
3.17 Response Data— The response data is the information from a node on the network in response to a request
from another node on the network. This may be an in-frame response or a report type of message.
3.18 Secondary ID— The secondary ID (along with the primary ID or Frame ID) identifies the functional target node
for a message. The purpose of the secondary ID field within the frame is to further define the function or action
being identified by the primary ID.
-5-
SAE J2178-2 Revised MAR1999
5. General Information
5.1 Part 2 Overview— Section 6 provides a description of the parameter reference number (PRN) number
groupings used for assigning PRN numbers to individual parameters. Section 7 defines the formats used to
define all standard parameters to be used in SAE J2178 messages. Section 8 defines the specific parameter
assignments in terms of names, units, and scale factor reference. Section 9 defines the actual parameter
specifications (SLOT), in terms of the length, bit resolution, range, scale factor details, etc. Section 10
describes the case of very long parameters which cannot be transmitted in a single message. Table 30
provides a numerical cross reference to assist in finding the correct name of a parameter if the parameter
identification number is known. Appendix A is an alphabetical cross reference to assist in finding the correct
parameter identification number if the parameter name is known.
The messages contain header fields and data fields, described in SAE J2178-1. The header field contains
target, source, priority, and message type information, while the data field contains optional additional
addressing and parametric information. This document defines the parametric information.
For some applications, it is desirable to include multiple parameters in a single message. The multiple
parameter format is called a packet in this document. For example, some diagnostic messages consist of
combinations of these parameters to improve information density or to insure simultaneous readings of
different variables. A very limited set of these combinations is defined here as industry standards but individual
manufacturers are free to use this form in manufacturer specific messages, as needed.
5.2 How to Use This Document— This document (SAE J2178-2) provides the definition of parameters which are
commonly found, or could be expected in vehicle Electrical/Electronic Systems today. These parameters have
been defined to allow messages on a Class B communication system to have consistent meaning between
manufacturers and over time. The parameter definition consists of two parts, the “PRN” and the “SLOT.” The
“PRN” (Parameter Reference Number) is a number used to identify a specific parameter by name, unit of
measure, and its associated “SLOT.” The “SLOT” defines the mathematical characteristics of parameters in
terms of its representation (Binary, Unsigned Numeric, ASCII, BCD, etc.), its scaling (1 Bit = ), its limits and
offsets, and its transfer function.
-6-
SAE J2178-2 Revised MAR1999
To find a parameter by name or PRN number, Appendices A and B provide cross references to the page of this
document where the PRN can be found. The PRN numbers have also been grouped by subsystem to enable
the reader to look for parameters if the name is not know.
If the parameter has not as yet been included in the list of PRNs, users can define new parameters in terms of
the SLOTs which have been defined.
6. Parameter Reference Number (PRN) Structure— Parameter Reference Numbers (PRNs) are used to
simplify documentation. They do not, in themselves, have particular significance. PRNs do allow simplification
of reference, particularly for diagnostic purposes. To this end, a structure for PRN number assignments has
been developed. The structure is described in the following paragraphs.
All PRN addresses are two bytes long, with the first byte identifying a grouping or classification reference (refer
to Tables 1 and 2). The second byte is then a sequence number pointing to the specific parameter used (refer
to Tables 4 through 19). There has not been any attempt made to group or commonize the meaning in the
second byte. The specific assignments are found in Section 8. Note that all PRN addresses are listed as
hexadecimal numbers throughout this document.
SAE J1979 refers to PID numbers which are a single byte reference number. The first 256 PRNs defined here
(first byte = 00), are identical with the SAE J1979 definitions.
Figure 3 shows the basic structure of PRNs and Tables 1 and 2 show bit assignments and address ranges
based on these assignments.
-7-
SAE J2178-2 Revised MAR1999
-8-
SAE J2178-2 Revised MAR1999
7. Parameter Formats— Parameter values are represented in bit, byte, word, and multi-byte forms. The length
of the parameter is uniquely associated with the message header and any included secondary ID field. These
parameter definitions are referenced by one or more messages. The parameters allow a wide variety of
variables, data definitions, and representations to provide the ability to use this definition for all messages,
even when the industry standard messages are not useful for particular applications.
7.1 Bit Mapped Parameters— The bit mapped parameters, that is, those which have only two logical values (for
example: True/False), are handled in one of two ways. The “Q” bit described in Section 8 of SAE J2178-1 is
used if there is only one bit of information. In many cases, however, the bit values are associated together and
form byte groupings, generally around common functional characteristics. Bit mapped data are transmitted
either with or without corresponding mask bytes as described as follows:
7.1.1 BIT MAPPED D ATA WITHOUT MASK BYTE(S )— In some cases, such as configuration identification, there is
information which can be grouped as binary bits which represent whether, for example, a function or test is
supported in a system. This form does not allow the bits to be supplied from different nodes in the network.
If the bits potentially come from more than one node, the form with mask bytes described in 7.1.2, is used.
The general form of the bit data bytes without mask is shown in Figure 4.
-9-
SAE J2178-2 Revised MAR1999
For these bit data cases, the bit names (that is: items) are somewhat different to emphasize the difference in
format. These numbers are shown in Figure 5. If there is more than one byte of this form, the item numbers
are incremented by one, sequentially, beginning at one from the MSB of the first byte.
For definition purposes, it is also possible to describe a single or multiple bit group which is smaller than a
byte but which is combined into a byte or multiple bytes when the complete message is defined. This is a
convenience used in this document to define some parameters. This definition notation applies equally to
byte(s) with or without masks.
7.1.2 BIT MAPPED D ATA WITH MASK BYTE(S)— For bit mapped data value groups that may come from several
nodes or may not be valid for an application, a special format has been defined. Figures 6 and 7 show the
data byte formats used. The data format allows two options in the number of bits in group; 8 or 16. Since the
defined bits for such groupings may not always come from a single network node, the format includes mask
bytes indicating if an individual bit is valid for this message or if it should be ignored. The mask bytes map
directly to the data bits with which they are associated. Figures 8 and 9 show how these bits are mapped
within each byte. Table 3 shows the bit value for the mask bits.
-10-
SAE J2178-2 Revised MAR1999
7.1.3 BIT VALUES— The general form of binary data is that 1 = true and 0 = false. One bit can carry a wide variety
of interpretations, depending on the subject that it describes.
7.2 Byte (8 Bit) Parameters— Data parameters which can be expressed in 8 bits or less are expressed in a byte
format. Byte parameters are the most common format. Figure 10 shows this format.
7.3 Word (16 Bit) Parameters— Data parameters which can be expressed in 9 to 16 bits are expressed in word
format with the most significant byte transmitted first (high byte/low byte). Figure 11 shows this format.
-11-
SAE J2178-2 Revised MAR1999
7.4 Multi-Byte (>16 Bit) Parameters— Data parameters which can be expressed in more than 16 bits are
expressed in multi-byte format with the most significant byte transmitted first (highest byte /.../ lowest byte).
Figure 12 shows this format.
7.5 Multiple Parameter Packets— It is often useful to group parameters together into a packet to increase the
information density of messages. For example, sending a fluid level and maximum capacity value in the same
message, or a packet of single bit(s) or multiple bit definitions that may be smaller than a full byte, can be
combined in this way. Parameter packets will be defined in this document in the same way as any other
parameter, having a packet PRN number and SLOT reference assignment. If bit mapped parameters are
included in a packet, the bit mapped byte(s) and the associated mask byte(s) are grouped together as a set
representing a parameter. Thus, the data bytes and mask bytes for each parameter are together within the
packet. Note that packets may be made of other packets, but each will be uniquely defined by combining each
sub-part into a message. Figure 13 shows the general form of a parameter packet.
A few examples, such as some of the SAE J1979 PRN definitions in Section 8 will make this format clear.
8. Specific Parameter (PRN) Assignments— This section defines industry standard parameters used in
messages found in parts 3 and 4. These parameters have been listed in random order based on when they
were defined. Note that any PRN address in the SAE range that is not currently defined is reserved for SAE
use. Cross references are provided in Appendices A and B of this part of SAE J2178 to assist the reader in
finding the specific definition for each parameter.
8.1 Specific Parameters— The following definitions include the Parameter Reference Number (PRN), parameter
name, units of measure, and associated SLOT number. The SLOT number is a reference to the Scaling, Limit,
Offset, and Transfer function (SLOT) definition found in Section 9. The SLOT reference numbers have a
format of: F-N-#, where F is a three letter mnemonic indicating the format code type (see Section 9), N is the
number of bits in the parameter, and # is the sequence number for that type of SLOT. There is no relationship
between sequence numbers for different format codes or number of bytes. Notes that the sequence number is
randomly assigned. Decimal sequence numbers of 1000 and above are available for manufacturers to assign.
All SAE assigned sequence numbers will be in the range from 1 to 999 exclusively and are not to be used by
manufacturers. The sequence number ZERO (0) has the special purpose of a fill sequence which is used in
packet definitions. The ZERO sequence number is all zeros, for the number of bits specified. The Parameter
Reference Numbers (PRNs) are the index reference used by the message definitions found in SAE J2178-3
and J2178-4. The specific parameters are grouped as follows:
-12-
SAE J2178-2 Revised MAR1999
-13-
SAE J2178-2 Revised MAR1999
-14-
SAE J2178-2 Revised MAR1999
-15-
SAE J2178-2 Revised MAR1999
-16-
SAE J2178-2 Revised MAR1999
-17-
SAE J2178-2 Revised MAR1999
-18-
SAE J2178-2 Revised MAR1999
-19-
SAE J2178-2 Revised MAR1999
-20-
SAE J2178-2 Revised MAR1999
-21-
SAE J2178-2 Revised MAR1999
-22-
SAE J2178-2 Revised MAR1999
-23-
SAE J2178-2 Revised MAR1999
9. Scaling, Limit, Offset, and Transfer Function (SLOT) Definitions— This section defines the parameter
scaling, limit(s), offset value, and transfer function for bit, byte, or larger variables. These SLOT definitions
have been grouped together to avoid duplication in this document and to offer a common list of definitions for
use in assigning new parameter definitions. The wide range of these definitions is expected to cover a large
number of applications, and should be used for most new definitions as well. Each of these definitions has
been assigned a SLOT number for reference purposes but is formatted to include a three letter mnemonic
representing the format, the parameter length in bits, followed by a random sequence number.
The transfer function is shown in two forms to allow use in implementing messages in modules and in
interpreting messages found on a network. The two forms are identical but are solved for each of the two
variables. The transfer function defines the relationship between computer units (N) in decimal, and
engineering units (E) of the data.
The format of the SLOT, identified by the three letter mnemonic, indicates the category of bit representation.
These formats include:
9.1 Multiple Parameter Packeted (PKT) SLOTs— The multiple parameter packet is used to define PRNs which
refer to more than one parameter as a group that are related. By grouping multiple parameters, the efficiency
of utilization can be improved, if the groupings are accomplished such that the individual parameters that need
to be associated with each other are transmitted together. These packets are defined as a sequence of other
PRN numbers, in the order that they appear in the message (MSB first). In some cases, a PRN may be
assigned to fill bits or bytes with zeros. Each zero fill PRN is an unsigned numeric SLOT with zero as the
sequence number.
PKT-16-1 Trouble Code that Caused Freeze Frame Storage (PRN 0002)
MSB PRN 1005 Sub-System Category 2 bits
PRN 1006 MSB of Trouble Code 2 bits
LSB PRN 1007 Lower Bytes of Trouble Code - BCD 12 bits
-24-
SAE J2178-2 Revised MAR1999
PKT-32-1 Number of Emission-Related Trouble Codes and MIL Status (PRN 0001)
MSB PRN 1000 MIL Status 1 bit
PRN 1001 Number of Emission-Related Trouble Codes 7 bits
PRN 1002 Continuous Evaluation Supported 8 bits
PRN 1003 Trip Evaluation Supported 8 bits
LSB PRN 1004 Trip Evaluation Complete 8 bits
-25-
SAE J2178-2 Revised MAR1999
9.2 Bit Mapped Without Mask (BMP) SLOTs— Bit mapped (BMP) SLOTs are used to encode data that typically
contains several binary parameters, such as status bits or flags, grouped into a single byte or several bytes.
Bit mapped SLOTs can also be used for discrete output control such as warning lamps where each bit would
indicate the state of a particular lamp. The data in these bit mapped SLOTs is not followed by a MASK byte.
There can be up to 4 bytes of data without a mask.
Length: 1 Bit 0 1
Length: 8 bits 0 1
Length: 8 bits 0 1
-26-
SAE J2178-2 Revised MAR1999
Length: 8 bits 0 1
Length: 8 bits 0 1
Length: 8 bits 0 1
Length: 8 bits 0 1
-27-
SAE J2178-2 Revised MAR1999
Length: 8 bits 0 1
Length: 8 bits 0 1
Length: 16 Bits 0 1
Byte 1:
MSB Item 1: AC Energy Transfer Not Supported Supported
Item 2: Inductive Energy Transfer Not Supported Supported
Item 3: DC Energy Transfer Not Supported Supported
Item 4: Positive Pulse Mode Not Supported Supported
Item 5: Voltage Mode Not Supported Supported
Item 6: Reserved
Item 7: Reserved
LSB Item 8: Reserved
Byte 2:
MSB Item 9: Reserved
Item 10: Reserved
Item 11: Reserved
Item 12: Reserved
Item 13: Reserved
Item 14: Reserved
Item 15: Reserved
LSB Item 16: Reserved
-28-
SAE J2178-2 Revised MAR1999
Length: 16 Bits 0 1
Byte 1:
MSB Item 1: Tx Enabled False True
Item 2: Rx Enabled False True
Item 3: Reserved
Item 4: Reserved
Item 5: Reserved
Item 6: Reserved
Item 7: Reserved
LSB Item 8: Reserved
Byte 2:
MSB Item 9: Reserved
Item 10: Reserved
Item 11: Reserved
Item 12: Reserved
Item 13: Reserved
Item 14: Reserved
Item 15: Reserved
LSB Item 16: Reserved
Length: 32 bits 0 1
Byte 1:
MSB Item 1-8: PID 01h - 08h Supported Not Supported Supported
Byte 2:
MSB Item 9-16: PID 09h - 10 h Not Supported Supported
Byte 3:
MSB Item 17-24: PID 11h - 18h Supported Not Supported Supported
Byte 4:
MSB Item 25-32: PID 19h - 20h Supported Not Supported Supported
-29-
SAE J2178-2 Revised MAR1999
Length: 32 bits 0 1
Byte 1:
MSB Item 1-8: PID 21h - 28h Supported Not Supported Supported
Byte 2:
MSB Item 9-16: PID 29h - 30h Supported Not Supported Supported
Byte 3:
MSB Item 17-24: PID 31h - 38h Supported Not Supported Supported
Byte 4:
Length: 32 bits 0 1
Byte 1:
MSB Item 1-8: PID 41h - 48h Supported Not Supported Supported
Byte 2:
MSB Item 9-16: PID 49h - 50h Supported Not Supported Supported
Byte 3:
MSB Item 17-24: PID 51h - 58h Supported Not Supported Supported
Byte 4:
MSB Item 25-32: PID 59h - 60h Supported Not Supported Supported
9.3 Bit Mapped With Mask Bytes (BMM) SLOTs— Bit mapped with mask (BMM) SLOTs are used to encode
data that typically contains several binary parameters, such as status bits or flags, grouped into a single byte or
several bytes. Bit mapped SLOTs can also be used for discrete output control such as warning lamps where
each bit would indicate the state of a particular lamp. The data in these bit mapped SLOTs are always
followed by a MASK byte which is used to indicate which bits of the data byte are valid. There can be up to 4
bytes of data including the mask bytes. Valid combinations include up to 2 data bytes each with mask.
9.4 Unsigned Numeric (UNM) SLOTs— Unsigned numeric (UNM) SLOTs are used to encode data that is
typically associated with information such as temperature, speed, or percent. The SLOT can be 8, 16, 24, ...
56 bits in length (1 to 7 bytes) and may or may not have an offset. Unsigned number SLOTs can also be used
for sequential data such as month (1-12) or day of month (1-31). Each SLOT definition contains a field for:
resolution per bit; minimum and maximum value; and transfer function. The transfer function defines the
relationship between computer units (N) in decimal, and engineering units (E) of the data.
-30-
SAE J2178-2 Revised MAR1999
9.4.1 U NSIGNED NUMERIC VARIABLE ASSIGNMENTS— The unsigned numeric variables have been grouped as
follows:
-31-
SAE J2178-2 Revised MAR1999
-32-
SAE J2178-2 Revised MAR1999
9.5 2’s Complement Signed Numeric (SNM) SLOTs— Signed numeric (SNM) SLOTs are represented in 2’s
complement notation. If the most significant bit of the number is set (one, 1), then the number is negative and
the absolute value of the number is found by taking the 2’s complement of the number. The 2’s complement is
found by inverting each bit of the number and then adding a binary one (1) to the result. For example, the
number FFh, which has its most significant bit set, corresponds to –1.
-33-
SAE J2178-2 Revised MAR1999
9.5.1 2’S C OMPLEMENT SIGNED NUMERIC VARIABLE ASSIGNMENTS— The 2’s complement signed numeric variables
are grouped as follows:
9.6 State Encoded (SED) SLOTs— State enclosed (SED) SLOTs are used for data that can take one of several
states such as Day of Week or Wiper Mode. Each SLOT definition contains a field for describing each state
within the SLOT. There can be between 1 and 8 bits in any given SLOT with 2n possible states where n is the
number of bits in the SLOT.
Length: 2 bits (0 - 3)
0 “P” = Powertrain
1 “C” = Chassis
2 “B” = Body
3 “U” = Undefined
Length: 2 bits (0 - 3)
0 “0”
1 “1”
2 “2”
3 “3”
Length: 2 bits (0 - 3)
0 Unlock
1 Partial Lock
2 Full Lock
3 Invalid
-34-
SAE J2178-2 Revised MAR1999
Length: 4 bits (0 - F)
0 Unknown
1 Sunday
2 Monday
3 Tuesday
4 Wednesday
5 Thursday
6 Friday
7 Saturday
8-F Invalid
Length: 4 bits (0 - F)
0 Unknown
1 January
2 February
3 March
4 April
5 May
6 June
7 July
8 August
9 September
A October
B November
C December
D-F Invalid
00 Neutral
01 Reverse
02 Forward 1
04 Forward 2
08 Forward 3
10 Forward 4
20 Forward 5
Others Invalid
-35-
SAE J2178-2 Revised MAR1999
00 Unknown
01 Neutral
02-0F Reserved
10 Reverse
11-1F Reserved for Reverse Gears
20 Forward 1
21 Forward 2
22 Forward 3
23 Forward 4
24 Forward 5
25 Forward 6
26-2F Reserved for Forward Gears
30-3E Reserved
3F Invalid
00 Invalid
01 Off
02 Intermittent
03 Low Speed
04 Medium Speed
05 High Speed
06 Pulse
07 - FF Invalid
00 Unknown
01 Sunday
02 Monday
03 Tuesday
04 Wednesday
05 Thursday
06 Friday
07 Saturday
08 - FF Invalid
-36-
SAE J2178-2 Revised MAR1999
00 Invalid
01 1st
02 2nd
03 3rd
04 4th
05 5th
06 6th
07 7th
08 8th
09 9th
0A 10th
0B 11th
0C 12th
0D 13th
0E 14th
0F 15th
10 16th
11 17th
12 18th
13 19th
14 20th
15 21th
16 22nd
17 23rd
18 24th
19 25th
1A 26th
1B 27th
1C 28th
1D 29th
1E 30th
1F 31st
20 - FF Invalid
00 Unknown
01 Reverse
02 Forward 1
04 Forward 2
08 Forward 3
10 Forward 4
20 Forward 5
40 Forward 6 / Park
80 Neutral
Others Invalid
-37-
SAE J2178-2 Revised MAR1999
00 Invalid
01 ACC
02 OFF / LOCK
04 OFF / UNLOCK
08 RUN
10 START
Others Invalid
00 Invalid
01 Neutral
02 Two Wheel Drive
03 Four Wheel Drive— Low
04 Four Wheel Drive— High
05 - FF Invalid
00 Key Out
01 Key in Lock Position
02 Key in Unlock Position
03 - FF Invalid
00 Not Ready
01 Ready
02 Not Ready, Not in Park
03-FF Invalid
00 OK
01 LO
02 HI
03-FF Invalid
-38-
SAE J2178-2 Revised MAR1999
00 No Transfer
01 Base
02 Over
03 Support
04-FF Invalid
00 False
01 True
02-FF Invalid
00 No Transfer
01 AC
02 Inductive
03 DC
04 - FF Invalid
Length: 8 bits
00 No Preference
01 AC
02 Inductive
03 DC
04 - FF Invalid
0000 False
0001 True
0002-FFFF Reserved
-39-
SAE J2178-2 Revised MAR1999
Remaining values assigned to EV and EVSE manufacturers who request an App Type ID.
9.7 ASCII Encoded (ASC) SLOTs— ASCII (ASC) SLOTs are used to encode ASCCI data. The least significant
7 bits represent the standard ASCII codes from 0 to 127. The most significant bit is reserved at this time but
may be assigned a special function in the future. Several ASCII characters can be included in a single
message by placing up to 7 ASCII characters sequentially in the data field. This allows a character string of up
to 7 characters to be sent in a single message.
Length: 8 bits
Length: 16 bits
Length: 24 bits
-40-
SAE J2178-2 Revised MAR1999
Length: 32 bits
Length: 40 bits
Length: 48 bits
Length: 56 bits
-41-
SAE J2178-2 Revised MAR1999
9.7.2 ASCII CHARACTER SET— The conversion chart, Table 29, can be used to convert from a two-digit (one byte)
hexadecimal number to an ASCII character or from an ASCII character to a two-digit hexadecimal number.
9.8 Binary Coded Decimal (BCD) SLOTs:— BCD SLOTs are similar to ASCII SLOTs and are used to encode
BCD data. The upper nibble is used to represent the most significant digit in a 2-digit number and the lower
nibble the least significant digit. For example, the data value 38h would represent 38 decimal. Invalid data
ranges include any value that has either nibble greater than 9 (i.e., A, B, ..., F in either nibble). Therefore, a
valid value can represent a number from 0 to 9. Several BCD numbers can be included in a single message by
placing up to 14 BCD digits sequentially in the data field. This allows any number from 0 to
99,999,999,999,999 to be sent in a single message.
BCD-04-1 1 digit
Length: 4 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 0
Maximum: 9
BCD-08-1 2 digits
Length: 8 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 00
Maximum: 99
-42-
SAE J2178-2 Revised MAR1999
BCD-12-1 3 digits
Length: 12 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 000
Maximum: 999
BCD-16-1 4 digits
Length: 16 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 0000
Maximum: 9999
BCD-20-1 5 digits
Length: 20 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 00000
Maximum: 99999
BCD-24-1 6 digits
Length: 24 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 000000
Maximum: 999999
BCD-28-1 7 digits
Length: 28 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 0000000
Maximum: 9999999
BCD-32-1 8 digits
Length: 32 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 00000000
Maximum: 99999999
BCD-36-1 9 digits
Length: 36 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 000000000
Maximum: 999999999
-43-
SAE J2178-2 Revised MAR1999
BCD-40-1 10 digits
Length: 40 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 0000000000
Maximum: 9999999999
BCD-44-1 11 digits
Length: 44 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 00000000000
Maximum: 99999999999
BCD-48-1 12 digits
Length: 48 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 000000000000
Maximum: 999999999999
BCD-52-1 13 digits
Length: 52 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 0000000000000
Maximum: 9999999999999
BCD-56-1 14 digits
Length: 56 bits
Scaling (Resolution:) 1 bit = 1 (BCD)
Limit:
Minimum: 00000000000000
Maximum: 99999999999999
9.9 Signed Floating Point (Scientific Notation) (SFP) SLOT— The Signed Floating Point (SFP) SLOT is used to
encode data that needs to be represented in floating point arithmetic, and always includes a leading sign
character. The format exactly follows the ANSI/IEEE Standard (Std 754-1985) Single format. Please note that
the data byte boundaries of the transmitted frame do not align with the boundaries of this format. The floating
point parameter is sent as a 32-bit (4-byte) value. The bit order is shown in Figure 14.
-44-
SAE J2178-2 Revised MAR1999
10. Multiple Frame, Single Parameter Format— This section defines the method of encoding long parameters
that require more than one frame to complete. The first data byte for this format is a sequence number as
shown in Figure 15. The sequence byte consists of an upper nibble that identifies this frame by number in the
sequence. The lower nibble is the total number of frames that make up this grouping. The sequence byte is
followed by up to the maximum number of data bytes allowed by SAE J1850, for each frame. The entire
parameter is thus built up from the total number of frames shown in the sequence tracking byte, in the order
carried in that byte. The data field format will thus have an order indicated by Figure 16.
A simple example of this format is shown in Figures 17, 18, and 19, sending an ASCII string of characters.
-45-
SAE J2178-2 Revised MAR1999
11. Manufacturer PRN Usage By J2178 Part— This section defines the usage of PRNs by those specified in
J2178 Parts 3 and 4 and is shown in Table 30. A manufacturer may use many more PRNs than those specified
in Table 30 in manufacturer specific messages. The usage of PRNs for manufacturer specific messages will
vary between manufacturers.
-46-
SAE J2178-2 Revised MAR1999
-47-
SAE J2178-2 Revised MAR1999
-48-
SAE J2178-2 Revised MAR1999
-49-
SAE J2178-2 Revised MAR1999
-50-
SAE J2178-2 Revised MAR1999
-51-
SAE J2178-2 Revised MAR1999
12. Notes
12.1 Marginal Indicia— The change bar (l) located in the left margin is for the convenience of the user in locating
areas where technical revisions have been made to the previous issue of the report. An (R) symbol to the left
of the document title indicates a complete revision of the report.
-52-
SAE J2178-2 Revised MAR1999
APPENDIX A
-53-
SAE J2178-2 Revised MAR1999
-54-
SAE J2178-2 Revised MAR1999
-55-
SAE J2178-2 Revised MAR1999
-56-
SAE J2178-2 Revised MAR1999
-57-
SAE J2178-2 Revised MAR1999
-58-
SAE J2178-2 Revised MAR1999
-59-
SAE J2178-2 Revised MAR1999
-60-
SAE J2178-2 Revised MAR1999
-61-
SAE J2178-2 Revised MAR1999
Rationale— SAE J2178-2 was revised to include terms applicable to electric vehicles and to agree with SAE
J2293. Minor typographical errors were also corrected.
Application— This SAE Recommended Practice defines the information contained in the header and data
fields of non-diagnostic messages for automotive serial communications based on SAE J1850 Class B
networks. This document describes and specifies the header fields, data fields, field sizes, scaling,
representations, and data positions used within messages.
Reference Section
SAE J1213-1— Glossary of Vehicle Networks for Multiplex and Data Communication
SAE J1930— Electrical/Electronic Systems Diagnostic Terms, Definitions, Abbreviations, and Acronyms
ANSI/IEEE Std 754-1985 August 12, 1985— IEEE Standard for Binary Floating-Point Arithmetic
Developed by the SAE Vehicle Network for Multiplex and Data Communication Standards Committee