You are currently viewing J1939 Diagnostics – Part 2

J1939 Diagnostics – Part 2

In J1939  Diagnostics part 1, we have seen diagnostics connector details. We also covered diagnostics trouble code (DTC), failure mode indicator (FMI), DTC Conversion methods, and CAN message defined for DTC handling. In the following section, we are going to learn about diagnostics messages used in testing continuously monitored and non-continuously monitored components/systems.

Diagnostic Message 5 (DM5) Diagnostics Readiness 1

DM5 message uses PGN 65230 (0xFECE). This message shows the diagnostic readiness information of a system. This is not a periodic message and can be requested using request PGN 59904. The following data is sent in the DM5 message.

Active DTCs

This is a 1-byte field that gives the number of active DTCs present in a controller. The data range of this field is 0-240. If no DTC active in a specific controller, then this field shall be set to zero.

Previously active DTCs

This is a 1-byte field that gives the number of previously active DTCs in a controller. The data range of this field is 0-240. If no DTCs have been previously active, this field should be set to zero.

OBD Compliance

This is a 1-byte field that shows the OBD compliance level of a controller. The data range of this field is 0-240.

  • Value 0 – reserved
  • value 1 – OBD II (California Air Resource Board)
  • value 2 – OBD (Federal, EPA)
  • value 3 – OBD and OBD II
  • value 4 – OBD I
  • value 5 – Not intended to meet OBD II requirements
  • value 6 to 240 – reserved

Continuously Monitored Systems Support/Status

This is a 1-byte field that shows continuously monitored system support and status. The following bitmap is used for this field.

  • bit 8 – reserved
  • bit 7 – Comprehensive component monitoring status (0 means test complete or not supported, 1 means test not complete)
  • bit 6 – Fuel System monitoring status (0 means test complete or not supported, 1 means test not complete)
  • bit 5 – Misfire monitoring status (0 means test complete or not supported, 1 means test not complete)
  • bit 4 – reserved
  • bit 3 – Comprehensive component monitoring support (0 means test not supported, 1 means test supported)
  • bit 2 – Fuel system monitoring support (0 means test not supported, 1 means test supported)
  • bit 1 – Misfire monitoring support (0 means test not supported, 1 means test supported)

Non-continuously Monitored Systems Support

This is a 2-byte field that is a bitmap shows which non-continuously monitored systems are supported and which are not. 0 means test not supported and 1 means test supported by the controller. The bitmap is listed below.

  • Byte 5, bit 8 – EGR system monitoring Support
  • Byte 5, bit 7 – Oxygen sensor heater monitoring Support
  • Byte 5, bit 6 – Oxygen sensor monitoring Support
  • Byte 5, bit 5 – A/C system refrigerant monitoring Support
  • Byte 5, bit 4 – Secondary air system monitoring Support
  • Byte 5, bit 3 – Evaporative system monitoring Support
  • Byte 5, bit 2 – Heated catalyst monitoring Support
  • Byte 5, bit 1 – Catalyst monitoring Support
  • Byte 6, bits 8 to 2 – reserved
  • Byte 6, bit 1 – Cold start aid system monitoring Support

Non-continuously Monitored Systems Status

This is a 2-byte field. This field is a bitmap show which non-continuously monitored systems test are complete. 0 means test complete or not supported and 1 means test is not complete. The bitmap is listed below.

  • Byte 5, bit 8 – EGR system monitoring Support
  • Byte 5, bit 7 – Oxygen sensor heater monitoring Support
  • Byte 5, bit 6 – Oxygen sensor monitoring Support
  • Byte 5, bit 5 – A/C system refrigerant monitoring Support
  • Byte 5, bit 4 – Secondary air system monitoring Support
  • Byte 5, bit 3 – Evaporative system monitoring Support
  • Byte 5, bit 2 – Heated catalyst monitoring Support
  • Byte 5, bit 1 – Catalyst monitoring Support
  • Byte 6, bits 8 to 2 – reserved
  • Byte 6, bit 1 – Cold start aid system monitoring Support

Below table shows organization of data transmitted in DM5 message.

Default Priority6
PDU Format254
PDU Specific206
PGN65230
Byte 1Active DTCs
Byte 2Previously active DTCs
Byte 3OBD Compliance
Byte 4Continuously monitored system support/status
Byte 5 – 6Non-Continuously monitored systems support
Byte 7 – 8Non-Continuously monitored systems status

DM5 Message

Diagnostic Message 6 (DM6) Continuously Monitored Systems Test Results

DM6 message uses PGN 65231 (0xFECF). The intended use of this message is to assist technician and service personnel after a vehicle repair by reporting test results after a driving cycle. This message reports faults associated with test results for emission-related power train components. If test results indicate a fault, then MIL is illuminated, and DTC is set with PGN 65225. This message can be requested using request PGN 59904.

Default Priority6
PDU Format254
PDU Specific207
PGN65231
Byte 1 – bits 8-7Malfunction Indicator Lamp status
Byte 1 – bits 6-5Red Stop Lamp status
Byte 1 – bits 4-3Amber Warning Lamp status
Byte 1 – bits 2-1Protect Lamp status
Byte 2 – bits 8-7Reserved
Byte 2 -bits 6-5Reserved
Byte 2 -bits 4-3Reserved
Byte 2 -bits 2-1Reserved
Byte 3 – bits 8-1SPN
Byte 4 – bits 8-1SPN
Byte 5 – bits 8-6SPN
Byte 5 – bits 5-1FMI
Byte 6 – bit 8SPN Conversion Method (CM)
Byte 6 – bit 7-1Occurrence Count (OC)

DM6 Message

This message has same format as it is used to report active DTCs.

When more than one diagnostics trouble code is active, the transport protocol SAE J1939-21 has to be used to send information that has more than 8 data bytes.

Diagnostic Message 7 (DM7) Command Non-Continuously Monitored Test

DM7 message uses PGN 58112 (0x E300). This message is used to command on board diagnostic monitoring tests of specific components that are not monitored continuously. DM7 is used to invoke the manufacturer defined test identifiers. If the DM7 message is not supported or any specific test identifier is not supported, then the controller must reply with NACK.

Following fields are required in the DM7 message.

Test Identifier

This 1-byte field designates the test to be run. These test identifiers are manufacturer defined identifiers have ranged from 1 to 64. Data range from 65 to 250 and 0 are reserved.

Default Priority6
PDU Format227
PDU SpecificDestination Specific
PGN58112
Byte 1Test Identifier
   Byte 2 – 8Reserved

DM7 Message

Diagnostic Message 8 (DM8) Test Results for Non-Continuously Monitored Systems

DM8 message uses PGN 65232 (0xFED0). This message is used to report the test results of the non-continuously monitored test invoked by the DM7 message. DM7 message used to invoke one of manufacturer defined test identifiers. The test results are sent out by the DM8 message.

DM8 message contains following fields.

Test Type/Component Identifier

This is a 1-byte field used to identify a non-continuously monitored component identifier that was tested. These test type identifiers are manufacturer defined identifiers have ranged from 1 to 64. Data range from 65 to 250 and 0 are reserved.

Test Value

The test value is 2-byte data measured during the test. The test value is collected during the test. If the test does not have minimum and maximum value limits, then this value must be set to all zeros. The range of test value is from 0 to 64255.

Test Limit Maximum

It is a 2-byte threshold value. The test value must be below this value to pass the test.

Test Limit Minimum

It is a 2-byte threshold value. The test value must be above this value to pass the test.

Default Priority6
PDU Format258
PDU Specific208
PGN65232
Byte 1Test Identifier
   Byte 2Test Type/ Test identifier
   Byte 3 – 4Test Value
   Byte 5 – 6Test Limit Maximum
   Byte 7 – 8Test Limit Minimum

DM8 Message

If there is more than one test vale to report then the results will be communicated using Transport Protocol defined in j1939-21.

Diagnostic Message 10 (DM10) Non-continuously Monitored System Test Identifiers Support

DM10 message uses PGN 65234 (0xFED2). This message reports a list of non-continuously monitored systems tests supported by the controller. Test identifiers are defined by the component manufacturers. PGN 58112 (DM7) is used to invoke one of the manufacturer-defined test identifiers. Test results are reported by the DM8 message. The service tool uses DM10 message to determine what tests are supported by the controller. This message is requested by using request PGN 59904. If this message is not supported by the controller then the controller shall send NACK.

Following field is included in DM10 message.

Test Identifier Supported

This field indicates a test identifier supported by the controller. Each bit represents one test, so a maximum of 64 tests can be accommodated without using the transport protocol. The data length of this field is 8 bytes.

Takeaway

J1939/73 specifications define application-layer diagnostics and calibration. Above mentioned standard diagnostics messages provide a capability that allows service tool to put the controllers into specific test modes in order to diagnose the system.

Mohan Vadnere

Mohan is an embedded system engineer by profession. He started his career designing and writing code for consumer electronics, industrial automation and automotive systems. Mohan is working in automotive electronics since last 19 years. He loves working at the hardware software interfaces.Mohan has Master of Science in Instrumentation from University of Pune and Masters of Technology in embedded systems from Birla Institute of Technology and Science, Pilani, India.

Leave a Reply