World'S Lowest Power 9-Axis Mems Motiontracking™ Device: General Description Applications
World'S Lowest Power 9-Axis Mems Motiontracking™ Device: General Description Applications
World'S Lowest Power 9-Axis Mems Motiontracking™ Device: General Description Applications
SDI
SDA / SDI
AUX_DA
BLOCK DIAGRAM
RESV
RESV
nCS
24
23
22
21
20
19
NC 1 GND
18
NC 2 17 NC
NC 3 16 NC
ICM-20948
NC 4 15 NC
NC 5 14 NC
C2, 0.1 µF
REGOUT 10
11
12
7
9
AUX_CL
VDDIO
SDO / AD0
INT1
FSYNC
1.71 – 1.95VDC
C1, 0.1 µF
C3, 0.1 µ F
SDO
TDK Corporation
InvenSense reserves the right to change the detail 1745 Technology Drive, San Jose, CA 95110 U.S.A Document Number: DS-000189
specifications as may be required to permit +1(408) 988–7339 Revision: 1.3
improvements in the design of its products. www.invensense.com Release Date: 06/02/2017
ICM-20948
TABLE OF CONTENTS
GENERAL DESCRIPTION ......................................................................................................................................................... 1
ORDERING INFORMATION ..................................................................................................................................................... 1
BLOCK DIAGRAM ................................................................................................................................................................. 1
APPLICATIONS..................................................................................................................................................................... 1
FEATURES .......................................................................................................................................................................... 1
TYPICAL OPERATING CIRCUIT ................................................................................................................................................. 1
1 GENERAL DESCRIPTION ........................................................................................................................................ 9
1.1 PURPOSE AND SCOPE ............................................................................................................................................... 9
1.2 PRODUCT OVERVIEW ............................................................................................................................................... 9
1.3 APPLICATIONS ......................................................................................................................................................... 9
2 FEATURES .......................................................................................................................................................... 10
2.1 GYROSCOPE FEATURES ........................................................................................................................................... 10
2.2 ACCELEROMETER FEATURES..................................................................................................................................... 10
2.3 MAGNETOMETER FEATURES .................................................................................................................................... 10
2.4 DMP FEATURES .................................................................................................................................................... 10
2.5 ADDITIONAL FEATURES ........................................................................................................................................... 10
3 ELECTRICAL CHARACTERISTICS ........................................................................................................................... 11
3.1 GYROSCOPE SPECIFICATIONS.................................................................................................................................... 11
3.2 ACCELEROMETER SPECIFICATIONS ............................................................................................................................. 12
3.3 MAGNETOMETER SPECIFICATIONS ............................................................................................................................ 13
3.4 ELECTRICAL SPECIFICATIONS..................................................................................................................................... 13
D.C. Electrical Characteristics ................................................................................................................................... 13
A.C. Electrical Characteristics ................................................................................................................................... 14
Other Electrical Specifications .................................................................................................................................. 15
3.5 I2C TIMING CHARACTERIZATION ............................................................................................................................... 16
3.6 SPI TIMING CHARACTERIZATION ............................................................................................................................... 17
3.7 ABSOLUTE MAXIMUM RATINGS ............................................................................................................................... 18
4 APPLICATIONS INFORMATION ........................................................................................................................... 19
4.1 PIN OUT DIAGRAM AND SIGNAL DESCRIPTION ............................................................................................................ 19
4.2 TYPICAL OPERATING CIRCUIT ................................................................................................................................... 20
4.3 BILL OF MATERIALS FOR EXTERNAL COMPONENTS ....................................................................................................... 20
4.4 EXPOSED DIE PAD PRECAUTIONS .............................................................................................................................. 20
4.5 BLOCK DIAGRAM ................................................................................................................................................... 21
4.6 OVERVIEW ........................................................................................................................................................... 21
4.7 THREE-AXIS MEMS GYROSCOPE WITH 16-BIT ADCS AND SIGNAL CONDITIONING ............................................................ 22
4.8 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING...................................................... 22
4.9 THREE-AXIS MEMS MAGNETOMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING ..................................................... 22
4.10 DIGITAL MOTION PROCESSOR .................................................................................................................................. 22
4.11 PRIMARY I2C AND SPI SERIAL COMMUNICATIONS INTERFACES ....................................................................................... 22
ICM-20948 Solution Using I2C Interface.................................................................................................................... 22
ICM-20948 Solution Using SPI Interface ................................................................................................................... 23
4.12 AUXILIARY I2C SERIAL INTERFACE .............................................................................................................................. 24
4.13 SELF-TEST ............................................................................................................................................................ 24
4.14 CLOCKING ............................................................................................................................................................ 25
4.15 SENSOR DATA REGISTERS ........................................................................................................................................ 25
1.3 APPLICATIONS
• Smartphones and Tablets
• Wearable Sensors
• IoT Applications
• Drones
tf tr tSU.DAT
SDA 70% 70%
30% 30%
tf continued below at A
tr tVD.DAT
SCL 70% 70%
tHD.DAT
30% 30%
tHD.STA 1/fSCL tLOW 9th clock cycle
S 1st clock cycle tHIGH
tBUF
SDA 70%
A 30%
CS 70%
30%
tHD;CS
tSU;CS tHIGH 1/fCLK
SCLK 70%
30%
tSU;SDI tHD;SDI tLOW
SDI 70%
MSB IN LSB IN
30%
tVD;SDO tHD;SDO tDIS;SDO
SDO 70%
MSB OUT LSB OUT
30%
AUX_DA
RESV
RESV
nCS
24
23
22
21
20
19
NC 1 18 GND
NC 2 17 NC
NC 3 16 NC
ICM-20948
NC 4 15 NC
NC 5 14 NC
NC 6 13 VDD
10
11
12
7
9
AUX_CL
VDDIO
SDO / AD0
REGOUT
INT1
FSYNC
SCL / SCLK
SCL / SCLK
SDA SDI
SDA / SDI
SDA / SDI
AUX_DA
AUX_DA
RESV
RESV
RESV
RESV
nCS
nCS
24
23
22
21
20
19
24
23
22
21
20
19
NC 1 GND NC 1 GND
18 18
NC 2 17 NC NC 2 17 NC
NC 3 16 NC NC 3 16 NC
ICM-20948 ICM-20948
NC 4 15 NC NC 4 15 NC
NC 5 14 NC NC 5 14 NC
11
12
REGOUT 10
11
12
7
9
AUX_CL
VDDIO
SDO / AD0
INT1
AUX_CL
VDDIO
SDO / AD0
INT1
FSYNC
FSYNC
1.71 – 1.95VDC 1.71 – 1.95VDC
C1, 0.1 µF C1, 0.1 µF
C3, 0.1 µ F C3, 0.1 µ F
AD0 SDO
(a) (b)
Figure 4. ICM-20948 Application Schematic (a) I2C operation (b) SPI operation
Note that the INT pin should be connected to a GPIO pin on the system processor that is capable of waking the system
processor from suspend mode.
I2C lines are open drain and pullup resistors (e.g. 10 kΩ) are required.
ICM-20948
Self
X Accel ADC INT1
test Interrupt
Status
Register
nCS
Self Y Accel ADC Slave I2C and AD0 / SDO
test
SPI Serial
FIFO
Interface SCL / SCLK
Signal Conditioning
Registers
Master I2C Serial AUX_CL
Self Serial Interface
X Gyro ADC Interface Bypass
test Sensor AUX_DA
Mux
Registers
FSYNC
Self
Y Gyro ADC
test
Digital Motion
Processor
Self (DMP)
Z Gyro ADC
test
Signal Conditioning
Temp Sensor ADC
X Y Z
Compass Compass Compass
4.6 OVERVIEW
The ICM-20948 is comprised of the following key blocks and functions:
• Three-axis MEMS rate gyroscope sensor with 16-bit ADCs and signal conditioning
• Three-axis MEMS accelerometer sensor with 16-bit ADCs and signal conditioning
• Three-axis MEMS magnetometer sensor with 16-bit ADCs and signal conditioning
• Digital Motion Processor (DMP) engine
• Primary I2C and SPI serial communications interfaces
• Auxiliary I2C serial interface
• Gyroscope, Accelerometer, and Magnetometer Self-Test
• Clocking
• Sensor Data Registers
• FIFO
• FSYNC
• Interrupts
• Digital-Output Temperature Sensor
• Bias and LDOs
• Charge Pump
• Power Modes
4.8 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-20948’s 3-Axis accelerometer uses separate proof masses for each axis. Acceleration along a particular axis
induces displacement on the corresponding proof mass, and capacitive sensors detect the displacement differentially.
The ICM-20948’s architecture reduces the accelerometers’ susceptibility to fabrication variations as well as to thermal
drift. When the device is placed on a flat surface, it will measure 0g on the X- and Y-axes and +1g on the Z-axis. The
accelerometers’ scale factor is calibrated at the factory and is nominally independent of supply voltage. Each sensor
has a dedicated sigma-delta ADC for providing digital outputs. The full scale range of the digital output can be adjusted
to ±2g, ±4g, ±8g, or ±16g.
4.9 THREE-AXIS MEMS MAGNETOMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The 3-axis magnetometer uses highly sensitive Hall sensor technology. The magnetometer portion of the IC
incorporates magnetic sensors for detecting terrestrial magnetism in the X-, Y-, and Z-Axes, a sensor driving circuit, a
signal amplifier chain, and an arithmetic circuit for processing the signal from each sensor. Each ADC has a 16-bit
resolution and a full scale range of ±4900 µT.
ICM-20948 AD0
VDD or GND
Slave I2C
or SPI SCL SCL
Serial System
Interface SDA/SDI SDA Processor
FIFO
Factory
Calibration
Digital
Motion
Processor
(DMP)
Interface bypass mux allows
direct configuration of
compass by system processor
nCS nCS
ICM-20948 SDO SDI
2
Slave I C System
or SPI SCLK SCLK Processor
Serial
Interface SDI SDO
FIFO
Sensor I2C Bus: for
configuring and
Config reading data from
Register external sensors
Optional
Sensor AUX_CL SCL
Sensor Master I2C Interface
Register External
Serial Bypass
AUX_DA SDA Sensor
Interface Mux
Factory
Calibration
Digital
Motion
Processor
(DMP) I2C Master performs
read and write
transactions on
Sensor I2C bus.
4.13 SELF-TEST
Self-test allows for the testing of the mechanical and electrical portions of the sensors. The self-test for each
measurement axis can be activated by means of the gyroscope and accelerometer self-test registers.
When the self-test is activated, the electronics cause the sensors to be actuated and produce an output signal. The
output signal is used to observe the self-test response.
The self-test response is defined as follows:
SELF-TEST RESPONSE = SENSOR OUTPUT WITH SELF-TEST ENABLED – SENSOR OUTPUT WITHOUT SELF-TEST ENABLED
4.14 CLOCKING
The internal system clock sources include: (1) an internal relaxation oscillator, and (2) a PLL with MEMS gyroscope
oscillator as the reference clock. With the recommended clock selection setting (CLKSEL = 1), the best clock source for
optimum sensor performance and power consumption will be automatically selected based on the power mode.
Specifically, the internal relaxation oscillator will be selected when operating in accelerometer only mode, while the
PLL will be selected whenever gyroscope is on, which includes gyroscope and 6-axis modes.
As clock accuracy is critical to the preciseness of distance and angle calculations performed by DMP, it should be noted
that the internal relaxation oscillator and PLL show different performances in some aspects. The internal relaxation
oscillator is trimmed to have a consistent operating frequency at room temperature, while the PLL clock frequency
varies from part to part. The PLL frequency deviation from the nominal value in percentage is captured in register
TIMEBASE_CORRECTION_PLL (detailed in section 12.5), and users can factor it in during distance and angle
calculations to not sacrifice accuracy. Other than that, PLL has better frequency stability and lower frequency variation
over temperature than the internal relaxation oscillator.
4.16 FIFO
The ICM-20948 contains a FIFO of size 512 bytes (FIFO size will vary depending on DMP feature-set) that is accessible
via the Serial Interface. The FIFO configuration register determines which data is written into the FIFO. Possible
choices include gyro data, accelerometer data, temperature readings, auxiliary sensor readings, and FSYNC input.
A FIFO counter keeps track of how many bytes of valid data are contained in the FIFO. The FIFO register supports burst
reads. The interrupt function may be used to determine when new data is available.
For further information regarding the FIFO, please refer to the Section 7.
4.17 FSYNC
The FSYNC pin can be used from an external interrupt source to wake up the device from sleep. It is particularly useful
in EIS applications to synchronize the gyroscope ODR with external inputs from an imaging sensor. Connecting the
VSYNC or HSYNC pin of the image sensor subsystem to FSYNC on ICM-20948 allows timing synchronization between
the two otherwise unconnected subsystems.
An FSYNC_ODR delay time register is used to capture the delay between an FSYNC pulse and the very next gyroscope
data ready pulse.
4.18 INTERRUPTS
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the
INT pin configuration, the interrupt latching and clearing method, and triggers for the interrupt. Section 5 provides a
summary of interrupt sources. The interrupt status can be read from the Interrupt Status register.
For further information regarding interrupts, please refer to Section 7.
For further information regarding the I2C_IF_DIS bit, please refer to Section 7.
SDA
SCL
S P
DATA OUTPUT BY
TRANSMITTER (SDA)
not acknowledge
DATA OUTPUT BY
RECEIVER (SDA)
acknowledge
SCL FROM
1 2 8 9
MASTER
SDA
S P
SCLK
SDI
SPI Master SDO SPI Slave 1
/CS1 /CS
/CS2
SCLK
SDI
SDO
SPI Slave 2
/CS
00 0 WHO_AM_I R WHO_AM_I[7:0]
I2C_MST_CY
05 5 LP_CONFIG R/W ACCEL_CYCLE GYRO_CYCLE -
CLE
DEVICE_RESE
06 6 PWR_MGMT_1 R/W SLEEP LP_EN - TEMP_DIS CLKSEL[2:0]
T
RAW_DATA_
11 17 INT_ENABLE_1 R/W -
0_RDY_EN
RAW_DATA_
1A 26 INT_STATUS_1 R/C -
0_RDY_INT
28 40 DELAY_TIMEH R DELAY_TIMEH[7:0]
29 41 DELAY_TIMEL R DELAY_TIMEL[7:0]
2D 45 ACCEL_XOUT_H R ACCEL_XOUT_H[7:0]
2E 46 ACCEL_XOUT_L R ACCEL_XOUT_L[7:0]
2F 47 ACCEL_YOUT_H R ACCEL_YOUT_H[7:0]
30 48 ACCEL_YOUT_L R ACCEL_YOUT_L[7:0]
31 49 ACCEL_ZOUT_H R ACCEL_ZOUT_H[7:0]
32 50 ACCEL_ZOUT_L R ACCEL_ZOUT_L[7:0]
33 51 GYRO_XOUT_H R GYRO_XOUT_H[7:0]
34 52 GYRO_XOUT_L R GYRO_XOUT_L[7:0]
35 53 GYRO_YOUT_H R GYRO_YOUT_H[7:0]
36 54 GYRO_YOUT_L R GYRO_YOUT_L[7:0]
37 55 GYRO_ZOUT_H R GYRO_ZOUT_H[7:0]
38 56 GYRO_ZOUT_L R GYRO_ZOUT_L[7:0]
39 57 TEMP_OUT_H R TEMP_OUT_H[7:0]
3A 58 TEMP_OUT_L R TEMP_OUT_L[7:0]
3B 59 EXT_SLV_SENS_DATA_00 R EXT_SLV_SENS_DATA_00[7:0]
3C 60 EXT_SLV_SENS_DATA_01 R EXT_SLV_SENS_DATA_01[7:0]
3D 61 EXT_SLV_SENS_DATA_02 R EXT_SLV_SENS_DATA_02[7:0]
3E 62 EXT_SLV_SENS_DATA_03 R EXT_SLV_SENS_DATA_03[7:0]
3F 63 EXT_SLV_SENS_DATA_04 R EXT_SLV_SENS_DATA_04[7:0]
40 64 EXT_SLV_SENS_DATA_05 R EXT_SLV_SENS_DATA_05[7:0]
41 65 EXT_SLV_SENS_DATA_06 R EXT_SLV_SENS_DATA_06[7:0]
42 66 EXT_SLV_SENS_DATA_07 R EXT_SLV_SENS_DATA_07[7:0]
43 67 EXT_SLV_SENS_DATA_08 R EXT_SLV_SENS_DATA_08[7:0]
44 68 EXT_SLV_SENS_DATA_09 R EXT_SLV_SENS_DATA_09[7:0]
45 69 EXT_SLV_SENS_DATA_10 R EXT_SLV_SENS_DATA_10[7:0]
46 70 EXT_SLV_SENS_DATA_11 R EXT_SLV_SENS_DATA_11[7:0]
47 71 EXT_SLV_SENS_DATA_12 R EXT_SLV_SENS_DATA_12[7:0]
48 72 EXT_SLV_SENS_DATA_13 R EXT_SLV_SENS_DATA_13[7:0]
49 73 EXT_SLV_SENS_DATA_14 R EXT_SLV_SENS_DATA_14[7:0]
4A 74 EXT_SLV_SENS_DATA_15 R EXT_SLV_SENS_DATA_15[7:0]
4B 75 EXT_SLV_SENS_DATA_16 R EXT_SLV_SENS_DATA_16[7:0]
4C 76 EXT_SLV_SENS_DATA_17 R EXT_SLV_SENS_DATA_17[7:0]
4D 77 EXT_SLV_SENS_DATA_18 R EXT_SLV_SENS_DATA_18[7:0]
4E 78 EXT_SLV_SENS_DATA_19 R EXT_SLV_SENS_DATA_19[7:0]
4F 79 EXT_SLV_SENS_DATA_20 R EXT_SLV_SENS_DATA_20[7:0]
50 80 EXT_SLV_SENS_DATA_21 R EXT_SLV_SENS_DATA_21[7:0]
51 81 EXT_SLV_SENS_DATA_22 R EXT_SLV_SENS_DATA_22[7:0]
52 82 EXT_SLV_SENS_DATA_23 R EXT_SLV_SENS_DATA_23[7:0]
WOF_STATU
74 116 DATA_RDY_STATUS R/C - RAW_DATA_RDY[3:0]
S
TIMEBASE_CORRECTIO
28 40 R/W TBC_PLL[7:0]
N_PLL
GYRO_FCHOI
01 1 GYRO_CONFIG_1 R/W - GYRO_DLPFCFG[2:0] GYRO_FS_SEL[1:0]
CE
ODR_ALIGN_
09 9 ODR_ALIGN_EN R/W -
EN
ACCEL_INTEL ACCEL_INTEL
12 18 ACCEL_INTEL_CTRL R/W -
_EN _MODE_INT
ACCEL_FCHOI
14 20 ACCEL_CONFIG R/W - ACCEL_DLPFCFG[2:0] ACCEL_FS_SEL[1:0]
CE
REG_LP_DMP
54 84 MOD_CTRL_USR R/W -
_EN
MULT_MST_ I2C_MST_P_
01 1 I2C_MST_CTRL R/W - I2C_MST_CLK[3:0]
EN NSR
I2C_SLV0_RN
03 3 I2C_SLV0_ADDR R/W I2C_ID_0[6:0]
W
I2C_SLV1_RN
07 7 I2C_SLV1_ADDR R/W I2C_ID_1[6:0]
W
I2C_SLV2_RN
0B 11 I2C_SLV2_ADDR R/W I2C_ID_2[6:0]
W
I2C_SLV3_RN
0F 15 I2C_SLV3_ADDR R/W I2C_ID_3[6:0]
W
I2C_SLV4_RN
13 19 I2C_SLV4_ADDR R/W I2C_ID_4[6:0]
W
I2C_SLV4_BY I2C_SLV4_RE
15 21 I2C_SLV4_CTRL R/W I2C_SLV4_EN I2C_SLV4_DLY[4:0]
TE_SW G_DIS
17 23 I2C_SLV4_DI R I2C_SLV4_DI[7:0]
8.1 WHO_AM_I
Name: WHO_AM_I
Address: 0 (00h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0xEA
BIT NAME FUNCTION
7:0 WHO_AM_I[7:0] Register to indicate to user which device is being accessed.
The value for ICM-20948 is 0xEA.
8.2 USER_CTRL
Name: USER_CTRL
Address: 3 (03h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 DMP_EN 1 – Enables DMP features.
0 – DMP features are disabled after the current processing round has completed.
6 FIFO_EN 1 – Enable FIFO operation mode.
0 – Disable FIFO access from serial interface.
To disable FIFO writes by DMA, use FIFO_EN register. To disable possible FIFO writes
from DMP, disable the DMP.
5 I2C_MST_EN 1 – Enable the I2C Master I/F module; pins ES_DA and ES_SCL are isolated from pins
SDA/SDI and SCL/ SCLK.
0 – Disable I2C Master I/F module; pins ES_DA and ES_SCL are logically driven by pins
SDA/SDI and SCL/ SCLK.
4 I2C_IF_DIS 1 – Reset I2C Slave module and put the serial interface in SPI mode only.
3 DMP_RST 1 – Reset DMP module. Reset is asynchronous. This bit auto clears after one clock
cycle of the internal 20 MHz clock.
2 SRAM_RST 1 – Reset SRAM module. Reset is asynchronous. This bit auto clears after one clock
cycle of the internal 20 MHz clock.
1 I2C_MST_RST 1 – Reset I2C Master module. Reset is asynchronous. This bit auto clears after one
clock cycle of the internal 20 MHz clock.
NOTE: This bit should only be set when the I2C master has hung. If this bit is set during an active
I2C master transaction, the I2C slave will hang, which will require the host to reset the slave.
0 - Reserved.
8.4 PWR_MGMT_1
Name: PWR_MGMT_1
Address: 6 (06h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x41
BIT NAME FUNCTION
7 DEVICE_RESET 1 – Reset the internal registers and restores the default settings. Write a 1 to set the
reset, the bit will auto clear.
6 SLEEP When set, the chip is set to sleep mode (in sleep mode all analog is powered off).
Clearing the bit wakes the chip from sleep mode.
5 LP_EN The LP_EN only affects the digital circuitry, it helps to reduce the digital current when
sensors are in LP mode. Please note that the sensors themselves are set in LP mode
by the LP_CONFIG register settings. Sensors in LP mode, and use of LP_EN bit
together help to reduce overall current. The bit settings are:
1: Turn on low power feature.
0: Turn off low power feature.
LP_EN has no effect when the sensors are in low-noise mode.
4 - Reserved.
3 TEMP_DIS When set to 1, this bit disables the temperature sensor.
2:0 CLKSEL[2:0] Code: Clock Source
0: Internal 20 MHz oscillator
1-5: Auto selects the best available clock source – PLL if ready, else use the Internal oscillator
6: Internal 20 MHz oscillator
7: Stops the clock and keeps timing generator in reset
NOTE: CLKSEL[2:0] should be set to 1~5 to achieve full gyroscope performance.
8.6 INT_PIN_CFG
Name: INT_PIN_CFG
Address: 15 (0Fh)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 INT1_ACTL 1 – The logic level for INT1 pin is active low.
0 – The logic level for INT1 pin is active high.
6 INT1_OPEN 1 – INT1 pin is configured as open drain.
0 – INT1 pin is configured as push-pull.
5 INT1_LATCH__EN 1 – INT1 pin level held until interrupt status is cleared.
0 – INT1 pin indicates interrupt pulse is width 50 µs.
4 INT_ANYRD_2CLEAR 1 – Interrupt status in INT_STATUS is cleared (set to 0) if any read operation is
performed.
0 – Interrupt status in INT_STATUS is cleared (set to 0) only by reading INT_STATUS
register.
This bit only affects the interrupt status bits that are contained in the register
INT_STATUS, and the corresponding hardware interrupt.
This bit does not affect the interrupt status bits that are contained in registers
INT_STATUS_1, INT_STATUS_2, INT_STATUS_3, and the corresponding hardware
interrupt.
3 ACTL_FSYNC 1 – The logic level for the FSYNC pin as an interrupt to the ICM-20948 is active low.
0 – The logic level for the FSYNC pin as an interrupt to the ICM-20948 is active high.
2 FSYNC_INT_MODE_EN 1 – This enables the FSYNC pin to be used as an interrupt. A transition to the active
level described by the ACTL_FSYNC bit will cause an interrupt. The status of the
interrupt is read in the I2C Master Status register PASS_THROUGH bit.
0 – This disables the FSYNC pin from causing an interrupt.
1 BYPASS_EN When asserted, the I2C_MASTER interface pins (ES_CL and ES_DA) will go into
‘bypass mode’ when the I2C master interface is disabled.
0 - Reserved.
8.8 INT_ENABLE_1
Name: INT_ENABLE_1
Address: 17 (11h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:1 - Reserved.
0 RAW_DATA_0_RDY_EN 1 – Enable raw data ready interrupt from any sensor to propagate to interrupt
pin 1.
0 – Function is disabled.
8.9 INT_ENABLE_2
Name: INT_ENABLE_2
Address: 18 (12h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4:0 FIFO_OVERFLOW_EN[4:0] 1 – Enable interrupt for FIFO overflow to propagate to interrupt pin 1.
0 – Function is disabled.
8.11 I2C_MST_STATUS
Name: I2C_MST_STATUS
Address: 23 (17h)
Type: USR0
Bank: 0
Serial IF: R/C
Reset Value: 0x00
BIT NAME FUNCTION
7 PASS_THROUGH Status of FSYNC interrupt – used as a way to pass an external interrupt through this
chip to the host. If enabled in the INT_PIN_CFG register by asserting bit
FSYNC_INT_MODE_EN, this will cause an interrupt. A read of this register clears all
status bits in this register.
6 I2C_SLV4_DONE Asserted when I2C slave 4’s transfer is complete, will cause an interrupt if bit
I2C_MST_INT_EN in the INT_ENABLE register is asserted, and if the
SLV4_DONE_INT_EN bit is asserted in the I2C_SLV4_CTRL register.
5 I2C_LOST_ARB Asserted when I2C slave loses arbitration of the I2C bus, will cause an interrupt if bit
I2C_MST_INT_EN in the INT_ENABLE register is asserted.
4 I2C_SLV4_NACK Asserted when slave 4 receives a NACK, will cause an interrupt if bit I2C_MST_INT_EN
in the INT_ENABLE register is asserted.
3 I2C_SLV3_NACK Asserted when slave 3 receives a NACK, will cause an interrupt if bit I2C_MST_INT_EN
in the INT_ENABLE register is asserted.
2 I2C_SLV2_NACK Asserted when slave 2 receives a NACK, will cause an interrupt if bit I2C_MST_INT_EN
in the INT_ENABLE register is asserted.
1 I2C_SLV1_NACK Asserted when slave 1 receives a NACK, will cause an interrupt if bit I2C_MST_INT_EN
in the INT_ENABLE register is asserted.
0 I2C_SLV0_NACK Asserted when slave 0 receives a NACK, will cause an interrupt if bit I2C_MST_INT_EN
in the INT_ENABLE register is asserted.
8.12 INT_STATUS
Name: INT_STATUS
Address: 25 (19h)
Type: USR0
Bank: 0
Serial IF: R/C
Reset Value: 0x00
BIT NAME FUNCTION
7:4 - Reserved.
3 WOM_INT 1 – Wake on motion interrupt occurred.
2 PLL_RDY_INT 1 – Indicates that the PLL has been enabled and is ready (delay of 4 ms ensures lock).
1 DMP_INT1 1 – Indicates the DMP has generated INT1 interrupt.
0 I2C_MST_INT 1 – Indicates I2C master has generated an interrupt.
8.14 INT_STATUS_2
Name: INT_STATUS_2
Address: 27 (1Bh)
Type: USR0
Bank: 0
Serial IF: R/C
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4:0 FIFO_OVERFLOW_INT[4:0] 1 – FIFO Overflow interrupt occurred.
8.15 INT_STATUS_3
Name: INT_STATUS_3
Address: 28 (1Ch)
Type: USR0
Bank: 0
Serial IF: R/C
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4:0 FIFO_WM_INT[4:0] 1 – Watermark interrupt for FIFO occurred.
8.16 DELAY_TIMEH
Name: DELAY_TIMEH
Address: 40 (28h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 DELAY_TIMEH[7:0] High-byte of delay time between FSYNC event and the 1st gyro ODR event (after the
FSYNC event).
Reading DELAY_TIMEH will lock DELAY_TIMEH and DELAY_TIMEL from the next
update. Reading DELAY_TIMEL will unlock DELAY_TIMEH and DELAY_TIMEL to take
the next update due to an FSYNC event.
8.18 ACCEL_XOUT_H
Name: ACCEL_XOUT_H
Address: 45 (2Dh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_XOUT_H[7:0] High Byte of Accelerometer X-axis data.
8.19 ACCEL_XOUT_L
Name: ACCEL_XOUT_L
Address: 46 (2Eh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_XOUT_L[7:0] Low Byte of Accelerometer X-axis data.
To convert the output of the accelerometer to acceleration measurement use the
formula below:
X_acceleration = ACCEL_XOUT/Accel_Sensitivity
8.20 ACCEL_YOUT_H
Name: ACCEL_YOUT_H
Address: 47 (2Fh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_YOUT_H[7:0] High Byte of Accelerometer Y-axis data.
8.22 ACCEL_ZOUT_H
Name: ACCEL_ZOUT_H
Address: 49 (31h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_ZOUT_H[7:0] High Byte of Accelerometer Z-axis data.
8.23 ACCEL_ZOUT_L
Name: ACCEL_ZOUT_L
Address: 50 (32h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_ZOUT_L[7:0] Low Byte of Accelerometer Z-axis data.
To convert the output of the accelerometer to acceleration measurement use the
formula below:
Z_acceleration = ACCEL_ZOUT/Accel_Sensitivity
8.24 GYRO_XOUT_H
Name: GYRO_XOUT_H
Address: 51 (33h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 GYRO_XOUT_H[7:0] High Byte of Gyroscope X-axis data.
8.26 GYRO_YOUT_H
Name: GYRO_YOUT_H
Address: 53 (35h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 GYRO_YOUT_H[7:0] High Byte of Gyroscope Y-axis data.
8.27 GYRO_YOUT_L
Name: GYRO_YOUT_L
Address: 54 (36h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 GYRO_YOUT_L[7:0] Low Byte of Gyroscope Y-axis data.
To convert the output of the gyroscope to angular rate measurement use the
formula below:
Y_angular_rate = GYRO_YOUT/Gyro_Sensitivity
8.28 GYRO_ZOUT_H
Name: GYRO_ZOUT_H
Address: 55 (37h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 GYRO_ZOUT_H[7:0] High Byte of Gyroscope Z-axis data.
8.30 TEMP_OUT_H
Name: TEMP_OUT_H
Address: 57 (39h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 TEMP_OUT_H[7:0] High Byte of Temp sensor data.
8.31 TEMP_OUT_L
Name: TEMP_OUT_L
Address: 58 (3Ah)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 TEMP_OUT_L[7:0] Low Byte of Temp sensor data.
To convert the output of the temperature sensor to degrees C use the following
formula:
TEMP_degC = ((TEMP_OUT – RoomTemp_Offset)/Temp_Sensitivity) + 21degC
8.32 EXT_SLV_SENS_DATA_00
Name: EXT_SLV_SENS_DATA_00
Address: 59 (3Bh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_00[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.34 EXT_SLV_SENS_DATA_02
Name: EXT_SLV_SENS_DATA_02
Address: 61 (3Dh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_02[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.35 EXT_SLV_SENS_DATA_03
Name: EXT_SLV_SENS_DATA_03
Address: 62 (3Eh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_03[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.36 EXT_SLV_SENS_DATA_04
Name: EXT_SLV_SENS_DATA_04
Address: 63 (3Fh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_04[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.38 EXT_SLV_SENS_DATA_06
Name: EXT_SLV_SENS_DATA_06
Address: 65 (41h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_06[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.39 EXT_SLV_SENS_DATA_07
Name: EXT_SLV_SENS_DATA_07
Address: 66 (42h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_07[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.40 EXT_SLV_SENS_DATA_08
Name: EXT_SLV_SENS_DATA_08
Address: 67 (43h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_08[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.42 EXT_SLV_SENS_DATA_10
Name: EXT_SLV_SENS_DATA_10
Address: 69 (45h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_10[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.43 EXT_SLV_SENS_DATA_11
Name: EXT_SLV_SENS_DATA_11
Address: 70 (46h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_11[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.44 EXT_SLV_SENS_DATA_12
Name: EXT_SLV_SENS_DATA_12
Address: 71 (47h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_12[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.46 EXT_SLV_SENS_DATA_14
Name: EXT_SLV_SENS_DATA_14
Address: 73 (49h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_14[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.47 EXT_SLV_SENS_DATA_15
Name: EXT_SLV_SENS_DATA_15
Address: 74 (4Ah)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_15[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.48 EXT_SLV_SENS_DATA_16
Name: EXT_SLV_SENS_DATA_16
Address: 75 (4Bh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_16[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.50 EXT_SLV_SENS_DATA_18
Name: EXT_SLV_SENS_DATA_18
Address: 77 (4Dh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_18[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.51 EXT_SLV_SENS_DATA_19
Name: EXT_SLV_SENS_DATA_19
Address: 78 (4Eh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_19[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.52 EXT_SLV_SENS_DATA_20
Name: EXT_SLV_SENS_DATA_20
Address: 79 (4Fh)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_20[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.54 EXT_SLV_SENS_DATA_22
Name: EXT_SLV_SENS_DATA_22
Address: 81 (51h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_22[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.55 EXT_SLV_SENS_DATA_23
Name: EXT_SLV_SENS_DATA_23
Address: 82 (52h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 EXT_SLV_SENS_DATA_23[7:0] Sensor data read from external I2C devices via the I2C master interface. The data
stored is controlled by the I2C_SLV(0-4)_ADDR, I2C_SLV(0-4)_REG, and I2C_SLV(0-
4)_CTRL registers.
8.57 FIFO_EN_2
Name: FIFO_EN_2
Address: 103 (67h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4 ACCEL_FIFO_EN 1 – Write ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L,
ACCEL_ZOUT_H, and ACCEL_ZOUT_L to the FIFO at the sample rate;
0 – Function is disabled.
3 GYRO_Z_FIFO_EN 1 – Write GYRO_ZOUT_H and GYRO_ZOUT_L to the FIFO at the sample rate.
0 – Function is disabled.
2 GYRO_Y_FIFO_EN 1 – Write GYRO_YOUT_H and GYRO_YOUT_L to the FIFO at the sample rate.
0 – Function is disabled.
1 GYRO_X_FIFO_EN 1 – Write GYRO_XOUT_H and GYRO_XOUT_L to the FIFO at the sample rate.
0 – Function is disabled.
0 TEMP_FIFO_EN 1 – Write TEMP_OUT_H and TEMP_OUT_L to the FIFO at the sample rate.
0 – Function is disabled.
8.59 FIFO_MODE
Name: FIFO_MODE
Address: 105 (69h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4:0 FIFO_MODE[4:0] 0 – Stream.
1 – Snapshot.
When set to ‘1’, when the FIFO is full, additional writes will not be written to FIFO.
When set to ‘0’, when the FIFO is full, additional writes will be written to the FIFO,
replacing the oldest data.
8.60 FIFO_COUNTH
Name: FIFO_COUNTH
Address: 112 (70h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:5 - Reserved.
4:0 FIFO_CNT[12:8] High Bits, count indicates the number of written bytes in the FIFO.
Reading this byte latches the data for both FIFO_COUNTH, and FIFO_COUNTL.
8.61 FIFO_COUNTL
Name: FIFO_COUNTL
Address: 113 (71h)
Type: USR0
Bank: 0
Serial IF: R
Reset Value: 0x00
BIT NAME FUNCTION
7:0 FIFO_CNT[7:0] Low bits, count indicates the number of written bytes in the FIFO.
8.63 DATA_RDY_STATUS
Name: DATA_RDY_STATUS
Address: 116 (74h)
Type: USR0
Bank: 0
Serial IF: R/C
Reset Value: 0x00
BIT NAME FUNCTION
7 WOF_STATUS Wake on FSYNC interrupt status. Cleared on read.
6:4 - Reserved.
3:0 RAW_DATA_RDY[3:0] Data from sensors is copied to FIFO or SRAM.
Set when sequence controller kicks off on a sensor data load. Only bit 0 is relevant in
a single FIFO configuration. Cleared on read.
8.64 FIFO_CFG
Name: FIFO_CFG
Address: 118 (76h)
Type: USR0
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:1 - Reserved.
0 FIFO_CFG This bit should be set to 1 if interrupt status for each sensor is required.
8.65 REG_BANK_SEL
Name: REG_BANK_SEL
Address: 127 (7Fh)
Type: ALL
Bank: 0
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:6 - Reserved.
5:4 USER_BANK[1:0] Use the following values in this bit-field to select a USER BANK.
0: Select USER BANK 0.
1: Select USER BANK 1.
2: Select USER BANK 2.
3: Select USER BANK 3.
3:0 - Reserved.
9.1 SELF_TEST_X_GYRO
Name: SELF_TEST_X_GYRO
Address: 2 (02h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 XG_ST_DATA[7:0] The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against subsequent self-test
outputs performed by the end user.
9.2 SELF_TEST_Y_GYRO
Name: SELF_TEST_Y_GYRO
Address: 3 (03h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 YG_ST_DATA[7:0] The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against subsequent self-test
outputs performed by the end user.
9.3 SELF_TEST_Z_GYRO
Name: SELF_TEST_Z_GYRO
Address: 4 (04h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ZG_ST_DATA[7:0] The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against subsequent self-test
outputs performed by the end user.
9.4 SELF_TEST_X_ACCEL
Name: SELF_TEST_X_ACCEL
Address: 14 (0Eh)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 XA_ST_DATA[7:0] Contains self-test data for the X Accelerometer.
9.6 SELF_TEST_Z_ACCEL
Name: SELF_TEST_Z_ACCEL
Address: 16 (10h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ZA_ST_DATA[7:0] Contains self-test data for the Z Accelerometer.
9.7 XA_OFFS_H
Name: XA_OFFS_H
Address: 20 (14h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: Trimmed on a per-part basis for optimal performance
BIT NAME FUNCTION
7:0 XA_OFFS[14:7] Upper bits of the X accelerometer offset cancellation.
9.8 XA_OFFS_L
Name: XA_OFFS_L
Address: 21 (15h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: Trimmed on a per-part basis for optimal performance
BIT NAME FUNCTION
7:1 XA_OFFS[6:0] Lower bits of the X accelerometer offset cancellation.
0 - Reserved.
9.9 YA_OFFS_H
Name: YA_OFFS_H
Address: 23 (17h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: Trimmed on a per-part basis for optimal performance
BIT NAME FUNCTION
7:0 YA_OFFS[14:7] Upper bits of the Y accelerometer offset cancellation.
9.11 ZA_OFFS_H
Name: ZA_OFFS_H
Address: 26 (1Ah)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: Trimmed on a per-part basis for optimal performance
BIT NAME FUNCTION
7:0 ZA_OFFS[14:7] Upper bits of the Z accelerometer offset cancellation.
9.12 ZA_OFFS_L
Name: ZA_OFFS_L
Address: 27 (1Bh)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: Trimmed on a per-part basis for optimal performance
BIT NAME FUNCTION
7:1 ZA_OFFS[6:0] Lower bits of the Z accelerometer offset cancellation.
0 - Reserved.
9.13 TIMEBASE_CORRECTION_PLL
Name: TIMEBASE_CORRECTION_PLL
Address: 40 (28h)
Type: USR1
Bank: 1
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 TBC_PLL[7:0] System PLL clock period error (signed, [-10%, +10%]).
10.1 GYRO_SMPLRT_DIV
Name: GYRO_SMPLRT_DIV
Address: 0 (00h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 GYRO_SMPLRT_DIV[7:0] Gyro sample rate divider. Divides the internal sample rate to generate the sample
rate that controls sensor data output rate, FIFO sample rate, and DMP sequence rate.
NOTE: This register is only effective when FCHOICE = 1’b1 (FCHOICE_B register bit is 1’b0), and
(0 < DLPF_CFG < 7).
ODR is computed as follows:
1.1 kHz/(1+GYRO_SMPLRT_DIV[7:0])
10.2 GYRO_CONFIG_1
Name: GYRO_CONFIG_1
Address: 1 (01h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x01
BIT NAME FUNCTION
7:6 - Reserved.
5:3 GYRO_DLPFCFG[2:0] Gyro low pass filter configuration as shown in Table 16.
2:1 GYRO_FS_SEL[1:0] Gyro Full Scale Select:
00 = ±250 dps
01= ±500 dps
10 = ±1000 dps
11 = ±2000 dps
0 GYRO_FCHOICE 0 – Bypass gyro DLPF.
1 – Enable gyro DLPF.
The gyroscope DLPF is configured by GYRO_DLPFCFG, when GYRO_FCHOICE = 1. The gyroscope data is filtered
according to the value of GYRO_DLPFCFG and GYRO_FCHOICE as shown in Table 16.
10.3 GYRO_CONFIG_2
Name: GYRO_CONFIG_2
Address: 2 (02h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:6 - Reserved.
5 XGYRO_CTEN X Gyro self-test enable.
4 YGYRO_CTEN Y Gyro self-test enable.
3 ZGYRO_CTEN Z Gyro self-test enable.
2:0 GYRO_AVGCFG[2:0] Averaging filter configuration settings for low-power mode.
0: 1x averaging.
1: 2x averaging.
2: 4x averaging.
3: 8x averaging.
4: 16x averaging.
5: 32x averaging.
6: 64x averaging.
7: 128x averaging.
Table 17 lists the gyroscope filter bandwidths available in the low-power mode of operation. In the low-power mode
of operation, the gyroscope is duty-cycled.
GYRO_FCHOICE 1 1 1 1 1 1 1 1
GYRO_AVGCFG 0 1 2 3 4 5 6 7
TON [MS] 1.15 1.59 2.48 4.26 7.82 14.93 29.15 57.59
NBW [HZ] 773.5 469.8 257.8 134.8 68.9 34.8 17.5 8.8
RMS NOISE
[DPS-RMS] TYP
0.31 0.24 0.18 0.13 0.09 0.06 0.05 0.03
(BASED ON GYROSCOPE
NOISE: 0.011 DPS/√HZ)
255 4.4 1.04 1.05 1.05 1.06 1.09 1.14 1.24 1.45
64 17.3 1.07 1.08 1.10 1.15 1.25 1.45 1.85 N/A
63 17.6 1.07 1.08 1.11 1.16 1.26 1.46 1.87
32 34.1 1.10 1.12 1.17 1.27 1.47 1.86 N/A
31 35.2 1.10 1.13 1.18 1.28 1.48 1.89
22 48.9 1.13 1.16 1.23 1.37 1.66 2.22
16 66.2 1.16 1.21 1.30 1.49 1.88 N/A
15 70.3 1.17 1.22 1.32 1.52 1.93
10 102.3 1.23 1.30 1.45 1.74 2.34
8 125.0 1.27 1.36 1.54 1.90 N/A
7 140.6 1.30 1.40 1.60 2.01
5 187.5 1.38 1.52 1.79 2.33
4 225.0 1.45 1.62 1.94 N/A
3 281.3 1.56 1.76 2.17
2 375.0 1.74 2.00 N/A
1 562.5 2.09 N/A
10.4 XG_OFFS_USRH
Name: XG_OFFS_USRH
Address: 3 (03h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 X_OFFS_USER[15:8] Upper byte of X gyro offset cancellation.
10.6 YG_OFFS_USRH
Name: YG_OFFS_USRH
Address: 5 (05h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 Y_OFFS_USER[15:8] Upper byte of Y gyro offset cancellation.
10.7 YG_OFFS_USRL
Name: YG_OFFS_USRL
Address: 6 (06h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 Y_OFFS_USER[7:0] Lower byte of Y gyro offset cancellation.
10.8 ZG_OFFS_USRH
Name: ZG_OFFS_USRH
Address: 7 (07h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 Z_OFFS_USER[15:8] Upper byte of Z gyro offset cancellation.
10.9 ZG_OFFS_USRL
Name: ZG_OFFS_USRL
Address: 8 (08h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 Z_OFFS_USER[7:0] Lower byte of Z gyro offset cancellation.
10.11 ACCEL_SMPLRT_DIV_1
Name: ACCEL_SMPLRT_DIV_1
Address: 16 (10h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:4 - Reserved.
3:0 ACCEL_SMPLRT_DIV[11:8] MSB for ACCEL sample rate div.
10.12 ACCEL_SMPLRT_DIV_2
Name: ACCEL_SMPLRT_DIV_2
Address: 17 (11h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 ACCEL_SMPLRT_DIV[7:0] LSB for ACCEL sample rate div.
ODR is computed as follows:
1.125 kHz/(1+ACCEL_SMPLRT_DIV[11:0])
10.13 ACCEL_INTEL_CTRL
Name: ACCEL_INTEL_CTRL
Address: 18 (12h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:2 - Reserved.
1 ACCEL_INTEL_EN Enable the WOM logic.
0 ACCEL_INTEL_MODE_INT Selects WOM algorithm.
1 = Compare the current sample with the previous sample.
0 = Initial sample is stored, all future samples are compared to the initial sample.
10.15 ACCEL_CONFIG
Name: ACCEL_CONFIG
Address: 20 (14h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x01
BIT NAME FUNCTION
7:6 - Reserved.
5:3 ACCEL_DLPFCFG[2:0] Accelerometer low pass filter configuration as shown in Table 18.
2:1 ACCEL_FS_SEL[1:0] Accelerometer Full Scale Select:
00: ±2g
01: ±4g
10: ±8g
11: ±16g
0 ACCEL_FCHOICE 0: Bypass accel DLPF.
1: Enable accel DLPF.
OUTPUT
ACCEL_FCHOICE ACCEL_DLPFCFG 3DB BW
NBW [HZ] RATE [HZ]
[HZ]
0 x 1209 1248 4500
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 0 246.0 265.0
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 1 246.0 265.0
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 2 111.4 136.0
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 3 50.4 68.8
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 4 23.9 34.4
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 5 11.5 17.0
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 6 5.7 8.3
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
1125/(1+ACCEL_SMPLRT_DIV)Hz where
1 7 473 499
ACCEL_SMPLRT_DIV is 0, 1, 2,…4095
Table 18. Accelerator Configuration
The data rate out of the DLPF filter block can be further reduced by a factor of
1.125 kHz/(1+ACCEL_SMPLRT_DIV[11:0]) where ACCEL_SMPLRT_DIV is a 12-bit integer.
Table 19 lists the accelerometer filter bandwidths available in the low-power mode of operation. In the low-power
mode of operation, the accelerometer is duty-cycled.
AVERAGES 1X 4X 8X 16X 32X
ACCEL_FCHOICE 0 1 1 1 1
ACCEL_DLPFCFG x 7 7 7 7
DEC3_CFG 0 0 1 2 3
TON (MS) 0.821 1.488 2.377 4.154 7.71
NBW (HZ) 1237.5 496.8 264.8 136.5 69.2
RMS NOISE
[MG-RMS] TYP
(BASED ON 6.7 4.2 3.1 2.2 1.6
ACCELEROMETER NOISE:
190µG/√HZ)
10.17 FSYNC_CONFIG
Name: FSYNC_CONFIG
Address: 82 (52h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 DELAY_TIME_EN 0: Disables delay time measurement between FSYNC event and the first ODR event
(after FSYNC event).
1: Enables delay time measurement between FSYNC event and the first ODR event
(after FSYNC event).
6 - Reserved.
5 WOF_DEGLITCH_EN Enable digital deglitching of FSYNC input for Wake on FSYNC.
4 WOF_EDGE_INT 0: FSYNC is a level interrupt for Wake on FSYNC.
1: FSYNC is an edge interrupt for Wake on FSYNC.
ACTL_FSYNC is used to set the polarity of the interrupt.
3:0 EXT_SYNC_SET[3:0] Enables the FSYNC pin data to be sampled.
EXT_SYNC_SET FSYNC bit location.
0: Function disabled.
1: TEMP_OUT_L[0].
2: GYRO_XOUT_L[0].
3: GYRO_YOUT_L[0].
4: GYRO_ZOUT_L[0].
5: ACCEL_XOUT_L[0].
6: ACCEL_YOUT_L[0].
7: ACCEL_ZOUT_L[0].
10.19 MOD_CTRL_USR
Name: MOD_CTRL_USR
Address: 84 (54h)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x03
BIT NAME FUNCTION
7:1 - Reserved.
0 REG_LP_DMP_EN Enable turning on DMP in Low Power Accelerometer mode.
10.20 REG_BANK_SEL
Name: REG_BANK_SEL
Address: 127 (7Fh)
Type: USR2
Bank: 2
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:6 - Reserved.
5:4 USER_BANK[1:0] Use the following values in this bit-field to select a USER BANK.
0: Select USER BANK 0.
1: Select USER BANK 1.
2: Select USER BANK 2.
3: Select USER BANK 3.
3:0 - Reserved.
11.1 I2C_MST_ODR_CONFIG
Name: I2C_MST_ODR_CONFIG
Address: 0 (00h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:4 - Reserved
3:0 I2C_MST_ODR_CONFIG[3:0] ODR configuration for external sensor when gyroscope and accelerometer are
disabled. ODR is computed as follows:
1.1 kHz/(2^((odr_config[3:0])) )
When gyroscope is enabled, all sensors (including I2C_MASTER) use the gyroscope
ODR. If gyroscope is disabled, then all sensors (including I2C_MASTER) use the
accelerometer ODR.
11.2 I2C_MST_CTRL
Name: I2C_MST_CTRL
Address: 1 (01h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 MULT_MST_EN Enables multi-master capability. When disabled, clocking to the I2C_MST_IF can be
disabled when not in use and the logic to detect lost arbitration is disabled.
6:5 - Reserved.
4 I2C_MST_P_NSR This bit controls the I2C Master’s transition from one slave read to the next slave
read.
0 - There is a restart between reads.
1 - There is a stop between reads.
3:0 I2C_MST_CLK[3:0] Sets I2C master clock frequency as shown in Table 23.
11.4 I2C_SLV0_ADDR
Name: I2C_SLV0_ADDR
Address: 3 (03h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV0_RNW 1 – Transfer is a read.
0 – Transfer is a write.
6:0 I2C_ID_0[6:0] Physical address of I2C slave 0.
11.5 I2C_SLV0_REG
Name: I2C_SLV0_REG
Address: 4 (04h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV0_REG[7:0] I2C slave 0 register address from where to begin data transfer.
11.7 I2C_SLV0_DO
Name: I2C_SLV0_DO
Address: 6 (06h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV0_DO[7:0] Data out when slave 0 is set to write.
11.8 I2C_SLV1_ADDR
Name: I2C_SLV1_ADDR
Address: 7 (07h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV1_RNW 1 – Transfer is a read.
0 – Transfer is a write.
6:0 I2C_ID_1[6:0] Physical address of I2C slave 1.
11.10 I2C_SLV1_CTRL
Name: I2C_SLV1_CTRL
Address: 9 (09h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV1_EN 1 – Enable reading data from this slave at the sample rate and storing data at the first
available EXT_SENS_DATA register as determined by I2C_SLV0_EN and
I2C_SLV0_LENG.
0 – Function is disabled for this slave.
6 I2C_SLV1_BYTE_SW 1 – Swap bytes when reading both the low and high byte of a word. Note there is
nothing to swap after reading the first byte if I2C_SLV1_REG[0] = 1, or if the last byte
read has a register address lsb = 0.
For example, if I2C_SLV0_EN = 0x1, and I2C_SLV0_LENG = 0x3 (to show swap has to
do with I2C slave address not EXT_SENS_DATA address), and if I2C_SLV1_REG = 0x1,
and I2C_SLV1_LENG = 0x4:
1) The first byte read from address 0x1 will be stored at EXT_SENS_DATA_03 (slave
0’s data will be in EXT_SENS_DATA_00, EXT_SENS_DATA_01, and
EXT_SENS_DATA_02),
2) the second and third bytes will be read and swapped, so the data read from
address 0x2 will be stored at EXT_SENS_DATA_04, and the data read from address
0x3 will be stored at EXT_SENS_DATA_05,
3) The last byte read from address 0x4 will be stored at EXT_SENS_DATA_06.
11.12 I2C_SLV2_ADDR
Name: I2C_SLV2_ADDR
Address: 11 (0Bh)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV2_RNW 1 – Transfer is a read.
0 – Transfer is a write.
6:0 I2C_ID_2[6:0] Physical address of I2C slave 2.
11.13 I2C_SLV2_REG
Name: I2C_SLV2_REG
Address: 12 (0Ch)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV2_REG[7:0] I2C slave 2 register address from where to begin data transfer.
11.15 I2C_SLV2_DO
Name: I2C_SLV2_DO
Address: 14 (0Eh)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV2_DO[7:0] Data out when slave 2 is set to write.
11.16 I2C_SLV3_ADDR
Name: I2C_SLV3_ADDR
Address: 15 (0Fh)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV3_RNW 1 – Transfer is a read.
0 – Transfer is a write.
6:0 I2C_ID_3[6:0] Physical address of I2C slave 3.
11.18 I2C_SLV3_CTRL
Name: I2C_SLV3_CTRL
Address: 17 (11h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV3_EN 1 – Enable reading data from this slave at the sample rate and storing data at the first
available EXT_SENS_DATA register as determined by I2C_SLV0_EN, I2C_SLV0_LENG,
I2C_SLV1_EN, I2C_SLV1_LENG, I2C_SLV2_EN and I2C_SLV2_LENG.
0 – Function is disabled for this slave.
6 I2C_SLV3_BYTE_SW 1 – Swap bytes when reading both the low and high byte of a word. Note there is
nothing to swap after reading the first byte if I2C_SLV3_REG[0] = 1, or if the last byte
read has a register address lsb = 0.
See I2C_SLV1_CTRL for an example.
0 – No swapping occurs, bytes are written in order read.
5 I2C_SLV3_REG_DIS When set, the transaction does not write a register value, it will only read data, or
write data.
4 I2C_SLV3_GRP External sensor data typically comes in as groups of two bytes. This bit is used to
determine if the groups are from the slave’s register address 0 and 1, 2 and 3, etc..,
or if the groups are address 1 and 2, 3 and 4, etc.
0 indicates slave register addresses 0 and 1 are grouped together (odd numbered
register ends the group). 1 indicates slave register addresses 1 and 2 are grouped
together (even numbered register ends the group). This allows byte swapping of
registers that are grouped starting at any address.
3:0 I2C_SLV3_LENG[3:0] Number of bytes to be read from I2C slave 3.
11.19 I2C_SLV3_DO
Name: I2C_SLV3_DO
Address: 18 (12h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV3_DO[7:0] Data out when slave 3 is set to write.
11.21 I2C_SLV4_REG
Name: I2C_SLV4_REG
Address: 20 (14h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV4_REG[7:0] I2C slave 4 register address from where to begin data transfer.
11.22 I2C_SLV4_CTRL
Name: I2C_SLV4_CTRL
Address: 21 (15h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7 I2C_SLV4_EN 1 – Enable data transfer with this slave at the sample rate. If read command, store
data in I2C_SLV4_DI register, if write command, write data stored in I2C_SLV4_DO
register. Bit is cleared when a single transfer is complete. Be sure to write
I2C_SLV4_DO first.
0 – Function is disabled for this slave.
6 I2C_SLV4_INT_EN 1 – Enables the completion of the I2C slave 4 data transfer to cause an interrupt.
0 – Completion of the I2C slave 4 data transfer will not cause an interrupt.
5 I2C_SLV4_REG_DIS When set, the transaction does not write a register value, it will only read data, or
write data.
4:0 I2C_SLV4_DLY[4:0] When enabled via the I2C_MST_DELAY_CTRL, those slaves will only be enabled
every1/(1+I2C_SLV4_DLY) samples as determined by I2C_MST_ODR_CONFIG.
11.23 I2C_SLV4_DO
Name: I2C_SLV4_DO
Address: 22 (16h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0 I2C_SLV4_DO[7:0] Data out when slave 4 is set to write.
11.25 REG_BANK_SEL
Name: REG_BANK_SEL
Address: 127 (7Fh)
Type:
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:6 - Reserved.
5:4 USER_BANK[1:0] Use the following values in this bit-field to select a USER BANK.
0: Select USER BANK 0.
1: Select USER BANK 1.
2: Select USER BANK 2.
3: Select USER BANK 3.
3:0 - Reserved.
Addresses 00h to 18h, 30h to 32h are compliant with automatic increment function of serial interface respectively. In
other modes, read data is not correct. When the address is in 00h to 18h, the address is incremented 00h 01h
02h 03h 10h 11h ... 18h, and the address goes back to 00h after 18h. When the address is in
30h to 32h, the address goes back to 30h after 32h.
When VDD is turned ON, POR function works and all registers of AK09916 are initialized.
TS1 and TS2 are test registers for shipment test. Do not access these registers.
TS1 and TS2 registers are test registers for shipment test. Do not use these registers.
NOMINAL CLK
I2C_MST_CLK DUTY CYCLE
FREQUENCY [KHZ]
0 370.29 50.00%
1 - -
2 370.29 50.00%
3 432.00 50.00%
4 370.29 42.86%
5 370.29 50.00%
6 345.60 40.00%
7 345.60 46.67%
8 304.94 47.06%
9 432.00 50.00%
10 432.00 41.67%
11 432.00 41.67%
12 471.27 45.45%
13 432.00 50.00%
14.6 CLOCKING
The internal system clock sources include: (1) an internal relaxation oscillator, and (2) a PLL with MEMS gyroscope
oscillator as the reference clock. With the recommended clock selection setting (CLKSEL = 1), the best clock source for
optimum sensor performance and power consumption will be automatically selected based on the power mode.
Specifically, the internal relaxation oscillator will be selected when operating in accelerometer only mode, while the
PLL will be selected whenever gyroscope is on, which includes gyroscope and 6-axis modes.
As clock accuracy is critical to the preciseness of distance and angle calculations performed by DMP, it should be noted
that the internal relaxation oscillator and PLL show different performances in some aspects. The internal relaxation
oscillator is trimmed to have a consistent operating frequency at room temperature, while the PLL clock frequency
varies from part to part. The PLL frequency deviation from the nominal value in percentage is captured in register
TIMEBASE_CORRECTION_PLL, and users can factor it in during distance and angle calculations to not sacrifice
accuracy. Other than that, PLL has better frequency stability and lower frequency variation over temperature than the
internal relaxation oscillator.
+Z
+Z +Y
ICM +Y
-20
94
8
+X +X
ICM
-20
94
8
+Y +X
+Z
TOP VIEW
Y Y = Year Code
W W = Work Week
This information furnished by InvenSense, Inc. (“InvenSense”) is believed to be accurate and reliable. However, no responsibility is assumed by
InvenSense for its use, or for any infringements of patents or other rights of third parties that may result from its use. Specifications are subject to
change without notice. InvenSense reserves the right to make changes to this product, including its circuits and software, in order to improve its
design and/or performance, without prior notice. InvenSense makes no warranties, neither expressed nor implied, regarding the information and
specifications contained in this document. InvenSense assumes no responsibility for any claims or damages arising from information contained in this
document, or from the use of products and services detailed therein. This includes, but is not limited to, claims or damages based on the infringement
of patents, copyrights, mask work and/or other intellectual property rights.
Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by implication or
otherwise under any patent or patent rights of InvenSense. This publication supersedes and replaces all information previously supplied. Trademarks
that are registered trademarks are the property of their respective companies. InvenSense sensors should not be used or sold in the development,
storage, production or utilization of any conventional or mass-destructive weapons or for any other weapons or life threatening applications, as well
as in any other life critical applications such as medical equipment, transportation, aerospace and nuclear instruments, undersea equipment, power
plant equipment, disaster prevention and crime prevention equipment.
©2016—2017 InvenSense. All rights reserved. InvenSense, MotionTracking, MotionProcessing, MotionProcessor, MotionFusion, MotionApps, DMP,
AAR, and the InvenSense logo are trademarks of InvenSense, Inc. The TDK logo is a trademark of TDK Corporation. Other company and product names
may be trademarks of the respective companies with which they are associated.