The SAE J1939 standards |
||||||||||||||||||||||||||||
|
[You are here: Home > CAN Index > Higher Layer Protocols > J1939] |
||||||||||||||||||||||||||||
|
The complete set of specifications can be purchased from SAE; there's an overview here.
J1939/11 Physical LayerThe physical properties of the bus:
J1939/13 Off-Board Diagnostic ConnectorThis document defines a standard connector for diagnostic purpose. The connector described, Deutsch HD10 - 9 – 1939, is a 9-pin round connector.
J1939 Off-Board Diagnostic Connector
J1939/21 Data Link LayerThis document defines the use of the CAN frame (29-bit identifier, PGN etc.) and the transport protocol functions, which defines how messages longer than 8 bytes are transmitted on a J1939 bus network. J1939 messages are organized in to Protocol Data Units (PDU) which consists of an identifier and 8 data bytes. Numerical data that is larger than a single byte is sent with least significant byte (LSB) first. J1939 uses CAN 2.0B with the extended (29 bit) identifier. The CAN identifier consists of a priority(3 bits), a reserved (1 bit), a data page (1 bit), PDU format (one byte), PDU specific (one byte) and source address (one byte). There are two different PDU formats. PDU1 format is used for sending messages with a specific destination address. PDU2 format can only be sent broadcast. The PDU format byte in the identifier determines the message format. If the PDU format byte is less than 240 (0xF0) then the format is PDU1 and if it is greater than 239 it is PDU2. This J1939 document also describes 5 types of message types: Commands, Requests, Broadcasts/Responses, Acknowledgment, and Group Functions. The transport protocol provides functions for transmitting messages longer than 8 bytes since they will not fit in a single CAN frame. In J1939, these messages are segmented into 7 byte packets with a sequence number for each packet. There are special Connection Management (CM) messages for handling the communication of segmented messages. Examples of these messages are: Request to Send (RTS), Clear to Send (CTS) and Broadcast Announce Message (BAM). The segmented messages can be sent to a specific device or as broadcast. CM messages provide a virtual connection and a handshake procedure between the sender and receiver. The sender requests to send a segmented message and the receiver answers with how many segments it can receive for the moment (figure 4). Segmented messages can be sent as broadcast as well with no handshaking between sender and receiver(s).
Transmission of segmented messages.
J1939/31 Network LayerThis particular document describes the services and functions needed for intercommunication between different segments of a J1939 network. A segment can be a sub network, which is delimited by the ECUs “seeing” the same signal. J1939/31 describes four ECU types that provide functions for network interconnection between segments: Repeater (forwarding), Bridge (forwarding and filtering), Router (forward, filter, and address translation), and Gateway (forward, filter, address translation, and message repackaging).
J1939/71 Vehicle Application LayerThis document describes and defines “standard” parameters which are grouped together in a message frame and given a PGN. This document is updated approximately four times a year to include new standard parameters and messages. There are different lengths of parameters defined in the document; 1, 2, 4 bytes. If the most significant byte of a parameter has the value 0xFE this indicates an error and if the value is 0xFF this indicates that the parameter is not available. This document also recommends appropriate scaling, limits and offset depending on the length and the physical property of a parameter. A parameter’s description starts with a name and an explanation of the value to be represented (i.e. method of measurement used to obtain the parameter value). The following information then describes the content of the parameter:
Every Parameter Group is described with a name and then the following information: Transmission repetition rate (a time interval or on request)
Most of the internal messages are sent as broadcast without a specific destination address.
J1939/73 Application Layer – DiagnosticsThis document defines functions and messages for accessing diagnostic and calibration data. There is a number of predefined Diagnostic Messages (DM) used for:
Newer versions of this document include additional information regarding the interpretation of Diagnostic Trouble Codes (DTC). The DTC is a 32 bit identifier inherited from J1587 and consists of 4 elements: Suspect Parameter Number (SPN), Failure Mode Identifier (FMI), Occurrence Count (OC) and SPN Conversion Method. The DTC together with the source address identifies a component or sub system.
J1939/81 Network ManagementThis document contains information about the content of an ECU Name and how the ECU claims an addressing using that Name. The Name is a 64 bit (8 bytes) long number that gives every ECU a unique identity. The name has two main purposes:
The J1939/81 document also describes how the address claim process works. There are basically three types of messages for this purpose defined in the document.
When arbitration for an address is performed, the Name is treated as an 8 byte numerical value where the lower the value, the higher the priority.
|
||||||||||||||||||||||||||||