0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
QMI8658C

QMI8658C

  • 厂商:

    QST(矽睿)

  • 封装:

    LGA14_3X2.5MM

  • 描述:

    具有运动协处理器和传感器融合的低噪声、宽带宽6D惯性测量单元

  • 数据手册
  • 价格&库存
QMI8658C 数据手册
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 Features Description  Low 15 mdps/√Hz gyroscope noise, low-latency, and wide bandwidth for performance applications such robotic vacuums, industrial tilt modules, pedestrian navigation and GNSS augmentation, 5G antenna stabilization, inertial navigation, and large industrial UAVs   Low Noise 200µg/√Hz accelerometer The QMI8658C is a complete 6D MEMS inertial measurement unit (IMU) with 9-axis sensor fusion and specified system level orientation accuracy. When using the QMI8658C in combination with the supplied XKF3 9D-sensor fusion, the system features an accurate ±3° pitch and roll orientation, and a ±5° yaw/heading typical specification. Host (slave) interface supports MIPI™ I3C, I2C, and 3-wire or 4-wire SPI; auxiliary master I2C interface supports an external magnetometer With tight board-level gyroscope sensitivity of ±3%, gyroscope noise density of 15 mdps/√Hz, and low latency, the QMI8658C is ideal for high performance consumer and for industrial applications.  Accelerometer and gyroscope sensors feature signal processing paths with digitally programmable data rates and filtering  Complete inertial measurement unit (IMU) with sensor fusion library with specified orientation accuracy of ±3º pitch and roll, ±5º yaw/heading  High-performance XKF3TM 6/9-axis sensor fusion with in-run calibration for correction of gyroscope bias drift over-temperature and lifetime  3-axis gyroscope and 3-axis accelerometer in a small 2.5 x 3.0 x 0.86 mm 14-pin LGA package  Integrated Gen 2 AttitudeEngineTM motion coprocessor with vector DSP performs sensor fusion at 1 kHz sampling rate, while outputting data to host processor at a lower rate – improving accuracy while reducing processor MIPS, power, and interrupt requirements  Large 1536-byte FIFO can be used to buffer sensor data to lower system power dissipation This enables the application to utilize low output data rates (ODRs) or on-demand (host polling) while still acquiring accurate 3D motion data. The AttitudeEngine reduces the data processing and interrupt load on a host processor with no compromises in 3D motion tracking accuracy. The result is very low total system power in combination with high accuracy, which are essential to many portable and battery powered applications.  Motion on demand technology for polling-based synchronization  Applications Large sensor dynamic ranges from ±16°/s to ±2048°/s for gyroscope and ±2 g to ±16 g for accelerometer     Low power modes for effective power management Digitally programmable sampling rate and filters The QMI8658C incorporates a 3-axis gyroscope and a 3axis accelerometer. It provides a UI interface (supporting I3C, I2C and 3-wire or 4-wire SPI) and a second interface functioning as an I2C master for communicating to an external magnetometer. The QMI8658C incorporates an advanced vector digital signal processor (DSP) motion co-processor called the AttitudeEngine. The AttitudeEngine efficiently encodes high frequency motion at high internal sampling rates, preserving full accuracy across lower-frequency output data rates.     Toys Drones E-bikes and scooters 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 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 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 1 2 3 General Information ........................................................................................................ 4 1.1 1.2 1.3 1.4 1.5 1.6 QMI8658C Architecture ................................................................................................. 10 2.1 2.2 2.3 2.4 5 6 7 AttitudeEngine Mode Overview......................................................................................... 10 Advantages of the Attitude Engine Approach .................................................................... 10 9D Sensor Fusion and Auto-Calibration using XKF3 ............................................................ 11 Frames of Reference and Conventions for Using QMI8658C ............................................... 12 System, Electrical and Electro-Mechanical Characteristics ............................................. 13 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4 Ordering Information .......................................................................................................... 4 Marking Information ........................................................................................................... 4 Internal Block Diagram ........................................................................................................ 5 Interface Operating Modes .................................................................................................. 6 Package & Pin Information .................................................................................................. 7 Recommended External Components .................................................................................. 9 Absolute Maximum Ratings ............................................................................................... 13 Recommended Operating Conditions ................................................................................ 13 System Level Specifications ............................................................................................... 14 Electro-Mechanical Specifications ...................................................................................... 15 Accelerometer Programmable Characteristics ................................................................... 17 Gyroscope Programmable Characteristics .......................................................................... 18 Electrical Characteristics .................................................................................................... 19 Current Consumption ............................................................................................................ 19 Temperature Sensor .......................................................................................................... 20 Register Map Overview .................................................................................................. 21 4.1 UI Register Map Overview ................................................................................................. 21 UI Sensor Configuration Settings and Output Data......................................................... 24 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Typical Sensor Mode Configuration and Output Data ........................................................ 24 AttitudeEngine (AE) Mode Configuration and Output Data ................................................ 25 General Purpose Register .................................................................................................. 25 Configuration Registers ..................................................................................................... 26 FIFO Registers .................................................................................................................... 30 Status and Time Stamp Registers ....................................................................................... 32 Sensor Data Output Registers ............................................................................................ 34 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 Interrupts....................................................................................................................... 41 6.1 Overview ........................................................................................................................... 41 Interrupt 1 (INT1) .................................................................................................................. 41 Interrupt 2 (INT2) .................................................................................................................. 41 Operating Modes ........................................................................................................... 42 7.1 7.2 General Mode Transitioning .............................................................................................. 45 Transition Times ................................................................................................................ 45 © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 2 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table of Contents ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 9 FIFO Description ............................................................................................................ 46 8.1 8.2 Using the FIFO ................................................................................................................... 46 FIFO Register Description................................................................................................... 47 Wake on Motion (WoM) ................................................................................................ 47 9.1 9.2 9.3 9.4 9.5 9.6 Wake on Motion Introduction ........................................................................................... 48 Accelerometer Configuration ............................................................................................. 48 Wake on Motion Event ...................................................................................................... 48 Configuration Procedure.................................................................................................... 48 Wake on Motion Control Registers .................................................................................... 49 Exiting Wake on Motion Mode .......................................................................................... 49 10 Performing Device Self Test ........................................................................................... 50 10.1 10.2 Accelerometer Self Test ..................................................................................................... 50 Gyroscope Self Test ........................................................................................................... 50 11 Magnetometer Setup ..................................................................................................... 50 11.1 Magnetometer Description................................................................................................ 50 12 Host Serial Interface....................................................................................................... 51 12.1 12.2 12.3 Serial Peripheral Interface (SPI) ......................................................................................... 51 SPI Timing Characteristics ................................................................................................. 56 2 I C Interface ....................................................................................................................... 58 MIPI I3C Interface .............................................................................................................. 59 13 Package and Handling .................................................................................................... 60 13.1 13.2 13.3 Package Drawing ............................................................................................................... 60 Reflow Specification .......................................................................................................... 61 Storage Specifications........................................................................................................ 61 14 Document Information .................................................................................................. 62 14.1 Revision History................................................................................................................. 62 © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 3 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 8 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 1.1 Ordering Information Table 1. 1.2 Ordering Information Part Number Package Packing Method QMI8658C LGA14 Tape & Reel Marking Information ROW EXAMPLE CODE/EXPLANATION 1 2 3 8658 0113 ● DA DDDD – Device code YWLL – Y (Year code), W (1-digit, biweekly code), LL (Lot indication) CR – C (Assembly location), R (Product revision) Figure 1. Top Mark © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 4 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 1 General Information ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Internal Block Diagram Temp Sensor Data Registers ΣΔ A/D Setup & Control Registers MEMS ΣΔ A/D Ay ΣΔ A/D Az ΣΔ A/D Gx ΣΔ A/D Gy ΣΔ A/D Gz ΣΔ A/D Host Cal Registers Signal Conditioning and Filtering Ax FIFO Registers 1536 Byte FIFO SDx DMA Controller I2C, I3C, SPI Host, Slave or UI Interface M0+ MCU Align Mag Data Sync Domain SCx CLK Synth VDD CS SCL SDA GND VDDIO Figure 2. SDO/SA0 Bias CS-AUX SDO-AUX © 2021 QST Corporation INT2 Attitude Engine Self Test I2C Master or SPI Aux / OIS Interface INT1 Interrupt & Status GND Internal Block Diagram QMI8658C • Rev 0.6 www. qstcorp.com 5 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 1.3 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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. © 2021 QST Corporation Operating modes QMI8658C • Rev 0.6 www. qstcorp.com 6 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 1.4 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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) © 2021 QST Corporation Figure 5. Pins Face Up (Bottom View) QMI8658C • Rev 0.6 www. qstcorp.com 7 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 1.5 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 2. Pin Definitions Pin Number Type Pin Name Mode 1 Function (Default Mode) Mode 2 Function (External Sensor 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 (INT2)/ Data Enable (DEN) 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) Programmable Interrupt 2 (INT2) / Data Enable (DEN). I2C Master external Synchronization Signal (MDRDY) 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 Recommended External Components Table 3. Recommended External Components Component Description Parameter Typical Cp1 Capacitor Capacitance 100 nF Cp2 Capacitor Capacitance 100 nF Resistor Resistance 10 kΩ Rpu (4) 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. © 2021 QST Corporation Typical Electrical Connections QMI8658C • Rev 0.6 www. qstcorp.com 9 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 1.6 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE QMI8658C is a smart sensor that combines a highperformance IMU with a powerful Single Instruction Multiple Data (SIMD) based Vector DSP motion coprocessor referred to as the AttitudeEngine™ (AE). calculations at 1 kHz data rates allowing accurate capture of high frequency and coning effects. Orientation and velocity increments are calculated with full coning and sculling compensation and the magnetic field vector from the external magnetometer is rotated to the sensor frame of reference. This allows the lossless encoding (compression) of 6D motion to a low output data rate, while maintaining the accuracy provided by the 1 kHz input and data processing rate. Motion data encoded by the AttitudeEngine is available at a user programmable data rate (1 Hz to 64 Hz). The orientation and velocity increments from the AttitudeEngine are suitable for any 3D motion tracking application (orientation, velocity, and position) and may be further fused by the user with information from other sources such as a GNSS receiver or barometer in an optimal estimator. Included sensor fusion software (XKF3) allows the device to achieve orientation accuracies of ±3º for pitch and roll and ±5º for yaw/heading. The QMI8658C includes a microcontroller for data scheduling, combined with Direct Memory Access (DMA) in order to allow efficient data shuttling on the chip. Multichannel data is easily processed at rates up to 1 kHz. An internal block diagram is shown in Figure 2. The MEMS elements are amplified and converted by Σ∆ A/D converters, which are synchronized to a common clock so that all the motion measurements of acceleration, angular rate and magnetic heading are sampled at the same time minimizing any skew between channels. The data is then sent to a signal processing chain that accomplishes decimation, filtering, and calibration.  Once the data has been processed, it can be sent to the host processor depending on additional configuration settings, such as enabling the FIFO or using the AttitudeEngine. 2.1 AttitudeEngine Mode Overview Brief descriptions of the major functions of the AttitudeEngine are discussed below. Note that the AttitudeEngine may be enabled or disabled and configured using the CTRL6 register.    Calibration: The QMI8658C applies continuous onchip calibration of all the sensors (accelerometer, gyroscope, and magnetometer) including scale, offset, and temperature calibration. When used in conjunction with a sensor fusion filter (such as the XKF3) running on the host processor, estimated sensor errors can be updated in-use, allowing sensor calibration to be performed in the background without any host intervention. This offloads computationally expensive per-sample re-calibration from the host processor to the QMI8658C Sample Synchronization: The QMI8658C automatically provides highly synchronous output between the various IMU accelerometer and gyroscope channels by using fully parallel ΣΔconverters. The QMI8658C also provides time synchronization of data between the IMU and the external magnetometer. 2.2 Motion on Demand (MoD): The QMI8658C allows the host to access encoded motion data asynchronously (polling) and on demand. The motion data in the AttitudeEngine (AE) mode remains accurate even at very low output data rates. This allows easy integration and synchronization with other sensors for state-of-the-art applications such as rolling shutter camera stabilization, optical sensors software de-blurring, GNSS integration and augmented or virtual reality. Advantages of the Attitude Engine Approach The advantages of the AttitudeEngine (AE) approach over the traditional sensor approach are briefly discussed below.  Low-Power Architecture: Dead reckoning calculations are performed with the AE vector DSP that is designed to perform essential calculations while achieving high accuracy and low power simultaneously. The AE approach enables a typical interrupt rate reduction to the host processor of 10x and can be up to 100x for some applications. This significantly enhances the operational life of battery powered devices without any compromises in 3D motion tracking accuracy.  High Performance: The motion encoder and sample synchronizer enable highly accurate strap down integration that can be fully compensated for coning and sculling artifacts. 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 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 2 QMI8658C Architecture ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 9D Sensor Fusion and AutoCalibration using XKF3 XKF3 Features: XKF3 is a sensor fusion algorithm, based on Extended Kalman Filter theory that fuses 3D inertial sensor data (orientation and velocity increments) and 3D magnetometer, also known as ‘9D’, data to optimally estimate 3D orientation with respect to an Earth fixed frame. A license to use XKF3 in a CMSIS compliant library form for Cortex M0+, M3, M4, M4F, for commercial purposes is provided with certain QST evaluation kits incorporating the QMI8658C. A restricted-use license for use of XKF3 for commercial purposes is also granted for certain applications when XKF3 is used with the QMI8xxx series of IMUs, such as the QMI8658C/B/C family and the QMI8610. © 2021 QST Corporation  Continuous Sensor Auto Calibration, No User Interaction Required  High Accuracy, Real-Time, Low-Latency Optimal estimate of 3D Orientation, up to 1 kHz output data rate  Ultra-low system power for 3D Orientation enabled by AttitudeEngine between 1 to 64 Hz output data rate without any degradation in accuracy    Best-in-Class Immunity to Magnetic Distortions  Extensive Status Reporting for Smooth Integration in Applications  Optimized Library for Popular Microcontrollers Best-in-Class Immunity to Transient Accelerations Flexible use Unreferenced QMI8658C • Rev 0.6 Scenarios, North Referenced, www. qstcorp.com 11 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 2.3 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 2.4 Chip Orientation Coordinate System Frames of Reference and Conventions for Using QMI8658C The QMI8658C uses a right-handed coordinate system as the basis for the sensor frame of reference. Acceleration (ax, ay, az) are given with respect to the X-YZ co-ordinate system shown above. Increasing accelerations along the positive X-Y-Z axes are considered positive. Angular Rate (ωx, ωy, ωz) in the © 2021 QST Corporation counterclockwise direction around the respective axis are considered positive. Magnetic fields (mx, my, mz) can be configured to be expressed in the sensor X-Y-Z coordinates as well. Care must be taken to make sure that QMI8658C and the magnetic sensor of choice are mounted on the board so that the coordinate systems of the two sensors are substantially parallel. Figure 7 shows the various frames of reference and conventions for using the QMI8658C. QMI8658C • Rev 0.6 www. qstcorp.com 12 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Figure 7. ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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. TSTG Storage Temperature TPmax Lead Soldering Temperature, 10 Seconds VDD Supply Voltage I/O Pins Supply Voltage VDDIO Sg (5) ESD(6) Max. -40 +125 °C +260 °C -0.3 3.6 V -0.3 3.6 V 10,000 g Acceleration g for 0.2 ms (Un-powered) Electrostatic Discharge Protection Level Unit Human Body Model per JES001-2014 ±2000 Charged Device Model per JESD22-C101 ±500 V 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 VDD VDDIO Parameter Min Typ Max Unit Supply Voltage 1.71 1.8 3.6 V I/O Pins Supply Voltage 1.71 1.8 VIL Digital Low Level Input Voltage VIH Digital High Level Input Voltage VOL Digital Low Level Output Voltage VOH Digital High Level Output Voltage © 2021 QST Corporation 3.6 V 0.3 *VDDIO V 0.7 *VDDIO V 0.1 *VDDIO 0.9 *VDDIO QMI8658C • Rev 0.6 V V www. qstcorp.com 13 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3 System, Electrical and Electro-Mechanical Characteristics ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE System Level Specifications for the placement conditions of the QMI8658C and 3D magnetometer are considered. For example, do not place the QMI8658C where strong vibrations may occur or could be amplified; do not place the 3D magnetometer where magnetic fields other than the Earth magnetic field may be measured. Typical numbers are provided below unless otherwise noted. System level specifications are provided to give guidance on the system performance in a recommended and typical configuration. The recommended system configuration is the QMI8658C and optionally a supported 3D magnetometer used with a supported host 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 QMI8658C+XKF3 Quaternion Parameter Typical Unit Comments Roll ±3 deg Requires use of XKF3 software library on host processor. Pitch ±3 deg Requires use of XKF3 software library on host processor. Yaw (Heading) Referenced to North ±5 deg Requires use of XKF3 software library on host processor, using magnetometer, in a homogenous Earth magnetic field. Yaw (Heading) Unreferenced QMI8658C+XKF3 Quaternion © 2021 QST Corporation Output Data Rate 5-25 deg/h 1-1000 Hz QMI8658C • Rev 0.6 From Allan Variance bias instability. Does not require a magnetometer. (See specification above for use with magnetometer.) Fully immune to magnetic distortions. To benefit from the power saving using the AttitudeEngine, use a max ODR of 64 Hz. www. qstcorp.com 14 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3.3 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Electro-Mechanical Specifications VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted. Table 7. Accelerometer Electro-Mechanical Specifications Subsystem Parameter Typical Unit 200 µg/√Hz High-Resolution Mode LSB/g 16-Bit Output Noise Density (@ 32Hz) Comments Scale Setting Sensitivity Sensitivity Scale Factor ±2 g 16,384 ±4 g 8,192 ±8 g 4,096 ±16 g Cross-Axis Sensitivity 2,048 ±2 % Temperature Coefficient of Accelerometer Offset (TCO) ±0.5 mg/°C Temperature Coefficient of Sensitivity (TCS) ±0.04 %/°C Initial Offset Tolerance ±100 mg Board Level ±6 % Board Level ±0.75 % Best Fit Line s From Software Reset, No Power, or Power Down to Power-on Default state = t0 in Figure 8 Initial Sensitivity Tolerance Non-Linearity System Turn On Time(7) Accel Turn On Time 1.75 3 ms + 3/ODR ms Over-Temperature Range of -40°C to 85°C, at Board Level Accel Turn on from PowerOn Default state or from Low 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 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3.4 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Gyroscope Electro-Mechanical Specifications Subsystem Parameter Sensitivity Typical Scale Setting Sensitivity ±16 dps 2048 ±32 dps 1024 ±64 dps 512 ±128 dps 256 ±256 dps 128 ±512 dps 64 ±1024 dps 32 ±2048 dps 16 Natural Frequency Gyroscope Unit LSB/dps 24.5 kHz Noise Density (@ 32Hz) 15 mdps/√Hz Non-Linearity 0.2 % Cross-Axis Sensitivity ±2 % ±0.1 dps/g g-Sensitivity Comments 16-Bit Output High-Resolution Mode 1.75 s From Software Reset, No Power, or Power Down to Power-on Default state = t0 in Figure 8 60 ms + 3/ODR ms from Power-On Default = t1 8 Temperature Coefficient of Offset (TCO) ±0.05 dps/°C Over-Temperature Range of -40°C to 85°C Temperature Coefficient of Sensitivity (TCS) ±0.05 %/°C Over-Temperature Range of -40°C to 85°C Initial Offset Tolerance ±10 dps Board Level Initial Sensitivity Tolerance ±3 % Board Level System Turn On Time(8) Gyro Turn On Time 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 Typical Sensor Mode AE Mode © 2021 QST Corporation Parameter Scale Setting Sensitivity Unit Magnetometer Sensitivity Depends on Scale Factor magnetometer Depends on magnetometer LSB/gauss Magnetometer Sensitivity Depends on Scale Factor magnetometer Depends on magnetometer LSB/gauss 16 Bit Output Orientation Increment (quaternion) Sensitivity Scale Factor ±1 16,384 LSB/unit Velocity Increment Sensitivity Scale Factor ±32 1,024 LSB/ms QMI8658C • Rev 0.6 Comments www. qstcorp.com 16 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 8. ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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 ODR Low-Power 8000(9) 4000(9) 2000(9) 1000 500 250 125 62.5 31.25 128 21 Typical Noise Density 100 100 100 100 100 100 100 100 100 11 Unit 3 Hz 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 (Default) 4000 2000 1000 500 250 125 62.5 31.3 15.6 64 10.5 5.5 1.5 Bandwidth with LowPass Filter Enabled Mode 00 (2.62% of ODR) 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 Bandwidth with LowPass Filter Enabled Mode 01 (3.59% of ODR) 287.2 143.6 71.8 35.9 18 9 4.5 2.2 1.1 4.6 0.8 0.4 0.1 Bandwidth with LowPass Filter Enabled Mode 10 (5.32% of ODR) 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 Bandwidth with LowPass Filter Enabled Mode 11 (14.0% of ODR) 1120 560 280 140 70 35 17.5 8.8 4.4 17.9 2.9 1.5 0.4 Hz 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 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3.5 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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 (Default) 4000 2000 1000 500 250 125 62.5 31.3 15.6 Bandwidth with Low-Pass Filter Enabled Mode 00 (2.62% of ODR) 209.6 104.8 52.4 26.2 13.1 6.6 3.3 1.6 0.8 Bandwidth with Low-Pass Filter Enabled Mode 01 (3.59% of ODR) 287.2 143.6 71.8 35.9 18 9 4.5 2.2 1.1 Bandwidth with Low-Pass Filter Enabled Mode 10 (5.32% of ODR) 425.6 212.8 106.4 53.2 26.6 13.3 6.7 3.3 1.7 Bandwidth with Low-Pass Filter Enabled Mode 11 (14.0% of ODR) 1120 560 280 140 70 35 17.5 8.8 4.4 © 2021 QST Corporation QMI8658C • Rev 0.6 Hz www. qstcorp.com 18 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3.6 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Electrical Characteristics VDD = VDDIO = 1.8 V, T = 25°C unless otherwise noted. Table 13. Electrical Subsystem Characteristics Symbol Parameter fSPC Host SPI Interface Speed fSCL Host I2C Interface Speed fSCL2 Master I2C Interface Speed(12) fSCL3 Host I3C Interface Speed Min. Typ. Max. Unit 15 MHz Standard Mode 100 Fast Mode 400 Standard Mode 25 Fast Mode 300 Standard Data Rate (SDR) 12.5 kHz kHz MHz 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 ODR Typical Overall IDD Current Low-Power Unit 1000 500 250 125 62.5 31.25 128 21 11 3 Filters Disabled (aLPF=0) 182 155 142 134 133 132 55 42 35 30 Filters Enabled (aLPF=1) 182 155 142 134 133 132 55 42 35 30 Hz µA Table 15. Current Consumption for Gyroscope Only Typical Sensor Mode (Accelerometer Disabled) Mode ODR Typical Overall IDD Current High-Resolution Unit 8000 4000 2000 1000 500 250 125 62.5 31.25 Filters Disabled (gLPF=0) 908 861 748 689 659 656 654 653 651 Filters Enabled (gLPF=1) 916 © 2021 QST Corporation Hz µA 863 748 689 659 QMI8658C • Rev 0.6 656 654 653 651 www. qstcorp.com 19 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 3.7 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Mode ODR Typical Overall IDD Current High-Resolution Unit 8000 4000 2000 1000 500 250 125 62.5 31.25 Filters Disabled (aLPF=0; gLPF=0) 1004 956 843 786 757 754 752 751 750 Filters Enabled (aLPF=1; gLPF=1) 1031 Hz µA 970 850 789 758 756 753 751 750 Table 17. Current Consumption for 6DOF Attitude Engine Mode (without Magnetometer). VDD = VDDIO = 1.8V Unit Mode ODR Setting Filters Disabled Typical Overall (aLPF=0; gLPF=0) IDD Current Filters Enabled (aLPF=1; gLPF=1) 1 2 4 8 16 32 64 Hz 783 783 783 783 783 783 783 µA 787 787 787 787 787 787 787 Table 18. Current Consumption for 9DOF Attitude Engine Mode (with Magnetometer). VDD = VDDIO = 1.8V Mode ODR Typical Overall IDD Current 3.8 With Magnetometer at 31.25 Hz Unit 1 2 4 8 16 32 64 Hz tbd tbd tbd tbd tbd tbd tbd µA Temperature Sensor The QMI8658C is equipped with an internal 16-bit embedded temperature sensor that is automatically turned on by default whenever the accelerometer or gyroscope is enabled. The temperature sensor is used internally to correct the temperature dependency of calibration parameters of the accelerometer and gyroscope. The temperature compensation is optimal in 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 The QMI8658C outputs the internal chip temperature that the HOST can read. The output is 16 bits, with a (1/256)°C per LSB resolution. To read the temperature, the HOST needs to access the TEMP register (see TEMP_L and TEMP_H in Data Output Registers in Table 20. The HOST should synchronize to the interrupt, INT2, signal to get valid temperature readings. QMI8658C • Rev 0.6 www. qstcorp.com 20 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 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Subsystem Parameter Typical Range Digital Temperature Sensor Unit -40 to +85 °C Internal Resolution 16 Bits Internal Sensitivity 256 LSB/°C Output Register Width 16 Bits Output Sensitivity 256 LSB/°C 8 Hz Refresh Rate 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 register categories:  Count Register for time stamping the sensor samples   General Purpose Registers  Setup and Control Registers: control various aspects of the IMU. FIFO Registers: to set up the FIFO and detect data availability and over-run.   Host Controlled Calibration Registers: control and configure various aspects of the IMU via the host command interface called CTRL9 Table 20 for UI Interface: contain all data for 9D sensors to be accessed from the UI interface – either I2C or SPI. Table 20. UI Register Overview Name Type Register Address Dec Hex Default Comment 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 CTRL4 rw 5 05 00000101 00000000 CTRL5 rw 6 06 00000110 00000000 Low pass filter setting. CTRL6 rw 7 07 00000111 00000000 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 Magnetometer Settings: Output Data Rate, and Device Selection AttitudeEngine™ Settings: Output Data Rate, Motion on Demand Host Controlled Calibration Registers (See CTRL9, Usage is Optional) CAL1_L rw 11 0B CAL1_H rw 12 0C © 2021 QST Corporation 00001011 00000000 Calibration Register 00001100 00000000 CAL1_L – lower 8 bits. CAL1_H – upper 8 bits. QMI8658C • Rev 0.6 www. qstcorp.com 21 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 19. Temperature Sensor Specifications ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE rw 13 0D 00001101 00000000 Calibration Register 00001110 00000000 CAL2_L – lower 8 bits. CAL2_H – upper 8 bits. CAL2_H rw 14 0E CAL3_L rw 15 0F CAL3_H rw 16 10 CAL4_L rw 17 11 CAL4_H rw 18 12 00010001 00000000 Calibration Register 00010010 00000000 CAL4_L – lower 8 bits. CAL4_H – upper 8 bits. FIFO_WTM_T H rw 19 13 00010011 00000000 FIFO watermark level, in ODRs FIFO_CTRL rw 20 14 00010100 00000000 FIFO Setup FIFO_SMPL_C NT r 21 15 00010101 00000000 FIFO sample count LSBs FIFO_STATUS r 22 16 00010110 00000000 FIFO Status FIFO_DATA r 23 17 00010111 00000000 FIFO Data 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. STATUS1 r 47 2F 00101111 00000000 00110000 00000000 00001111 00000000 Calibration Register 00010000 00000000 CAL3_L – lower 8 bits. CAL3_H – upper 8 bits. FIFO Registers Status Registers Miscellaneous Status: Wake on Motion, CmdDone (CTRL9 protocol bit). Timestamp Register TIMESTAMP_ LOW r 48 30 TIMESTAMP_ MID r 49 31 TIMESTAMP_ HIGH r 50 32 Sample Time Stamp TIMESTAMP_LOW – lower 8 bits. 00110001 00000000 TIMESTAMP_MID – middle 8 bits. TIMESTAMP_HIGH – upper 8 bits 00110010 00000000 Data Output Registers (16 bits 2’s Complement Except Self-Test Sensor Data, AE-CLIP and AE_OVFLOW) TEMP_L r 51 33 TEMP_H r 52 34 AX_L r 53 35 AX_H r 54 36 AY_L r 55 37 AY_H r 56 38 AZ_L r 57 39 AZ_H r 58 3A GX_L r 59 3B GX_H r 60 3C GY_L r 61 3D GY_H r 62 3E GZ_L r 63 3F GZ_H r 64 40 MX_L r 65 41 MX_H r 66 42 MY_L r 67 43 MY_H r 68 44 © 2021 QST Corporation 00110011 00000000 Temperature Output Data 00110100 00000000 TEMP_L – lower 8 bits. TEMP_H – upper 8 bits 00110101 00000000 X-axis Acceleration 00110110 00000000 AX_L – lower 8 bits. AX_H – upper 8 bits 00110111 00000000 Y-axis Acceleration 00111000 00000000 AY_L – lower 8 bits. AY_H – upper 8 bits 00111001 00000000 Z-axis Acceleration 00111010 00000000 AZ_L – lower 8 bits. AZ_H – upper 8 bits 00111011 00000000 X-axis Angular Rate 00111100 00000000 GX_L – lower 8 bits. GX_H – upper 8 bits 00111101 00000000 Y-axis Angular Rate 00111110 00000000 GY_L – lower 8 bits. GY_H – upper 8 bits 00111111 00000000 Z-axis Angular Rate 01000000 00000000 GZ_L – lower 8 bits. GZ_H – upper 8 bits 01000001 00000000 X-axis Magnetic Field 01000010 00000000 MX_L – lower 8 bits. MX_H – upper 8 bits 01000011 00000000 Y-axis Magnetic Field 01000100 00000000 MY_L – lower 8 bits. MY_H – upper 8 bits QMI8658C • Rev 0.6 www. qstcorp.com 22 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor CAL2_L ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE r 69 45 MZ_H r 70 46 dQW_L r 73 49 dQW_H r 74 4A dQX_L r 75 4B dQX_H r 76 4C dQY_L r 77 4D dQY_H r 78 4E dQZ_L r 79 4F dQZ_H r 80 50 dVX_L r 81 51 dVX_H r 82 52 dVY_L r 83 53 dVY_H r 84 54 dVZ_L r 85 55 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor MZ_L 01000101 00000000 Z-axis Magnetic Field 01000110 00000000 MZ_L – lower 8 bits. MZ_H – upper 8 bits 01001001 00000000 Quaternion Increment dQW 01001010 00000000 dQW_L – lower 8 bits. dQW_H – upper 8 bits 01001011 00000000 Quaternion Increment dQX 01001100 00000000 dQX_L – lower 8 bits. dQX_H – upper 8 bits 01001101 00000000 Quaternion Increment dQY 01001110 00000000 dQY_L – lower 8 bits. dQY_H – upper 8 bits 01001111 00000000 Quaternion Increment dQZ 01010000 00000000 dQZ_L – lower 8 bits. dQZ_H – upper 8 bits 01010001 00000000 Velocity Increment along X-axis 01010010 00000000 dVX_L – lower 8 bits. dVX_H – upper 8 bits 01010011 00000000 Velocity Increment along Y-axis 01010100 00000000 dVY_L – lower 8 bits. dVY_H – upper 8 bits dVZ_H r 86 56 01010101 00000000 Velocity Increment along Z-axis 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 w 196 60 01100000 00000000 Soft Reset Register Reset Register RESET © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 23 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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 Sensor Enable, SPI 3 or 4 Wire CTRL1 Control power states, configure SPI communications Enable Sensor CTRL7 Individually Enable/Disable the AttitudeEngine, Accelerometer, Gyroscope and Magnetometer Using sEN, aEN, gEN, and mENbits, respectively. Configure Accelerometer, Enable Self Test CTRL2 Configure Full Scale and Output Data Rate; Enable Self Test Configure Gyroscope, Enable Self Test CTRL3 Configure Full Scale and Output Data Rate; Enable Self Test Configure Magnetometer CTRL4 Configure Output Data Rate and Choose Device Sensor Filters CTRL5 Configure and Enable/Disable Low Pass Filters Status STATUSINT STATUS0, STATUS1 Data Availability, FIFO Ready to be Read, CTRL9 Protocol Bit Time Stamp TIMESTAMP[ H,M,L] Sample Time Stamp (Circular Register 0 – 0xFFFFFF) 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 Comments M[X,Y,Z]_[H,L] gauss In Sensor Frame of Reference, Right-handed Coordinate System Temperature TEMP_[H,L] FIFO Based Output FIFO_DATA © 2021 QST Corporation Unit °C Temperature of the Sensor 1 Byte FIFO Data Outputs QMI8658C • Rev 0.6 www. qstcorp.com 24 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5 UI Sensor Configuration Settings and Output Data ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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 Sensor Enable, SPI 3 or 4 Wire CTRL1 Control power states, SPI communications Enable AttitudeEngine CTRL7 Enable the AttitudeEngine (CTRL7, sEN =1, aEN=1, gEN=1, optionally mEN=1 if external magnetometer is available) Configure CTRL6 AttitudeEngine Output Data Rate and Motion on Demand Configure Accelerometer, Enable Self Test CTRL2 Configure Full Scale; Enable Self Test Configure Gyroscope, Enable Self Test CTRL3 Configure Full Scale; 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] Velocity Increment dV[X,Y,Z]_[H,L] ms-1 Magnetic Field M[X,Y,Z]_[H,L] gaus Rotation compensated magnetic field (rotated to sensor frame s of reference) Status STATUSINT STATUS0, STATUS1 Bias Update, Clipping, Overflow AE_CLIP, AE_OVFLOW Temperature TEMP_[H,L] 5.3 Unit Comments Unit Quaternion format in sensor frame Rotation compensated velocity increment (based on specific force), rotated to sensor frame of reference Data Availability, Wake on Motion detected Magnetometer and Gyroscope bias update acknowledgement, Sensor clipping acknowledgement, Velocity increment overflow °C Temperature of the sensor General Purpose Register Table 23. General Purpose Register Description Register Name WHO_AM_I Bits Register Address: 0 (0x00) 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 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.2 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Configuration Registers This section describes the various operating modes and register configurations of the QMI8658C. Table 24. Configuration Registers Description Register Name CTRL1 Bits Serial Interface and Sensor Enable. Register Address: 2 (0x02) Name Default Description 7 SIM 1’b0 0: Enables 4-wire SPI interface 1: Enables 3-wire SPI interface 6 SPI_AI 1’b0 0: Serial interface (SPI or I2C) address do not auto increment. 1: Serial interface (SPI or I2C) address auto increment 5 SPI_BE 1’b1 0: SPI read data little endian 1: SPI read data big endian Reserved 4’b0 Reserved SensorDisable 1’b0 0: Enables internal 2 MHz oscillator 1: Disables internal 2 MHz oscillator 4:1 0 CTRL2 Name Bits 7 6:4 Accelerometer Settings: Address: 3 (0x03) aST aFS Default Description 1’b0 Enable Accelerometer Self Test. 3’b0 Set Accelerometer Full-scale: 000 - Accelerometer Full-scale = ±2 g 001 - Accelerometer Full-scale = ±4 g 010 - Accelerometer Full-scale = ±8 g 011 – Accelerometer Full-scale = ±16 g 1xx – N/A Set Accelerometer Output Data Rate (ODR): 3:0 aODR(13) © 2021 QST Corporation 4’b0 Setting ODR Rate (Hz) Mode Duty Cycle 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 8000 4000 2000 1000 500 250 125 62.5 31.25 N/A N/A N/A 128 21 11 3 Normal Normal Normal Normal Normal Normal Normal Normal Normal 100% 100% 100% 100% 100% 100% 100% 100% 100% Low Power Low Power Low Power Low Power 100% 58% 31% 8.5% QMI8658C • Rev 0.6 www. qstcorp.com 26 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.4 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 Bits 7 6:4 Gyroscope Settings: Address 4 (0x04) Name gST gFS Default Description 1’b0 Enable Gyro Self-Test. 3’b0 Set Gyroscope Full-scale: 000 - ±16 dps 001 - ±32 dps 010 - ±64 dps 011 - ±128 dps 100 - ±256 dps 101 - ±512 dps 110 - ±1024dps 111 - ±2048 dps Set Gyroscope Output Data Rate (ODR): 3:0 gODR (13) CTRL4 Bits 7 6:3 2:0 4’b0 Setting ODR Rate (Hz) Mode Duty Cycle 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 8000 4000 2000 1000 500 250 125 62.5 31.25 N/A N/A N/A N/A N/A N/A N/A Normal Normal Normal Normal Normal Normal Normal Normal Normal 100% 100% 100% 100% 100% 100% 100% 100% 100% Magnetometer Settings: Address: 5 (0x05) Name Default Reserved 1’b0 mDEV 4’b0 mODR 3’b0 Description Designate External Magnetometer Device: (supported devices listed in Section 11). Set Recommended Magnetometer Output Data Rate (ODR): Setting 000 001 010 011 100 101 110 11x ODR Rate (Hz) 1000 500 250 125 62.5 31.25 N/A 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 Register Name CTRL5 Bits 7 6:5 Sensor Data Processing Settings. Register Address: 6 (0x06) Name Reserved Default 1’b0 gLPF_MODE 2’b0 4 gLPF_EN 1’b0 3 Reserved 1’b0 2:1 0 aLPF_MODE 2’b0 aLPF_EN 1’b0 CTRL6 Bits 7 6:3 Description gLPF_MODE 00 01 10 11 BW [Hz] 2.62% of ODR 3.59% of ODR 5.32% of ODR 14.0% of ODR 0: Disable Gyroscope Low-Pass Filter. 1: Enable Gyroscope Low-Pass Filter with the mode given by gLPF_MODE. aLPF_MODE 00 01 10 11 BW [Hz] 2.62% of ODR 3.59% of ODR 5.32% of ODR 14.0% of ODR 0: Disable Accelerometer Low-Pass Filter. 1: Enable Accelerometer Low-Pass Filter with the mode given by aLPF_MODE. Attitude Engine ODR and Motion on Demand: Address: 7 (0x07) Name Default sMoD 1’b0 Reserved 4’b0 Description 0: Disables Motion on Demand. 1: Enables Motion on Demand (Requires sEN=1). Attitude Engine Output Data Rate (ODR) 2:0 sODR © 2021 QST Corporation 3’b0 Setting ODR Rate (Hz) 000 001 010 011 100 101 110 1 2 4 8 16 32 64 QMI8658C • Rev 0.6 www. qstcorp.com 28 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 24 Configuration Register Description (Continued) ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Register Name CTRL7 Enable Sensors and Configure Data Reads. Register Address: 8 (0x08) Bits Name Default Description 7 syncSmpl 1’b0 0: Disable syncSmpl mode 1: Enable syncSmple mode 6 sys_hs 1’b0 1: High Speed Internal Clock 0: Clock based on ODR 5 Reserved 1’b0 4 gSN 1’b0 0: Gyroscope in Full Mode (Drive and Sense are enabled). 1: Gyroscope in Snooze Mode (only Drive enabled). This bit is effective only when gEN is set to 1. 3 sEN 1’b0 0: Disable AttitudeEngine orientation and velocity increment computation 1: Enable AttitudeEngine orientation and velocity increment computation 2 mEN 1’b0 0: Magnetometer placed in Standby or Power-down Mode. 1: Enable Magnetometer 1 gEN 1’b0 0: Gyroscope placed in Standby or Power-down Mode. 1: Enable Gyroscope. 0 aEN 1’b0 0: Accelerometer placed in Standby or Power-down Mode. 1: Enable Accelerometer. CTRL8 Bits 7:0 Reserved – Special Settings. Register Address: 9 (0x09) Name Reserved Default 0x00 Description Not Used Register Name CTRL9 © 2021 QST Corporation Host Commands. Register Address: 10 (0x0A), Referred to: CTRL 9 Functionality (Executing Pre-defined Commands) QMI8658C • Rev 0.6 www. qstcorp.com 29 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 24 Configuration Register Description (Continued) ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE FIFO Registers Table 25. FIFO Control/Status/Data Registers Register Name FIFO_WTM_TH FIFO Watermark Register Address: 19 (0x13) Bits Name Default 7:0 FIFO_WTM 8’h0 FIFO_CTRL Bits 7 6:4 Description Number of ODRs needed to trigger watermark FIFO Control Register Address: 20 (0x14) Name Default Description FIFO_RD_MODE 1’b0 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 be cleared again after the data read is complete so that writing data to the FIFO can resume. Reserved 3’b0 FIFO_SIZE[1:0] 3:2 FIFO_SIZE 2’b0 FIFO Sample Size 00 16 samples 01 32 samples 10 64 samples 11 128 samples FIFO_MODE[1:0] 1:0 FIFO_MODE FIFO_SMPL_CNT 2’b0 Name Default 7:0 FIFO_SMPL_CNT_L SB 8’b0 Bits Name 00 Bypass (FIFO disable) 01 FIFO 10 Stream 11 Stream to FIFO. In stream to FIFO mode, once motion/gesture interrupt event happens, content of FIFO will be emptied, pointers reset FIFO Sample Count Register Address: 21 (0x15) Bits FIFO_STATUS FIFO Sample Size Description 8 LS bits of FIFO Sample Count (in bytes). FIFO Status. Register Address 22 (0x16) Default Description 7 FIFO_FULL 1’b0 0 – FIFO is not Full 1 -- FIFO is Full 6 FIFO_WTM 1’b0 0 -- FIFO Water Mark Level not hit. 1 – FIFO Water Mark Level Hit 5 FIFO_OVFLOW 1’b0 0 – FIFO Overflow has not happened 1 -- FIFO Overflow condition has happened (attempt to save ODR data to FIFO when it is full) 4 FIFO_NOT_EMPTY 1’b0 0 – FIFO is Empty 1 -- FIFO is not Empty 3:2 Reserved 2’b0 1:0 FIFO_SMPL_CNT_ MSB 2’b0 © 2021 QST Corporation 2 MS bits of FIFO Sample Count (in bytes). QMI8658C • Rev 0.6 www. qstcorp.com 30 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.5 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Bits 7:0 FIFO DATA Output Register Address: 23 (0x17) Name FIFO_DATA © 2021 QST Corporation QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor FIFO_DATA Default 8’b0 Description 8 bit FIFO data output. QMI8658C • Rev 0.6 www. qstcorp.com 31 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Status and Time Stamp Registers Table 26. Status and Time Stamp Registers Register Name I2CM_STATUS Bits 7:3 2 I2C Master Status, Register Address: 44 (0x2C) Name Reserved I2CM_done Default Description 5’b0 1’b0 0: I2C Master data movement not complete (ARM still processing) 1: I2C Master data movement is complete (ARM has finished) 1 Data_VLD 1’b0 0: Magnetometer data is NOT Valid 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 I2CM_active 1’b0 0: I2C Master transaction with peripheral is not done. 1: Indicate I2C Master transaction with peripheral is done. STATUSINT Bits 7:2 1 0 Name Reserved Locked Avail STATUS0 Bits 7:4 3 Sensor Data Available and Lock Register Address: 45 (0x2D) Default Description 5’b0 1’b0 If syncSmpl = 1 (Bit 7 in CTRL7) then: 0: Sensor Data not locked. 1: Sensor Data Locked. If syncSmpl = 0 then bit 1 will have the same value of the Interrupt in INT1. 1’b0 If syncSmpl = 1 (Bit 7 in CTRL7) then: 0: Sensor Data not available 1: Sensor Data available for reading If syncSmpl = 0 then bit 0 will have the same value of the Interrupt in INT2. Output Data Status Register Address: 46 (0x2E) Name Default Description Reserved 4’b0 sDA 1’b0 AE new data available 0: No updates since last read. 1: New data available. 2 mDA 1’b0 Valid Magnetometer data available 0: Magnetometer data is NOT Valid 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 1 gDA 1’b0 Gyroscope new data available 0: No updates since last read. 1: New data available. 0 aDA 1’b0 Accelerometer new data available 0: No updates since last read. 1: New data available. STATUS1 © 2021 QST Corporation Miscellaneous Status. Register Address 47 (0x2F) QMI8658C • Rev 0.6 www. qstcorp.com 32 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.6 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Name Default Description 7:1 Reserved 7’b0 Reserved 0 CmdDone 1’b0 Bit read by Host Processor as part of CTRL9 register protocol. Used to indicate ctrl9 Command was done. TIMESTAMP 3 Bytes Sample Time Stamp – Output Count. Register Address: 48 - 50 (0x30 - 0x32) Bits Name Default 7:0 TIMESTAMP_L 0x00 7:0 TIMESTAMP_M 0x00 7:0 TIMESTAMP_H 0x00 © 2021 QST Corporation Description Sample time stamp. Count incremented by one for each sample (x, y, z data set) from sensor with highest ODR (circular register 0x0-0xFFFFFF). QMI8658C • Rev 0.6 www. qstcorp.com 33 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Bits ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 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 7:0 TEMP_L 0x00 7:0 TEMP_H 0x00 Description Temperature output (°C) in two’s complement. Register Name A[X,Y,Z]_[H,L] Bits Name Acceleration Output. Register Address: 53 – 58, (0x35 – 0x3A) Default 7:0 AX_L 0x00 7:0 AX_H 0x00 7:0 AY_L 0x00 7:0 AY_H 0x00 7:0 AZ_L 0x00 7:0 AZ_H 0x00 Description X-axis acceleration in two’s complement. AX_L – lower 8 bits. AX_H – upper 8 bits. Y-axis acceleration in two’s complement. AY_L – lower 8 bits. AY_H – upper 8 bits. Z-axis acceleration in two’s complement. AZ_L – lower 8 bits. AZ_H – upper 8 bits. Register Name G[X,Y.Z]_[H,L] Bits Name Angular Rate Output. Register Address: 59 – 64 (0x3B – 0x40) Default 7:0 GX_L 0x00 7:0 GX_H 0x00 7:0 GY_L 0x00 7:0 GY_H 0x00 7:0 GZ_L 0x00 7:0 GZ_H 0x00 Description X-axis angular rate in two’s complement. GX_L – lower 8 bits. GX_H – upper 8 bits. Y-axis angular rate in two’s complement. GY_L – lower 8 bits. GY_H – upper 8 bits. Z-axis angular rate in two’s complement. GZ_L – lower 8 bits. GZ_H – upper 8 bits. Register Name M[X,Y,Z]_[H,L] Bits Name Magnetometer Output. Register Address: 65 - 70. (0x41 – 0x46) Default 7:0 MX_L 0x00 7:0 MX_H 0x00 7:0 MY_L 0x00 7:0 MY_H 0x00 7:0 MZ_L 0x00 7:0 MZ_H 0x00 Description X-axis magnetic field data in two’s complement. MX_L – lower 8 bits. MX_H – upper 8 bits. Y-axis magnetic field data in two’s complement. MY_L – lower 8 bits. MY_H – upper 8 bits. Z-axis magnetic field data in two’s complement. 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 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.7 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Register Name dQ[1,2,3,4]_[H,L] Bits Name Quaternion Output. Register Addresses: 73 – 80 (0x49 – 0x50) Default 7:0 dQW_L 0x00 7:0 dQW_H 0x00 7:0 dQX_L 0x00 7:0 dQX_H 0x00 7:0 dQY_L 0x00 7:0 dQY_H 0x00 7:0 dQZ_L 0x00 7:0 dQZ_H 0x00 dV[X,Y,Z]_[H,L] Bits Bits 7:0 dVX_L 0x00 7:0 dVX_H 0x00 7:0 dVY_L 0x00 7:0 dVY_H 0x00 7:0 dVZ_L 0x00 7:0 dVZ_H 0x00 Bits Quaternion Increment dQW in two’s complement. dQW_L – lower 8 bits. dQW_H – upper 8 bits. Quaternion Increment dQX in two’s complement. dQX_L – lower 8 bits. dQX_H – upper 8 bits. Quaternion Increment dQY in two’s complement. dQY_L – lower 8 bits. dQY_H – upper 8 bits. Quaternion Increment dQZ in two’s complement. dQZ_L – lower 8 bits. dQZ_H – upper 8 bits. Delta Velocity Output. Register Address: 81 – 86 (0x51– 0x56) Name AE_REG1 Description Name X-axis Velocity Increment in two’s complement. dVX_L – lower 8 bits. dVX_H – upper 8 bits. Y-axis Velocity Increment in two’s complement. dVY_L – lower 8 bits. dVY_H – upper 8 bits. Z-axis Velocity Increment in two’s complement. dVZ_L – lower 8 bits. dVZ_H – upper 8 bits. AttitudeEngine Register 1, Address: 87 (0x57) Name Default Description 7 Reserved 1’b0 6 GyroBiasAck 1’b0 Acknowledgement that Gyro Bias was updated during this time 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. 1 ay_clip 1’b0 Accelerometer Y-axis data was clipped during the dQ calculation. 0 ax_clip 1’b0 Accelerometer X-axis data was clipped during the dQ calculation. © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 35 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 27 Sensor Data Output Registers Description (Continued) ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Register Name AE_REG2 Bits 7:3 AttitudeEngine Register 2, Address: 88 (0x58) Name Default Description 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 Mode/Outputs dQ dV M TIMESTAMP Comments on TIMESTAMP AttitudeEngine in ODR Mode (Accelerometer and Gyroscope Enabled) CTRL6 Register sMoD=0 gSN=0 sEN=1 CTRL7 Register aEN=1 Quaternion Increment Velocity Increment No Data AttitudeEngine Sample Count gEN=1 24-bit data. Count starts at 1, 16,777,216 count wraps to 0, i.e. Mod(16,777,216) mEN=0 AttitudeEngine in Motion on Demand (MoD) mode (Accelerometer and Gyroscope enabled) CTRL6 Register sMoD=1 gSN=0 sEN=1 CTRL7 Register aEN=1 Quaternion Increment Velocity Increment No Data gEN=1 Gyroscope Samples in Integration Window 24-bit data. Count starts at 1, 16,777,216 count wraps to 0, i.e. Mod(16,777,216) mEN=0 AttitudeEngine with Raw Magnetometer in ODR Mode (Accelerometer, Gyroscope and Magnetometer Enabled) CTRL6 Register sMoD=0 gSN=0 sEN=1 CTRL7 Register aEN=1 Quaternion Increment Velocity Increment Initial AttitudeEngine Raw Mag Sample Count Data gEN=1 24-bit data. Count starts at 1, 16,777,216 count wraps to 0, i.e. Mod(16,777,216) mEN=1 © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 36 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Table 27 Sensor Data Output Registers Description (Continued) ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE CTRL 9 Functionality (Executing Pre-defined Commands) WCtrl9 (Write – CTRL9 Protocol) CTRL 9 Description The protocol for executing predefined commands from an external host processor on the QMI8658C is facilitated by using the Control 9 (CTRL9) register. The register is available to the host via the UI SPI/I2C/I3C bus. It operates by the host writing a pre-defined value (Command) to the CTRL9 register. The firmware of the QMI8658C evaluates this command and if a match is found it executes the corresponding pre-defined function. Once the function has been executed, the QMI8658C signals the completion of this by raising INT1 interrupt. The host must acknowledge this by reading STATUS1 register bit 0. This is the CmdDone bit. After this read, the QMI8658C pulls down the INT1 interrupt. This command presentation from the host to the QMI8658C and the subsequent execution and handshake between the host and the QMI8658C will be referred to as the “CTRL9 Protocol”. There are three types of interactions between the host and QMI8658C that follow the CTRL9 Protocol. WCtrl9: The host needs to supply data to QMI8658C prior to the Ctrl9 protocol. (Write – Ctrl9 Protocol) Ctrl9R: The host gets data from QMI8658C following the Ctrl9 protocol. (Ctrl9 protocol – Read) Ctrl9: No data transaction is required prior to or following the Ctrl9 protocol. (Ctrl9). © 2021 QST Corporation 1. 2. 3. 4. 5. The host needs to provide the required data for this command to the QMI8658C. The host typically does this by placing the data in a set of registers called the CAL buffer. Eight CAL registers are used; the following table provides the name and addresses of these registers. Write Ctrl9 register 0x0a with the appropriate Command value. The Device will raise INT1 and set Bit 0 in STATUS1 reg, to 1 once it has executed the appropriate function based on the command value. The host must acknowledge this by reading STATUS1 register bit 0 (CmdDone) which is reset to 0 on reading the register. In addition, INT1 is pulled low, completing the CTRL9 transaction. If any data is expected from the device, it will be available at this time. The location of the data is specified separately for each of the Commands. Table 29. CAL Register Addresses Register Name Register Address Dec Hex CAL1_L 11 0x0B CAL1_H 12 0x0C CAL2_L 13 0x0D CAL2_H 14 0x0E CAL3_L 15 0x0F CAL3_H 16 0x10 CAL4_L 17 0x11 CAL4_H 18 0x12 QMI8658C • Rev 0.6 www. qstcorp.com 37 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 5.8 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE 2. 3. Write Ctrl9 register 0x0A with the appropriate Command value. The Device will raise INT1 and set Bit 0 in STATUS1 register to 1 once it has executed the appropriate function based on the command value. The host must acknowledge this by reading STATUS1 register bit 0 (CmdDone) which is then reset to 0 upon reading the register. In addition, INT1 is pulled low upon the register read, completing the CTRL9 transaction. Data is available from the device at this time. The location of the data is specified separately for each of the Commands. 1. 2. 3. Write CTRL9 register 0x0a with the appropriate Command value. The Device will raise INT1 and set Bit 0 in STATUS1 register to 1 once it has executed the appropriate function based on the command value. The host must acknowledge this by reading STATUS1 register bit 0 (CmdDone) which is then reset to 0 upon reading the register. In addition, INT1 is pulled low upon the register read, completing the CTRL9 transaction. Table 30. CTRL9 Register CMND Values CTRL9 Command Value Protocol Type CTRL_CMD_NOP 0x00 Ctrl9 CTRL_CMD_GYRO_BIAS 0x01 WCtrl9 Copies bias_gx,y,z from CAL registers to FIFO and set GYROBIAS_PEND bit CTRL_CMD_REQ_SDI 0x03 Ctrl9R SDI MOD (Motion on Demand), request to read SDI data CTRL_CMD_RST_FIFO 0x04 Ctrl9 CTRL_CMD_REQ_FIFO 0x05 Ctrl9R Get FIFO data from Device CTRL_CMD_I2CM_WRITE 0x06 WCtrl9 Program device on I2C Master Bus (I2CM) by writing to CAL1_[H,L], CAL2_[H,L], and CAL3_L registers. CTRL_CMD_WRITE_WOM_SETTING 0x08 WCtrl9 Set up and enable Wake on Motion (WoM) CTRL_CMD_ACCEL_HOST_DELTA_ OFFSET 0x09 WCtrl9 Change accelerometer offset CTRL_CMD_GYRO_HOST_DELTA_ OFFSET 0x0A WCtrl9 Change gyroscope offset CTRL_CMD_COPY_USID 0x10 Ctrl9R Read USID_Bytes and FW_Version bytes CTRL_CMD_SET_RPU 0x11 WCtrl9 Configures IO pull-ups CMND Name © 2021 QST Corporation QMI8658C • Rev 0.6 Description No operation Reset FIFO from Host www. qstcorp.com 38 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Ctrl9 (CTRL9 Protocol Acknowledge) Ctrl9R (CTRL9 Protocol - Read) 1. ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE CTRL_CMD_WRITE_WOM_SETTING CTRL_CMD_NOP No Operation CTRL_CMD_GYRO_BIAS This CTRL9 Command is issued to copy bias_gx, bias_gy, bias_gz from CAL registers to FIFO and set GYROBIAS_PEND bit. CAL3_[H,L] is bias_gz, CAL2_[H,L] is bias_gy, CAL1_[H,L] is bias_gx. CTRL_CMD_REQ_SDI This CTRL9 command is used to retrieve motion data from the QMI8658C when Motion on Demand mode (MoD) is enabled. To enable MoD the device should have the AttitudeEngine orientation enabled. This can be done by enabling the AttitudeEngine by setting CTRL7 Bit 3 (sEN) to 1. Then the MoD mode can be enabled by setting CTRL6 Bit 7 (sMoD) to 1. The CTRL_CMD_REQ_MoD command is then issued by writing 0x0C to CTRL9 register 0x0A. This indicates to the QMI8658C that it is required to supply the motion data to the host. The device immediately makes available the orientation and velocity increments it has computed so far to the host by making them available at output registers 0x25 to 0x3D and raises the INT1 to indicate to the host that valid data is available. CTRL_CMD_RST_FIFO This CTRL9 command of writing 0x05 to the Ctrl9 register 0x0a allows the host to instruct the device to reset the FIFO. CTRL_CMD_REQ_FIFO 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 signaling that a flag condition (like FIFO full) has been reached and that data is available to be read by the host. This Command is issued by writing 0x0D to the CTRL9 register 0x0A. The device will raise INT1 to indicate that it is ready for a FIFO transaction. The host must read the STATUS1 register bit 0 (CmdDone). At this point the host should set the FIFO_rd_mode Bit to 1 (FIFO_CTRL register 0x13 bit 7). The device will direct the FIFO data to the FIFO_DATA register 0x14 until the FIFO is empty. The host must now set FIFO_rd_mode to 0, which will cause the INT2 to be de-asserted. CTRL_CMD_I2CM_WRITE This CTRL9 command of writing 0x06 to the Ctrl9 register 0x0a allows the host to instruct the device to Program 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 This CTRL9 Command is issued when the host wants to enable/modify the trigger thresholds or blanking interval 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 appropriate data, the Command is issued by writing 0x08 to CTRL9 register 0x0A. CTRL_CMD_ACCEL_HOST_DELTA_OFFSET This CTRL9 Command is issued when the host wants to manually change the accelerometer offset. Each delta offset value should contain 16 bits and the format is signed 4.12 (12 fraction bits). The user must write the offset to the following registers: Accel_Delta_X : {CAL1_H, CAL1_L} Accel_Delta_Y : {CAL2_H, CAL2_L} Accel_Delta_Z : {CAL3_H, CAL3_L} Next, the Command is issued by writing 0x09 to CTRL9 register 0x0A. Note, this offset change is lost when the sensor is power cycled or the system is reset. CTRL_CMD_GYRO_HOST_DELTA_OFFSET This CTRL9 Command is issued when the host wants to manually change the gyroscope offset. Each delta offset value should contain 16 bits and the format is signed 11.5 (5 fraction bits). The user must write the offset to the following registers: Gyro_Delta_X : {CAL1_H, CAL1_L} Gyro_Delta_Y : {CAL2_H, CAL2_L} Gyro_Delta_Z : {CAL3_H, CAL3_L} Next, the Command is issued by writing 0x0A to CTRL9 register 0x0A. Note, this offset change is lost when the sensor is power cycled or the system is reset. CTRL_CMD_COPY_USID This CTRL9 Command copies the following data into UI registers. It is initiated by the host writing 0x10 to CTRL9. After issuing the command, the data will be available for the host to read from the registers shown below: FW_Version byte 0  dQW_L FW_Version byte 1  dQW_H FW_Version byte 2  dQX_L USID_Byte_0  dVX_L USID_Byte_1  dVX_H USID_Byte_2  dVY_L USID_Byte_3  dVY_H USID_Byte_4  dVZ_L USID_Byte_5  dVZ_H QMI8658C • Rev 0.6 www. qstcorp.com 39 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor CTRL9 Commands in Detail 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: icm_rpu_dis: cs_rpu_dis: ics_rpu_dis: CAL1_L bit[0] CAL1_L bit[1] CAL1_L bit[2] 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 6.1 Overview The QMI8658C has two Interrupt lines, INT1 and INT2. INT1 is used as a general-purpose interrupt. The details are described in the specific sections where INT1 and INT2 are used. The following provides a summary of the INT1 and INT2 usage. If syncSmpl = 0, then bit 1 of STATUSINT register will have the same value as INT1 and bit 0 of STATUSINT register will have the same value as INT2. Interrupt 1 (INT1) The following summarizes the use of INT1: Set high for ~4 ms after reset to indicate that the chip is ready for normal operation. If any operation has set INT1 it will always be cleared by reading STATUS1 register. Used as part of the CTRL9 handshake protocol (see section 5.8). When Wake on Motion (WoM) is enabled, INT1 can be selected to indicate WoM (see section 9). Interrupt 2 (INT2) INT2 generally indicates data availability. When Wake on Motion (WoM) is enabled, INT2 can be selected to indicate WoM (see section 9). The following indicates when INT2 will be asserted. Register-Read Mode (FIFO Bypass Mode) In Register-Read mode the accelerometer, gyroscope and magnetometer data are available in the Sensor Data Output registers (A[X,Y,Z]_[H,L]). The updating of these output registers and the functionality of the INT2 interrupt is controlled by the syncSmpl bit as described below. With syncSmpl = 0 (refer to Table 24, CTRL7 register bit 7), INT2 is placed into edge trigger mode: the Sensor 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 With syncSmpl = 1 (refer to Table 24, CTRL7 register bit 7), INT2 is placed into level mode: The INT2 is asserted when data is available and remains asserted until the host reads STATUS0 register. The device continues to refresh the output data until the STATUS0 register is read by host. 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 reading the output data. Once the last byte of data has been read by the host (the QMI8658C keeps track) the QMI8658C will start updating the output register and set up the next INT2 when data is available in the output registers. FIFO Enabled Mode (see Section 8) When the FIFO is enabled in the FIFO mode (the mode bits in FIFO_CTRL register set to 01), INT2 is asserted when the FIFO is full or when the watermark is reached. When the FIFO is enabled in the Streaming Mode (the mode bits in FIFO_CTRL register set to 10), INT2 is asserted when the watermark is reached but not when the FIFO is full because in the stream mode the FIFO will continue to fill by overwriting the oldest data in the FIFO. INT2 is cleared in both the FIFO Mode and the Streaming Mode by clearing the FIFO_rd_mode bit in the FIFO_CTRL register. This is done as part of the CTRL9 command CTRL_CMD_REQ_FIFO. Accelerometer and Gyroscope Self Test Modes (see Section 10) INT2 is asserted to indicate availability of self-test data and is cleared by resetting the aST and gST bits in CTRL2 and CTRL3 registers, respectively. AE Mode In AE Mode, INT2 is asserted when data is available. QMI8658C • Rev 0.6 www. qstcorp.com 41 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 6 Interrupts ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE The QMI8658C offers a large number of operating modes that may be used to operate the device in a power efficient manner. These modes are described in Table 31 and are shown in Figure 8; they may be configured using the control (CTRL) registers. Table 31. Operating Modes Mode Description Suggested Configuration Sensor Modes Power-On Default All sensors off, clock is turned on. The current in this mode is typically 50 µA. Note this mode is the default state upon initial power up or after a reset. CTRL1 sensorDisable = 0 CTRL7 aEN = 0, gEN = 0, mEN = 0, sEN=0. CTRL2 aODR =000 Low Power Same as Power-On Default mode, except in this mode the 250 kHz clock is turned on instead of the 2 MHz clock. The current in this mode is typically 25 µA. To enter this mode requires host interaction to set CTRL2 aODR=11xx. CTRL1 sensorDisable =0 CTRL7 aEN = 0, gEN = 0, mEN = 0, sEN=0. CTRL2 aODR =11xx Power-Down All QMI8658C functional blocks are switched off to minimize power consumption. Digital interfaces remain on allowing communication with the device. All configuration register values are preserved, and output data register values are maintained. The current in this mode is typically 20 µA. The host must initiate this mode by setting sensorDisable=1. CTRL1 sensorDisable =1 CTRL7 aEN = 0, gEN = 0, mEN = 0, sEN=0. Device configured as an accelerometer only. CTRL7 aEN =1, gEN =0, mEN =0 CTRL2 aODR !=11xx Device configured in low power accelerometer mode. CTRL7 aEN =1, gEN =0, mEN =0 CTRL2 aODR =11xx Device configured as gyroscope Drive only, since the Sense is not enabled, there is no data from the gyroscope in this mode. CTRL7 gSN=1, aEN =0, gEN =1, mEN =0 Gyro Only Device configured as a gyroscope only. CTRL7 gSN=0, aEN =0, gEN =1, mEN =0 Mag Only Device configured as a magnetometer only. CTRL7 aEN =0, gEN =0, mEN =1 Accel + Mag Device configured as an accelerometer and magnetometer combination only. Device can be used as a (stabilized) compass. CTRL7aEN =1, gEN =0, mEN =1 CTRL2 aODR != 11xx Accel + Gyro (IMU) Device configured as an Inertial Measurement Unit, i.e. an accelerometer and gyroscope combination sensor. CTRL7 gSN=0, aEN =1, gEN =1, mEN =0 CTRL2 aODR != 11xx Accel + Gyro + Mag (9DOF) Accelerometer and gyroscope are enabled and combined CTRL7 gSN=0, aEN =1, gEN with an external magnetometer and the device can be used =1, mEN =1 as a 9D orientation sensor (Attitude and Heading CTRL2 aODR != 11xx Reference). Normal Accel Only Low Power Accel Only Snooze Gyro Accel + Snooze Gyro Accelerometer and gyroscope snooze are enabled. Only accelerometer data is available. CTRL7 gSN=1, aEN =1, gEN =1, mEN =0 CTRL2 aODR != 11xx Accel + Mag + Snooze Gyro Accelerometer and gyroscope snooze are enabled. Only accelerometer and magnetometer data are available. CTRL7 gSN=1, aEN =1, gEN =1, mEN =1 CTRL2 aODR != 11xx Wake on Motion (WoM) © 2021 QST Corporation Very low power mode used to wake-up the host by providing an interrupt upon detection of device motion. WoM Mode enabled - see CTRL_CMD_WRITE_WOM_SETTING in Section 5.8.5 and QMI8658C • Rev 0.6 CTRL7 aEN =1, gEN =0, mEN =0 CTRL2 aODR = 11xx www. qstcorp.com 42 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor 7 Operating Modes ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE Table 31 Operating Modes (Continued) Mode Description Suggested Configuration Sensor Modes Reset No Power Software reset asserted VDDIO and VDD low AttitudeEngine Modes 6DOF AttitudeEngine Mode Attitude Engine Mode with Accelerometer and Gyroscope. Note that velocity increments and orientation (quaternion) increments will be output rather than sensor values. CTRL7 aEN = 1, gEN = 1, sEN =1 CTRL2 aODR=0xx 9DOF AttitudeEngine Mode AttitudeEngine Mode with Accelerometer, Gyroscope, and Magnetometer. Note that velocity increments, orientation (quaternion) increments and magnetic field values will be output rather than sensor values. CTRL7 aEN = 1, gEN = 1, sEN = 1, mEN = 1 CTRL4 (configure magnetometer as needed) This mode allows Host to sample AttitudeEngine data asynchronously by polling. CTRL7 aEN = 1, gEN = 1, sEN =1 CTRL6 sMOD = 1 Motion On Demand Mode © 2021 QST Corporation QMI8658C • Rev 0.6 www. qstcorp.com 43 QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor see Section 9, Wake on Motion (WoM) ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE QMI8658C — 6D Inertial Measurement Unit with Motion Co-Processor Figure 8. © 2021 QST Corporation Operating Mode Transition Diagram QMI8658C • Rev 0.6 www. qstcorp.com 44 ADVANCE INFORMATION — CONFIDENTIAL AND PROPRIETARY — DO NOT DISTRIBUTE General Mode Transitioning Upon exiting the No Power state (i.e. on first applying power to the part) or exiting a Software Reset state, the part will enter the Power-On Default state. From there, the sensor can be configured in the various modes described in Table 31 and as shown in Figure 8. The figure illustrates the timing associated with various mode transitions, and values for these times are given in the section below and in Table 7 and Table 8. 7.2  Time t0 is the System Turn on Time and is 1.75 seconds. This time only needs to be done once, upon transitioning from either a No Power or Power Down state, or whenever a reset is issued, which should not be done unless the intent is to have the device to go through its entire boot sequence (see the specification System Turn On Time in both 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 filter settling time). t1 is typically 60 ms and t5 is defined as 3/ODR, where ODR is the output data rate in Hertz.  The Accel Turn on Time (see Table 7) is comprised of t2 (the accelerometer wakeup time) and t5 (the part’s filter settling time). t2 is typically 3 ms, and t5 is defined as 3/ODR, where ODR is the output data rate in Hertz.  Time t3 is the magnetometer wakeup time, which is typically 12 ms. Transitioning from the Power-On Default state to a Mag Only state or a Mag + Accel state takes the time t3 + t5, where t5 is defined as 3/ODR, where ODR is the output data rate in Hertz.  The t7 transition is dependent on data transfer rates and is for I2C at 400 kHz is
QMI8658C 价格&库存

很抱歉,暂时无法提供与“QMI8658C”相匹配的价格&库存,您可以联系我们找货

免费人工找货
QMI8658C
    •  国内价格
    • 1+8.16480
    • 10+6.90120
    • 30+6.21000
    • 100+5.42160
    • 500+5.02200
    • 1000+4.87080

    库存:0