LORD MicroStrain 3DM-CV5-10 Protocol Manual

Inertial measurement unit data communications protocol manual
Table of Contents

Advertisement

Quick Links

LORD Data Communications Protocol Manual
®
3DM
-CV5-10
Inertial Measurement Unit

Advertisement

Table of Contents
loading

Summary of Contents for LORD MicroStrain 3DM-CV5-10

  • Page 1 LORD Data Communications Protocol Manual ® -CV5-10 Inertial Measurement Unit...
  • Page 2 ® MicroStrain Sensing Systems 459 Hurricane Lane Suite 102 Williston, VT 05495 United States of America Phone: 802-862-6629 www.microstrain.com sensing_support@LORD.com sensing_sales@LORD.com Copyright © 2018 LORD Corporation ® ® ® ® ™ ® ® ® ® ® , 3DM-DH , 3DM-DH3...
  • Page 3: Table Of Contents

    ® -CV5-10 DCP Manual Table of Contents API Introduction Basic Programming 2.1 MIP Packet Overview 2.2 Command Overview 2.2.1 Example “Ping” Command Packet 2.2.2 Example “Ping” Reply Packet 2.3 Data Overview 2.3.1 Example Data Packet: 2.4 Example Setup Sequence 2.4.1 Continuous Data Example Command Sequence 2.4.2 Polling Data Example Sequence 2.5 Parsing Incoming Packets 2.6 Multiple Rate Data...
  • Page 4 ® -CV5-10 DCP Manual 4.1.3 Get Device Information (0x01, 0x03) 4.1.4 Get Device Descriptor Sets (0x01, 0x04) 4.1.5 Device Built-In Test (0x01, 0x05) 4.1.6 Resume (0x01, 0x06) 4.1.7 GPS Time Update (0x01, 0x72) 4.1.8 Device Reset (0x01, 0x7E) 4.2 3DM Commands 4.2.1 Poll IMU Data (0x0C, 0x01) 4.2.2 Get IMU Data Base Rate (0x0C, 0x06) 4.2.3 IMU Message Format (0x0C, 0x08)
  • Page 5 ® -CV5-10 DCP Manual MIP Packet Reference 6.1 Structure 6.2 Payload Length Range 6.3 MIP Checksum Range 6.4 16-bit Fletcher Checksum Algorithm (C Language) Advanced Programming 7.1 Internal Diagnostic Functions 7.1.1 3DM-CV5-10 Internal Diagnostic Commands 7.2 Handling High Rate Data 7.2.1 Runaway Latency 7.2.2 Dropped Packets 7.3 Creating Fixed Data Packet Format...
  • Page 6: Api Introduction

    “Base” commands (a set that is common across many types of devices) and a set of unified “3DM” (3D Motion) commands that are specific to the LORD Sensing inertial product line. The data set represent s the one type of data that the 3DM- CV5- 10 is capable of producing: “IMU” (Inertial Measurement Unit) data.
  • Page 7: Basic Programming

    3DM- CV5- 10 either through a COM utility or as a template for software development. 2.1 MIP Packet Overview This is an overview of the 3DM-CV5-10 packet structure. The packet structure used is the LORD “MIP” packet. A reference to the general packet structure is presented in the MIP Packet Reference section.
  • Page 8 ® -CV5-10 DCP Manual The packet payload section contains one or more fields. Fields have a length byte, descriptor byte, and data. The diagram below shows a packet payload with a single field.
  • Page 9: Command Overview

    ® -CV5-10 DCP Manual Below is an example of a packet payload with two fields (gyro vector and mag vector). Note the payload length byte of 0x1C which is the sum of the two field length bytes 0x0E + 0x0E: Header Packet Payload (2 Fields) Checksum...
  • Page 10: Example "Ping" Reply Packet

    ® -CV5-10 DCP Manual 2.2.2 Example “Ping” Reply Packet The “Ping” command will generate a reply packet from the device. The reply packet will contain an ACK/NACK field. The ACK/NACK field contains an “echo” of the command byte plus an error code. An error code of 0 is an “ACK”...
  • Page 11: Example Data Packet

    ® -CV5-10 DCP Manual 2.3.1 Example Data Packet: Below is an example of a MIP data packet which has one field that contains the scaled accelerometer vector. Header Packet Payload Checksum Field Field Data: SYNC1 SYNC2 Descriptor Payload Field Byte Descriptor Accel vector (12 bytes, “u...
  • Page 12: Continuous Data Example Command Sequence

    ® -CV5-10 DCP Manual 2.4.1 Continuous Data Example Command Sequence Most applications will operate with the 3DM-CV5-10 sending a continuous data stream. To reduce the amount of streaming data, if present during the configuration, the device is placed into the idle state while performing the device initialization;...
  • Page 13 ® -CV5-10 DCP Manual MIP Packet Header Command/Reply Fields Checksum SYNC1 SYNC2 Descriptor Payload Field Cmd. Field Data “u “e” Set byte Length Length Descriptor Function: 0x01 Desc. count: 0x03 Command: GPS TS Desc.: 0x12 New IMU Rate Dec: 0x000A 0x75 0x65 0x0C...
  • Page 14 ® -CV5-10 DCP Manual node will resume the state it was in when the "Idle" command was sent. If the "Resume" command is sent after enabling the IMU Data Stream, the node will continue streaming. (reply is ACK/NACK). MIP Packet Header Command/Reply Fields Checksum SYNC1...
  • Page 15: Polling Data Example Sequence

    ® -CV5-10 DCP Manual 2.4.2 Polling Data Example Sequence Polling for data is less efficient than processing a continuous data stream, but may be more appropriate for certain applications. The main difference from the continuous data example is the inclusion of the Poll data commands in the data loop: 1.
  • Page 16: Parsing Incoming Packets

    ® -CV5-10 DCP Manual Accel Vector 0x7F E5 BF 7F Copy-Paste version of the command: “7565 0C04 0401 0000 EFDA” You may specify the format of the data packet on a per-polling-command basis rather than using the pre-set data format (see the Poll IMU Data The polling command has an option to suppress the ACK/NACK in order to keep the incoming stream clear of anything except data packets.
  • Page 17: Multiple Rate Data

    ® -CV5-10 DCP Manual Based on the value of the descriptor set field in the packet header, pass the packet to either a command handler (if it is a Base command or 3DM command descriptor set) or a data handler (if it is an IMU Filter data set).
  • Page 18: Communications Bandwidth Management

    ® -CV5-10 DCP Manual Accel Accel Accel Accel Accel Accel Accel Timestamp Delta Theta Timestamp Delta Theta Timestamp Delta Theta Timestamp Timestamp Timestamp 2.7 Communications Bandwidth Management Because of the large amount and variety of data that is available from the 3DM-CV5-10, it is quite easy to overdrive the bandwidth of the communications channel.
  • Page 19: Uart Bandwidth Calculation

    ® -CV5-10 DCP Manual 2.7.1 UART Bandwidth Calculation Below is an equation for the maximum theoretical UART baud rate for a given message configuration. Although it is possible to calculate the approximate bandwidth required for a given setup, there is no guarantee that the system can support that setup due to internal processing delays.
  • Page 20 ® -CV5-10 DCP Manual minimum, you get regular packet drops. The only way to determine a packet drop is by observing a timestamp in sequential packets. The interval should not change from packet to packet. If it does change then packets were dropped.
  • Page 21: Command And Data Summary

    ® -CV5-10 DCP Manual Command and Data Summary Below is a summary of the commands and data available in the programming interface. Commands and data are denoted by two values. The first value denotes the “descriptor set” that the command or data belongs to (Base command, 3DM command,IMU data) and the second value denotes the unique command or data “descriptor”...
  • Page 22 ® -CV5-10 DCP Manual Delta Theta Vector (0x80, 0x07) Delta Velocity Vector (0x80, 0x08) GPS Correlation Timestamp (0x80, 0x12)
  • Page 23: Command Reference

    4.1 Base Commands The Base command set is common to many LORD Sensing devices. With the Base command set it is possible to identify many properties and do basic functions on a device even if you do not recognize its specialized functionality or data.
  • Page 24: Set To Idle (0X01, 0X02)

    ® -CV5-10 DCP Manual 4.1.2 Set To Idle (0x01, 0x02) Place device into idle mode Command has no parameters. Device responds with ACK if successfully placed in idle Description mode. This command will suspend streaming (if enabled) or wake the device from sleep (if sleeping) to allow it to respond to status and setup commands.
  • Page 25: Get Device Information (0X01, 0X03)

    ® -CV5-10 DCP Manual 4.1.3 Get Device Information (0x01, 0x03) Description Get the device ID strings and firmware version. Field Field Format Field Length Field Data Descriptor Command 0x02 0x03 Reply Field 1: U8 - echo the command byte 0x04 0xF1 ACK/ NACK U8 - error code (0: ACK, non-zero: NACK)
  • Page 26: Get Device Descriptor Sets (0X01, 0X04)

    ® -CV5-10 DCP Manual 4.1.4 Get Device Descriptor Sets (0x01, 0x04) Get the set of descriptors that this device supports Description Reply has two fields: “ACK/NACK” and “Descriptors”. The “Descriptors” field is an array of 16 bit values. The MSB specifies the descriptor set and the LSB specifies the descriptor.
  • Page 27: Device Built-In Test (0X01, 0X05)

    ® -CV5-10 DCP Manual 4.1.5 Device Built-In Test (0x01, 0x05) Run the device Built-In Test (BIT). The Built-In Test command always returns a 32 bit value. A value of 0 means that all tests passed. A non-zero value indicates that not all tests passed.
  • Page 28 ® -CV5-10 DCP Manual Reply Field 1: Echo cmd: 0x05 0x75 0x65 0x01 0x0A 0x04 0xF1 Error code: 0x00 ACK/NACK Reply Field 2: BIT Error Flags: 0x06 0x83 0x68 0x7D 0x00000000 BIT Error Flags Copy-Paste version of the command: “7565 0102 0205 E4CA”...
  • Page 29: Resume (0X01, 0X06)

    ® -CV5-10 DCP Manual 4.1.6 Resume (0x01, 0x06) Place device back into the mode it was in before issuing the Set To Idle command. Description If the Set To Idle command was not issued, then the device is placed in default mod- e.Command has no parameters.
  • Page 30: Device Reset (0X01, 0X7E)

    ® -CV5-10 DCP Manual 4.1.7 GPS Time Update (0x01, 0x72) 0x02 – GPS Seconds Field Field Format Field Length Field Data Descriptor U8 - Function Selector Command 0x08 0x72 U8 - GPS Time Field Selector U32 - New Time Value Reply: U8 - echo the command descriptor 0x04...
  • Page 31 ® -CV5-10 DCP Manual ACK/ NACK U8 - Error code (0: ACK, non-zero: NACK) MIP Packet Header Command/Reply Fields Checksum Example Desc. Payload Field Field Sync1 Sync2 Field Data Length Length Desc. Command: 0x75 0x65 0x01 0x02 0x02 0x7E 0x5D 0x43 Ping Reply Field 1:...
  • Page 32: 3Dm Commands

    DCP Manual 4.2 3DM Commands The 3DM command set is common to the LORD Sensing Inertial sensors that support the MIP packet protocol. Because of the unified set of commands, it is easy to migrate code from one inertial sensor to another.
  • Page 33: Get Imu Data Base Rate (0X0C, 0X06)

    ® -CV5-10 DCP Manual Reply: Command echo: 0x01 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE0 0xAC Error code: 0x00 ACK/NACK Copy-Paste versions of the commands: Stored format: “7565 0C04 0401 0000 EFDA” Specified format: “7565 0C0A 0A01 0002 0400 0005 0000 0627” 4.2.2 Get IMU Data Base Rate (0x0C, 0x06) Get the base rate for the IMU data in Hz.
  • Page 34: Imu Message Format (0X0C, 0X08)

    ® -CV5-10 DCP Manual 4.2.3 IMU Message Format (0x0C, 0x08) Set, read, or save the format of the IMU message packet. This command sets the format for the IMU data packet when in standard mode. The resulting data messages will main- tain the order of descriptors sent in the command.
  • Page 35 ® -CV5-10 DCP Manual 1st Descriptor: 0x04 Format (use new Rate Dec: 0x000A settings) 2nd Descriptor: 0x05 Rate Dec: 0x000A Reply Field : Echo cmd: 0x01 0x75 0x65 0x0C 0x04 0x04 0xF1 0xE7 0xBA ACK/NACK Error code: 0x00 Command: IMU Message Format Function: 0x02 0x75...
  • Page 36: Enable/Disable Continuous Data Stream (0X0C, 0X11)

    ® -CV5-10 DCP Manual 4.2.4 Enable/Disable Continuous Data Stream (0x0C, 0x11) Control the streaming of IMU and Estimation Filter data. If disabled, the data from the selected device is not continuously transmitted. Upon enabling, the most current data will be transmitted (i.e. no stale data is transmitted.) The default for the device is all streams enabled.
  • Page 37 ® -CV5-10 DCP Manual Stream (OFF): 0x00 Reply: Echo cmd: 0x11 0x75 0x65 0x0C 0x04 0x04 0xF1 0xF0 0xCC ACK/NACK Error code: 0x00 Copy-Paste version of the 1st command: ”7565 0C05 0511 0101 0104 1A”...
  • Page 38: Device Startup Settings (0X0C, 0X30)

    ® -CV5-10 DCP Manual 4.2.5 Device Startup Settings (0x0C, 0x30) Read, Save, Load, or Reset to Default the values for all device settings. Possible function selector values: Description 0x03 – Save current settings as startup settings** 0x04 – Load saved startup settings 0x05 –...
  • Page 39: Accel Bias (0X0C, 0X37)

    ® -CV5-10 DCP Manual 4.2.6 Accel Bias (0x0C, 0x37) Advanced Set the value, or read the current value of the IMU7 Accelerometer Bias Vector. For all functions except 0x01 and 0x06 (apply new settings), the new vector value is ignored. The bias value is subtracted from the scaled accelerometer value prior to output.
  • Page 40: Gyro Bias (0X0C, 0X38)

    ® -CV5-10 DCP Manual 4.2.7 Gyro Bias (0x0C, 0x38) Advanced Set the value, or read the current value of the IMU7 Gyro Bias Vector. For all functions except 0x01 and 0x06 (apply new settings), the new vector value is ignored. The bias value is subtracted from the scaled Gyro value prior to output.
  • Page 41: Capture Gyro Bias (0X0C, 0X39)

    ® -CV5-10 DCP Manual 4.2.8 Capture Gyro Bias (0x0C, 0x39) This command will cause the 3DM-CV5-10 to sample its sensors for the specified number of milliseconds. The resulting data will be used to initialize its orientation, and to estimate its gyro bias error. The estimated gyro bias error will be automatically written to the Gyro Bias vector.
  • Page 42: Coning And Sculling Enable (0X0C, 0X3E)

    ® -CV5-10 DCP Manual 4.2.9 Coning and Sculling Enable (0x0C, 0x3E) Set, read, or save the Coning and Sculling Compensation Enable. This function sets the Coning and Sculling Compensation Enable. For all functions except 0x01 (use new set- ting), the new parameter values are ignored. Possible function selector values: 0x01 - Apply new settings 0x02 –...
  • Page 43: Uart Baud Rate (0X0C, 0X40)

    ® -CV5-10 DCP Manual 4.2.10 UART Baud Rate (0x0C, 0x40) Change, read, or save the baud rate of the main communication channel (UART1). For all functions except 0x01 (use new settings), the new baud rate value is ignored. Possible function selector values: 0x01 - Apply new settings 0x02 –...
  • Page 44: Advanced Low-Pass Filter Settings (0X0C, 0X50)

    ® -CV5-10 DCP Manual 4.2.11 Advanced Low-Pass Filter Settings (0x0C, 0x50) Advanced configuration for low-pass filter settings. The scaled data quantities are by default filtered through a single-pole IIR low-pass filter which is configured with a -3dB cutoff frequency of half the reporting frequency (set by decimation factor in the IMU Message Format command) to prevent aliasing on a per data...
  • Page 45 ® -CV5-10 DCP Manual U8 – Function selector U8 – Data Descriptor U8 – Low-Pass Filter Enable/Disable Command 0x09 0x50 U8 – Manual/Auto -3 dB Cutoff Frequency Configuration U16 – -3 dB Cutoff Frequency U8 – Reserved Byte Reply Field 1: U8 - echo the command descriptor 0x04 0xF1...
  • Page 46: Device Status (0X0C, 0X64)

    ® -CV5-10 DCP Manual 4.2.12 Device Status (0x0C, 0x64) Get the device-specific status for the 3DM-CV5-10. Reply has two fields: “ACK/NACK” and “Device Status Field”. The device status field may be one of two selectable formats – basic and diagnostic. The reply data for this command is device specific.
  • Page 47 ® -CV5-10 DCP Manual Type Offset Echo of the Device Model Number Echo of the selector byte Status Flags (Reserved) System Timer millisecond Has Magnetometer Has Pressure Power State Gyro Range degree/second Accelerometer Range gauss Reserved Diagnostic Device Status Reserved Field Temperature Float...
  • Page 48: Error Codes

    ® -CV5-10 DCP Manual structure: selector = 1) Reply Field 1: Echo cmd: 0x64 0x75 0x65 0x0C 0x15 0x04 0xF1 ACK/NACK Error code: 0x00 Reply Field 2: Echo Model # (6259): 0x1873 Device Status 0x0F 0x90 Echo selector: 0x01 0x## 0x## (Basic Status Additonal data: ...
  • Page 49: Data Reference

    ® -CV5-10 DCP Manual Data Reference 5.1 IMU Data 5.1.1 Scaled Accelerometer Vector (0x80, 0x04) Description Scaled Accelerometer Vector This is a vector quantifying the direction and magnitude of the acceleration that the 3DM-CV5-10 is exposed to. This quantity is fully temperature compensated and Notes scaled into physical units of g (1 g = 9.80665 m/sec^2).
  • Page 50: Scaled Gyro Vector (0X80, 0X05)

    ® -CV5-10 DCP Manual 5.1.2 Scaled Gyro Vector (0x80, 0x05) Description Scaled Gyro Vector This is a vector quantifying the rate of rotation (angular rate) of the 3DM-CV5-10. Notes This quantity is fully temperature compensated and scaled into units of radi- ans/second.
  • Page 51: Delta Velocity Vector (0X80, 0X08)

    ® -CV5-10 DCP Manual 5.1.4 Delta Velocity Vector (0x80, 0x08) Description Time integral of acceleration. This is a vector which gives the time integral of specific acceleration over the interval set by the IMU message format command. It is expressed in terms of the 3DM- Notes CV5-10’s local coordinate system in units of g*second where g is the standard grav- itational constant.
  • Page 52: Gps Correlation Timestamp (0X80, 0X12)

    ® -CV5-10 DCP Manual 5.1.5 GPS Correlation Timestamp (0x80, 0x12) Description GPS correlation timestamp. This timestamp has three fields: Double GPS TOW U16 GPS Week number U16 Timestamp flags Timestamp Status Flags: Bit0 – PPS Beacon Good If set, PPS signal is present Bit1 –...
  • Page 53: Mip Packet Reference

    MIP Packet Reference 6.1 Structure Commands and Data are sent and received as fields in the LORD “MIP” packet format. Below is the general definition of the structure: The packet always begins with the start-of-packet sequence “ue” (0x75, 0x65). The “Descriptor Set”...
  • Page 54: Advanced Programming

    Device Status. These commands are defined generically but the implementation is very specific to the hardware implemented on this device. Other LORD Sensing devices will have their own implementations of these functions depending on the internal hardware of the devices.
  • Page 55: Creating Fixed Data Packet Format

    ® -CV5-10 DCP Manual because the next one overwrites it. This causes dropped packets. On these systems, it is imperative to utilize either a hardware interrupt or hardware DMA on the UART receiving data from the 3DM- CV5-10. The DMA or UART interrupt service routine only takes processor time when a byte is ready and as long as the interrupts are preemptive, the processor will fetch every byte received.
  • Page 56: Glossary

    ® -CV5-10 DCP Manual Glossary A/D Value The digital representation of analog voltages in an analog-to-digital (A/D) conversion. The accuracy of the conversion is dependent on the resolution of the system electronics. Higher resolution produces a more accurate conversion. Acceleration In physics,acceleration is the change in the rate of speed (velocity) of an object over time.
  • Page 57 ® -CV5-10 DCP Manual ASTM (Association of Standards and Testing) a nationally accepted organization for the testing and calibration of technological devices Attitude the orientaion of an object in space with reference to a defined frame, such as the North-East-Down (NED) frame Azimuth A horizontal arc measured between a fixed point (such as true north) and the vertical circle passing...
  • Page 58 ® -CV5-10 DCP Manual Delta-Theta the time integral of angular rate expressed with refernce to the device local coordinate system, in units of radians Delta-velocity the time integral of velocity expressed with refernce to the device local coordinate system, in units of g*second where g is the standard gravitational constant ECEF (Earth Centered Earth Fixed) a reference frame that is fixed to the earth at the center of the earth and turning about earth's axis in the...
  • Page 59 ® -CV5-10 DCP Manual Host (computer) The host computer is the computer that orchestrates command and control of attached devices or net- works. Inertial Measurement System Inclinometer device used to measure tilt, or tilt and roll Inertial pertaining to systems that have inertia or are used to measure changes in inertia as in angular or linear accelerations INS (Inertial Navigation System) systems that use inertial measurements exclusively to determine position, velocity, and attitude, given...
  • Page 60 ® -CV5-10 DCP Manual NED (North-East-Down) A geographic reference system acronym for Original Equipment Manufacturer Offset A non-zero output signal of a sensor when no load is applied to it, typically due to sensor imperfections. Also called bias. Orientation The orientaion of an object in space with reference to a defined frame. Also called attitude. Pitch In navigation pitch is what occurs when vertical force is applied at a distance forward or aft from the cen- ter of gravity of the platform, causing it to move up or down with respect to the sensor or platform frame...
  • Page 61 ® -CV5-10 DCP Manual acronym for Root Mean Squared Roll In navigation roll is what occurs when a horizontal force is applied at a distance right or left from the cen- ter of gravity of the platform, causing it to move side to side with respect to the sensor or platform frame origin.
  • Page 62 ® -CV5-10 DCP Manual UTC (Coordinated Universal Time) The primary time standard for world clocks and time. It is similar to Greenwich Mean Time (GMT). Vector a measurement with direction and magnitude with refernce from one point in space to another Velocity The rate of change of position with respect to time.

Table of Contents