0% found this document useful (0 votes)
51 views63 pages

QMI8658C

Uploaded by

Yesid Bello
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views63 pages

QMI8658C

Uploaded by

Yesid Bello
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 63

ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


QMI8658C DATASHEET
JANUARY 13, 2021

QST SOLUTIONS LIMITED


120 BAYTECH DR, SAN JOSE, CA 95134

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


QMI8658C
Low Noise, Wide Bandwidth 6D Inertial Measurement
Unit with Motion Co-Processor and Sensor Fusion
Features Description
 Low 15 mdps/√Hz gyroscope noise, low-latency, The QMI8658C is a complete 6D MEMS inertial
and wide bandwidth for performance applications measurement unit (IMU) with 9-axis sensor fusion and
such robotic vacuums, industrial tilt modules, specified system level orientation accuracy. When using
pedestrian navigation and GNSS augmentation, 5G the QMI8658C in combination with the supplied XKF3
antenna stabilization, inertial navigation, and large 9D-sensor fusion, the system features an accurate ±3°
industrial UAVs pitch and roll orientation, and a ±5° yaw/heading typical
specification.
 Low Noise 200µg/√Hz accelerometer
 Host (slave) interface supports MIPI™ I3C, I2C, and With tight board-level gyroscope sensitivity of ±3%,
3-wire or 4-wire SPI; auxiliary master I2C interface gyroscope noise density of 15 mdps/√Hz, and low
supports an external magnetometer latency, the QMI8658C is ideal for high performance
consumer and for industrial applications.
 Accelerometer and gyroscope sensors feature
signal processing paths with digitally programmable The QMI8658C incorporates a 3-axis gyroscope and a 3-
data rates and filtering axis accelerometer. It provides a UI interface (supporting
 Complete inertial measurement unit (IMU) with I3C, I2C and 3-wire or 4-wire SPI) and a second interface
sensor fusion library with specified orientation functioning as an I2C master for communicating to an
accuracy of ±3º pitch and roll, ±5º yaw/heading external magnetometer.
 High-performance XKF3TM 6/9-axis sensor fusion The QMI8658C incorporates an advanced vector digital
with in-run calibration for correction of gyroscope signal processor (DSP) motion co-processor called the
bias drift over-temperature and lifetime AttitudeEngine. The AttitudeEngine efficiently encodes
 3-axis gyroscope and 3-axis accelerometer in a high frequency motion at high internal sampling rates,
small 2.5 x 3.0 x 0.86 mm 14-pin LGA package preserving full accuracy across lower-frequency output
data rates.
 Integrated Gen 2 AttitudeEngineTM motion co-
processor with vector DSP performs sensor fusion This enables the application to utilize low output data
at 1 kHz sampling rate, while outputting data to host rates (ODRs) or on-demand (host polling) while still
processor at a lower rate – improving accuracy acquiring accurate 3D motion data. The AttitudeEngine
while reducing processor MIPS, power, and reduces the data processing and interrupt load on a host
interrupt requirements processor with no compromises in 3D motion tracking
accuracy. The result is very low total system power in
 Large 1536-byte FIFO can be used to buffer sensor combination with high accuracy, which are essential to
data to lower system power dissipation many portable and battery powered applications.
 Motion on demand technology for polling-based
synchronization Applications
 Large sensor dynamic ranges from ±16°/s to  Toys
±2048°/s for gyroscope and ±2 g to ±16 g for
accelerometer  Drones
 Low power modes for effective power management  E-bikes and scooters
 Digitally programmable sampling rate and filters  Motion-based remote controls and air mice
 Embedded temperature sensor
 Wide extended operating temperature range
(-40°C to 85°C)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


1
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table of Contents
1 General Information ........................................................................................................ 4
1.1 Ordering Information .......................................................................................................... 4
1.2 Marking Information ........................................................................................................... 4
1.3 Internal Block Diagram ........................................................................................................ 5
1.4 Interface Operating Modes .................................................................................................. 6
1.5 Package & Pin Information .................................................................................................. 7
1.6 Recommended External Components .................................................................................. 9
2 QMI8658C Architecture ................................................................................................. 10
2.1 AttitudeEngine Mode Overview......................................................................................... 10
2.2 Advantages of the Attitude Engine Approach .................................................................... 10
2.3 9D Sensor Fusion and Auto-Calibration using XKF3 ............................................................ 11
2.4 Frames of Reference and Conventions for Using QMI8658C ............................................... 12
3 System, Electrical and Electro-Mechanical Characteristics ............................................. 13
3.1 Absolute Maximum Ratings ............................................................................................... 13
3.2 Recommended Operating Conditions ................................................................................ 13
3.3 System Level Specifications ............................................................................................... 14
3.4 Electro-Mechanical Specifications ...................................................................................... 15
3.5 Accelerometer Programmable Characteristics ................................................................... 17
3.6 Gyroscope Programmable Characteristics .......................................................................... 18
3.7 Electrical Characteristics .................................................................................................... 19
Current Consumption ............................................................................................................ 19
3.8 Temperature Sensor .......................................................................................................... 20
4 Register Map Overview .................................................................................................. 21
4.1 UI Register Map Overview ................................................................................................. 21
5 UI Sensor Configuration Settings and Output Data......................................................... 24
5.1 Typical Sensor Mode Configuration and Output Data ........................................................ 24
5.2 AttitudeEngine (AE) Mode Configuration and Output Data ................................................ 25
5.3 General Purpose Register .................................................................................................. 25
5.4 Configuration Registers ..................................................................................................... 26
5.5 FIFO Registers .................................................................................................................... 30
5.6 Status and Time Stamp Registers ....................................................................................... 32
5.7 Sensor Data Output Registers ............................................................................................ 34
5.8 CTRL 9 Functionality (Executing Pre-defined Commands) ................................................... 37
CTRL 9 Description ................................................................................................................ 37
WCtrl9 (Write – CTRL9 Protocol)........................................................................................... 37
Ctrl9R (CTRL9 Protocol - Read) .............................................................................................. 38
Ctrl9 (CTRL9 Protocol Acknowledge) .................................................................................... 38
CTRL9 Commands in Detail ................................................................................................... 39
6 Interrupts....................................................................................................................... 41
6.1 Overview ........................................................................................................................... 41
Interrupt 1 (INT1) .................................................................................................................. 41
Interrupt 2 (INT2) .................................................................................................................. 41
7 Operating Modes ........................................................................................................... 42
7.1 General Mode Transitioning .............................................................................................. 45
7.2 Transition Times ................................................................................................................ 45
© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com
2
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


8 FIFO Description ............................................................................................................ 46
8.1 Using the FIFO ................................................................................................................... 46
8.2 FIFO Register Description................................................................................................... 47
9 Wake on Motion (WoM) ................................................................................................ 47
9.1 Wake on Motion Introduction ........................................................................................... 48
9.2 Accelerometer Configuration ............................................................................................. 48
9.3 Wake on Motion Event ...................................................................................................... 48
9.4 Configuration Procedure.................................................................................................... 48
9.5 Wake on Motion Control Registers .................................................................................... 49
9.6 Exiting Wake on Motion Mode .......................................................................................... 49
10 Performing Device Self Test ........................................................................................... 50
10.1 Accelerometer Self Test ..................................................................................................... 50
10.2 Gyroscope Self Test ........................................................................................................... 50
11 Magnetometer Setup ..................................................................................................... 50
11.1 Magnetometer Description................................................................................................ 50
12 Host Serial Interface....................................................................................................... 51
12.1 Serial Peripheral Interface (SPI) ......................................................................................... 51
SPI Timing Characteristics ................................................................................................. 56
12.2 I C Interface ....................................................................................................................... 58
2

12.3 MIPI I3C Interface .............................................................................................................. 59


13 Package and Handling .................................................................................................... 60
13.1 Package Drawing ............................................................................................................... 60
13.2 Reflow Specification .......................................................................................................... 61
13.3 Storage Specifications........................................................................................................ 61
14 Document Information .................................................................................................. 62
14.1 Revision History................................................................................................................. 62

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


3
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


1 General Information
1.1 Ordering Information
Table 1. Ordering Information

Part Number Package Packing Method


QMI8658C LGA14 Tape & Reel

1.2 Marking Information

ROW EXAMPLE CODE/EXPLANATION

1 8658 DDDD – Device code


2 0113 YWLL – Y (Year code), W (1-digit, biweekly code), LL (Lot indication)
3 ● DA CR – C (Assembly location), R (Product revision)

Figure 1. Top Mark

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


4
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


1.3 Internal Block Diagram

Temp ΣΔ Data Registers


Sensor A/D
Setup & Control
Registers
MEMS
ΣΔ Host Cal
Ax Registers
A/D

Signal Conditioning and Filtering


ΣΔ FIFO Registers
Ay
A/D

ΣΔ 1536 Byte FIFO


Az
A/D

ΣΔ Interrupt & INT1


Gx
A/D Status INT2
ΣΔ
Gy Attitude Engine
A/D

ΣΔ
Gz DMA Controller
A/D
Self SDO/SA0
Test I2C, I3C, SPI CS
Align M0+ Host, Slave or UI
Interface SCL
Mag MCU
I2C Master SDA
or SPI
Data Sync CLK
Aux / OIS Bias
Domain Synth
Interface

SDx SCx VDD GND

CS-AUX SDO-AUX VDDIO GND

Figure 2. Internal Block Diagram

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


5
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


1.4 Interface Operating Modes
The QMI8658C can operate in two different modes, as shown in the Figure below.
Mode 1: Default mode of operation. In this mode, the QMI8658C is a slave device to a host processor that
communicates to it using one of the following interfaces: I2C, I3C, and SPI (3-wire or 4-wire modes). This slave
relationship to the host is the same for all operating modes. In Mode 1, the secondary interface is not enabled.
Mode 2: External Sensor mode of operation. As in Mode 1, the QMI8658C is a slave to the host processor, and
communications to it is by one of the following interfaces: I2C, I3C, and SPI (3-wire or 4-wire modes). However, in Mode
2, the external sensor bus is enabled and the QMI8658C acts as a I2C master to an external magnetometer.

Mode 1. Default Mode Mode 2. Mag Mode

Figure 3. Operating modes

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


6
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


1.5 Package & Pin Information
The pinout of the QMI8658C is shown in the figure below. The pin names and functionality are detailed in the table that
follows. The pin functionality is dictated by the part’s operating mode, as described in the section above.

Figure 4. Pins Face Down (Top View) Figure 5. Pins Face Up (Bottom View)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


7
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 2. Pin Definitions

Pin Type Pin Name Mode 1 Function (Default Mode 2 Function (External Sensor
Number Mode) Mode)

1 O SDO/SA0(1)(3) SPI-UI Data Out (SDO) in SPI-UI 4-Wire Mode.


I2C Slave LSB bit of the device Address (SA0)

2 IO SDx Connect to VDDIO or GND I2C Master Serial Data (MSDA)

3 IO SCx Connect to VDDIO or GND I2C Master Serial Clock (MSCL)

4 O INT1 Programmable Interrupt 1 for I2C and SPI

5 I VDDIO Power Supply for IO Pins

6 I GND Ground (0 V supply); is internally No Connect.

7 I GND Ground (0 V supply)

8 I VDD Power supply

9 O INT2 Programmable Interrupt 2 Programmable Interrupt 2 (INT2) /


(INT2)/ Data Enable (DEN) Data Enable (DEN).
I2C Master external Synchronization
Signal (MDRDY)

10 IO RESV-NC Reserved. No Connect

11 I RESV-NC Reserved. No Connect

12 I CS I2C/ I3C /SPI-UI selection Pin.


(If 1: I2C-UI Mode: I2C/I3C communication enabled, SPI idle mode)
(If 0: SPI-UI mode: I2C/I3C disabled)

13 IO SCL SPI-UI Serial Clock (SPC) (2)(3)

14 IO SDA I2C/I3C-UI Data (SDA)


SPI-UI Data In (SDI) (2)(3) in 4 wire Mode
SPI-UI Data IO (SDIO) (2)(3) in 3 Wire Mode

Notes:
1. This pin has an internal 200 kΩ pull up resistor.
2. In SPI mode (not in I2C Mode), there is an internal pull down 200 kΩ resistor.
3. Refer to Section 12 for detailed configuration information.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


8
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


1.6 Recommended External Components
Table 3. Recommended External Components

Component Description Parameter Typical


Cp1 Capacitor Capacitance 100 nF
Cp2 Capacitor Capacitance 100 nF
Rpu (4) Resistor Resistance 10 kΩ
Note:
4. Rpu resistors are only needed when the Host Serial Interface is configured for I2C (see I2C Interface section).
They are not needed when the Host Serial Interface is configured for SPI or I3C. If pull-up resistors are used on
SCL and SDA, then SPI, I3C and I2C Modes are all possible. If a pull-up resistor is used on SA0, an alternate
slave address is used for I2C. SPI and I3C modes will be unaltered with the use of pull-up resistors for I2C.
Additionally, a suitable pull up resistance (Rpu) value should be selected, accounting for the tradeoff between
current consumption and rise time.

Figure 6. Typical Electrical Connections

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


9
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


