Jump to content

Test-AC: Difference between revisions

From Teltonika Telematics Wiki
No edit summary
No edit summary
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Introduction==
=External RTK coordinate via CAN/RS232 interface with FMC650=
==Overview==
Activating '''RTK (Real-Time Kinematic)''' coordinate acquisition enables the FMC650 device to process RTK data from CAN.
When configured, the RTK module can provide high-precision coordinates using: 
*RTK receiver via RS232 
*RTK data via CAN 
*Internal GNSS receiver (GNS) as fallback 
The device automatically chooses the best available source based on configuration and data quality. 


With a professional device lineup, telltale information (dashboard indicators) from heavy-duty vehicles can be read remotely to identify a variety of issues. New feature of Diagnostic Trouble Code (DTC) reading will help to narrow down the specific faults happening in vehicles.  
The following specifications indicate the minimum firmware and configurator version requirement to use RTK coordinate acquisition via CAN on FMC650.


With {{{model}}} you can read 2 types of DTC messages based on J1939 protocol:  
*<b>Platform:</b> FM65 
*<b>Device:</b> FMC650 
*<b>Firmware version:</b> 03.01.03.Rev.228 
*<b>Configurator version:</b> B.FMX6_R.192 


*DM1 – Communicates currently present faults
==Method of Operation==
*DM2 – Reports stored faults
When the RTK option is enabled, the device always tries to use RTK sources first and falls back to internal GNSS if needed. 


{{{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.
'''Source priority'''
#'''RS232 (primary RTK source)'''
#:*The device checks whether any COM port (COM1 or COM2) is configured in RTK mode. 
#:*If at least one COM port is configured for RTK and valid data is present, coordinates are taken from RS232. 
#'''CAN RTK (secondary RTK source)'''
#:*If RS232 RTK data is not available or is invalid, the device checks the CAN RTK status. 
#:*If valid CAN RTK data is available, coordinates are taken from CAN.
#:*A timing check is applied if the time difference between received CAN RTK frames is greater than 2 seconds. The device automatically switches to the internal GNSS receiver (GNS) to keep coordinates up to date.
#'''Internal GNSS (GNS) Fallback'''
#:*If neither RS232 nor CAN provide valid RTK data, the device uses the internal GNSS receiver (GNS) for coordinates. 
#'''RTK Disabled'''
#:*If the RTK option is disabled, coordinates are always taken from the internal GNSS receiver.  


==Functionality Description==
'''RTK data from CAN'''


This functionality is available from Firmware version '''03.01.02.rev.06''' or higher.
When CAN is used as the RTK source, the device reads: 
*'''Latitude''' 
*'''Longitude''' 
*'''Altitude''' 
*'''Ground speed''' 
*'''Course'''


For proper functionality, the device requires ignition to be active. Source of ignition and voltage level can be selected from '''System''' tab.
These values are taken from standard CAN messages designed for GNSS/RTK data. Exact PGNs and signal layouts depend on whether external RTK/ECD/ISOBUS system is being used.


Ignition has to be active for at least 14 sec to start generating the DTC list. If ignition is turned off, the device will clean all DM1 and DM2 codes and functionality will not be working.
==Configurator Setup== 
This section describes how to enable RTK as a location source and configure RS232 and CAN usage through the Configurator.


[[File:DTC_Ignition.png]]
'''Enabling RTK as a location source'''
[[File:Source Location from RTK.png|right]]
#Open the Configurator and connect to the FMC650 device.
#Navigate to the System tab. 
#Find the option “Source Location from RTK” in the '''System Settings''' section.
#Set this option to '''Enable'''.


After the device is connected to the Configurator, there will be '''DM1 / DM2''' tab made available. There is a configurable DM1 / DM2 Data source parameter. This parameter selects the CAN source based on which device will parse DM data from. Based on selected data source, device will also call a request for DTCs.
When enabled, the device will use RTK data from RS232/CAN if available, with automatic fallback to internal GNSS.


'''Note:''' The functionality is completely separated from the FMS source.
For advanced configuration (e.g. via commands):


[[File:DTC Data source selection.png]]
Source Location from RTK <br>
'''Parameter ID:''' 55000 <br>
'''Values:''' 
*'''0''' – Disabled (device uses only internal GNSS) 
*'''1''' – Enabled (device uses RTK sources if available)


*NONE – Device will not use any CAN as data source
Configuring RS232 for RTK Use 
*CAN1 – Device will use CAN1 as data source
If you plan to use an external RTK receiver via RS232: 
*CAN2 – Device will use CAN2 as data source
#Open the RS232/RS485 tab in the Configurator. 
*BOTH – Device will use CAN1 and CAN2 as data source
#For COM1 or COM2 (or both), set the mode to RTK.


Bellow '''Data source''' parameters there is a list of configurable IOs
Relevant parameter IDs: 
*'''COM1 mode''' – Parameter ID 151 
*'''COM2 mode''' – Parameter ID 173 
*'''RTK mode''' – Value 60 
If at least one COM port is configured to RTK mode and valid RTK data is received, the device will use RS232 as the main coordinate source. 


[[File:DTC Configurable IOs.png]]
[[File:RS232 settings - RTK.png|right]]


„DTC DM1“ and “DTC DM2“ shows the last DTC that has been detected. „Active DM1 List“ and „Active DM2 List“ provides a list of all active DTCs for a given source.
'''Using CAN as the RTK Source'''
CAN-based RTK is used in the following cases: 
*None of the RS232 COM ports are configured in RTK mode, or 
*RS232 RTK data is not valid or not present.
When those conditions are met and valid CAN RTK data is received: 
*The device uses CAN as the coordinate source.
*The device continuously monitors the time between RTK messages. 
*If CAN RTK messages are delayed by more than 2 seconds, the device automatically reverts to internal GNSS to avoid stale coordinates.
<br>
RTK data taken from CAN includes: 
*'''Latitude 
*'''Longitude 
*'''Altitude 
*'''Ground speed 
*'''Course 


Example of generating DM1 / DM2 list: To register DM1 code, it is required to send a command using (pgn 0xFEFA). Device will first check if such DTC code exist in the system (MCUID and CAN Source has to be unique for each DTC). Otherwise, DTC will be rejected.
Configuration of RTK over CAN (e.g. PGN, source address, bitrate) depends on your external CAN/ISOBUS/RTK infrastructure and should follow that system’sdocumentation.


[[File:DTC Configurator outputs.png]]
'''ISOBUS Data Visibility''' 
When used in ISOBUS or similar environments: 
[[File:ISOBUS - RTK.png]]
*RTK-related data from CAN is visible in the ISOBUS section of the Configurator. 


<span style="color:green;">9D000301:<span style="color:blue;">01:<span style="color:red;">01
*This allows you to verify that RTK data is being received and interpreted correctly by the device. 
*<span style="color:green;">9D000301</span> – DTC in hexadecimal format
*<span style="color:blue;">01</span> – MCU source that reported the DTC
*<span style="color:red;">01</span> – Device CAN source used (00 - CAN1, 01 - CAN2)


<span style="color:green;">9D000302:<span style="color:blue;">02:<span style="color:red;">01
==Active Location Source Monitoring==
*<span style="color:green;">9D000302</span> – DTC in hexadecimal format
To understand which source is currently being used for position data, you can check the '''Location Source''' parameter. 
*<span style="color:blue;">02</span> – MCU source that reported the DTC
*<span style="color:red;">01</span> – Device CAN source used (00 - CAN1, 01 - CAN2)


Based on configured „Priority“, „Event Only“ and „Operand“ device will add this parameter to record.
'''Location Source Values'''


[[File:DTC Terminal logs.png]]
In the Configurator: 
#Navigate to the '''I/O''' tab (or equivalent I/O monitoring view).
#Find the parameter '''Location Source'''.
[[File:Location source.png]]


To remove one of the DTC from DM1 list, DM2 code (pgn 0xFEFB) is required. Device will check if the sent DTC code exists in the system (MCUID and CAN Source has to be unique for each DTC). If sent DTC does not exist in the system, it will be rejected.
Possible values:


Based on previous example, sending DTC 9D000301 with MCUID 01 on CAN2, device remove this DTC from the system, as the result, this DTC is removed from „Active DM1 List“ and added to the „Active DM2 List“.
*'''0 – GNS'''
Location is taken from the internal GNSS receiver. This is the default when RTK is disabled or when no valid RTK data is available.


[[File:DTC Configurator outputs 2.png]]
*'''1 – RS232'''
Location is taken from the RTK receiver connected via RS232.


Log example:
*'''2 – CAN'''
Location is taken from RTK data arriving over CAN.


[[File:DTC Terminal logs 2.png]]
*'''3 – Err'''
Location is taken from the internal GNSS receiver, but this status indicates that RTK data from RS232 and/or CAN is invalid or unavailable. This helps distinguish normal GNSS use from “RTK expected but not available” situations.


That DTCs will be added to record and would be accessible on server. Data on server need to be converted from HEX to ASCII.
This parameter is used for diagnostics and for confirming that your device is using the intended RTK source.


[[File:DTC Outputs from server.png]]
==NMEA Fix Type Monitoring (RS232 RTK Only)==
When RTK coordinates are received via RS232, you can also monitor the NMEA Fix Type to understand the quality of the GNSS/RTK fix.


'''39443030303330323A30323A30313B''' -> (after conversion from hex to ANSCII) '''9D000302:02:01''';
'''Configurator Steps'''
#Open the Configurator. 
#Go to the I/O tab (or relevant section)
#Locate the parameter '''NMEA Fix Type'''.


'''39443030303330313A30313A30313B''' -> (after conversion from hex to ANSCII) '''9D000301:01:01''';
[[File:NMEA Fix Type.png]]


==Functionality Block Diagram==
'''Note:''' This parameter is '''only available when coordinate data is received via RS232 RTK'''
Graphic representation of '''DM1''' and '''DM2''' functionality:


[[File:DTC Functionality blok diagram.png]]
'''NMEA Fix Type Values'''


*'''NotValid''' - No valid GNSS fix is available.<br>


==DM1 Lamp Status and Flash Signals==
*'''GPS''' - Standard GPS fix using satellites only.<br>


The '''DM1 (Diagnostic Message 1)''' in the '''J1939''' protocol reports active '''Diagnostic Trouble Codes (DTCs)''' and controls vehicle warning indicators. It defines the behavior of the '''Malfunction Indicator Lamp (MIL)''' and other warning lamps, which can be off, on solid, or flashing, depending on the severity and priority of detected faults. Flashing typically signals a more urgent or severe condition, while a solid light indicates an active but less critical issue.
*'''DGNSS''' - Differential GNSS fix (e.g. DGNSS, SBAS, etc.).<br>


The first byte represents the status of four indicator lamps:
*'''NotApplicable''' - Fix quality is not applicable in the current context. <br>


*'''PL (Protect Lamp)''' - DTC's indicate non-electronic subsystem issue.
*'''RTK_Fixed''' - RTK Fixed; high-precision RTK fix (including xFill if supported by the receiver).<br>
*'''AWL(Amber Warning Light)''' - DTC's indicate a non-critical issue that does not warrant stopping the vehicle.


*'''RSL(Red Stop Lamp)''' - DTC's indicate a critical issue that warrants stopping the vehicle immediately.  
*'''RTK_Float''' - RTK Float; typically, a converging RTK solution or similar intermediate status.<br>


*'''MIL(Malfunction Indicator Lamp)''' - At least one DTC indicates emissions related issue.
*'''INS_DR''' - INS Dead Reckoning; position estimated by inertial sensors and previous GNSS/RTK data.<br> 


Each lamp is encoded using 2 bits, allowing four possible states: '''off, on, slow flash, and fast flash'''. This compact encoding means all lamp states are conveyed within a single byte, with each pair of bits mapped to a specific lamp in a fixed order. These lamp states directly inform the operator about the severity and urgency of active faults.
This information is beneficial for:
*Verifying that the external RTK receiver is working correctly.
*Assessing overall RTK performance and stability.
*Logging and diagnostics in advanced deployments.


DM1 encodes warning lamp information in its first 2 bytes, combining both lamp status  and flash behavior. Each lamp is represented by two 2-bit fields—one in byte 1 (status) and one in byte 2 (flash).
==Parameter IDs and AVL IDs==


To decode, split each byte into 2-bit segments and map each pair to its corresponding lamp. The final behavior is determined by combining status and flash (e.g., ON + fast flash = rapidly blinking warning).
Below is a list of AVL IDs and Configurator IDs assigned to a specific item.


==Global and Manufacturer SPN Codes==
<table class="nd-othertables_2" style="width:50%; border-collapse: collapse;">


===Global-Level SPN codes===
<tr>
<th style="width:8%; vertical-align: middle; text-align: left;">Name</th>
<th style="width:15%; vertical-align: middle; text-align: center;">Parameter ID</th>
<th style="width:5%; vertical-align: middle; text-align: center;">AVL ID</th>
</tr>


Standard codes are defined by the SAE J1939 standards and are recognized across all compliant vehicles and equipment. The SPNs for these codes fall within the range of '''1 to 24,324''' representing widely used parameters such as engine speed, coolant temperature, or oil pressure. FMI values are standardized, describing specific failure patterns such as high voltage, circuit open, or out-of-range conditions.
<tr>
<td style="vertical-align: middle; text-align: center;">RTK Longitude</td>
<td style="vertical-align: middle; text-align: center;">151790</td>
<td style="vertical-align: middle; text-align: center;">14145</td>
</tr>


Because they are standardized, these codes are universally interpretable by any compliant diagnostic tool without requiring manufacturer-specific references.
<tr>
<td style="vertical-align: middle; text-align: center;">RTK Latitude</td>
<td style="vertical-align: middle; text-align: center;">151800</td>
<td style="vertical-align: middle; text-align: center;">14146</td>
</tr>


===Manufacturer-Level SPN codes===
<tr>
<td style="vertical-align: middle; text-align: center;">RTK Altitude</td>
<td style="vertical-align: middle; text-align: center;">151810</td>
<td style="vertical-align: middle; text-align: center;">14147</td>
</tr>


Manufacturer-level or proprietary codes are reserved for OEM-specific faults that are not defined in the J1939 standard. These allow manufacturers to monitor unique components, systems, or operational conditions that are specific to their equipment.
<tr>
<td style="vertical-align: middle; text-align: center;">RTK Speed</td>
<td style="vertical-align: middle; text-align: center;">151820</td>
<td style="vertical-align: middle; text-align: center;">14148</td>
</tr>


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.
<tr>
<td style="vertical-align: middle; text-align: center;">RTK Angle</td>
<td style="vertical-align: middle; text-align: center;">151830</td>
<td style="vertical-align: middle; text-align: center;">14149</td>
</tr>


==DM1/DM2 Message Structure==
<tr>
<td style="vertical-align: middle; text-align: center;">Source Location from RTK</td>
<td style="vertical-align: middle; text-align: center;">55000</td>
<td style="vertical-align: middle; text-align: center;">-</td>
</tr>


'''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.
<tr>
<td style="vertical-align: middle; text-align: center;">Source Location from RTK</td>
<td style="vertical-align: middle; text-align: center;">55000</td>
<td style="vertical-align: middle; text-align: center;">-</td>
</tr>


[[File:DM1 and DM2 Message Structure.png]]
<tr>
<td style="vertical-align: middle; text-align: center;">Location Source</td>
<td style="vertical-align: middle; text-align: center;">53050</td>
<td style="vertical-align: middle; text-align: center;">10919</td>
</tr>


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.
<tr>
 
<td style="vertical-align: middle; text-align: center;">NMEA Fix Type</td>
Each DTC contains four key components:  
<td style="vertical-align: middle; text-align: center;">53060</td>
*'''SPN(''Suspect Parameter Number)''''' - Identifies the faulty subsystem.
<td style="vertical-align: middle; text-align: center;">10920</td>
*'''FMI(''Failure Mode Identifier)''''' - Describes the type of failure.
</tr>
*'''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 14:46, 14 April 2026

External RTK coordinate via CAN/RS232 interface with FMC650

Overview

Activating RTK (Real-Time Kinematic) coordinate acquisition enables the FMC650 device to process RTK data from CAN. When configured, the RTK module can provide high-precision coordinates using:

  • RTK receiver via RS232
  • RTK data via CAN
  • Internal GNSS receiver (GNS) as fallback

The device automatically chooses the best available source based on configuration and data quality.

The following specifications indicate the minimum firmware and configurator version requirement to use RTK coordinate acquisition via CAN on FMC650.

  • Platform: FM65
  • Device: FMC650
  • Firmware version: 03.01.03.Rev.228
  • Configurator version: B.FMX6_R.192

Method of Operation

When the RTK option is enabled, the device always tries to use RTK sources first and falls back to internal GNSS if needed.

Source priority

  1. RS232 (primary RTK source)
    • The device checks whether any COM port (COM1 or COM2) is configured in RTK mode.
    • If at least one COM port is configured for RTK and valid data is present, coordinates are taken from RS232.
  2. CAN RTK (secondary RTK source)
    • If RS232 RTK data is not available or is invalid, the device checks the CAN RTK status.
    • If valid CAN RTK data is available, coordinates are taken from CAN.
    • A timing check is applied if the time difference between received CAN RTK frames is greater than 2 seconds. The device automatically switches to the internal GNSS receiver (GNS) to keep coordinates up to date.
  3. Internal GNSS (GNS) Fallback
    • If neither RS232 nor CAN provide valid RTK data, the device uses the internal GNSS receiver (GNS) for coordinates.
  4. RTK Disabled
    • If the RTK option is disabled, coordinates are always taken from the internal GNSS receiver.

RTK data from CAN

When CAN is used as the RTK source, the device reads:

  • Latitude
  • Longitude
  • Altitude
  • Ground speed
  • Course

These values are taken from standard CAN messages designed for GNSS/RTK data. Exact PGNs and signal layouts depend on whether external RTK/ECD/ISOBUS system is being used.

Configurator Setup

This section describes how to enable RTK as a location source and configure RS232 and CAN usage through the Configurator.

Enabling RTK as a location source

  1. Open the Configurator and connect to the FMC650 device.
  2. Navigate to the System tab.
  3. Find the option “Source Location from RTK” in the System Settings section.
  4. Set this option to Enable.

When enabled, the device will use RTK data from RS232/CAN if available, with automatic fallback to internal GNSS.

For advanced configuration (e.g. via commands):

Source Location from RTK
Parameter ID: 55000
Values:

  • 0 – Disabled (device uses only internal GNSS)
  • 1 – Enabled (device uses RTK sources if available)

Configuring RS232 for RTK Use If you plan to use an external RTK receiver via RS232:

  1. Open the RS232/RS485 tab in the Configurator.
  2. For COM1 or COM2 (or both), set the mode to RTK.

Relevant parameter IDs:

  • COM1 mode – Parameter ID 151
  • COM2 mode – Parameter ID 173
  • RTK mode – Value 60

If at least one COM port is configured to RTK mode and valid RTK data is received, the device will use RS232 as the main coordinate source.

Using CAN as the RTK Source CAN-based RTK is used in the following cases:

  • None of the RS232 COM ports are configured in RTK mode, or
  • RS232 RTK data is not valid or not present.

When those conditions are met and valid CAN RTK data is received:

  • The device uses CAN as the coordinate source.
  • The device continuously monitors the time between RTK messages.
  • If CAN RTK messages are delayed by more than 2 seconds, the device automatically reverts to internal GNSS to avoid stale coordinates.


RTK data taken from CAN includes:

  • Latitude
  • Longitude
  • Altitude
  • Ground speed
  • Course

Configuration of RTK over CAN (e.g. PGN, source address, bitrate) depends on your external CAN/ISOBUS/RTK infrastructure and should follow that system’sdocumentation.

ISOBUS Data Visibility When used in ISOBUS or similar environments:

  • RTK-related data from CAN is visible in the ISOBUS section of the Configurator.
  • This allows you to verify that RTK data is being received and interpreted correctly by the device.

Active Location Source Monitoring

To understand which source is currently being used for position data, you can check the Location Source parameter.

Location Source Values

In the Configurator:

  1. Navigate to the I/O tab (or equivalent I/O monitoring view).
  2. Find the parameter Location Source.

Possible values:

  • 0 – GNS

Location is taken from the internal GNSS receiver. This is the default when RTK is disabled or when no valid RTK data is available.

  • 1 – RS232

Location is taken from the RTK receiver connected via RS232.

  • 2 – CAN

Location is taken from RTK data arriving over CAN.

  • 3 – Err

Location is taken from the internal GNSS receiver, but this status indicates that RTK data from RS232 and/or CAN is invalid or unavailable. This helps distinguish normal GNSS use from “RTK expected but not available” situations.

This parameter is used for diagnostics and for confirming that your device is using the intended RTK source.

NMEA Fix Type Monitoring (RS232 RTK Only)

When RTK coordinates are received via RS232, you can also monitor the NMEA Fix Type to understand the quality of the GNSS/RTK fix.

Configurator Steps

  1. Open the Configurator.
  2. Go to the I/O tab (or relevant section).
  3. Locate the parameter NMEA Fix Type.

Note: This parameter is only available when coordinate data is received via RS232 RTK.

NMEA Fix Type Values

  • NotValid - No valid GNSS fix is available.
  • GPS - Standard GPS fix using satellites only.
  • DGNSS - Differential GNSS fix (e.g. DGNSS, SBAS, etc.).
  • NotApplicable - Fix quality is not applicable in the current context.
  • RTK_Fixed - RTK Fixed; high-precision RTK fix (including xFill if supported by the receiver).
  • RTK_Float - RTK Float; typically, a converging RTK solution or similar intermediate status.
  • INS_DR - INS Dead Reckoning; position estimated by inertial sensors and previous GNSS/RTK data.

This information is beneficial for:

  • Verifying that the external RTK receiver is working correctly.
  • Assessing overall RTK performance and stability.
  • Logging and diagnostics in advanced deployments.

Parameter IDs and AVL IDs

Below is a list of AVL IDs and Configurator IDs assigned to a specific item.

Name Parameter ID AVL ID
RTK Longitude 151790 14145
RTK Latitude 151800 14146
RTK Altitude 151810 14147
RTK Speed 151820 14148
RTK Angle 151830 14149
Source Location from RTK 55000 -
Source Location from RTK 55000 -
Location Source 53050 10919
NMEA Fix Type 53060 10920