Jump to content

Template:FMX6 DM1 DM2: Difference between revisions

From Teltonika Telematics Wiki
Updating per GTPGTM-11768
Updating per GTPGTM-11768 - 3 new paragraphs added and existing ones updated or reworded
 
Line 5: Line 5:
With {{{model}}} you can read 2 types of DTC messages based on J1939 protocol:  
With {{{model}}} you can read 2 types of DTC messages based on J1939 protocol:  


*DM1 – Active codes
*DM1 – Communicates currently present faults
*DM2 – Previously Active codes
*DM2 – Reports stored faults


{{{model}}} is able to read DM codes and pass them to the server in IO element. When active DM1 or DM2 messages appear on CAN line it is broadcasted very often – {{{model}}} device saves the codes into the internal memory and does not flood the server with irrelevant information – only new DTC codes are sent to the server.
{{{model}}} is able to read DM codes and pass them to the server in IO element. When active DM1 messages are present on the CAN line, they are broadcast frequently. The {{{model}}} device stores these codes in its internal memory and transmits only newly detected DTC codes.
 
DM2 messages are not streamed, but instead, they must be requested.  


==Functionality Description==
==Functionality Description==
Line 72: Line 74:


'''39443030303330313A30313A30313B''' -> (after conversion from hex to ANSCII) '''9D000301:01:01''';
'''39443030303330313A30313A30313B''' -> (after conversion from hex to ANSCII) '''9D000301:01:01''';
==Functionality Block Diagram==
Graphic representation of '''DM1''' and '''DM2''' functionality:


[[File:DTC Functionality blok diagram.png]]
==DM1/DM2 Message Structure==
 
'''DM1''' is a J1939 diagnostic message used to broadcast active faults and warning lamp status. Its structure is split into a header (lamp status) followed by one or more diagnostic trouble codes. Unlike most J1939 messages, DM1 has a variable length: if there are 0–1 active DTCs, it fits in a single CAN frame, while 2 or more DTCs require a multi-frame message with additional DTC entries added.
 
[[File:DM1 and DM2 Message Structure.png]]
 
The first 2 bytes form the lamp status header, which is shared across all DTCs. Each lamp uses 2-bit values to indicate status (off/on), along with flash signals defining how the lamp blinks (slow or fast). These signals are interpreted collectively across ECUs, with a central controller typically deciding the final lamp behavior based on the most severe reported condition.
 
Each DTC contains four key components:
*'''SPN(''Suspect Parameter Number)''''' - Identifies the faulty subsystem.
*'''FMI(''Failure Mode Identifier)''''' - Describes the type of failure.
*'''CM(''SPN Conversion Method)''''' - Indicates the encoding method.
*'''OC(''Occurrence Count)''''' - Counts how often the fault has occurred.
 
These elements provide detailed, structured information about vehicle faults while supporting both standardized and proprietary diagnostics.


==DM1 Lamp Status and Flash Signals==
==DM1 Lamp Status and Flash Signals==
Line 110: Line 124:
The SPNs for proprietary codes typically occupy the high end of the 19-bit field, ranging from '''516,096 to 524,287'''. FMI values may be standard or custom, but the meaning of the SPN is defined by the manufacturer. Accurate interpretation requires access to OEM documentation, as these codes are not universally defined or interpretable.
The SPNs for proprietary codes typically occupy the high end of the 19-bit field, ranging from '''516,096 to 524,287'''. FMI values may be standard or custom, but the meaning of the SPN is defined by the manufacturer. Accurate interpretation requires access to OEM documentation, as these codes are not universally defined or interpretable.


==DM1/DM2 Message Structure==
==Functionality Block Diagram==
Graphic representation of '''DM1''' and '''DM2''' functionality:


'''DM1''' is a J1939 diagnostic message used to broadcast active faults and warning lamp status. Its structure is split into a header (lamp status) followed by one or more diagnostic trouble codes. Unlike most J1939 messages, DM1 has a variable length: if there are 0–1 active DTCs, it fits in a single CAN frame, while 2 or more DTCs require a multi-frame message with additional DTC entries added.
[[File:DTC Functionality blok diagram.png]]
 
[[File:DM1 and DM2 Message Structure.png]]
 
The first 2 bytes form the lamp status header, which is shared across all DTCs. Each lamp uses 2-bit values to indicate status (off/on), along with flash signals defining how the lamp blinks (slow or fast). These signals are interpreted collectively across ECUs, with a central controller typically deciding the final lamp behavior based on the most severe reported condition.
 
Each DTC contains four key components:
*'''SPN(''Suspect Parameter Number)''''' - Identifies the faulty subsystem.
*'''FMI(''Failure Mode Identifier)''''' - Describes the type of failure.
*'''CM(''SPN Conversion Method)''''' - Indicates the encoding method.
*'''OC(''Occurrence Count)''''' - Counts how often the fault has occurred.
 
These elements provide detailed, structured information about vehicle faults while supporting both standardized and proprietary diagnostics.

Latest revision as of 07:59, 1 April 2026