2 QMI8658C Architecture
QMI8658C is a smart sensor that combines a high- calculations at 1 kHz data rates allowing accurate
performance IMU with a powerful Single Instruction capture of high frequency and coning effects.
Multiple Data (SIMD) based Vector DSP motion co- Orientation and velocity increments are calculated
processor referred to as the AttitudeEngine™ (AE). with full coning and sculling compensation and the
magnetic field vector from the external
Included sensor fusion software (XKF3) allows the device magnetometer is rotated to the sensor frame of
to achieve orientation accuracies of ±3º for pitch and roll reference. This allows the lossless encoding
and ±5º for yaw/heading. (compression) of 6D motion to a low output data rate,
The QMI8658C includes a microcontroller for data while maintaining the accuracy provided by the
scheduling, combined with Direct Memory Access (DMA) 1 kHz input and data processing rate. Motion data
in order to allow efficient data shuttling on the chip. Multi- encoded by the AttitudeEngine is available at a user
channel data is easily processed at rates up to 1 kHz. programmable data rate (1 Hz to 64 Hz). The
orientation and velocity increments from the
An internal block diagram is shown in Figure 2. The AttitudeEngine are suitable for any 3D motion
MEMS elements are amplified and converted by Σ∆ A/D tracking application (orientation, velocity, and
converters, which are synchronized to a common clock position) and may be further fused by the user with
so that all the motion measurements of acceleration, information from other sources such as a GNSS
angular rate and magnetic heading are sampled at the receiver or barometer in an optimal estimator.
same time minimizing any skew between channels. The
data is then sent to a signal processing chain that  Motion on Demand (MoD): The QMI8658C allows
accomplishes decimation, filtering, and calibration. the host to access encoded motion data
asynchronously (polling) and on demand. The
Once the data has been processed, it can be sent to the motion data in the AttitudeEngine (AE) mode
host processor depending on additional configuration remains accurate even at very low output data rates.
settings, such as enabling the FIFO or using the This allows easy integration and synchronization
AttitudeEngine. with other sensors for state-of-the-art applications
such as rolling shutter camera stabilization, optical
2.1 AttitudeEngine Mode Overview sensors software de-blurring, GNSS integration and
augmented or virtual reality.
Brief descriptions of the major functions of the
AttitudeEngine are discussed below. Note that the 2.2 Advantages of the Attitude Engine
AttitudeEngine may be enabled or disabled and
configured using the CTRL6 register. Approach
The advantages of the AttitudeEngine (AE) approach
 Calibration: The QMI8658C applies continuous on-
over the traditional sensor approach are briefly discussed
chip calibration of all the sensors (accelerometer,
gyroscope, and magnetometer) including scale, below.
offset, and temperature calibration. When used in
conjunction with a sensor fusion filter (such as the
 Low-Power Architecture: Dead reckoning
calculations are performed with the AE vector DSP
XKF3) running on the host processor, estimated
that is designed to perform essential calculations
sensor errors can be updated in-use, allowing
while achieving high accuracy and low power
sensor calibration to be performed in the background
simultaneously. The AE approach enables a typical
without any host intervention. This offloads
interrupt rate reduction to the host processor of 10x
computationally expensive per-sample re-calibration
and can be up to 100x for some applications. This
from the host processor to the QMI8658C
significantly enhances the operational life of battery
 Sample Synchronization: The QMI8658C powered devices without any compromises in 3D
automatically provides highly synchronous output motion tracking accuracy.
between the various IMU accelerometer and
gyroscope channels by using fully parallel ΣΔ-
 High Performance: The motion encoder and
sample synchronizer enable highly accurate strap
converters. The QMI8658C also provides time
down integration that can be fully compensated for
synchronization of data between the IMU and the
coning and sculling artifacts.
external magnetometer.
 Motion Encoder: The on-chip motion encoder
performs 32-bit high-speed dead reckoning

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


10
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


2.3 9D Sensor Fusion and Auto- XKF3 Features:
Calibration using XKF3  Continuous Sensor Auto Calibration, No User
Interaction Required
XKF3 is a sensor fusion algorithm, based on Extended
Kalman Filter theory that fuses 3D inertial sensor data  High Accuracy, Real-Time, Low-Latency Optimal
(orientation and velocity increments) and 3D estimate of 3D Orientation, up to 1 kHz output data
magnetometer, also known as ‘9D’, data to optimally rate
estimate 3D orientation with respect to an Earth fixed  Ultra-low system power for 3D Orientation enabled
frame. by AttitudeEngine between 1 to 64 Hz output data
A license to use XKF3 in a CMSIS compliant library form rate without any degradation in accuracy
for Cortex M0+, M3, M4, M4F, for commercial purposes  Best-in-Class Immunity to Magnetic Distortions
is provided with certain QST evaluation kits incorporating
the QMI8658C.  Best-in-Class Immunity to Transient Accelerations

A restricted-use license for use of XKF3 for commercial  Flexible use Scenarios, North Referenced,
purposes is also granted for certain applications when Unreferenced
XKF3 is used with the QMI8xxx series of IMUs, such as  Extensive Status Reporting for Smooth Integration in
the QMI8658C/B/C family and the QMI8610. Applications
 Optimized Library for Popular Microcontrollers

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


11
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Figure 7. Chip Orientation Coordinate System

2.4 Frames of Reference and counterclockwise direction around the respective axis are
considered positive. Magnetic fields (mx, my, mz) can be
Conventions for Using QMI8658C configured to be expressed in the sensor X-Y-Z
The QMI8658C uses a right-handed coordinate system coordinates as well. Care must be taken to make sure
as the basis for the sensor frame of reference. that QMI8658C and the magnetic sensor of choice are
Acceleration (ax, ay, az) are given with respect to the X-Y- mounted on the board so that the coordinate systems of
Z co-ordinate system shown above. Increasing the two sensors are substantially parallel. Figure 7 shows
accelerations along the positive X-Y-Z axes are the various frames of reference and conventions for using
considered positive. Angular Rate (ωx, ωy, ωz) in the the QMI8658C.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


12
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3 System, Electrical and Electro-Mechanical
Characteristics
3.1 Absolute Maximum Ratings
Stresses exceeding the absolute maximum ratings may damage the device. The device may not function or be operable
above the recommended operating conditions. Stressing the parts to these levels is not recommended. In addition,
extended exposure to stresses above the recommended operating conditions may affect device reliability. The absolute
maximum ratings are stress ratings only.
Table 4. Absolute Maximum Ratings
Symbol Parameter Min. Max. Unit
TSTG Storage Temperature -40 +125 °C
TPmax Lead Soldering Temperature, 10 Seconds +260 °C
VDD Supply Voltage -0.3 3.6 V
VDDIO I/O Pins Supply Voltage -0.3 3.6 V
Sg (5) Acceleration g for 0.2 ms (Un-powered) 10,000 g
Electrostatic Discharge Human Body Model per JES001-2014 ±2000
ESD(6) V
Protection Level Charged Device Model per JESD22-C101 ±500
Notes:
5. This is a mechanical shock (g) sensitive device. Proper handling is required to prevent damage to the part.
6. This is an ESD-sensitive device. Proper handling is required to prevent damage to the part.

3.2 Recommended Operating Conditions


The Recommended Operating Conditions table defines the conditions for device operation. Recommended operating
conditions are specified to ensure optimal performance. QST does not recommend exceeding them or designing to
Absolute Maximum Ratings.
Table 5. Recommended Operating Conditions

Symbol Parameter Min Typ Max Unit

VDD Supply Voltage 1.71 1.8 3.6 V


VDDIO I/O Pins Supply Voltage 1.71 1.8 3.6 V
VIL Digital Low Level Input Voltage 0.3 *VDDIO V
VIH Digital High Level Input Voltage 0.7 *VDDIO V
VOL Digital Low Level Output Voltage 0.1 *VDDIO V
VOH Digital High Level Output Voltage 0.9 *VDDIO V

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


13
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3.3 System Level Specifications for the placement conditions of the QMI8658C and 3D
magnetometer are considered. For example, do not place
System level specifications are provided to give guidance the QMI8658C where strong vibrations may occur or
on the system performance in a recommended and could be amplified; do not place the 3D magnetometer
typical configuration. The recommended system where magnetic fields other than the Earth magnetic field
configuration is the QMI8658C and optionally a may be measured. Typical numbers are provided below
supported 3D magnetometer used with a supported host unless otherwise noted.
processor, running the XKF3 9D-sensor fusion and
having executed and stored the result of the “Board Level
Calibration” routine. The system performance
specifications assume that good engineering practices

Table 6. System Level 3D Orientation Accuracy Specifications


Subsystem Parameter Typical Unit Comments
Requires use of XKF3 software library on
Roll ±3 deg
host processor.
Requires use of XKF3 software library on
Pitch ±3 deg
host processor.
Requires use of XKF3 software library on
QMI8658C+XKF3 Yaw (Heading)
±5 deg host processor, using magnetometer, in a
Quaternion Referenced to North
homogenous Earth magnetic field.
From Allan Variance bias instability.
Does not require a magnetometer.
Yaw (Heading) Unreferenced 5-25 deg/h (See specification above for use with
magnetometer.)
Fully immune to magnetic distortions.
To benefit from the power saving using
QMI8658C+XKF3
Output Data Rate 1-1000 Hz the AttitudeEngine, use a max ODR of
Quaternion
64 Hz.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


14
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3.4 Electro-Mechanical Specifications
VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted.
Table 7. Accelerometer Electro-Mechanical Specifications

Subsystem Parameter Typical Unit Comments


Noise Density (@ 32Hz) 200 µg/√Hz High-Resolution Mode
Scale Setting Sensitivity
±2 g 16,384
Sensitivity Scale Factor ±4 g 8,192 LSB/g 16-Bit Output
±8 g 4,096
±16 g 2,048
Cross-Axis Sensitivity ±2 %

Temperature Coefficient of Over-Temperature Range of


±0.5 mg/°C -40°C to 85°C, at Board
Accelerometer Offset (TCO)
Level
Temperature Coefficient of
±0.04 %/°C
Sensitivity (TCS)
Initial Offset Tolerance ±100 mg Board Level
Initial Sensitivity Tolerance ±6 % Board Level
Non-Linearity ±0.75 % Best Fit Line
From Software Reset, No
Power, or Power Down to
System Turn On Time(7) 1.75 s
Power-on Default state = t0
in Figure 8
Accel Turn on from Power-
On Default state or from Low
Accel Turn On Time 3 ms + 3/ODR ms
Power state = t2 + t5 in
Figure 8.

Note:
7. System Turn On Time starts once VDDIO and VDD are within 1% of Final Value.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


15
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 8. Gyroscope Electro-Mechanical Specifications

Subsystem Parameter Typical Unit Comments


Scale
Sensitivity
Setting
±16 dps 2048
±32 dps 1024
±64 dps 512
Sensitivity LSB/dps 16-Bit Output
±128 dps 256
±256 dps 128
±512 dps 64
±1024 dps 32
±2048 dps 16
Natural Frequency 24.5 kHz
Noise Density (@ 32Hz) 15 mdps/√Hz High-Resolution Mode

Gyroscope Non-Linearity 0.2 %


Cross-Axis Sensitivity ±2 %
g-Sensitivity ±0.1 dps/g
From Software Reset, No
Power, or Power Down to
System Turn On Time(8) 1.75 s
Power-on Default state
= t0 in Figure 8
from Power-On Default = t1
Gyro Turn On Time 60 ms + 3/ODR ms
8
Temperature Coefficient of Over-Temperature Range of
±0.05 dps/°C
Offset (TCO) -40°C to 85°C
Temperature Coefficient of Over-Temperature Range of
±0.05 %/°C
Sensitivity (TCS) -40°C to 85°C
Initial Offset Tolerance ±10 dps Board Level
Initial Sensitivity Tolerance ±3 % Board Level

Note:
8. System Turn On Time starts once VDDIO and VDD are within 1% of Final Value

Table 9. Magnetometer and AttitudeEngine Range and Scale

Typical
Subsystem Parameter Scale Unit Comments
Sensitivity
Setting
Typical
Magnetometer Sensitivity Depends on Depends on
Sensor LSB/gauss
Scale Factor magnetometer magnetometer
Mode
Magnetometer Sensitivity Depends on Depends on
LSB/gauss
Scale Factor magnetometer magnetometer
16 Bit Output
AE Mode Orientation Increment
(quaternion) Sensitivity ±1 16,384 LSB/unit
Scale Factor
Velocity Increment
±32 1,024 LSB/ms
Sensitivity Scale Factor

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


16
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3.5 Accelerometer Programmable Characteristics
VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted. Typical numbers are provided below unless otherwise noted.
All frequencies are ±5% and are synchronized to the gyroscope oscillator (“drive”) frequency.
Table 10. Accelerometer Noise Density

Mode High-Resolution Low-Power Unit


ODR 8000(9) 4000(9) 2000(9) 1000 500 250 125 62.5 31.25 128 21 11 3 Hz
Typical Noise Density 100 100 100 100 100 100 100 100 100 125 180 285 700 µg/√Hz
Note:
9. Available only when both gyroscope and accelerometer are enabled (6DOF mode).

Table 11. Accelerometer Filter Characteristics(10)

Mode High-Resolution Low-Power Unit


ODR 8000(11) 4000(11) 2000(11) 1000 500 250 125 62.5 31.25 128 21 11 3
Bandwidth
4000 2000 1000 500 250 125 62.5 31.3 15.6 64 10.5 5.5 1.5
(Default)
Bandwidth
with Low-
Pass Filter
Enabled 209.6 104.8 52.4 26.2 13.1 6.6 3.3 1.6 0.8 3.4 0.6 0.3 0.1
Mode 00
(2.62% of
ODR)
Bandwidth
with Low-
Pass Filter
Enabled 287.2 143.6 71.8 35.9 18 9 4.5 2.2 1.1 4.6 0.8 0.4 0.1
Mode 01
(3.59% of Hz
ODR)
Bandwidth
with Low-
Pass Filter
Enabled 425.6 212.8 106.4 53.2 26.6 13.3 6.7 3.3 1.7 6.8 1.1 0.6 0.2
Mode 10
(5.32% of
ODR)
Bandwidth
with Low-
Pass Filter
Enabled 1120 560 280 140 70 35 17.5 8.8 4.4 17.9 2.9 1.5 0.4
Mode 11
(14.0% of
ODR)
Note:
10. All frequencies are ±5% and are synchronized to the gyroscope oscillator (“drive”) frequency.
11. Available only when both gyroscope and accelerometer are enabled (6DOF mode).

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


17
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3.6 Gyroscope Programmable Characteristics
VDD = VDDIO = 1.8 V, T = 25°C, and represent typical numbers unless otherwise noted. All frequencies are ±5% and
are synchronized to the gyroscope oscillator (“drive”) frequency.
Table 12. Gyroscope Filter Characteristics

Mode High-Resolution Unit


ODR 8000 4000 2000 1000 500 250 125 62.5 31.25
Bandwidth
4000 2000 1000 500 250 125 62.5 31.3 15.6
(Default)
Bandwidth
with Low-Pass
Filter Enabled 209.6 104.8 52.4 26.2 13.1 6.6 3.3 1.6 0.8
Mode 00
(2.62% of ODR)
Bandwidth
with Low-Pass
Filter Enabled 287.2 143.6 71.8 35.9 18 9 4.5 2.2 1.1
Mode 01 Hz
(3.59% of ODR)
Bandwidth
with Low-Pass
Filter Enabled 425.6 212.8 106.4 53.2 26.6 13.3 6.7 3.3 1.7
Mode 10
(5.32% of ODR)
Bandwidth
with Low-Pass
Filter Enabled 1120 560 280 140 70 35 17.5 8.8 4.4
Mode 11
(14.0% of ODR)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


18
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


3.7 Electrical Characteristics
VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted.
Table 13. Electrical Subsystem Characteristics
Symbol Parameter Min. Typ. Max. Unit
fSPC Host SPI Interface Speed 15 MHz
Standard Mode 100
fSCL Host I2C Interface Speed kHz
Fast Mode 400
Standard Mode 25
fSCL2 Master I2C Interface Speed(12) kHz
Fast Mode 300
Standard Data
fSCL3 Host I3C Interface Speed 12.5 MHz
Rate (SDR)
Note:
12. When only accelerometer is enabled, I2C master operates at 25 kHz. When gyroscope is enabled, I2C master
operates at 300 kHz.

Current Consumption
VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted. IDD Current refers to the current flowing into the VDD pin.
Typical numbers are provided below.
Table 14. Current Consumption for Accelerometer Only Typical Sensor Mode (Gyroscope
Disabled)
Mode High-Resolution Low-Power Unit
ODR 1000 500 250 125 62.5 31.25 128 21 11 3 Hz
Filters Disabled
Typical 182 155 142 134 133 132 55 42 35 30
(aLPF=0)
Overall IDD µA
Current Filters Enabled
182 155 142 134 133 132 55 42 35 30
(aLPF=1)

Table 15. Current Consumption for Gyroscope Only Typical Sensor Mode (Accelerometer
Disabled)
Mode High-Resolution Unit
ODR 8000 4000 2000 1000 500 250 125 62.5 31.25 Hz
Filters
Typical Disabled 908 861 748 689 659 656 654 653 651
Overall (gLPF=0) µA
IDD
Current Filters Enabled
916 863 748 689 659 656 654 653 651
(gLPF=1)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


19
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 16. Current Consumption for 6DOF Typical Sensor Mode (Accelerometer and Gyroscope
Enabled). VDD = VDDIO = 1.8V
Mode High-Resolution Unit
ODR 8000 4000 2000 1000 500 250 125 62.5 31.25 Hz
Filters
Disabled
1004 956 843 786 757 754 752 751 750
(aLPF=0;
Typical gLPF=0)
Overall IDD µA
Current Filters
Enabled
1031 970 850 789 758 756 753 751 750
(aLPF=1;
gLPF=1)

Table 17. Current Consumption for 6DOF Attitude Engine Mode (without Magnetometer). VDD =
VDDIO = 1.8V

Mode Unit
ODR Setting 1 2 4 8 16 32 64 Hz
Filters Disabled
783 783 783 783 783 783 783
Typical Overall (aLPF=0; gLPF=0)
µA
IDD Current Filters Enabled
787 787 787 787 787 787 787
(aLPF=1; gLPF=1)

Table 18. Current Consumption for 9DOF Attitude Engine Mode (with Magnetometer). VDD =
VDDIO = 1.8V

Mode Unit
ODR 1 2 4 8 16 32 64 Hz
Typical With
Overall IDD Magnetometer at tbd tbd tbd tbd tbd tbd tbd µA
Current 31.25 Hz

3.8 Temperature Sensor


