J1939 is a standard that defines how information is transferred across a network to allow vehicle ECUs to communicate. It uses the CAN bus protocol and message identifiers called PGNs to send data. The standard includes specifications for the physical layer, data link layer, and other aspects. It is used widely in commercial vehicles to allow sharing of data like wheel speeds, engine data, and diagnostic information between vehicle systems. Questions about any aspect of the J1939 standard are welcome and the instructor provided contact information for follow up.
9. CAN 2.0A Format SOF: Start of frame (start bit) ID: Message identifier (indicates msg priority) RTR: Remote transmission request IDE: Identifier extension bit (2.0A or 2.0B) r0: Reserved bit. Sent as dominant. DLC: Data length code. Valid range 0 – 8. CRC D: CRC delimiter. Marks end of CRC field. ACK S: Used for receiver to ACK msg. Sent as recessive. ACK D: Marks end of ACK field. EOF: End of frame. (stop bit). Sent as 7 recessive bits. INT: Intermission. Sent as 3 recessive bits.
10. CAN 2.0B Format SRR: Substitute request bit. Sent as recessive. This is simply a placeholder bit to ensure compatibility between 2.0A and 2.0B because 2.0A has RTR.
21. CAN ID Mapping SA PS PF DP EDP P 0 8 16 24 25 28 26 Source address of controller application (CA). SA: PDU specific. Either destination address or group extension. PS: PDU format: < 240, PS is destination address. (PDU1 format) >= 240, PS is group extension. (PDU2 format) PF: Data page. Used to create a second page of PGNs. DP: Extended data page. J1939 devices must set to 0. EDP: Message priority. Must come first. P:
22.
23. Example J1939 PGN 910 Relative, rear axle #2, right Byte 8: 909 Relative, rear axle #2, left Byte 7: 908 Relative, rear axle #1, right Byte 6: 907 Relative, rear axle #1, left Byte 5: 906 Relative, front axle #1, right Byte 4: 905 Relative, front axle #1, left Byte 3: 904 Front axle speed Bytes 1-2: SPN 100 ms TX Rate: 8 Length: 6 (default) Priority: 65215(0xFEBF) PGN: J1939 Wheel Speed Information
24. J1939 Request PGN PGN which is being requested Bytes 1-3: Global or specific Destination: 3 Length: 6 (default) Priority: 59904 (0xEA00) PGN:
25.
26.
27.
28.
29.
30. BAM Message PGN Byte 6-8: Reserved. Filled with 0xFF Byte 5: Number of packets Byte 4: Message size in bytes Bytes 2-3: Fixed at 32 Byte 1: Global Destination: 8 Length: 7 (default) Priority: 60416(0xEC00) PGN: Transport Protocol – Connection Management
31. Data Transfer PGN Data. Any unused locations in last packet should be filled with 0xFF Bytes 2-8: Sequence number (1 to 255) Byte 1: Global Destination: 8 Length: 7 (default) Priority: 60160(0xEB00) PGN: Transport Protocol – Data Transfer
35. RTS Message PGN Byte 5-7: Total number of packet sent in response to CTS. Byte 4: Number of packets Byte 3: Message size in bytes Bytes 1-2: Fixed at 16 Byte 0: Specific Destination: 8 Length: 7 (default) Priority: 60416(0xEC00) PGN: Transport Protocol – Connection Management
36. CTS Message PGN Bytes 5-7: Reserved. Filled with 0xFF Bytes 3-4: Next sequence number to start with Byte 2: Max number of packets that can be sent at once. (Not larger than byte 5 of RTS) Byte 1: Fixed at 17 Byte 0: Specific Destination: 8 Length: 7 (default) Priority: 60416(0xEC00) PGN: Transport Protocol – Connection Management
37. End of Msg ACK Message PGN Bytes 5-7: Reserved. Filled with 0xFF Byte 4: Total number of packets. Byte 3: Total message size in bytes. Bytes 1-2: Fixed at 19 Byte 0: Specific Destination: 8 Length: 7 (default) Priority: 60416(0xEC00) PGN: Transport Protocol – Connection Management
38. Connection Abort Message PGN Bytes 5-7: Reserved. Filled with 0xFF. Bytes 2-4: Connection abort reason. Byte 1: Fixed at 255 Byte 0: Specific Destination: 8 Length: 7 (default) Priority: 60416(0xEC00) PGN: Transport Protocol – Connection Management
39.
40. J1939 Address Claimed PGN NAME field Byte 1-8: SA requested (254 for Cannot Claim) Source: 8 Length: 6 (default) Priority: 60928(0xEE00) PGN: