DMI Connected to an Intermediate Processor
NovAtel’s OEM7 receiver cards do not handle DMI encoded signals natively. If using a receiver card, an intermediate processor is required to convert DMI pulses into NovAtel commands (RAWDMI).
Figure: DMI through Intermediate Processor Setup shows an overview of a DMI connected to the receiver through an intermediate processor.
DMI Data Collected using an Intermediate Processor
Typical DMI hardware generates wheel ticks constantly as the wheel rotates. When using an intermediate processor, the wheel ticks are counted by the processor. The processor either accumulates the wheel ticks or uses the DMI data to calculate the current velocity. The count or velocity data is sent to the OEM7 receiver though a serial communication line using the RAWDMI command. The RAWDMI command should be periodic at 1 Hz or faster, and ideally timed using the 1PPS output (or an appropriately configured EVENT_OUT output) from the receiver to ensure time synchronization of DMI measurements for optimal performance. A constant period is required for good performance.
DMI Update Logic
DMI data is available through the RAWDMI log. The RAWDMI log can be used for applying DMI updates in post-processing.
The SPAN filter uses sequential RAWDMI logs to compute a distance traveled between update intervals (1 Hz). This information is used to constrain free inertial drift during times of poor GNSS visibility. The filter also contains a state for modeling the circumference of the wheel as it may change due to hardware changes or environmental conditions.
Information about how the DMI updates are being used is available in the INSUPDATESTATUS log.
Connect the DMI to an Intermediate Processor
To connect a DMI:
-
Install the SPAN system components using the instructions in OEM7 Receiver Card Installation.
-
Connect the DMI to the intermediate processor. Refer to the DMI and processor user documents for more information.
-
Connect the processor to one of the communication ports on the OEM7 receiver, like a serial port. Refer to Serial Ports for information about the receiver serial ports.
- Connect the 1PPS or EVENT_OUT signal from the OEM7 receiver to an input on the intermediate processor if required. Refer to EVENT_IN, EVENT_OUT and PPS Signal Protection for information about connecting the 1PPS signal.
-
Connect an external power supply to the DMI.
The power required for the DMI depends on the DMI used. Refer to the DMI user documents for more information.
Configure the DMI
When using an intermediate processor, DMI data can be sent to the receiver as either accumulated wheel ticks or current velocity.
Send Cumulative Wheel Ticks
The accumulated wheel ticks are sent from the intermediate processor to the OEM7 receiver using the RAWDMI command. This command must be sent at a constant rate (e.g. 1 Hz) and contain the cumulative number of wheel ticks accumulated since initialization. The Long value is allowed to roll over both directions (counting up and counting down).. Sending of the RAWDMI command should be timed to the 1PPS signal from the receiver.
To configure the SPAN system to accept wheel ticks from an intermediate processor:
-
Send the following command to enable the DMI and set the expected input to wheel ticks.
DMICONFIG DMI1 ENABLE EXT_COUNT
-
Configure the intermediate processor to send a RAWDMI command to the OEM7 receiver at a constant rate. This command provides the number of wheel ticks accumulated since the last command.
In the following example, 1000 wheel ticks have been accumulated on DMI1 since initialization. In the subsequent two commands, 100 and 120 wheel ticks have been additionally accumulated, respectively.
RAWDMI 1000 0 0 0 1 sent at time t
RAWDMI 1100 0 0 0 1 sent at time t + 1s
RAWDMI 1220 0 0 0 1 sent at time t + 2s
-
Send the following commands to log the DMI data available in the receiver.
LOG DMICONFIGA ONCHANGED
LOG RAWDMIA ONNEW
LOG INSUPDATESTATUSA ONNEW
-
Check the RAWDMI log to ensure the DMI is producing data.
-
Check the INSUPDATESTATUS log to ensure the DMI is being used in the SPAN solution.
If there is no DMI data being produced or the DMI status is not USED, refer to DMI Troubleshooting.
Send Current Velocity
To send the current velocity to the OEM7 receiver, the intermediate processor must convert the DMI wheel ticks into a velocity. The velocity is then sent to the OEM7 receiver using the RAWDMI command. This command must be sent at a constant rate (e.g. 1Hz) and contain the current velocity for that update period. It is noted that the velocity mode is equivalent to sending the number of ticks counted only since the last command was sent, rather than a cumulative total as in the EXT_COUNT mode. Sending of the RAWDMI command should be timed to the 1PPS signal from the receiver.
To configure the SPAN system to accept wheel ticks from an intermediate processor:
-
Send the following command to enable a DMI on the UIC wheel sensor inputs.
DMICONFIG DMI1 ENABLE EXT_VELOCITY
-
Configure the intermediate processor to send a RAWDMI command to the OEM7 receiver once per update period. This command provides the current velocity for this update period.
Note, the RAWDMI value is a 32-bit signed integer representing the current velocity and should be scaled to the maximum precision per least significant bit (LSB). For example, if a velocity of 10 m/s is observed, and the precision of the measurement is to 0.01 m/s, then the measurement should be scaled by 100 (1/0.01) and the result would be an integer of 1000. The command for this example is:
RAWDMI 1000 0 0 0 1 sent at time t
In the same example, if a velocity of 10.01 m/s is observed in the next period, the resulting integer would be 1001.
RAWDMI 1001 0 0 0 1 sent at time t + 1s
-
Send the following commands to log the DMI data.
LOG DMICONFIGA ONCHANGED
LOG RAWDMIA ONNEW
LOG INSUPDATESTATUSA ONNEW
-
Check the RAWDMI log to ensure the DMI is producing data.
-
Check the INSUPDATESTATUS log to ensure the DMI is being used in the SPAN solution.
If there is no DMI data being produced or the DMI status is not USED, refer to DMI Troubleshooting.