The QMI8658C is equipped with an internal 16-bit The QMI8658C outputs the internal chip temperature that
embedded temperature sensor that is automatically the HOST can read. The output is 16 bits, with a
turned on by default whenever the accelerometer or (1/256)°C per LSB resolution. To read the temperature,
gyroscope is enabled. The temperature sensor is used the HOST needs to access the TEMP register (see
internally to correct the temperature dependency of TEMP_L and TEMP_H in Data Output Registers in Table
calibration parameters of the accelerometer and 20. The HOST should synchronize to the interrupt, INT2,
gyroscope. The temperature compensation is optimal in signal to get valid temperature readings.
the range of -40°C to 85°C with a resolution of 0.0625°C
(1/16 °C) or inversely, 16 LSB/ °C.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


20
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 19. Temperature Sensor Specifications

Subsystem Parameter Typical Unit


Range -40 to +85 °C
Internal Resolution 16 Bits
Internal Sensitivity 256 LSB/°C
Digital Temperature Sensor
Output Register Width 16 Bits
Output Sensitivity 256 LSB/°C
Refresh Rate 8 Hz

4 Register Map Overview


The QMI8658C UI registers enable programming and control of the inertial measurement unit and associated on-chip
signal processing. These registers are accessed through the UI interface – either SPI (4 wires or 3 wires) I3C, or I2C.

4.1 UI Register Map Overview


UI register map may be classified into the following  Count Register for time stamping the sensor
register categories: samples
 General Purpose Registers  FIFO Registers: to set up the FIFO and detect
data availability and over-run.
 Setup and Control Registers: control various
aspects of the IMU.  Table 20 for UI Interface: contain all data for 9D
sensors to be accessed from the UI interface –
 Host Controlled Calibration Registers: control and either I2C or SPI.
configure various aspects of the IMU via the host
command interface called CTRL9

Table 20. UI Register Overview

Register Address Default Comment


Name Type
Dec Hex Binary Binary
General Purpose Registers
WHO_AM_I r 0 00 00000000 00000101 Device Identifier
REVISION_ID r 1 01 00000001 01101000 Device Revision ID
Setup and Control Registers
CTRL1 rw 2 02 00000010 00100000 SPI Interface and Sensor Enable
CTRL2 rw 3 03 00000011 00000000 Accelerometer: Output Data Rate, Full Scale, Self Test
CTRL3 rw 4 04 00000100 00000000 Gyroscope: Output Data Rate, Full Scale, Self Test
Magnetometer Settings: Output Data Rate, and Device
CTRL4 rw 5 05 00000101 00000000
Selection
CTRL5 rw 6 06 00000110 00000000 Low pass filter setting.
AttitudeEngine™ Settings: Output Data Rate, Motion on
CTRL6 rw 7 07 00000111 00000000
Demand
CTRL7 rw 8 08 00001000 00000000 Enable Sensors
CTRL8 rw 9 09 00001001 00000000 Reserved: Not Used
CTRL9 rw 10 0A 00001010 00000000 Host Commands
Host Controlled Calibration Registers (See CTRL9, Usage is Optional)
CAL1_L rw 11 0B 00001011 00000000 Calibration Register
CAL1_H rw 12 0C 00001100 00000000 CAL1_L – lower 8 bits. CAL1_H – upper 8 bits.
© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com
21
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


CAL2_L rw 13 0D 00001101 00000000 Calibration Register
CAL2_H rw 14 0E 00001110 00000000 CAL2_L – lower 8 bits. CAL2_H – upper 8 bits.
CAL3_L rw 15 0F 00001111 00000000 Calibration Register
CAL3_H rw 16 10 00010000 00000000 CAL3_L – lower 8 bits. CAL3_H – upper 8 bits.
CAL4_L rw 17 11 00010001 00000000 Calibration Register
CAL4_H rw 18 12 00010010 00000000 CAL4_L – lower 8 bits. CAL4_H – upper 8 bits.
FIFO Registers
FIFO_WTM_T
rw 19 13 00010011 00000000 FIFO watermark level, in ODRs
H
FIFO_CTRL rw 20 14 00010100 00000000 FIFO Setup
FIFO_SMPL_C
r 21 15 00010101 00000000 FIFO sample count LSBs
NT
FIFO_STATUS r 22 16 00010110 00000000 FIFO Status
FIFO_DATA r 23 17 00010111 00000000 FIFO Data
Status Registers
I2CM_STATUS r 44 2C 00101100 00000000 I2C Master Status.
STATUSINT r 45 2D 00101101 00000000 Sensor Data Availability with the Locking mechanism.
STATUS0 r 46 2E 00101110 00000000 Output Data Over Run and Data Availability.
Miscellaneous Status: Wake on Motion, CmdDone
STATUS1 r 47 2F 00101111 00000000
(CTRL9 protocol bit).
Timestamp Register
TIMESTAMP_
r 48 30 00110000 00000000
LOW Sample Time Stamp
TIMESTAMP_ TIMESTAMP_LOW – lower 8 bits.
r 49 31 00110001 00000000
MID TIMESTAMP_MID – middle 8 bits.
TIMESTAMP_ TIMESTAMP_HIGH – upper 8 bits
r 50 32 00110010 00000000
HIGH
Data Output Registers (16 bits 2’s Complement Except Self-Test Sensor Data, AE-CLIP and AE_OVFLOW)
TEMP_L r 51 33 00110011 00000000 Temperature Output Data
TEMP_H r 52 34 00110100 00000000 TEMP_L – lower 8 bits. TEMP_H – upper 8 bits
AX_L r 53 35 00110101 00000000 X-axis Acceleration
AX_H r 54 36 00110110 00000000 AX_L – lower 8 bits. AX_H – upper 8 bits
AY_L r 55 37 00110111 00000000 Y-axis Acceleration
AY_H r 56 38 00111000 00000000 AY_L – lower 8 bits. AY_H – upper 8 bits
AZ_L r 57 39 00111001 00000000 Z-axis Acceleration
AZ_H r 58 3A 00111010 00000000 AZ_L – lower 8 bits. AZ_H – upper 8 bits
GX_L r 59 3B 00111011 00000000 X-axis Angular Rate
GX_H r 60 3C 00111100 00000000 GX_L – lower 8 bits. GX_H – upper 8 bits
GY_L r 61 3D 00111101 00000000 Y-axis Angular Rate
GY_H r 62 3E 00111110 00000000 GY_L – lower 8 bits. GY_H – upper 8 bits
GZ_L r 63 3F 00111111 00000000 Z-axis Angular Rate
GZ_H r 64 40 01000000 00000000 GZ_L – lower 8 bits. GZ_H – upper 8 bits
MX_L r 65 41 01000001 00000000 X-axis Magnetic Field
MX_H r 66 42 01000010 00000000 MX_L – lower 8 bits. MX_H – upper 8 bits
MY_L r 67 43 01000011 00000000 Y-axis Magnetic Field
MY_H r 68 44 01000100 00000000 MY_L – lower 8 bits. MY_H – upper 8 bits

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


22
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


MZ_L r 69 45 01000101 00000000 Z-axis Magnetic Field
MZ_H r 70 46 01000110 00000000 MZ_L – lower 8 bits. MZ_H – upper 8 bits
dQW_L r 73 49 01001001 00000000 Quaternion Increment dQW
dQW_H r 74 4A 01001010 00000000 dQW_L – lower 8 bits. dQW_H – upper 8 bits
dQX_L r 75 4B 01001011 00000000 Quaternion Increment dQX
dQX_H r 76 4C 01001100 00000000 dQX_L – lower 8 bits. dQX_H – upper 8 bits
dQY_L r 77 4D 01001101 00000000 Quaternion Increment dQY
dQY_H r 78 4E 01001110 00000000 dQY_L – lower 8 bits. dQY_H – upper 8 bits
dQZ_L r 79 4F 01001111 00000000 Quaternion Increment dQZ
dQZ_H r 80 50 01010000 00000000 dQZ_L – lower 8 bits. dQZ_H – upper 8 bits
dVX_L r 81 51 01010001 00000000 Velocity Increment along X-axis
dVX_H r 82 52 01010010 00000000 dVX_L – lower 8 bits. dVX_H – upper 8 bits
dVY_L r 83 53 01010011 00000000 Velocity Increment along Y-axis
dVY_H r 84 54 01010100 00000000 dVY_L – lower 8 bits. dVY_H – upper 8 bits
dVZ_L r 85 55 01010101 00000000 Velocity Increment along Z-axis
dVZ_H r 86 56 01010110 00000000 dVZ_L – lower 8 bits. dVZ_H – upper 8 bits
AE_REG1 r 87 57 01010111 00000000 AttitudeEngine Register 1
AE_REG2 r 88 58 01011000 00000000 AttitudeEngine Register 2
Reset Register
RESET w 196 60 01100000 00000000 Soft Reset Register

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


23
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5 UI Sensor Configuration Settings and Output Data
5.1 Typical Sensor Mode Configuration and Output Data
In Typical Sensor Mode, QMI8658C outputs raw sensor values. The sensors are configured and read using the
registers described below. The accelerometer, gyroscope and magnetometer can be independently configured. Table
21 summarizes these pertinent registers.
Table 21. Typical Sensor Mode Configuration and Output Data
Typical Sensor Configuration and Output Data
Description Registers Unit Comments
Sensor Enable, SPI 3 or 4
CTRL1 Control power states, configure SPI communications
Wire
Individually Enable/Disable the AttitudeEngine, Accelerometer,
Enable Sensor CTRL7 Gyroscope and Magnetometer Using sEN, aEN, gEN, and
mENbits, respectively.
Configure Accelerometer,
CTRL2 Configure Full Scale and Output Data Rate; Enable Self Test
Enable Self Test
Configure Gyroscope,
CTRL3 Configure Full Scale and Output Data Rate; Enable Self Test
Enable Self Test
Configure Magnetometer CTRL4 Configure Output Data Rate and Choose Device
Sensor Filters CTRL5 Configure and Enable/Disable Low Pass Filters
STATUSINT
Status STATUS0, Data Availability, FIFO Ready to be Read, CTRL9 Protocol Bit
STATUS1
TIMESTAMP[
Time Stamp Sample Time Stamp (Circular Register 0 – 0xFFFFFF)
H,M,L]
Acceleration A[X,Y,Z]_[H,L] g In Sensor Frame of Reference, Right-handed Coordinate System
Angular Rate G[X,Y,Z]_[H,L] dps In Sensor Frame of Reference, Right-handed Coordinate System
Magnetic Field M[X,Y,Z]_[H,L] gauss In Sensor Frame of Reference, Right-handed Coordinate System
Temperature TEMP_[H,L] °C Temperature of the Sensor
FIFO Based Output FIFO_DATA 1 Byte FIFO Data Outputs

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


24
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.2 AttitudeEngine (AE) Mode Configuration and Output Data
In AE Mode, the QMI8658C outputs orientation (quaternion) and velocity increments.
Orientation increments are expressed in unit quaternion format. dQ = [QW, QX, QY, QZ] where QW is the scalar
component of the quaternion increment and QX, QY and QZ are the (imaginary) vector components of the unit
quaternion. Velocity increments are expressed in vector format dV = [VX, VY, VZ].
Table 22 summarizes the operation of the AttitudeEngine mode.
Table 22. AttitudeEngine Mode Configuration and Output Registers

AttitudeEngine Mode
Configuration Registers Unit Comments
Sensor Enable, SPI 3 or 4
CTRL1 Control power states, SPI communications
Wire
Enable the AttitudeEngine (CTRL7, sEN =1, aEN=1, gEN=1,
Enable AttitudeEngine CTRL7
optionally mEN=1 if external magnetometer is available)
Configure CTRL6 AttitudeEngine Output Data Rate and Motion on Demand
Configure Accelerometer,
CTRL2 Configure Full Scale; Enable Self Test
Enable Self Test
Configure Gyroscope,
CTRL3 Configure Full Scale; Enable Self Test
Enable Self Test
Configure Magnetometer CTRL4 Configure Output Data Rate and choose device
Sensor Filters CTRL5 Configure and Enable/Disable Low Pass Filters
Quaternion Increment dQ[W,X,Y,Z]_[H,L] Unit Quaternion format in sensor frame
Rotation compensated velocity increment (based on specific
Velocity Increment dV[X,Y,Z]_[H,L] ms-1
force), rotated to sensor frame of reference
gaus Rotation compensated magnetic field (rotated to sensor frame
Magnetic Field M[X,Y,Z]_[H,L]
s of reference)
STATUSINT
Status STATUS0, Data Availability, Wake on Motion detected
STATUS1
Magnetometer and Gyroscope bias update
Bias Update, Clipping, AE_CLIP,
acknowledgement, Sensor clipping acknowledgement,
Overflow AE_OVFLOW
Velocity increment overflow
Temperature TEMP_[H,L] °C Temperature of the sensor

5.3 General Purpose Register


Table 23. General Purpose Register Description

Register Name
WHO_AM_I Register Address: 0 (0x00)
Bits Name Default Description
7:0 WHO_AM_I 0x05 Device identifier 0x05 - to identify the device is a QST sensor
7:0 REVISION_ID 0x79 Device Revision ID

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


25
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.4 Configuration Registers
This section describes the various operating modes and register configurations of the QMI8658C.
Table 24. Configuration Registers Description

Register Name
CTRL1 Serial Interface and Sensor Enable. Register Address: 2 (0x02)
Bits Name Default Description
0: Enables 4-wire SPI interface
7 SIM 1’b0
1: Enables 3-wire SPI interface
0: Serial interface (SPI or I2C) address do not auto increment.
6 SPI_AI 1’b0
1: Serial interface (SPI or I2C) address auto increment
0: SPI read data little endian
5 SPI_BE 1’b1
1: SPI read data big endian
4:1 Reserved 4’b0 Reserved
0: Enables internal 2 MHz oscillator
0 SensorDisable 1’b0
1: Disables internal 2 MHz oscillator
CTRL2 Accelerometer Settings: Address: 3 (0x03)
Bits Name Default Description
7 aST 1’b0 Enable Accelerometer Self Test.
Set Accelerometer Full-scale:
000 - Accelerometer Full-scale = ±2 g
001 - Accelerometer Full-scale = ±4 g
6:4 aFS<2:0> 3’b0
010 - Accelerometer Full-scale = ±8 g
011 – Accelerometer Full-scale = ±16 g
1xx – N/A
Set Accelerometer Output Data Rate (ODR):
Setting ODR Rate (Hz) Mode Duty Cycle
0000 8000 Normal 100%
0001 4000 Normal 100%
0010 2000 Normal 100%
0011 1000 Normal 100%
0100 500 Normal 100%
0101 250 Normal 100%
0110 125 Normal 100%
3:0 aODR<3:0>(13) 4’b0
0111 62.5 Normal 100%
1000 31.25 Normal 100%
1001 N/A
1010 N/A
1011 N/A
1100 128 Low Power 100%
1101 21 Low Power 58%
1110 11 Low Power 31%
1111 3 Low Power 8.5%

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


26
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 24 Configuration Register Description (Continued)

Register Name
CTRL3 Gyroscope Settings: Address 4 (0x04)
Bits Name Default Description
7 gST 1’b0 Enable Gyro Self-Test.
Set Gyroscope Full-scale:
000 - ±16 dps
001 - ±32 dps
010 - ±64 dps
6:4 gFS<2:0> 3’b0 011 - ±128 dps
100 - ±256 dps
101 - ±512 dps
110 - ±1024dps
111 - ±2048 dps
Set Gyroscope Output Data Rate (ODR):
Setting ODR Rate (Hz) Mode Duty Cycle
0000 8000 Normal 100%
0001 4000 Normal 100%
0010 2000 Normal 100%
0011 1000 Normal 100%
0100 500 Normal 100%
0101 250 Normal 100%
0110 125 Normal 100%
3:0 gODR<3:0> (13) 4’b0
0111 62.5 Normal 100%
1000 31.25 Normal 100%
1001 N/A
1010 N/A
1011 N/A
1100 N/A
1101 N/A
1110 N/A
1111 N/A
CTRL4 Magnetometer Settings: Address: 5 (0x05)
Bits Name Default Description
7 Reserved 1’b0
Designate External Magnetometer Device: (supported devices listed
6:3 mDEV<3:0> 4’b0
in Section 11).
Set Recommended Magnetometer Output Data Rate (ODR):

Setting ODR Rate (Hz)


000 1000
001 500
2:0 mODR<2:0> 3’b0 010 250
011 125
100 62.5
101 31.25
110 N/A
11x N/A
Note:
13. The accelerometer low power mode is only available when the gyroscope is disabled
© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com
27
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 24 Configuration Register Description (Continued)

Register Name
CTRL5 Sensor Data Processing Settings. Register Address: 6 (0x06)
Bits Name Default Description
7 Reserved 1’b0

gLPF_MODE BW [Hz]
00 2.62% of ODR
6:5 gLPF_MODE 2’b0
01 3.59% of ODR
10 5.32% of ODR
11 14.0% of ODR
0: Disable Gyroscope Low-Pass Filter.
4 gLPF_EN 1’b0 1: Enable Gyroscope Low-Pass Filter with the mode given by
gLPF_MODE.
3 Reserved 1’b0

aLPF_MODE BW [Hz]
00 2.62% of ODR
2:1 aLPF_MODE 2’b0
01 3.59% of ODR
10 5.32% of ODR
11 14.0% of ODR
0: Disable Accelerometer Low-Pass Filter.
0 aLPF_EN 1’b0 1: Enable Accelerometer Low-Pass Filter with the mode given
by aLPF_MODE.
CTRL6 Attitude Engine ODR and Motion on Demand: Address: 7 (0x07)
Bits Name Default Description
0: Disables Motion on Demand.
7 sMoD 1’b0
1: Enables Motion on Demand (Requires sEN=1).
6:3 Reserved 4’b0
Attitude Engine Output Data Rate (ODR)
Setting ODR Rate (Hz)
000 1
001 2
010 4
2:0 sODR<2:0> 3’b0
011 8
100 16
101 32
110 64

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


28
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 24 Configuration Register Description (Continued)

Register Name
CTRL7 Enable Sensors and Configure Data Reads. Register Address: 8 (0x08)
Bits Name Default Description
0: Disable syncSmpl mode
7 syncSmpl 1’b0
1: Enable syncSmple mode
1: High Speed Internal Clock
6 sys_hs 1’b0
0: Clock based on ODR
5 Reserved 1’b0
0: Gyroscope in Full Mode (Drive and Sense are enabled).
4 gSN 1’b0 1: Gyroscope in Snooze Mode (only Drive enabled).
This bit is effective only when gEN is set to 1.
0: Disable AttitudeEngine orientation and velocity increment
computation
3 sEN 1’b0
1: Enable AttitudeEngine orientation and velocity increment
computation
0: Magnetometer placed in Standby or Power-down Mode.
2 mEN 1’b0
1: Enable Magnetometer
0: Gyroscope placed in Standby or Power-down Mode.
1 gEN 1’b0
1: Enable Gyroscope.
0: Accelerometer placed in Standby or Power-down Mode.
0 aEN 1’b0
1: Enable Accelerometer.
CTRL8 Reserved – Special Settings. Register Address: 9 (0x09)
Bits Name Default Description
7:0 Reserved 0x00 Not Used
Register Name
Host Commands. Register Address: 10 (0x0A), Referred to: CTRL 9 Functionality
CTRL9 (Executing Pre-defined Commands)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


29
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.5 FIFO Registers
Table 25. FIFO Control/Status/Data Registers

Register Name
FIFO_WTM_TH FIFO Watermark Register Address: 19 (0x13)
Bits Name Default Description
7:0 FIFO_WTM 8’h0 Number of ODRs needed to trigger watermark
FIFO_CTRL FIFO Control Register Address: 20 (0x14)
Bits Name Default Description
This bit is automatically set by using a CTRL9 command to request
the FIFO to read data out of FIFO via FIFO_DATA register. It must
7 FIFO_RD_MODE 1’b0
be cleared again after the data read is complete so that writing
data to the FIFO can resume.
6:4 Reserved 3’b0
FIFO_SIZE[1:0] FIFO Sample Size
00 16 samples
3:2 FIFO_SIZE 2’b0 01 32 samples
10 64 samples
11 128 samples
FIFO_MODE[1:0] FIFO Sample Size
00 Bypass (FIFO disable)
01 FIFO
10 Stream
1:0 FIFO_MODE 2’b0
11 Stream to FIFO. In stream to
FIFO mode, once
motion/gesture interrupt event
happens, content of FIFO will
be emptied, pointers reset
FIFO_SMPL_CNT FIFO Sample Count Register Address: 21 (0x15)
Bits Name Default Description
FIFO_SMPL_CNT_L
7:0 8’b0 8 LS bits of FIFO Sample Count (in bytes).
SB
FIFO_STATUS FIFO Status. Register Address 22 (0x16)
Bits Name Default Description
0 – FIFO is not Full
7 FIFO_FULL 1’b0
1 -- FIFO is Full
0 -- FIFO Water Mark Level not hit.
6 FIFO_WTM 1’b0
1 – FIFO Water Mark Level Hit
0 – FIFO Overflow has not happened
5 FIFO_OVFLOW 1’b0 1 -- FIFO Overflow condition has happened (attempt to save ODR
data to FIFO when it is full)
0 – FIFO is Empty
4 FIFO_NOT_EMPTY 1’b0
1 -- FIFO is not Empty
3:2 Reserved 2’b0
FIFO_SMPL_CNT_
1:0 2’b0 2 MS bits of FIFO Sample Count (in bytes).
MSB

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


30
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


FIFO_DATA FIFO DATA Output Register Address: 23 (0x17)
Bits Name Default Description
7:0 FIFO_DATA 8’b0 8 bit FIFO data output.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


31
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.6 Status and Time Stamp Registers

Table 26. Status and Time Stamp Registers

Register Name
I2CM_STATUS I2C Master Status, Register Address: 44 (0x2C)
Bits Name Default Description
7:3 Reserved 5’b0
0: I2C Master data movement not complete (ARM still processing)
2 I2CM_done 1’b0
1: I2C Master data movement is complete (ARM has finished)
0: Magnetometer data is NOT Valid
1 Data_VLD 1’b0 1: Indicates Magnetometer X, Y, Z axes data is available and valid.
This signal is asserted at the next ODR pulse and de-asserted on
I2C read of the next cycle.
0: I2C Master transaction with peripheral is not done.
0 I2CM_active 1’b0
1: Indicate I2C Master transaction with peripheral is done.
STATUSINT Sensor Data Available and Lock Register Address: 45 (0x2D)
Bits Name Default Description
7:2 Reserved 5’b0
If syncSmpl = 1 (Bit 7 in CTRL7) then:
0: Sensor Data not locked.
1 Locked 1’b0 1: Sensor Data Locked.
If syncSmpl = 0 then bit 1 will have the same value of the Interrupt
in INT1.
If syncSmpl = 1 (Bit 7 in CTRL7) then:
0: Sensor Data not available
0 Avail 1’b0 1: Sensor Data available for reading
If syncSmpl = 0 then bit 0 will have the same value of the Interrupt
in INT2.
STATUS0 Output Data Status Register Address: 46 (0x2E)
Bits Name Default Description

7:4 Reserved 4’b0

AE new data available


3 sDA 1’b0 0: No updates since last read.
1: New data available.
Valid Magnetometer data available
0: Magnetometer data is NOT Valid
2 mDA 1’b0 1: Valid Magnetometer data is available at every ODR. If Mag ODR
is lower than accelerometer and gyroscope ODR previous valid
Magnetometer data will be repeated until new data is available
Gyroscope new data available
1 gDA 1’b0 0: No updates since last read.
1: New data available.
Accelerometer new data available
0 aDA 1’b0 0: No updates since last read.
1: New data available.
STATUS1 Miscellaneous Status. Register Address 47 (0x2F)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


32
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Bits Name Default Description
7:1 Reserved 7’b0 Reserved
Bit read by Host Processor as part of CTRL9 register protocol.
0 CmdDone 1’b0
Used to indicate ctrl9 Command was done.
3 Bytes Sample Time Stamp – Output Count. Register Address: 48 - 50
TIMESTAMP
(0x30 - 0x32)
Bits Name Default Description
TIMESTAMP_L<7:
7:0 0x00
0>
Sample time stamp. Count incremented by one for each sample
TIMESTAMP_M<1
7:0 0x00 (x, y, z data set) from sensor with highest ODR (circular register
5:8>
0x0-0xFFFFFF).
TIMESTAMP_H<2
7:0 0x00
3:16>

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


33
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.7 Sensor Data Output Registers
Table 27. Sensor Data Output Registers Description
Register Name
TEMP_[H,L] Temp Sensor Output. Register Address: 51 – 52, (0x33 – 0x34)
Bits Name Default Description
7:0 TEMP_L 0x00
Temperature output (°C) in two’s complement.
7:0 TEMP_H 0x00
Register Name
A[X,Y,Z]_[H,L] Acceleration Output. Register Address: 53 – 58, (0x35 – 0x3A)
Bits Name Default Description
7:0 AX_L<7:0> 0x00 X-axis acceleration in two’s complement.
7:0 AX_H<15:8> 0x00 AX_L – lower 8 bits. AX_H – upper 8 bits.

7:0 AY_L<7:0> 0x00 Y-axis acceleration in two’s complement.


7:0 AY_H<15:8> 0x00 AY_L – lower 8 bits. AY_H – upper 8 bits.

7:0 AZ_L<7:0> 0x00 Z-axis acceleration in two’s complement.


7:0 AZ_H<15:8> 0x00 AZ_L – lower 8 bits. AZ_H – upper 8 bits.

Register Name
G[X,Y.Z]_[H,L] Angular Rate Output. Register Address: 59 – 64 (0x3B – 0x40)
Bits Name Default Description
7:0 GX_L<7:0> 0x00 X-axis angular rate in two’s complement.
7:0 GX_H<15:8> 0x00 GX_L – lower 8 bits. GX_H – upper 8 bits.

7:0 GY_L<7:0> 0x00 Y-axis angular rate in two’s complement.


7:0 GY_H<15:8> 0x00 GY_L – lower 8 bits. GY_H – upper 8 bits.

7:0 GZ_L<7:0> 0x00 Z-axis angular rate in two’s complement.


7:0 GZ_H<15:8> 0x00 GZ_L – lower 8 bits. GZ_H – upper 8 bits.

Register Name
M[X,Y,Z]_[H,L] Magnetometer Output. Register Address: 65 - 70. (0x41 – 0x46)
Bits Name Default Description
7:0 MX_L<7:0> 0x00 X-axis magnetic field data in two’s complement.
7:0 MX_H<15:8> 0x00 MX_L – lower 8 bits. MX_H – upper 8 bits.

7:0 MY_L<7:0> 0x00 Y-axis magnetic field data in two’s complement.


7:0 MY_H<15:8> 0x00 MY_L – lower 8 bits. MY_H – upper 8 bits.

7:0 MZ_L<7:0> 0x00 Z-axis magnetic field data in two’s complement.


7:0 MZ_H<15:8> 0x00 MZ_L – lower 8 bits. MZ_H – upper 8 bits.
Continued on the following page

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


34
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 27 Sensor Data Output Registers Description (Continued)
Register Name
dQ[1,2,3,4]_[H,L] Quaternion Output. Register Addresses: 73 – 80 (0x49 – 0x50)
Bits Name Default Description
7:0 dQW_L<7:0> 0x00 Quaternion Increment dQW in two’s complement.
7:0 dQW_H<15:8> 0x00 dQW_L – lower 8 bits. dQW_H – upper 8 bits.

7:0 dQX_L<7:0> 0x00 Quaternion Increment dQX in two’s complement.


7:0 dQX_H<15:8> 0x00 dQX_L – lower 8 bits. dQX_H – upper 8 bits.

7:0 dQY_L<7:0> 0x00 Quaternion Increment dQY in two’s complement.


7:0 dQY_H<15:8> 0x00 dQY_L – lower 8 bits. dQY_H – upper 8 bits.

7:0 dQZ_L<7:0> 0x00 Quaternion Increment dQZ in two’s complement.


7:0 dQZ_H<15:8> 0x00 dQZ_L – lower 8 bits. dQZ_H – upper 8 bits.

dV[X,Y,Z]_[H,L] Delta Velocity Output. Register Address: 81 – 86 (0x51– 0x56)


Bits Name Bits Name
7:0 dVX_L<7:0> 0x00 X-axis Velocity Increment in two’s complement.
7:0 dVX_H<15:8> 0x00 dVX_L – lower 8 bits. dVX_H – upper 8 bits.

7:0 dVY_L<7:0> 0x00 Y-axis Velocity Increment in two’s complement.


7:0 dVY_H<15:8> 0x00 dVY_L – lower 8 bits. dVY_H – upper 8 bits.

7:0 dVZ_L<7:0> 0x00 Z-axis Velocity Increment in two’s complement.


7:0 dVZ_H<15:8> 0x00 dVZ_L – lower 8 bits. dVZ_H – upper 8 bits.

AE_REG1 AttitudeEngine Register 1, Address: 87 (0x57)


Bits Name Default Description
7 Reserved 1’b0
Acknowledgement that Gyro Bias was updated during this time
6 GyroBiasAck 1’b0
period.
5 wz_clip 1’b0 Gyroscope Z-axis data was clipped during the dQ calculation.
4 wy_clip 1’b0 Gyroscope Y-axis data was clipped during the dQ calculation.
3 wx_clip 1’b0 Gyroscope X-axis data was clipped during the dQ calculation.
2 az_clip 1’b0 Accelerometer Z-axis data was clipped during the dQ calculation.
Accelerometer Y-axis data was clipped during the dQ
1 ay_clip 1’b0
calculation.
Accelerometer X-axis data was clipped during the dQ
0 ax_clip 1’b0
calculation.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


35
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Table 27 Sensor Data Output Registers Description (Continued)

Register Name
AE_REG2 AttitudeEngine Register 2, Address: 88 (0x58)
Bits Name Default Description
7:3 Reserved 5’b0
2 dvz_of 1’b0 Velocity Increment overflow along dvz.
1 dvy_of 1’b0 Velocity Increment overflow along dvy.

0 dvx_of 1’b0 Velocity Increment overflow along dvx.

Table 28. AttitudeEngine Modes and Output Table

Comments on
Mode/Outputs dQ dV M TIMESTAMP
TIMESTAMP
AttitudeEngine in ODR Mode (Accelerometer and Gyroscope Enabled)
CTRL6 Register sMoD=0
24-bit data.
gSN=0 Count starts at 1,
sEN=1 Quaternion Velocity AttitudeEngine 16,777,216
No Data
Increment Increment Sample Count count wraps to 0,
CTRL7 Register aEN=1 i.e.
gEN=1 Mod(16,777,216)
mEN=0
AttitudeEngine in Motion on Demand (MoD) mode (Accelerometer and Gyroscope enabled)
CTRL6 Register sMoD=1
24-bit data.
gSN=0 Gyroscope Count starts at 1,
sEN=1 Quaternion Velocity Samples in 16,777,216
No Data
Increment Increment Integration count wraps to 0,
CTRL7 Register aEN=1 Window i.e.
gEN=1 Mod(16,777,216)
mEN=0
AttitudeEngine with Raw Magnetometer in ODR Mode (Accelerometer, Gyroscope and
Magnetometer Enabled)

CTRL6 Register sMoD=0


24-bit data.
gSN=0 Count starts at 1,
Initial
sEN=1 Quaternion Velocity AttitudeEngine 16,777,216
Raw Mag
Increment Increment Sample Count count wraps to 0,
CTRL7 Register aEN=1 Data
i.e.
gEN=1 Mod(16,777,216)
mEN=1

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


36
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


5.8 CTRL 9 Functionality (Executing Pre-defined Commands)

WCtrl9 (Write – CTRL9 Protocol)


CTRL 9 Description
1. The host needs to provide the required data for this
The protocol for executing predefined commands from an command to the QMI8658C. The host typically does
external host processor on the QMI8658C is facilitated by this by placing the data in a set of registers called the
using the Control 9 (CTRL9) register. The register is CAL buffer. Eight CAL registers are used; the
available to the host via the UI SPI/I2C/I3C bus. It following table provides the name and addresses of
operates by the host writing a pre-defined value these registers.
(Command) to the CTRL9 register. The firmware of the 2. Write Ctrl9 register 0x0a with the appropriate
QMI8658C evaluates this command and if a match is Command value.
found it executes the corresponding pre-defined function. 3. The Device will raise INT1 and set Bit 0 in STATUS1
Once the function has been executed, the QMI8658C reg, to 1 once it has executed the appropriate
signals the completion of this by raising INT1 interrupt. function based on the command value.
The host must acknowledge this by reading STATUS1 4. The host must acknowledge this by reading
register bit 0. This is the CmdDone bit. After this read, the STATUS1 register bit 0 (CmdDone) which is reset to
QMI8658C pulls down the INT1 interrupt. This command 0 on reading the register. In addition, INT1 is pulled
presentation from the host to the QMI8658C and the low, completing the CTRL9 transaction.
subsequent execution and handshake between the host 5. If any data is expected from the device, it will be
and the QMI8658C will be referred to as the “CTRL9 available at this time. The location of the data is
Protocol”. specified separately for each of the Commands.
There are three types of interactions between the host
and QMI8658C that follow the CTRL9 Protocol.
Table 29. CAL Register Addresses
WCtrl9: The host needs to supply data to QMI8658C
prior to the Ctrl9 protocol. (Write – Ctrl9 Protocol) Register Address
Register Name
Ctrl9R: The host gets data from QMI8658C following the Dec Hex
Ctrl9 protocol. (Ctrl9 protocol – Read)
CAL1_L 11 0x0B
Ctrl9: No data transaction is required prior to or following
CAL1_H 12 0x0C
the Ctrl9 protocol. (Ctrl9).
CAL2_L 13 0x0D
CAL2_H 14 0x0E
CAL3_L 15 0x0F
CAL3_H 16 0x10
CAL4_L 17 0x11
CAL4_H 18 0x12

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


37
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Ctrl9R (CTRL9 Protocol - Read) Ctrl9 (CTRL9 Protocol
1. Write Ctrl9 register 0x0A with the appropriate Acknowledge)
Command value. 1. Write CTRL9 register 0x0a with the appropriate
2. The Device will raise INT1 and set Bit 0 in STATUS1 Command value.
register to 1 once it has executed the appropriate 2. The Device will raise INT1 and set Bit 0 in STATUS1
function based on the command value. register to 1 once it has executed the appropriate
3. The host must acknowledge this by reading function based on the command value.
STATUS1 register bit 0 (CmdDone) which is then 3. The host must acknowledge this by reading
reset to 0 upon reading the register. In addition, INT1 STATUS1 register bit 0 (CmdDone) which is then
is pulled low upon the register read, completing the reset to 0 upon reading the register. In addition, INT1
CTRL9 transaction. is pulled low upon the register read, completing the
Data is available from the device at this time. The CTRL9 transaction.
location of the data is specified separately for each
of the Commands.

Table 30. CTRL9 Register CMND Values

CTRL9
Protocol
CMND Name Command Description
Type
Value
CTRL_CMD_NOP 0x00 Ctrl9 No operation
Copies bias_gx,y,z from CAL registers to
CTRL_CMD_GYRO_BIAS 0x01 WCtrl9
FIFO and set GYROBIAS_PEND bit
SDI MOD (Motion on Demand), request
CTRL_CMD_REQ_SDI 0x03 Ctrl9R
to read SDI data
CTRL_CMD_RST_FIFO 0x04 Ctrl9 Reset FIFO from Host
CTRL_CMD_REQ_FIFO 0x05 Ctrl9R Get FIFO data from Device
Program device on I2C Master Bus
CTRL_CMD_I2CM_WRITE 0x06 WCtrl9 (I2CM) by writing to CAL1_[H,L],
CAL2_[H,L], and CAL3_L registers.
Set up and enable Wake on Motion
CTRL_CMD_WRITE_WOM_SETTING 0x08 WCtrl9
(WoM)
CTRL_CMD_ACCEL_HOST_DELTA_
0x09 WCtrl9 Change accelerometer offset
OFFSET
CTRL_CMD_GYRO_HOST_DELTA_
0x0A WCtrl9 Change gyroscope offset
OFFSET
Read USID_Bytes and FW_Version
CTRL_CMD_COPY_USID 0x10 Ctrl9R
bytes
CTRL_CMD_SET_RPU 0x11 WCtrl9 Configures IO pull-ups

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


38
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


CTRL9 Commands in Detail CTRL_CMD_WRITE_WOM_SETTING
This CTRL9 Command is issued when the host wants to
CTRL_CMD_NOP enable/modify the trigger thresholds or blanking interval
No Operation of the Wake on Motion Feature of the device. Please refer
to Section 9 for details for setting up this feature. Once
the specified CALx registers are loaded with the
CTRL_CMD_GYRO_BIAS
appropriate data, the Command is issued by writing 0x08
This CTRL9 Command is issued to copy bias_gx, to CTRL9 register 0x0A.
bias_gy, bias_gz from CAL registers to FIFO and set
GYROBIAS_PEND bit. CAL3_[H,L] is bias_gz, CTRL_CMD_ACCEL_HOST_DELTA_OFFSET
CAL2_[H,L] is bias_gy, CAL1_[H,L] is bias_gx.
This CTRL9 Command is issued when the host wants to
manually change the accelerometer offset. Each delta
CTRL_CMD_REQ_SDI
offset value should contain 16 bits and the format is
This CTRL9 command is used to retrieve motion data signed 4.12 (12 fraction bits). The user must write the
from the QMI8658C when Motion on Demand mode offset to the following registers:
(MoD) is enabled. To enable MoD the device should
Accel_Delta_X : {CAL1_H, CAL1_L}
have the AttitudeEngine orientation enabled. This can be
Accel_Delta_Y : {CAL2_H, CAL2_L}
done by enabling the AttitudeEngine by setting CTRL7 Bit
Accel_Delta_Z : {CAL3_H, CAL3_L}
3 (sEN) to 1. Then the MoD mode can be enabled by
setting CTRL6 Bit 7 (sMoD) to 1. The Next, the Command is issued by writing 0x09 to CTRL9
CTRL_CMD_REQ_MoD command is then issued by register 0x0A. Note, this offset change is lost when the
writing 0x0C to CTRL9 register 0x0A. This indicates to sensor is power cycled or the system is reset.
the QMI8658C that it is required to supply the motion data
to the host. The device immediately makes available the CTRL_CMD_GYRO_HOST_DELTA_OFFSET
orientation and velocity increments it has computed so far
to the host by making them available at output registers This CTRL9 Command is issued when the host wants to
0x25 to 0x3D and raises the INT1 to indicate to the host manually change the gyroscope offset. Each delta offset
that valid data is available. value should contain 16 bits and the format is signed 11.5
(5 fraction bits). The user must write the offset to the
CTRL_CMD_RST_FIFO following registers:

This CTRL9 command of writing 0x05 to the Ctrl9 register Gyro_Delta_X : {CAL1_H, CAL1_L}
0x0a allows the host to instruct the device to reset the Gyro_Delta_Y : {CAL2_H, CAL2_L}
FIFO. Gyro_Delta_Z : {CAL3_H, CAL3_L}
Next, the Command is issued by writing 0x0A to CTRL9
CTRL_CMD_REQ_FIFO register 0x0A. Note, this offset change is lost when the
sensor is power cycled or the system is reset.
This CTRL9 Command is issued when the host wants to
get data from the FIFO. When the FIFO is enabled it will
be indicated to the host by asserting INT2 and thus CTRL_CMD_COPY_USID
signaling that a flag condition (like FIFO full) has been This CTRL9 Command copies the following data into UI
reached and that data is available to be read by the host. registers. It is initiated by the host writing 0x10 to CTRL9.
This Command is issued by writing 0x0D to the CTRL9 After issuing the command, the data will be available for
register 0x0A. The device will raise INT1 to indicate that the host to read from the registers shown below:
it is ready for a FIFO transaction. The host must read the
STATUS1 register bit 0 (CmdDone). At this point the host FW_Version byte 0  dQW_L
should set the FIFO_rd_mode Bit to 1 (FIFO_CTRL FW_Version byte 1  dQW_H
register 0x13 bit 7). The device will direct the FIFO data FW_Version byte 2  dQX_L
to the FIFO_DATA register 0x14 until the FIFO is empty.
The host must now set FIFO_rd_mode to 0, which will USID_Byte_0  dVX_L
cause the INT2 to be de-asserted. USID_Byte_1  dVX_H
USID_Byte_2  dVY_L
CTRL_CMD_I2CM_WRITE USID_Byte_3  dVY_H
This CTRL9 command of writing 0x06 to the Ctrl9 register USID_Byte_4  dVZ_L
0x0a allows the host to instruct the device to Program USID_Byte_5  dVZ_H
I2CM by writing to CAL1_[H,L], CAL2_[H,L], and CAL3_L
registers. CAL3_L is address offset, CAL2_[H,L] is
register data[31:16], CAL1_[H,L] is register data[15:0].
This Command is used to configure the I2C master, and
to execute an I2C write or read command.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


39
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


CTRL_CMD_SET_RPU
This CTRL9 Command is issued when the host wants to
manually configure the IO pull-up resistors. Each bit
controls a unique resistor as shown:
aux_rpu_dis: CAL1_L bit[0]
icm_rpu_dis: CAL1_L bit[1]
cs_rpu_dis: CAL1_L bit[2]
ics_rpu_dis: CAL1_L bit[3]

The host writes the appropriate CAL1_L bit by issuing a


WCtrl9 command to 0x11.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


40
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


6 Interrupts

6.1 Overview
The QMI8658C has two Interrupt lines, INT1 and INT2. With syncSmpl = 1 (refer to Table 24, CTRL7 register bit
INT1 is used as a general-purpose interrupt. The details 7), INT2 is placed into level mode: The INT2 is asserted
are described in the specific sections where INT1 and when data is available and remains asserted until the
INT2 are used. The following provides a summary of the host reads STATUS0 register.
INT1 and INT2 usage. If syncSmpl = 0, then bit 1 of The device continues to refresh the output data until the
STATUSINT register will have the same value as INT1 STATUS0 register is read by host.
and bit 0 of STATUSINT register will have the same value
as INT2. Once the STATUS0 is read by host the QMI8658C will
deassert INT2 and stop refreshing the output data. Once
the host detects INT2 has been deasserted it can start
Interrupt 1 (INT1) reading the output data.
The following summarizes the use of INT1:
Once the last byte of data has been read by the host (the
Set high for ~4 ms after reset to indicate that the chip is QMI8658C keeps track) the QMI8658C will start updating
ready for normal operation. the output register and set up the next INT2 when data is
If any operation has set INT1 it will always be cleared by available in the output registers.
reading STATUS1 register. FIFO Enabled Mode (see Section 8)
Used as part of the CTRL9 handshake protocol (see When the FIFO is enabled in the FIFO mode (the mode
section 5.8). bits in FIFO_CTRL register set to 01), INT2 is asserted
When Wake on Motion (WoM) is enabled, INT1 can be when the FIFO is full or when the watermark is reached.
selected to indicate WoM (see section 9). When the FIFO is enabled in the Streaming Mode (the
mode bits in FIFO_CTRL register set to 10), INT2 is
Interrupt 2 (INT2) asserted when the watermark is reached but not when
the FIFO is full because in the stream mode the FIFO will
INT2 generally indicates data availability.
continue to fill by overwriting the oldest data in the FIFO.
When Wake on Motion (WoM) is enabled, INT2 can be
INT2 is cleared in both the FIFO Mode and the Streaming
selected to indicate WoM (see section 9).
Mode by clearing the FIFO_rd_mode bit in the
The following indicates when INT2 will be asserted. FIFO_CTRL register. This is done as part of the CTRL9
command CTRL_CMD_REQ_FIFO.
Register-Read Mode (FIFO Bypass Mode)
Accelerometer and Gyroscope Self Test Modes (see
In Register-Read mode the accelerometer, gyroscope Section 10)
and magnetometer data are available in the Sensor Data
Output registers (A[X,Y,Z]_[H,L]). The updating of these INT2 is asserted to indicate availability of self-test data
output registers and the functionality of the INT2 interrupt and is cleared by resetting the aST and gST bits in
is controlled by the syncSmpl bit as described below. CTRL2 and CTRL3 registers, respectively.
With syncSmpl = 0 (refer to Table 24, CTRL7 register bit AE Mode
7), INT2 is placed into edge trigger mode: the Sensor
In AE Mode, INT2 is asserted when data is available.
Data Output Registers are updated at the Output Data
Rate (ODR), and INT2 is pulsed at the ODR. A rising
edge on INT2 indicates that data is available and INT2 is
cleared automatically after a short duration. It is the
responsibility of the host to detect the rising edge and to
latch the data before the next sample occurs. Note that
the INT2 pulse width is dependent on the ODR and the
sensor. It is not recommended to depend on the level to
determine if INT2 has occurred.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


41
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


7 Operating Modes
The QMI8658C offers a large number of operating modes and are shown in Figure 8; they may be configured using
that may be used to operate the device in a power the control (CTRL) registers.
efficient manner. These modes are described in Table 31

Table 31. Operating Modes

Mode Description Suggested Configuration


Sensor Modes
CTRL1 sensorDisable = 0
All sensors off, clock is turned on. The current in this mode
CTRL7 aEN = 0, gEN = 0,
Power-On Default is typically 50 µA. Note this mode is the default state upon
mEN = 0, sEN=0.
initial power up or after a reset.
CTRL2 aODR =000
Same as Power-On Default mode, except in this mode the CTRL1 sensorDisable =0
250 kHz clock is turned on instead of the 2 MHz clock. The CTRL7 aEN = 0, gEN = 0,
Low Power
current in this mode is typically 25 µA. To enter this mode mEN = 0, sEN=0.
requires host interaction to set CTRL2 aODR=11xx. CTRL2 aODR =11xx
All QMI8658C functional blocks are switched off to
minimize power consumption. Digital interfaces remain on
allowing communication with the device. All configuration CTRL1 sensorDisable =1
Power-Down register values are preserved, and output data register CTRL7 aEN = 0, gEN = 0,
values are maintained. The current in this mode is typically mEN = 0, sEN=0.
20 µA. The host must initiate this mode by setting
sensorDisable=1.
CTRL7 aEN =1, gEN =0,
Normal Accel Only Device configured as an accelerometer only. mEN =0
CTRL2 aODR !=11xx
CTRL7 aEN =1, gEN =0,
Low Power Accel Only Device configured in low power accelerometer mode. mEN =0
CTRL2 aODR =11xx
Device configured as gyroscope Drive only, since the
CTRL7 gSN=1, aEN =0, gEN
Snooze Gyro Sense is not enabled, there is no data from the gyroscope
=1, mEN =0
in this mode.
CTRL7 gSN=0, aEN =0, gEN
Gyro Only Device configured as a gyroscope only.
=1, mEN =0
CTRL7 aEN =0, gEN =0,
Mag Only Device configured as a magnetometer only.
mEN =1
Device configured as an accelerometer and magnetometer CTRL7aEN =1, gEN =0, mEN
Accel + Mag combination only. Device can be used as a (stabilized) =1
compass. CTRL2 aODR != 11xx
CTRL7 gSN=0, aEN =1, gEN
Device configured as an Inertial Measurement Unit, i.e. an =1, mEN =0
Accel + Gyro (IMU)
accelerometer and gyroscope combination sensor.
CTRL2 aODR != 11xx
Accelerometer and gyroscope are enabled and combined CTRL7 gSN=0, aEN =1, gEN
Accel + Gyro + Mag with an external magnetometer and the device can be used =1, mEN =1
(9DOF) as a 9D orientation sensor (Attitude and Heading
Reference). CTRL2 aODR != 11xx

CTRL7 gSN=1, aEN =1, gEN


Accelerometer and gyroscope snooze are enabled. Only =1, mEN =0
Accel + Snooze Gyro
accelerometer data is available.
CTRL2 aODR != 11xx
CTRL7 gSN=1, aEN =1, gEN
Accel + Mag + Snooze Accelerometer and gyroscope snooze are enabled. Only =1, mEN =1
Gyro accelerometer and magnetometer data are available.
CTRL2 aODR != 11xx
Very low power mode used to wake-up the host by
providing an interrupt upon detection of device motion. CTRL7 aEN =1, gEN =0,
Wake on Motion (WoM) mEN =0
WoM Mode enabled - see CTRL2 aODR = 11xx
CTRL_CMD_WRITE_WOM_SETTING in Section 5.8.5 and
© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com
42
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


see Section 9, Wake on Motion (WoM)

Table 31 Operating Modes (Continued)

Mode Description Suggested Configuration


Sensor Modes
Reset Software reset asserted
No Power VDDIO and VDD low
AttitudeEngine Modes
Attitude Engine Mode with Accelerometer and Gyroscope. CTRL7 aEN = 1, gEN = 1, sEN
6DOF AttitudeEngine =1
Note that velocity increments and orientation (quaternion)
Mode increments will be output rather than sensor values. CTRL2 aODR=0xx
CTRL7 aEN = 1, gEN = 1,
AttitudeEngine Mode with Accelerometer, Gyroscope, and sEN = 1,
9DOF AttitudeEngine Magnetometer. Note that velocity increments, orientation mEN = 1
Mode (quaternion) increments and magnetic field values will be
output rather than sensor values. CTRL4 (configure
magnetometer as needed)
CTRL7 aEN = 1, gEN = 1, sEN
Motion On Demand This mode allows Host to sample AttitudeEngine data =1
Mode asynchronously by polling.
CTRL6 sMOD = 1

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


43
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor

Figure 8. Operating Mode Transition Diagram

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


44
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


7.1 General Mode Transitioning
 Time t0 is the System Turn on Time and is 1.75
Upon exiting the No Power state (i.e. on first applying seconds. This time only needs to be done once,
power to the part) or exiting a Software Reset state, the upon transitioning from either a No Power or Power
part will enter the Power-On Default state. From there, Down state, or whenever a reset is issued, which
the sensor can be configured in the various modes should not be done unless the intent is to have the
described in Table 31 and as shown in Figure 8. The device to go through its entire boot sequence (see
figure illustrates the timing associated with various mode the specification System Turn On Time in both
transitions, and values for these times are given in the Table 7 and Table 8).
section below and in Table 7 and Table 8.
 The Gyro Turn on Time (see Table 8) is comprised
of t1 (the gyroscope wakeup time) and t5 (the part’s
7.2 Transition Times filter settling time). t1 is typically 60 ms and t5 is
The time it takes for data to be present after a mode defined as 3/ODR, where ODR is the output data
switch will vary and depends on which mode has been rate in Hertz.
selected. For example, the time it takes for retrieving data  The Accel Turn on Time (see Table 7) is comprised
from the accelerometer after a mode switch is less than of t2 (the accelerometer wakeup time) and t5 (the
any mode that involves the gyroscope. The times t1, t2, part’s filter settling time). t2 is typically 3 ms, and t5
t3 and t4, are defined as the time it takes from INT2 going is defined as 3/ODR, where ODR is the output data
high to data being present. The time, t5 is the time it takes rate in Hertz.
to have a correct representation of the inertial state. t5 is
variable and is associated with the user selected Output  Time t3 is the magnetometer wakeup time, which is
Data Rate (ODR). We have defined t5 = (3/ODR) to typically 12 ms. Transitioning from the Power-On
generally represent that time. Default state to a Mag Only state or a Mag + Accel
state takes the time t3 + t5, where t5 is defined as
t6 is the time it takes to go from a sensor powered state 3/ODR, where ODR is the output data rate in Hertz.
to a state where the sensors are off. This time depends
on the Output Data Rate (ODR) and ranges from 1/ODR  The t7 transition is dependent on data transfer rates
to 2/ODR. and is for I2C at 400 kHz is <100 µs for SPI at
11 Mbps is around 40 µs.
t7 is the transition time between various states where the
sensors are off.
t0 is the System Turn On Time, and is the time to enter
the Power-On Default state from Software Reset, No
Power, or Power down.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


45
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


8 FIFO Description
8.1 Using the FIFO Reading Sensor Data from FIFO
Sensor data is read from the FIFO through the following
The QMI8658C contains a programmable 1536-byte data command sequence. (For additional information, see
buffer, which can be used as a FIFO buffer. The FIFO’s CTRL9 description).
operating mode and configuration are set via the
FIFO_CTRL register. FIFO data may consist of  Request access to FIFO data buffer by sending
gyroscope, accelerometer and magnetometer data and is CTRL9 command 0x0D. This automatically sets
accessible via the serial interfaces. The FIFO also FIFO_rd_mode bit to 1 in FIFO_CTRL.
supports burst reads. The host must complete its burst
read prior to the next sensor data period. This time period  Read FIFO_DATA register to empty the FIFO.
is defined by the ODR selected. Depending on how many  After FIFO is emptied, set FIFO_rd_mode bit to 0.
sensors are enabled, the host will need to read Note that when only the accelerometer or gyroscope is
increments of 6, 12 or 18 bytes, corresponding to one,
enabled, the sensor data format at the host interface is:
two and three sensors active at the same time. This
feature helps reduce overall system power consumption AX_L[0] AX_H[0]] AY_L[0] AY_H[0] AZ_L
by enabling the host processor to read and process the [0] AZ_H[0] AX_L[1] …
sensor data in bursts and then enter a low-power mode.
The interrupt function may be used to alert when new When 2 sensors are enabled, the sensor data format is:
data is available. AX_L[0] AX_H[0] AY_L[0] AY_H[0] 
Accel X, Y, Z ADC
External Magnetomer
X, Y, Z
Gyro X, Y, Z ADC AZ_L[0] AZ_H[0] GX_L[0] GX_H[0] 

I2C Master I/F


GY_L[0] GY_H[0] GZ_L[0] GZ_H[0] 

Accel Internal Magnetometer Gyro Internal


AX_L[1] AX_H[1] …
Sampling Registers Internal Sampling Sampling Registers
Digital Filters Digital Filters When 3 sensors are enabled, the sequence will be
extended to include the 6 corresponding magnetometer
samples.

Bypass Mode
In Bypass mode (set in FIFO_CTRL), the FIFO is not
FIFO
(1536 Bytes) operational and, therefore, remains empty. Sampled data
from the gyroscope and/or Accelerometer are stored
directly in the Sensor Data Output Registers. When new
data is available, the old data is over-written.
FIFO Read Control

FIFO Mode
Logic

Host (SPI, I2C, or I3C) In FIFO mode, data from the sensors are stored in the
FIFO. The watermark interrupt, if enabled in FIFO_CTRL,
Figure 9. FIFO Data Flow is triggered when the FIFO is filled to the level specified
The FIFO size is configured using the FIFO_CTRL by the value of wtm<1:0> in the FIFO_CTRL register. The
register. When the FIFO is enabled for two or more FIFO continues filling until it is full. When full, the FIFO
sensors, as is true for all modes that have multiple sensors stops collecting data from the input channels. Data
active, the sensors must be set at the same Output Data collection restarts when FIFO is emptied.
Rate (ODR).
Streaming Mode
The FIFO is read through the I3C/I2C/SPI interface by In Streaming mode (set in FIFO_CTRL), data from the
reading the FIFO_DATA register. Any time the Output gyroscope and accelerometer are stored in the FIFO. A
Registers are read, data is erased from the FIFO watermark interrupt can be enabled and set as in FIFO
memory. mode. The FIFO continues filling until full. In this mode,
The FIFO has multiple operating modes: Bypass, FIFO, the FIFO acts as a circular buffer, when full, the FIFO
and Streaming. The operating modes are set using the discards the older data as the new data arrives.
mode<1:0> bits in the FIFO_CTRL register. Programmable watermark level events can be enabled to
generate dedicated interrupts on the DRDY/INT2 pin
Enabling FIFO (configured through the FIFO_CTRL register).
The FIFO is configured by writing to the FIFO_CTRL
register and is enabled after the accelerometer and/or
gyroscope are enabled. If the watermark function is
enabled in the FIFO_CTRL register, pin INT2 is asserted
when the FIFO watermark level is reached.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


46
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


8.2 FIFO Register Description
Table 32. FIFO Registers Description

Register Name
FIFO_WTM_TH FIFO Watermark Threshold. Register Address: 19 (0x13)
Bits Name Default Description
7:0 FIFO_wtm_th 1’b0 Set watermark level, in ODRs.
FIFO_CTRL Configure FIFO. Register Address: 20 (0x14)
Bits Name Default Description
0: Disable FIFO read via FIFO_DATA register.
7 FIFO_rd_mode 1’b0 1: FIFO read via FIFO_DATA register is enabled. This bit is automatically
set by the CTRL9 command to request the FIFO.
6:4 Reserved 3’b0 Reserved
Set FIFO size. (See Error! Reference source not found. for more
details.)
00 – Set FIFO size at 16 samples for each enabled sensor
3:2 size<1:0> 2’b0 01 – Set FIFO size at 32 samples for each enabled sensor
10 – Set FIFO size at 64 samples for each enabled sensor
11 – Set FIFO size at 128 samples for each enabled sensor (up to 2
sensors enabled only)
Set FIFO Mode.
00 – Bypass (FIFO disable).
1:0 mode<1:0> 1’b0 01 – FIFO.
10 – Streaming.
11 – Not Used
FIFO_SMPL_CNT FIFO Sample Count. Register Address: 21 (0x15)
Bits Name Default Description
7:0 fifo_smpl_cnt_lsb 8’h00 The LS 8 bits of FIFO sample count, in bytes.
FIFO_STATUS FIFO Status. Register Address: 22 (0x16)
Bits Name Default Description
7 fifo_full 1’b0 FIFO size has been reached and is full.
6 wtm 1’b0 Watermark level hit.
FIFO over-flow condition has occurred. An attempt was made to save
5 overflow 1’b0
new data to the FIFO while it was full.
4 not_empty 1’b0 FIFO not empty.
3:2 reserved 2’b0

1:0 fifo_smpl_cnt_msb 2’b0 The MS 2 bits of FIFO sample count, in bytes.

FIFO_DATA FIFO Data Register. Register Address: 23 (0x17)

Bits Name Default Description

7:0 data<7:0> 8’b0 Read this register to read sensor data out of FIFO.

9 Wake on Motion (WoM)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


47
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


9.1 Wake on Motion Introduction 9.3 Wake on Motion Event
The purpose of the Wake on Motion (WoM) functionality When a Wake on Motion event is detected the QMI8658C
is to allow a system to enter a low power sleep state while will set bit 2 (WoM) in the STATUS1 register. Reading
the system is static and then to automatically awaken STATUS1 by the host will clear the WoM bit and will reset
when moved. In this mode the system should use very the chosen interrupt line (INT1 or INT2, see previous
little power, yet still respond quickly to motion. section) to the value given by the WoM interrupt initial
value (see previous section).
It is assumed that the system host processor is
responsible for configuring the QMI8658C correctly to For each WoM event, the state of the selected interrupt
place it into Wake on Motion mode, and that the system line is toggled. This ensures that while the system is
host processor will reconfigure the QMI8658C as moved, the host processor will receive wakeup interrupts
necessary following a WoM interrupt. regardless of whether it uses high, low, positive- or
negative-edge interrupts.
Wake on Motion is configured through the CTRL9
command interface (see write-up for The QMI8658C stays in WoM mode until commanded to
CTRL_CMD_WRITE_WOM_SETTING in Section 5.8.5 enter a new mode by the host processor.
CTRL9 Commands in Detail).
Table 33. Registers used for WoM
9.4 Configuration Procedure
The host processor is responsible for all configurations
Register (bits) Function necessary to put the QMI8658C into WoM mode. The
specific sequence of operations performed by the host
WoM Threshold: absolute value in
processor to enable WoM is shown in Figure 10.
mg (with 1mg/LSB resolution)
CAL1_L (0:7)
0x00 must be used to indicate that
WoM mode is disabled Disable sensors. (Write 0x00
to CTRL7)
WoM interrupt select
01 – INT2 (with initial value 0)
11 – INT2 (with initial value 1)
CAL1_H (7:6)
Set Accelerometer sample
rate and scale (Write CTRL2)
00 – INT1 (with initial value 0)
10 – INT1 (with initial value 1)
Interrupt blanking time (in number of
CAL1_H (0:5)
accelerometer samples) Set Wake on Motion (WoM)
Threshold in CAL1_L;
select interrupt, polarity and
The threshold value is configurable to make the amount blanking time in CAL1_H
of motion required to wake the device controllable by the
host application. The special threshold value of 0x00 can
be used to disable the WoM mode, returning the interrupt
Execute CTRL9 command to
pins to their normal functionality. configure WoM mode

The interrupt initial value (1 or 0) and the interrupt pin


used for signaling (INT1 or INT2) are selectable to make
it easy for system integrators to use the WoM motion
mode to wake the host processor from its deepest sleep Set Accelerometer enable bit
level. Using the lowest power mode on many in CTRL7
microcontrollers requires the use of special wake up pins
that may have only a single polarity setting, and thus may
Figure 10. WoM Configuration
not be useable for other special purposes such as timer
Commands and Sequence
captures.
The WoM bit is cleared upon setting the WoM threshold
The interrupt blanking time is a programmable number of
to a non-zero value, and the selected interrupt pin is
accelerometer samples to ignore when starting WoM
configured according to the settings. Special care has
mode so that no spurious wake-up events are generated
been taken that the WoM interrupt does not activate due
by startup transients.
to any transients when the accelerometer is first enabled.
9.2 Accelerometer Configuration An interrupt blanking time is included that prevents such
spurious interrupts to propagate.
For additional tuning of the WoM responsiveness, the
precise configuration of the accelerometer is left to the
host. This gives the host processor the ability to program
the desired sample rate and full-scale range.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


48
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


9.5 Wake on Motion Control Registers 9.6 Exiting Wake on Motion Mode
The WoM configuration is controlled by values written to To exit WoM mode the host processor must first clear
the CAL1_x registers, as shown in Table 33. CTRL7 to disable all sensors, and then write a threshold
value of 0x0 for the WoM Threshold (see Table 33,
Registers used for WoM) and execute the WoM
configuration CTRL9 command (see write-up for
CTRL_CMD_WRITE_WOM_SETTING in Section 5.8.5
CTRL9 Commands in Detail). On doing this the interrupt
pins will return to their normal function. After zeroing the
WoM Threshold the host processor may proceed to
reconfigure the QMI8658C as normal, as in the case
following a reset event.

Figure 11. WoM Example Diagram

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


49
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


10 Performing Device Self Test

10.1 Accelerometer Self Test 10.2 Gyroscope Self Test


The accelerometer Self Test is used to determine if the
accelerometer is functional and working within The gyroscope Self Test is used to determine if the
acceptable parameters. The accelerometer Self Test gyroscope is functional and working within acceptable
methodology is TBD. parameters. The gyroscope Self Test methodology is
TBD.
1.

11 Magnetometer Setup
11.1 Magnetometer Description
The QMI8658C provides an I2C master interface (I2CM)
to connect with an external magnetometer. Currently the
QMI8658C can support the following magnetometers:
AK09915C, AK09918CZ, and QMC6308. To simplify
data acquisition between the magnetometer and the IMU,
the QMI8658C can time align the magnetometer samples
with the gyroscope and accelerometer samples.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


50
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


12 Host Serial Interface
QMI8658C Host Serial Interface supports MIPI I3C, I2C  Data is latched on the rising edge of the clock
and SPI slave interfaces. For SPI, it supports both 3-wire
and 4-wire modes. The basic timing characteristics for the  Data should change on falling edge of clock
interface are described below. Through the QMI8658C  Maximum frequency is 15 MHz
Host Serial Interface, the host can access, setup and
control the QMI8658C Configuration Registers (see Table  Data is delivered MSB first
24).  Support single read/writes and multi cycle (Burst)
read/writes. NOTE: burst writes to Configuration
12.1 Serial Peripheral Interface (SPI) registers are NOT supported. These registers
should be written in single cycle mode only.
QMI8658C supports both 3-wire and 4-wire modes in the
SPI slave interface. The SPI 4-wire mode uses two  Supports 6-bit Address format and 8-bit data format
control lines (CS, SPC) and two data lines (SDI, SDO).
The SPI 3-wire mode uses the same control lines and one
bi-directional data line (SDIO). The SDI /SDIO pin is used
for both 3- and 4-wire modes and is configured based on
the mode selected. The SPI interface has been validated
at 15 MHz and the timing parameters are measured at
that interface frequency.
SPI transactions can be done in either Mode 0 (CPOL=0,
CPHA=0) or Mode 3 (CPOL=1, CPHA=1). The interface
automatically detects which mode is in use and
configures clocking accordingly.
SPI 3- or 4-wire modes are configured by writing to bit-7
Figure 12. SPI Address and Data Format
of CTRL1 register. 3-wire mode is selected when bit-7 is
1. The default configuration is 4-wire mode, i.e. bit-7 of
CTRL1 is 0.
Figure 12 shows the SPI address and data formats.

SPI Features

SPC SPC
SPC SPC
SDI SDI SPI Slave 1 SPI Slave 1
SPI Master SDIO SDIO
SDO SDO (QMI8658) SPI Master (QMI8658)
(Host CS1 CS
Processor) CS1 CS (Host
Processor) CS2
CS2

SPC

CSn SPC
CSn SDI
SPI Slave 2
SDIO SPI Slave 2
SDO

CS
CS

SPC
SPC
SDI
SPI Slave n SDIO SPI Slave n
SDO
CS
CS

Figure 13. Typical SPI 4-Wire Multi-Slave Figure 14. Typical SPI 3-Wire Multi-Slave

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


51
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


In a typical SPI Master/Slave configuration the SPI replaced by the bi-directional SDIO line. The SDIO line is
master shares the SPI clock (SPC), the serial data input driven by the master with both address and data when it
(SDI), and the Serial Data Output (SDO) with all the is configured for write mode. During read mode, the SDIO
connected SPI slave devices. Unique Chip Select (CS) line is driven by the master with the address, and
lines connect each SPI slave to the master. subsequently driven by the “addressed” slave with data.
Figure 13 and Figure 14 show typical multi-slave 4- and Figure 15 and Figure 16 illustrate the waveforms for both
3-wire configurations. The primary difference between 4-wire and 3-wire SPI read and write transactions. Note
the two configurations is that the SDI and SDO lines are that CS is active during the entire transaction.

SPI : Mode 0

SPI : Mode 3

Figure 15. SPI 4-Wire Single Byte Read and Write (Mode 0 and Mode 3)

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


52
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


SPI : Mode 0

SPI : Mode 3

Figure 16. SPI 4-Wire Multi-Byte Read and Write Transactions

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


53
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


SPI: Mode 0

SPI : Mode 3

Figure 17. SPI 3-Wire Single Byte Read and Write Transactions

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


54
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


SPI : Mode 0

SPI : Mode 3

Figure 18. SPI 3-Wire Multi-Byte Read and Write Transactions

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


55
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


SPI Timing Characteristics
The typical operating conditions for the SPI interface are provided in Table 34
VDDIO = 1.8 V, T = 25°C unless otherwise noted.
Table 34. SPI Interface Timing Characteristics

Symbol Parameter Min. Max. Unit


tSPC SPI Clock Cycle 66.6 ns
fSPC SPI Clock Frequency 15 MHz
tsCS CS Setup Time 6 ns
thCS CS Hold Time 8 ns
tsSDI SDI Input Setup Time 5 ns
thSDI SDI Input Hold Time 15 ns
tvSDO SDO Time for Valid Output 50 ns
thSDO SDO Hold Time for Output 9 ns
tdSDO SDO Disable Time for Output 50 ns
tsSDIO SDIO Address Setup Time 5 ns
thSDIO SDIO Address Hold Time 15 ns
tvSDIO SDIO Time for Valid Data 50 ns
tczSDIO SDIO Time from SPC to High Z 50 ns
tzSDIO SDIO Time from CS to High Z 50 ns

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


56
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


SPI : Mode 0

SPI : Mode 3

Figure 19. Timing Characteristics for SPI 3- and 4-Wire Interfaces

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


57
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


12.2 I2C Interface During the slave register address phase bit-7 of the
address is used to enable auto-increment of the target
Table 35 provides the I2C interface timing characteristics address. When bit-7 is set to 1 the target address is
while Figure 20 and Figure 21 illustrate the I2C timing for automatically incremented by one.
both fast and standard modes, respectively.
For additional technical details about the I2C standard,
During the slave device selection phase, the I2C master such as pull-up resistor sizing the user is referred to
supplies the 7-bit I2C slave device address to enable the “UM10204 I2C-bus specification and user manual,”
QMI8658C. The 7-bit device address for the QMI8658C published by NXP B.V.
is 0x6a (0b1101010) if SA0 is left unconnected, internally
there is a weak pull-down of 200 kΩ thereby selecting bit-
0=0. In case of a slave device ID conflict, SA0 may be
used to change bit-0 of the device address. When SA0 is
pulled up externally, the 7-bit device address becomes
0x6b (0b1101011).

Table 35. I2C Timing Characteristics

Symbol Parameter Conditions Min. Typ. Max. Unit


Standard Mode 100
fSCL SCL Clock Frequency kHz
Fast Mode 400
Bus-Free Time between STOP and Standard Mode 4700
tBUF ns
START Conditions Fast Mode 1300
Standard Mode 4000
tHD;STA START or Repeated START Hold Time ns
Fast Mode 600
Standard Mode 4700
tLOW SCL LOW Period ns
Fast Mode 1300
Standard Mode 4000
tHIGH SCL HIGH Period ns
Fast Mode 600
Standard Mode 4700
tSU;STA Repeated START Setup Time ns
Fast Mode 600
Standard Mode 250
tSU;DAT Data Setup Time ns
Fast Mode 100
Standard Mode 0 3450
tHD;DAT Data Hold Time ns
Fast Mode 0 900
Standard Mode 1000
tRCL, tR SCL Rise Time ns
Fast Mode 20 + 0.1 * CB (14) 300
Standard Mode 300
tFCL SCL Fall Time ns
Fast Mode 20 + 0.1 * CB(14) 300
SDA Rise Time. Standard Mode 1000
tRDA, tRCL1 Rise Time of SCL after a Repeated ns
START Condition and after ACK Bit Fast Mode 20 + 0.1 * CB(14) 300
Standard Mode 300
tFDA SDA Fall Time ns
Fast Mode 20 + 0.1 * CB (14) 300
Standard Mode 4000
tSU;STO Stop Condition Setup Time ns
Fast Mode 600
Note:
14. CB is the bus capacitance.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


58
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


Figure 20. I2C Standard Mode Interface Timing

Figure 21. I2C Fast Mode Interface Timing

12.3 MIPI I3C Interface


The QMI8658C is compliant with the MIPI Alliance Specification for I3C, version 1.0.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


59
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


13 Package and Handling
13.1 Package Drawing

Figure 22. 14 Pin LGA 2.5 x 3.0 x 0.86 mm Package

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


60
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


13.2 Reflow Specification

Note:
15. Figure from JEDEC J-STD-020

Profile Feature Pb-Free Assembly Profile


Temperature Min. (Tsmin) 150°C
Temperature Max. (Tsmax) 200°C
Time (tS) from (Tsmin to Tsmax) 60-120 seconds
Ramp-up Rate (TL to TP) 3°C/second max.
Liquidous Temperature (TL) 217°C
Time (tL) Maintained above (TL) 60-150 seconds
Peak Body Package Temperature (TP) 260°C +0°C / -5°C
Time (tP) within 5°C of 260°C 30 seconds
Ramp-down Rate (TP to TL) 6°C/second max.
Time 25°C to Peak Temperature 8 minutes max.

Figure 23. Reflow Profile

13.3 Storage Specifications


QMI8658C storage specification conforms to IPC/JEDEC J-STD-020D.01 Moisture Sensitivity Level (MSL) 3.
Floor life after opening the moisture-sealed bag is 168 hours with storage conditions: Temperature: ambient to ≤30°C
and Relative Humidity: 60%RH.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


61
ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE

QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor


14 Document Information
14.1 Revision History

Revision Revision Date Description


0.4 April 22, 2020 Initial release of Advance Information datasheet

0.5 July 7, 2020 Updated CAL Register Addresses, CTRL9 Commands and Descriptions,
Current Consumption, Accelerometer and Gyroscope Filter Characteristics,
Low Power Mode ODR, Wake on Motion, Magnetometer Sensors supported

0.6 Jan 13, 2021 Updated SPI description and diagrams, SPI modes, product performance
specifications, and register map and descriptions

Attitude Engine™, Gen 2 AttitudeEngine™, and XKF3™ are trademarks of Fairchild Semiconductor licensed by ON
Semiconductor to QST Corporation.

© 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com


62

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy