ICM-42605 [TDK]
IMU (惯性测量设备);ICM-42605 Datasheet
Premium Performance 6-Axis MotionTrackingTM IMU
ICM-42605 HIGHLIGHTS
ICM-42605 FEATURES
•
Gyroscope Noise: 3.8 mdps/Hz &
The ICM-42605 is a 6-axis MEMS MotionTracking
device that combines a 3-axis gyroscope and a
3-axis accelerometer. It has a configurable host
interface that supports I3CSM, I2C and SPI serial
communication, features a 2 kB FIFO and 2
programmable interrupts with ultra-low-power
wake-on-motion support to minimize system
power consumption.
Accelerometer Noise: 70 µg/Hz
Low-Noise mode 6-axis current
consumption of 0.65 mA
User selectable Gyro Full-scale range (dps):
± 15.2/31.2/62.5/125/250/500/1000/2000
User selectable Accelerometer Full-scale
range (g): ± 2/4/8/16
User-programmable digital filters for gyro,
accel, and temp sensor
APEX Motion Functions:
o
•
•
•
•
The ICM-42605 supports the lowest gyro and
accel sensor noise in this IMU class, and has the
highest stability against temperature, shock (up
to 20,000g) or SMT/bend induced offset as well
as immunity against out-of-band vibration
induced noise.
o
o
Pedometer, Tilt Detection, Tap Detection
Wake on Motion, Raise to Wake/Sleep,
Significant Motion Detection
•
Host interface: 12.5 MHz I3CSM, 1 MHz I2C,
24 MHz SPI
Other industry-leading features include
InvenSense on-chip APEX Motion Processing
engine for gesture recognition, activity
classification, and pedometer, along with
programmable digital filters, and an embedded
temperature sensor.
APPLICATIONS
•
•
•
Smartphones, Computers, Tablets
Smart Watches and Fitness Trackers
Augmented & Virtual Reality Headsets and
Controllers
•
•
•
Game Controllers
IoT Applications
Drones and Robotics
The device supports a VDD operating range of
1.71V to 3.6V, and a separate digital IO supply,
VDDIO from 1.71V to 3.6V.
BLOCK DIAGRAM
ORDERING INFORMATION
PART
TEMP RANGE
PACKAGE
2.5x3mm 14-Pin
LGA
ICM-42605† −40°C to +85°C
†Denotes RoHS and Green-Compliant Package
TDK-INVENSENSE SENSORS FOR SMARTPHONE, MOBILE & IOT APPLICATIONS
ICM-40607
Sensorhub
ICM-42605
Sensorhub
ICM-42686-P
Handheld Action
ICM-42688-P
HMD & Robotics
Parameter
GYRO Noise (mdps/rt-Hz)
GYRO Offset Temp Stability (mdps/°C)
GYRO Range & Resolution
ACCEL Noise (µg/rt-Hz)
ACCEL Range & Resolution
ODR & Sample Synch
7
±30
3.8
±20
5.3
±10
2.8
±5
±2000dps; 16-bits ±2000dps; 16-bits ±4000dps; 16/19-bits ±2000dps; 16/19-bits
110
±16g; 16-bits
8kHz; No RTC
70
70
AXY: 65; AZ: 70
±16g; 16/18-bits
32kHz; RTC
±16g; 16-bits
8kHz; No RTC
±32g; 16/18-bits
32kHz; RTC
InvenSense Inc. reserves the right to change specifications and
information herein without notice unless the product is in mass
production and the datasheet has been designated by InvenSense in
writing as subject to a specified Product / Process Change Notification
Method regulation.
InvenSense, a TDK Group Company
1745 Technology Drive, San Jose, CA 95110 U.S.A
+1(408) 988–7339
Document Number: DS-000292
Revision: 1.6
Rev. Date: 06/03/2022
invensense.tdk.com
ICM-42605
TABLE OF CONTENTS
ICM-42605 Highlights ..........................................................................................................................................1
Block Diagram ......................................................................................................................................................1
ICM-42605 Features ............................................................................................................................................1
Applications .........................................................................................................................................................1
Ordering Information...........................................................................................................................................1
TDK-Invensense Sensors for Smartphone, Mobile & IoT Applications ................................................................1
Table of Figures............................................................................................................................................................... 8
Table of Tables................................................................................................................................................................ 8
1
Introduction......................................................................................................................................................... 9
1.1 Purpose and Scope....................................................................................................................................9
1.2 Product Overview......................................................................................................................................9
1.3 Applications...............................................................................................................................................9
Features ............................................................................................................................................................. 10
2.1 Gyroscope Features ................................................................................................................................10
2.2 Accelerometer Features..........................................................................................................................10
2.3 Motion Features......................................................................................................................................10
2.4 Additional Features.................................................................................................................................10
Electrical Characteristics.................................................................................................................................... 11
3.1 Gyroscope Specifications ........................................................................................................................11
3.2 Accelerometer Specifications..................................................................................................................12
3.3 Electrical Specifications...........................................................................................................................13
3.4 I2C Timing Characterization.....................................................................................................................15
3.5 SPI Timing Characterization – 4-Wire SPI Mode .....................................................................................16
3.6 SPI Timing Characterization – 3-Wire SPI Mode .....................................................................................17
3.7 Absolute Maximum Ratings ....................................................................................................................18
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 ..............................................................................................21
4.4 System Block Diagram.............................................................................................................................22
4.5 Overview .................................................................................................................................................22
4.6 Three-Axis MEMS Gyroscope with 16-bit ADCs and Signal Conditioning ...............................................22
4.7 Three-Axis MEMS Accelerometer with 16-bit ADCs and Signal Conditioning.........................................22
4.8 I3CSM, I2C and SPI Host Interface .............................................................................................................22
4.9 Self-Test...................................................................................................................................................22
2
3
4
4.10
4.11
4.12
4.13
Clocking...............................................................................................................................................23
Sensor Data Registers .........................................................................................................................23
Interrupts............................................................................................................................................23
Digital-Output Temperature Sensor ...................................................................................................23
Page 2 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4.14
4.15
4.16
Bias and LDOs .....................................................................................................................................23
Charge Pump ......................................................................................................................................23
Standard Power Modes ......................................................................................................................24
5
Signal Path ......................................................................................................................................................... 25
5.1 Summary of Parameters Used to Configure the Signal Path ..................................................................25
5.2 Notch Filter .............................................................................................................................................25
5.3 Anti-Alias Filter........................................................................................................................................27
5.4 User Programmable Offset .....................................................................................................................29
5.5 UI Filter Block ..........................................................................................................................................29
5.6 ODR And FSR Selection ...........................................................................................................................33
FIFO.................................................................................................................................................................... 35
6.1 Packet Structure......................................................................................................................................35
6.2 FIFO Header ............................................................................................................................................36
6.3 Maximum FIFO Storage...........................................................................................................................37
6.4 FIFO Configuration Registers...................................................................................................................37
Programmable Interrupts .................................................................................................................................. 39
APEX Motion Functions ..................................................................................................................................... 40
8.1 APEX ODR Support ..................................................................................................................................40
8.2 DMP Power Save Mode ..........................................................................................................................41
8.3 Pedometer Programming........................................................................................................................41
8.4 Tilt Detection Programming....................................................................................................................42
8.5 Raise To Wake/Sleep Programming........................................................................................................42
8.6 Tap Detection Programming ...................................................................................................................43
8.7 Wake on Motion Programming...............................................................................................................44
8.8 Significant Motion Detection Programming ...........................................................................................44
Digital Interface ................................................................................................................................................. 46
9.1 I3CSM, I2C and SPI Serial Interfaces ..........................................................................................................46
9.2 I3CSM Interface ........................................................................................................................................46
9.3 I2C Interface.............................................................................................................................................46
9.4 I2C Communications Protocol .................................................................................................................46
9.5 I2C Terms .................................................................................................................................................49
9.6 SPI Interface ............................................................................................................................................50
Assembly............................................................................................................................................................ 51
6
7
8
9
10
10.1
10.2
Orientation of Axes.............................................................................................................................51
Package Dimensions ...........................................................................................................................52
11
12
Part Number Package Marking.......................................................................................................................... 54
Use Notes........................................................................................................................................................... 55
12.1
12.2
12.3
Accelerometer Mode Transitions .......................................................................................................55
Accelerometer Low Power (LP) Mode Averaging Filter Setting..........................................................55
Settings for I2C, I3CSM, and SPI Operation...........................................................................................55
Page 3 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
12.4
12.5
12.6
Notch Filter and Anti-Alias Filter Operation .......................................................................................55
INT_ASYNC_RESET Configuration .......................................................................................................55
Register Values Modification..............................................................................................................56
13
14
Register Map...................................................................................................................................................... 57
13.1
13.2
13.3
13.4
User Bank 0 Register Map...................................................................................................................57
User Bank 1 Register Map...................................................................................................................58
User Bank 2 Register Map...................................................................................................................59
User Bank 4 Register Map...................................................................................................................59
User Bank 0 Register Map – Descriptions.......................................................................................................... 61
14.1
DEVICE_CONFIG..................................................................................................................................61
DRIVE_CONFIG....................................................................................................................................61
INT_CONFIG........................................................................................................................................62
FIFO_CONFIG ......................................................................................................................................62
TEMP_DATA1......................................................................................................................................62
TEMP_DATA0......................................................................................................................................63
ACCEL_DATA_X1.................................................................................................................................63
ACCEL_DATA_X0.................................................................................................................................63
ACCEL_DATA_Y1 .................................................................................................................................63
ACCEL_DATA_Y0 .................................................................................................................................64
ACCEL_DATA_Z1 .................................................................................................................................64
ACCEL_DATA_Z0 .................................................................................................................................64
GYRO_DATA_X1..................................................................................................................................64
GYRO_DATA_X0..................................................................................................................................64
GYRO_DATA_Y1..................................................................................................................................65
GYRO_DATA_Y0..................................................................................................................................65
GYRO_DATA_Z1 ..................................................................................................................................65
GYRO_DATA_Z0 ..................................................................................................................................65
TMST_FSYNCH ....................................................................................................................................65
TMST_FSYNCL .....................................................................................................................................66
INT_STATUS ........................................................................................................................................66
FIFO_COUNTH.....................................................................................................................................66
FIFO_COUNTL .....................................................................................................................................67
FIFO_DATA..........................................................................................................................................67
APEX_DATA0.......................................................................................................................................67
APEX_DATA1.......................................................................................................................................67
APEX_DATA2.......................................................................................................................................68
APEX_DATA3.......................................................................................................................................68
APEX_DATA4.......................................................................................................................................69
APEX_DATA5.......................................................................................................................................69
14.2
14.3
14.4
14.5
14.6
14.7
14.8
14.9
14.10
14.11
14.12
14.13
14.14
14.15
14.16
14.17
14.18
14.19
14.20
14.21
14.22
14.23
14.24
14.25
14.26
14.27
14.28
14.29
14.30
14.31
INT_STATUS2 ......................................................................................................................................70
Page 4 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.32
14.33
14.34
14.35
14.36
14.37
14.38
14.39
14.40
14.41
14.42
14.43
14.44
14.45
14.46
14.47
14.48
14.49
14.50
14.51
14.52
14.53
14.54
14.55
14.56
14.57
14.58
14.59
INT_STATUS3 ......................................................................................................................................70
SIGNAL_PATH_RESET..........................................................................................................................70
INTF_CONFIG0 ....................................................................................................................................71
INTF_CONFIG1 ....................................................................................................................................72
PWR_MGMT0 .....................................................................................................................................73
GYRO_CONFIG0 ..................................................................................................................................74
ACCEL_CONFIG0 .................................................................................................................................75
GYRO_CONFIG1 ..................................................................................................................................76
GYRO_ACCEL_CONFIG0 ......................................................................................................................77
ACCEL_CONFIG1 .................................................................................................................................78
TMST_CONFIG ....................................................................................................................................78
APEX_CONFIG0 ...................................................................................................................................79
SMD_CONFIG......................................................................................................................................79
FIFO_CONFIG1 ....................................................................................................................................80
FIFO_CONFIG2 ....................................................................................................................................80
FIFO_CONFIG3 ....................................................................................................................................80
FSYNC_CONFIG ...................................................................................................................................81
INT_CONFIG0......................................................................................................................................81
INT_CONFIG1......................................................................................................................................82
INT_SOURCE0 .....................................................................................................................................82
INT_SOURCE1 .....................................................................................................................................83
INT_SOURCE3 .....................................................................................................................................83
INT_SOURCE4 .....................................................................................................................................84
FIFO_LOST_PKT0.................................................................................................................................84
FIFO_LOST_PKT1.................................................................................................................................84
SELF_TEST_CONFIG.............................................................................................................................85
WHO_AM_I.........................................................................................................................................85
REG_BANK_SEL ...................................................................................................................................85
15
User Bank 1 Register Map – Descriptions.......................................................................................................... 86
15.1
15.2
15.3
15.4
15.5
15.6
15.7
15.8
15.9
15.10
15.11
SENSOR_CONFIG0 ..............................................................................................................................86
GYRO_CONFIG_STATIC2 .....................................................................................................................86
GYRO_CONFIG_STATIC3 .....................................................................................................................86
GYRO_CONFIG_STATIC4 .....................................................................................................................87
GYRO_CONFIG_STATIC5 .....................................................................................................................87
GYRO_CONFIG_STATIC6 .....................................................................................................................87
GYRO_CONFIG_STATIC7 .....................................................................................................................87
GYRO_CONFIG_STATIC8 .....................................................................................................................88
GYRO_CONFIG_STATIC9 .....................................................................................................................88
GYRO_CONFIG_STATIC10 ...................................................................................................................88
XG_ST_DATA.......................................................................................................................................89
Page 5 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.12
15.13
15.14
15.15
15.16
15.17
15.18
15.19
YG_ST_DATA.......................................................................................................................................89
ZG_ST_DATA.......................................................................................................................................89
TMSTVAL0...........................................................................................................................................89
TMSTVAL1...........................................................................................................................................90
TMSTVAL2...........................................................................................................................................90
INTF_CONFIG4 ....................................................................................................................................90
INTF_CONFIG5 ....................................................................................................................................91
INTF_CONFIG6 ....................................................................................................................................91
16
User Bank 2 Register Map – Descriptions.......................................................................................................... 92
16.1
16.2
16.3
16.4
16.5
16.6
ACCEL_CONFIG_STATIC2 ....................................................................................................................92
ACCEL_CONFIG_STATIC3 ....................................................................................................................92
ACCEL_CONFIG_STATIC4 ....................................................................................................................92
XA_ST_DATA.......................................................................................................................................92
YA_ST_DATA .......................................................................................................................................93
ZA_ST_DATA .......................................................................................................................................93
17
User Bank 4 Register Map – Descriptions.......................................................................................................... 94
17.1
APEX_CONFIG1 ...................................................................................................................................94
APEX_CONFIG2 ...................................................................................................................................95
APEX_CONFIG3 ...................................................................................................................................96
APEX_CONFIG4 ...................................................................................................................................97
APEX_CONFIG5 ...................................................................................................................................97
APEX_CONFIG6 ...................................................................................................................................98
APEX_CONFIG7 ...................................................................................................................................98
APEX_CONFIG8 ...................................................................................................................................98
APEX_CONFIG9 ...................................................................................................................................99
ACCEL_WOM_X_THR..........................................................................................................................99
ACCEL_WOM_Y_THR..........................................................................................................................99
ACCEL_WOM_Z_THR ..........................................................................................................................99
INT_SOURCE6 ...................................................................................................................................100
INT_SOURCE7 ...................................................................................................................................100
INT_SOURCE8 ...................................................................................................................................101
INT_SOURCE9 ...................................................................................................................................101
INT_SOURCE10 .................................................................................................................................102
OFFSET_USER0..................................................................................................................................102
OFFSET_USER1..................................................................................................................................102
OFFSET_USER2..................................................................................................................................103
OFFSET_USER3..................................................................................................................................103
OFFSET_USER4..................................................................................................................................103
OFFSET_USER5..................................................................................................................................103
17.2
17.3
17.4
17.5
17.6
17.7
17.8
17.9
17.10
17.11
17.12
17.13
17.14
17.15
17.16
17.17
17.18
17.19
17.20
17.21
17.22
17.23
17.24
OFFSET_USER6..................................................................................................................................104
Page 6 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.25
17.26
OFFSET_USER7..................................................................................................................................104
OFFSET_USER8..................................................................................................................................104
18
19
Reference......................................................................................................................................................... 105
Document Information .................................................................................................................................... 106
19.1
Revision History ................................................................................................................................106
Page 7 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
TABLE OF FIGURES
Figure 1. I2C Bus Timing Diagram ........................................................................................................................................15
Figure 2. 4-Wire SPI Bus Timing Diagram............................................................................................................................16
Figure 3. 3-Wire SPI Bus Timing Diagram............................................................................................................................17
Figure 4. Pin Out Diagram for ICM-42605 2.5x3.0x0.91 mm LGA .......................................................................................19
Figure 5. ICM-42605 Application Schematic (I3CSM / I2C Interface to Host) ........................................................................20
Figure 6. ICM-42605 Application Schematic (SPI Interface to Host)....................................................................................20
Figure 7. ICM-42605 System Block Diagram........................................................................................................................22
Figure 8. ICM-42605 Signal Path..........................................................................................................................................25
Figure 9. FIFO Packet Structure ...........................................................................................................................................35
Figure 10. Maximum FIFO Storage ......................................................................................................................................37
Figure 11. START and STOP Conditions .............................................................................................................................47
Figure 12. Acknowledge on the I2C Bus ...............................................................................................................................47
Figure 13. Complete I2C Data Transfer.................................................................................................................................48
Figure 14. Typical SPI Master/Slave Configuration ..............................................................................................................50
Figure 15. Orientation of Axes of Sensitivity and Polarity of Rotation ..................................................................................51
TABLE OF TABLES
Table 1. Gyroscope Specifications .......................................................................................................................................11
Table 2. Accelerometer Specifications.................................................................................................................................12
Table 3. D.C. Electrical Characteristics ................................................................................................................................13
Table 4. A.C. Electrical Characteristics.................................................................................................................................14
Table 5. I2C Timing Characteristics.......................................................................................................................................15
Table 6. 4-Wire SPI Timing Characteristics (24-MHz Operation).........................................................................................16
Table 7. 3-Wire SPI Timing Characteristics (24-MHz Operation).........................................................................................17
Table 8. Absolute Maximum Ratings ....................................................................................................................................18
Table 9. Signal Descriptions .................................................................................................................................................19
Table 10. Bill of Materials......................................................................................................................................................21
Table 11. Standard Power Modes for ICM-42605 ................................................................................................................24
Table 12. I2C Terms ..............................................................................................................................................................49
Page 8 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
1 INTRODUCTION
1.1 PURPOSE AND SCOPE
This document is a product specification, providing a description, specifications, and design related information on the ICM-42605
Single-Interface MotionTracking device. The device is housed in a small 2.5x3x0.91 mm 14-pin LGA package.
1.2 PRODUCT OVERVIEW
The ICM-42605 is a 6-axis MotionTracking device that combines a 3-axis gyroscope, and a 3-axis accelerometer in a small 2.5x3x0.91
mm (14-pin LGA) package. It also features a 2K-byte FIFO that can lower the traffic on the serial bus interface, and reduce power
consumption by allowing the system processor to burst read sensor data and then go into a low-power mode. ICM-42605, with its
6-axis integration, enables manufacturers to eliminate the costly and complex selection, qualification, and system level integration
of discrete devices, guaranteeing optimal motion performance for consumers.
The gyroscope supports eight programmable full-scale range settings from ±15.625dps to ±2000dps, and the accelerometer supports
four programmable full-scale range settings from ±2g to ±16g.
Other industry-leading features include on-chip 16-bit ADCs, programmable digital filters, an embedded temperature sensor, and
programmable interrupts. The device features I3CSM, I2C and SPI serial interfaces, a VDD operating range of 1.71 V to 3.6 V, and a
separate VDDIO operating range of 1.71 V to 3.6 V.
The host interface can be configured to support I3CSM slave, I2C slave, or SPI slave modes. The I3CSM interface supports speeds up to
12.5MHz (data rates up to 12.5Mbps in SDR mode, 25Mbps in DDR mode), the I2C interface supports speeds up to 1 MHz, and the
SPI interface supports speeds up to 24 MHz.
By leveraging its patented and volume-proven CMOS-MEMS fabrication platform, which integrates MEMS wafers with companion
CMOS electronics through wafer-level bonding, InvenSense has driven the package size down to a footprint and thickness of
2.5x3x0.91 mm (14-pin LGA), to provide a very small yet high performance low cost package. The device provides high robustness by
supporting 20,000g shock reliability.
1.3 APPLICATIONS
•
•
•
•
•
•
Smartphones, Computers, Tablets
Smart Watches and Fitness Trackers
Augmented & Virtual Reality Headsets and Controllers
Game Controllers
IoT Applications
Drones and Robotics
Page 9 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
2 FEATURES
2.1 GYROSCOPE FEATURES
The triple-axis MEMS gyroscope in the ICM-42605 includes a wide range of features:
•
Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with programmable full-scale range of ±15.625, ±31.25,
±62.5, ±125, ±250, ±500, ±1000, and ±2000 degrees/sec
Low Noise (LN) power mode support
Digitally-programmable low-pass filters
Factory calibrated sensitivity scale factor
Self-test
•
•
•
•
2.2 ACCELEROMETER FEATURES
The triple-axis MEMS accelerometer in ICM-42605 includes a wide range of features:
•
•
•
•
•
Digital-output X-, Y-, and Z-axis accelerometer with programmable full-scale range of ±2g, ±4g, ±8g and ±16g
Low Noise (LN) and Low Power (LP) power modes support
User-programmable interrupts
Wake-on-motion interrupt for low power operation of applications processor
Self-test
2.3 MOTION FEATURES
ICM-42605 includes the following motion features, also known as APEX (Advanced Pedometer and Event Detection – neXt gen)
•
•
•
Pedometer: Tracks Step Count, also issues Step Detect interrupt
Tilt Detection: Issues an interrupt when the Tilt angle exceeds 35 for more than a programmable time
Raise to Wake/Sleep: Gesture detection for wake and sleep events. Interrupt is issued when either of these two events are
detected.
•
•
•
Tap Detection: Issues an interrupt when a tap is detected, along with the tap count
Wake on Motion: Detects motion when accelerometer data exceeds a programmable threshold.
Significant Motion Detection: Detects Significant Motion if Wake on Motion events are detected during a programmable time
window
2.4 ADDITIONAL FEATURES
ICM-42605 includes the following additional features:
•
•
•
•
•
•
•
•
2K byte FIFO buffer enables the applications processor to read the data in bursts
User-programmable digital filters for gyroscope, accelerometer, and temperature sensor
12.5MHz I3CSM (data rates up to 12.5Mbps in SDR mode, 25Mbps in DDR mode) / 1 MHz I2C / 24 MHz SPI slave host interface
Digital-output temperature sensor
Smallest and thinnest LGA package for portable devices: 2.5x3x0.91 mm (14-pin LGA)
20,000 g shock tolerant
MEMS structure hermetically sealed and bonded at wafer level
RoHS and Green compliant
Page 10 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3 ELECTRICAL CHARACTERISTICS
3.1 GYROSCOPE SPECIFICATIONS
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
GYROSCOPE SENSITIVITY
GYRO_FS_SEL=0
GYRO_FS_SEL =1
GYRO_FS_SEL =2
GYRO_FS_SEL =3
GYRO_FS_SEL =4
GYRO_FS_SEL =5
GYRO_FS_SEL =6
GYRO_FS_SEL =7
±2000
±1000
±500
±250
±125
±62.5
±31.25
±15.625
16
º/s
º/s
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
º/s
º/s
Full-Scale Range
º/s
º/s
º/s
º/s
Gyroscope ADC Word Length
Sensitivity Scale Factor
Output in two’s complement format
GYRO_FS_SEL=0
GYRO_FS_SEL =1
bits
16.4
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
LSB/(º/s)
%
32.8
GYRO_FS_SEL =2
65.5
GYRO_FS_SEL =3
131
GYRO_FS_SEL =4
262
GYRO_FS_SEL =5
524.3
1048.6
2097.2
±0.5
GYRO_FS_SEL =6
GYRO_FS_SEL =7
Sensitivity Scale Factor Initial Tolerance
Component & Board-level, 25°C
1
Sensitivity Scale Factor Variation Over
Temperature
-40°C to +85°C
±0.005
%/ºC
3
Nonlinearity
Best fit straight line; 25°C
Board-level
±0.1
±1
%
%
3
3
Cross-Axis Sensitivity
ZERO-RATE OUTPUT (ZRO)
Initial ZRO Tolerance
Board-level, 25°C
-40°C to +85°C
±0.5
º/s
3
3
ZRO Variation vs. Temperature
±0.02
º/s/ºC
OTHER PARAMETERS
Rate Noise Spectral Density
Total RMS Noise
@ 10 Hz
0.0038
0.038
27
º/s /√Hz
º/s-rms
KHz
1
4
1
2
Bandwidth = 100 Hz
Gyroscope Mechanical Frequencies
25
5
29
ODR < 1kHz
500
995
Hz
Low Pass Filter Response
ODR ≥ 1kHz
Time from gyro enable to gyro drive ready
5
Hz
ms
Hz
2
3
2
Gyroscope Start-Up Time
Output Data Rate
30
12.5
8000
Table 1. Gyroscope Specifications
Notes:
1.
Tested in production at component-level.
Guaranteed by design.
2.
3.
4.
Derived from validation or characterization of parts, not tested in production.
Calculated from Rate Noise Spectral Density.
Page 11 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.2 ACCELEROMETER SPECIFICATIONS
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
ACCELEROMETER SENSITIVITY
ACCEL_FS_SEL =0
ACCEL_FS_SEL =1
ACCEL_FS_SEL =2
ACCEL_FS_SEL =3
±16
±8
g
g
2
2
2
2
2
2
2
2
2
Full-Scale Range
±4
g
±2
g
ADC Word Length
Output in two’s complement format
ACCEL_FS_SEL =0
16
bits
LSB/g
LSB/g
LSB/g
LSB/g
%
2,048
4,096
8,192
16,384
±0.5
±0.005
±0.1
±1
ACCEL_FS_SEL =1
Sensitivity Scale Factor
ACCEL_FS_SEL =2
ACCEL_FS_SEL =3
Component & Board-level, 25°C
Sensitivity Scale Factor Initial Tolerance
Sensitivity Change vs. Temperature
Nonlinearity
1
3
3
3
-40°C to +85°C
%/ºC
%
Best Fit Straight Line, ±2g
Board-level
Cross-Axis Sensitivity
%
ZERO-G OUTPUT
Initial Tolerance
Board-level, all axes
-40°C to +85°C
±20
mg
3
3
Zero-G Level Change vs. Temperature
±0.15
mg/ºC
OTHER PARAMETERS
Power Spectral Density
RMS Noise
@ 10 Hz
70
µg/√Hz
1
4
Bandwidth = 100 Hz
ODR < 1kHz
0.70
mg-rms
5
5
500
995
Hz
Hz
ms
Hz
2
2
3
2
Low-Pass Filter Response
ODR ≥ 1kHz
From sleep mode to valid data
Accelerometer Startup Time
Output Data Rate
10
1.5625
8000
Table 2. Accelerometer Specifications
Notes:
1. Tested in production at component-level.
2. Guaranteed by design.
3. Derived from validation or characterization of parts, not tested in production.
4. Calculated from Power Spectral Density.
Page 12 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.3 ELECTRICAL SPECIFICATIONS
3.3.1 D.C. Electrical Characteristics
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
SUPPLY VOLTAGES
MIN
TYP
MAX
UNITS
NOTES
VDD
1.71
1.71
1.8
1.8
3.6
3.6
V
V
1
1
VDDIO
SUPPLY CURRENTS
6-Axis Gyroscope + Accelerometer
0.65
0.25
0.52
mA
mA
mA
2
2
2
3-Axis Accelerometer
3-Axis Gyroscope
Low-Noise Mode
Accelerometer Low -Power Mode
(Gyroscope disabled)
200Hz ODR, 1x averaging
At 25ºC
46
µA
µA
2
2
Full-Chip Sleep Mode
7.5
TEMPERATURE RANGE
Specified Temperature Range
Performance parameters are not applicable
beyond Specified Temperature Range
-40
+85
°C
1
Table 3. D.C. Electrical Characteristics
Notes:
1. Guaranteed by design.
2. Derived from validation or characterization of parts, not tested in production.
Page 13 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.3.2 A.C. Electrical Characteristics
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
SUPPLIES
Monotonic ramp. Ramp rate is 10% to 90% of
the final value
Supply Ramp Time
0.01
3
ms
1
1
mV
peak-peak
Power Supply Noise
Up to 10kHz
10
50
TEMPERATURE SENSOR
Operating Range
25°C Output
ADC Resolution
Ambient
-40
85
°C
LSB
bits
Hz
°C
µs
LSB/°C
LSB/°C
1
3
2
0
16
Output in two’s complement format
With Filter
25°C
ODR
25
-5
8000
5
14000
2
3
2
1
1
Room Temperature Offset
Stabilization Time
Sensitivity
Untrimmed
132.48
2.07
Sensitivity for FIFO data
POWER-ON RESET
1
ms
Start-up time for register read/write
From power-up
1
1
1
I2C ADDRESS
AP_AD0 = 0
AP_AD0 = 1
1101000
1101001
I2C ADDRESS
DIGITAL INPUTS (FSYNC, SCLK, SDI, CS)
VIH, High Level Input Voltage
VIL, Low Level Input Voltage
CI, Input Capacitance
0.7*VDDIO
V
V
0.3*VDDIO
< 10
100
pF
nA
Input Leakage Current
DIGITAL OUTPUT (SDO, INT1, INT2)
VOH, High Level Output Voltage
VOL1, LOW-Level Output Voltage
VOL.INT, INT Low-Level Output Voltage
RLOAD=1 MΩ;
RLOAD=1 MΩ;
0.9*VDDIO
V
V
V
0.1*VDDIO
0.1
OPEN=1, 0.3 mA sink
Current
Output Leakage Current
tINT, INT Pulse Width
OPEN=1
100
nA
µs
int_tpulse_duration= 0, 1 (100us, 8us ) ;
I2C I/O (SCL, SDA)
8
100
VIL, LOW-Level Input Voltage
VIH, HIGH-Level Input Voltage
-0.5 V
0.3*VDDIO
V
V
0.7*VDDIO
VDDIO +
0.5 V
Vhys, Hysteresis
0.1*VDDIO
V
V
VOL, LOW-Level Output Voltage
IOL, LOW-Level Output Current
3 mA sink current
0
0.4
1
VOL=0.4 V
VOL=0.6 V
3
6
mA
mA
Output Leakage Current
100
nA
ns
tof, Output Fall Time from VIHmax to VILmax
Cb bus capacitance in pf
20+0.1Cb
300
INTERNAL CLOCK SOURCE
CLKSEL=`2b00 or gyro inactive; 25°C
-3
-1
+3
+1
±3
±2
%
%
%
%
1
1
1
1
Clock Frequency Initial Tolerance
CLK_SEL=`2b01 and gyro active; 25°C
CLK_SEL=`2b00 or gyro inactive; -40°C to +85°C
CLK_SEL=`2b01 and gyro active; -40oC to +85oC
Frequency Variation over Temperature
Table 4. A.C. Electrical Characteristics
Notes:
1. Expected results based on design, will be updated after characterization. Not tested in production.
2. Guaranteed by design.
3. Production tested.
Page 14 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.4
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
I2C TIMING CHARACTERIZATION
Parameters
I2C TIMING
Conditions
I2C FAST-MODE PLUS
Min
Typical
Max
Units
Notes
fSCL, SCL Clock Frequency
tHD.STA, (Repeated) START Condition Hold Time
1
MHz
µs
1
1
0.26
0.5
0.26
0.26
0
tLOW, SCL Low Period
µs
µs
µs
µs
ns
ns
ns
µs
1
1
1
1
1
1
1
1
tHIGH, SCL High Period
tSU.STA, Repeated START Condition Setup Time
tHD.DAT, SDA Data Hold Time
tSU.DAT, SDA Data Setup Time
tr, SDA and SCL Rise Time
50
120
120
Cb bus cap. from 10 to 400 pF
Cb bus cap. from 10 to 400 pF
tf, SDA and SCL Fall Time
0.5
0.5
tSU.STO, STOP Condition Setup Time
tBUF, Bus Free Time Between STOP and START
Condition
µs
1
Cb, Capacitive Load for each Bus Line
tVD.DAT, Data Valid Time
< 400
pF
µs
µs
1
1
1
0.45
0.45
tVD.ACK, Data Valid Acknowledge Time
Table 5. I2C Timing Characteristics
Notes:
1. Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
tf
tSU.DAT
tr
SDA
SCL
70%
30%
70%
30%
continued below at
A
tf
tr
tVD.DAT
70%
30%
70%
30%
tHD.DAT
9th clock cycle
tHD.STA
1/fSCL
tLOW
1st clock cycle
S
tHIGH
tBUF
SDA
SCL
70%
30%
A
tSU.STO
tSU.STA
tHD.STA
tVD.ACK
70%
30%
9th clock cycle
S
P
Sr
Figure 1. I2C Bus Timing Diagram
Page 15 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.5 SPI TIMING CHARACTERIZATION – 4-WIRE SPI MODE
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
NOTES
PARAMETERS
CONDITIONS
MIN
TYP
MAX
UNITS
SPI TIMING
fSPC, SCLK Clock Frequency
tLOW, SCLK Low Period
tHIGH, SCLK High Period
tSU.CS, CS Setup Time
Default
24
MHz
ns
1
1
1
1
1
1
1
1
1
1
17
17
ns
39
18
13
8
ns
tHD.CS, CS Hold Time
ns
tSU.SDI, SDI Setup Time
tHD.SDI, SDI Hold Time
ns
ns
tVD.SDO, SDO Valid Time
tHD.SDO, SDO Hold Time
tDIS.SDO, SDO Output Disable Time
Cload = 20 pF
Cload = 20 pF
21.5
28
ns
3.5
ns
ns
Table 6. 4-Wire SPI Timing Characteristics (24-MHz Operation)
Notes:
1. Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
CS
70%
30%
tFall
tRise
tHD;CS
tSU;CS
70%
tHIGH
1/fCLK
SCLK
30%
tSU;SDI
tHD;SDI
tLOW
70%
30%
SDI
LSB IN
MSB IN
tDIS;SDO
tVD;SDO
tHD;SDO
70%
30%
SDO
MSB OUT
LSB OUT
Figure 2. 4-Wire SPI Bus Timing Diagram
Page 16 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.6 SPI TIMING CHARACTERIZATION – 3-WIRE SPI MODE
Typical Operating Circuit of section 4.2, VDD = 1.8 V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
NOTES
PARAMETERS
CONDITIONS
MIN
TYP
MAX
UNITS
SPI TIMING
fSPC, SCLK Clock Frequency
tLOW, SCLK Low Period
Default
24
MHz
ns
1
1
1
1
1
1
1
1
1
1
17
17
tHIGH, SCLK High Period
ns
39
5
tSU.CS, CS Setup Time
ns
tHD.CS, CS Hold Time
ns
13
8
tSU.SDIO, SDIO Input Setup Time
tHD.SDIO, SDIO Input Hold Time
tVD.SDIO, SDIO Output Valid Time
tHD.SDIO, SDIO Output Hold Time
tDIS.SDIO, SDIO Output Disable Time
ns
ns
Cload = 20 pF
Cload = 20 pF
18.5
28
ns
3.5
ns
ns
Table 7. 3-Wire SPI Timing Characteristics (24-MHz Operation)
Notes:
1. Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
CS
70%
30%
tFall
tRise
tHD;CS
tSU;CS
70%
tHIGH
1/fCLK
SCLK
30%
tSU;SDIO
tHD;SDIO
tLOW
70%
30%
I
LSB IN
MSB IN
tDIS;SDIO
tVD;SDIO
tHD;SDIO
70%
30%
O
MSB OUT
LSB OUT
Figure 3. 3-Wire SPI Bus Timing Diagram
Page 17 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
3.7 ABSOLUTE MAXIMUM RATINGS
Stress above those listed as “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only
and functional operation of the device at these conditions is not implied. Exposure to the absolute maximum ratings conditions for
extended periods may affect device reliability.
Parameter
Rating
-0.5 V to +4 V
Supply Voltage, VDD
Supply Voltage, VDDIO
-0.5 V to +4 V
Input Voltage Level (FSYNC, SCL, SDA)
Acceleration (Any Axis, unpowered)
Operating Temperature Range
Storage Temperature Range
-0.5 V to VDDIO + 0.5 V
20,000g for 0.2 ms
-40°C to +85°C
-40°C to +125°C
2 kV (HBM);
500 V (CDM)
Electrostatic Discharge (ESD) Protection
Latch-up
JEDEC Class II (2),125°C
±100 mA
Table 8. Absolute Maximum Ratings
Page 18 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4 APPLICATIONS INFORMATION
4.1 PIN OUT DIAGRAM AND SIGNAL DESCRIPTION
Pin Number
Pin Name
Pin Description
AP_SDO: AP SPI serial data output (4-wire mode);
AP_AD0: AP I3CSM / I2C slave address LSB
1
AP_SDO / AP_AD0
2
3
RESV
RESV
No Connect or Connect to GND
No Connect or Connect to GND
INT1: Interrupt 1 (Note: INT1 can be push-pull or open drain)
INT: All interrupts mapped to pin 4
4
INT1 / INT
5
6
7
8
VDDIO
GND
IO power supply voltage
Power supply ground
Connect to GND
RESV
VDD
Power supply voltage
INT2: Interrupt 2 (Note: INT2 can be push-pull or open drain)
FSYNC: Frame sync input; Connect to GND if FSYNC not used
9
INT2 / FSYNC
10
11
RESV
RESV
No Connect or Connect to GND
No Connect or Connect to GND
AP SPI Chip select (AP SPI interface); Connect to VDDIO if using AP I3CSM / I2C
interface
AP_SCL: AP I3CSM / I2C serial clock; AP_SCLK: AP SPI serial clock
AP_SDA: AP I3CSM / I2C serial data; AP_SDIO: AP SPI serial data I/O (3-wire
mode); AP_SDI: AP SPI serial data input (4-wire mode)
12
13
14
AP_CS
AP_SCL / AP_SCLK
AP_SDA / AP_SDIO /
AP_SDI
Table 9. Signal Descriptions
AP_SDO / AP_AD0
1
2
3
4
11
10
9
RESV
+Z
RESV
RESV
RESV
ICM-42605
INT2 / FSYNC
VDD
8
INT1 / INT
+Y
+X
Figure 4. Pin Out Diagram for ICM-42605 2.5x3.0x0.91 mm LGA
Page 19 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4.2 TYPICAL OPERATING CIRCUIT
VDDIO
12
14
13
AP_AD0
RESV
RESV
11
1
2
10 RESV
ICM-42605
INT2 / FSYNC
RESV
3
4
9
8
1.71 – 3.6VDC
INT1 / INT
VDD
5
6
7
C1, 0.1 mF
C2, 2.2 mF
1.71 – 3.6VDC
C3, 10 nF
Figure 5. ICM-42605 Application Schematic (I3CSM / I2C Interface to Host)
Note: I2C lines are open drain and pull-up resistors (e.g. 10 kΩ) are required.
AP_CS
14
13
12
AP_SDO
RESV
RESV
11
1
2
10 RESV
ICM-42605
INT2 / FSYNC
RESV
3
4
9
8
1.71 – 3.6VDC
INT1 / INT
VDD
5
6
7
C1, 0.1 mF
C2, 2.2 mF
1.71 – 3.6VDC
C3, 10 nF
Figure 6. ICM-42605 Application Schematic (SPI Interface to Host)
Page 20 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4.3 BILL OF MATERIALS FOR EXTERNAL COMPONENTS
Component
Label
Specification
Quantity
C1
C2
X7R, 0.1µF ±10%
X7R, 2.2µF ±10%
1
1
VDD Bypass Capacitors
VDDIO Bypass Capacitor
C3
X7R, 10nF ±10%
1
Table 10. Bill of Materials
Page 21 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4.4 SYSTEM BLOCK DIAGRAM
Figure 7. ICM-42605 System Block Diagram
Note: The above block diagram is an example. Please refer to the pin-out (section 4.1) for other configuration options.
4.5 OVERVIEW
The ICM-42605 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
I3CSM, I2C and SPI serial communications interfaces to Host
Self-Test
Clocking
Sensor Data Registers
FIFO
Interrupts
Digital-Output Temperature Sensor
Bias and LDOs
Charge Pump
Standard Power Modes
4.6 THREE-AXIS MEMS GYROSCOPE WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-42605 includes a vibratory MEMS rate gyroscope, which detects rotation about the X-, Y-, and Z- Axes. When the
gyroscope is rotated about any of the sense axes, the Coriolis Effect causes a vibration that is detected by a capacitive pickoff. The
resulting signal is amplified, demodulated, and filtered to produce a voltage that is proportional to the angular rate. This voltage is
digitized using on-chip Analog-to-Digital Converters (ADCs) to sample each axis. The full-scale range of the gyro sensors may be
digitally programmed to ±15.625, ±31.25, ±62.5, ±125, ±250, ±500, ±1000, and ±2000 degrees per second (dps).
4.7 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-42605 includes a 3-Axis MEMS accelerometer. Acceleration along a particular axis induces displacement of a proof mass in
the MEMS structure, and capacitive sensors detect the displacement. The ICM-42605 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. The full scale range of the digital output can be adjusted to ±2g, ±4g, ±8g and ±16g.
4.8 I3CSM, I2C AND SPI HOST INTERFACE
The ICM-42605 communicates to the application processor using an I3CSM, I2C, or SPI serial interface. The ICM-42605 always acts as a
slave when communicating to the application processor.
4.9 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.
Page 22 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
The self-test response is defined as follows:
Self-test response = Sensor output with self-test enabled – Sensor output with self-test disabled
When the value of the self-test response is within the specified min/max limits of the product specification, the part has passed self-
test. When the self-test response exceeds the min/max values, the part is deemed to have failed self-test.
4.10 CLOCKING
The ICM-42605 has a flexible clocking scheme, allowing the following internal clock sources to be used for the internal synchronous
circuitry. This synchronous circuitry includes the signal conditioning and ADCs, and various control circuits and registers.
a) An internal relaxation oscillator
b) Auto-select between internal relaxation oscillator and gyroscope MEMS oscillator to use the best available source
The only setting supporting specified performance in all modes is option b). It is recommended that option b) be used when using
internal clock source.
4.11 SENSOR DATA REGISTERS
The sensor data registers contain the latest gyroscope, accelerometer, and temperature measurement data. They are read-only
registers, and are accessed via the serial interface. Data from these registers may be read anytime.
4.12 INTERRUPTS
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the interrupt pins
configuration, the interrupt latching and clearing method, and triggers for the interrupt. Items that can trigger an interrupt are (1)
Clock generator locked to new reference oscillator (used when switching clock sources); (2) new data is available to be read (from
the FIFO and Data registers); (3) accelerometer event interrupts; (4) FIFO watermark; (5) FIFO overflow. The interrupt status can be
read from the Interrupt Status register.
4.13 DIGITAL-OUTPUT TEMPERATURE SENSOR
An on-chip temperature sensor and ADC are used to measure the ICM-42605 die temperature. The readings from the ADC can be
read from the FIFO or the Sensor Data registers.
Temperature data value from the sensor data registers can be converted to degrees centigrade by using the following formula:
Temperature in Degrees Centigrade = (TEMP_DATA / 132.48) + 25
Temperature data stored in FIFO is an 8-bit quantity, FIFO_TEMP_DATA. It can be converted to degrees centigrade by using the
following formula:
Temperature in Degrees Centigrade = (FIFO_TEMP_DATA / 2.07) + 25
4.14 BIAS AND LDOS
The bias and LDO section generates the internal supply and the reference voltages and currents required by the ICM-42605.
4.15 CHARGE PUMP
An on-chip charge pump generates the high voltage required for the MEMS oscillator.
Page 23 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
4.16 STANDARD POWER MODES
The following table lists the user-accessible power modes for ICM-42605.
Mode Name
Gyro
Off
Drive On
Off
Accel
Off
Off
1
2
3
4
5
6
Sleep Mode
Standby Mode
Accelerometer Low-Power Mode
Accelerometer Low-Noise Mode
Gyroscope Low-Noise Mode
6-Axis Low-Noise Mode
Duty-Cycled
Off
On
On
On
Off
On
Table 11. Standard Power Modes for ICM-42605
Page 24 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
5 SIGNAL PATH
The following figure shows a block diagram of the signal path for ICM-42605.
Gyro Only
UI Interface
Anti-Alias
Anti-Alias
Filter (AAF)
Filter (AAF)
User
User
Decimation
Decimation
Filter (8kHz)
Filter (8kHz)
UI Filter Block
(order, BW, ODR)
Sensor
Registers
0
1
ADC
ADC
0
1
Notch Filter
Notch Filter
Programmable
Programmable
Offset
Offset
FSR Selection
GYRO_NF_DIS
AAF_DIS
Figure 8. ICM-42605 Signal Path
The signal path starts with ADCs for the gyroscope and accelerometer. Other components of the signal path are described below in
further detail.
5.1 SUMMARY OF PARAMETERS USED TO CONFIGURE THE SIGNAL PATH
The following table shows the parameters that can control the signal path.
Parameter Name
Description
GYRO_AAF_DIS
Disables the Gyroscope Anti Alias Filter (AAF)
GYRO_AAF_DELT
GYRO_AAF_DELTSQR
GYRO_AAF_BITSHIFT
ACCEL_AAF_DIS
ACCEL_AAF_DELT
ACCEL_AAF_DELTSQR
ACCEL_AAF_BITSHIFT
GYRO_NF_DIS
Three parameters required to program the gyroscope AAF. This is a 2nd order filter with
programmable low pass filter. This is a user programmable filter which can be used to select
the desired BW. This filter allows trading off RMS noise vs. latency for a given ODR.
Disables the Accelerometer Anti Alias Filter
Three parameters required to program the accelerometer AAF. This is a 2nd order filter with
programmable low pass filter. This is a user programmable filter which can be used to select
the desired BW. This filter allows trading off RMS noise vs. latency for a given ODR.
Disables the gyro Notch Filter
Factory trimmed parameters, designed to position a Notch at or near the sense peak
frequency of Gyro. This allows the user to suppress only sense peak contribution to noise,
GYRO_X/Y/Z_NF_COSWZ
GYRO_X/Y/Z_NF_COSWZ_SEL while still maintaining a low latency high BW/ODR interface from the Sensor. This filter is
available only in Gyro, and the parameters for X, Y, and Z are chosen independently.
Factory trimmed parameter to cancel noise created by sense peak from Gyro. This parameter
is common to all three axes
GYRO_NF_BW_SEL
5.2 NOTCH FILTER
The Notch Filter is supported only for the gyroscope signal path. The following steps can be used to program the notch filter. Note
that the notch filter is specific to each axis in the gyroscope, so the X, Y and Z axis can be programmed independently.
Frequency of Notch Filter (each axis)
To operate the Notch filter, two parameters NF_COSWZ, and NF_COSWZ_SEL must be programmed for each gyroscope axis.
Parameters NF_COSWZ are defined for each axis of the gyroscope as GYRO_X_NF_COSWZ (register bank 1, register 0x0Fh & register
0x12h), GYRO_Y_NF_COSWZ (register bank 1, register 0x10h & register 0x12h), GYRO_Z_NF_COSWZ (register bank 1, register 0x11h
& register 0x12h). Note that the parameters have 9-bit values across two different registers.
Page 25 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Parameters NF_COSWZ_SEL are defined for each axis of the gyroscope as GYRO_X_NF_COSWZ_SEL (register bank 1, register 0x12h,
bit 3), GYRO_Y_NF_COSWZ_SEL (register bank 1, register 0x12h, bit 4), GYRO_Z_NF_COSWZ_SEL (register bank 1, register 0x12h, bit
5).
Each value must be calculated using the steps described below, and programmed into the corresponding register locations
mentioned above.
fdesired is the desired frequency of the Notch Filter in kHz. The lower bound for fdesired is 1kHz, and the upper bound is 3kHz.
Operating the notch filter outside this range is not supported.
Step1: COSWZ = cos(2*pi*fdesired/8)
Step2:
If abs(COSWZ)≤0.875
NF_COSWZ = round[COSWZ*256]
NF_COSWZ_SEL = 0
else
NF_COSWZ_SEL = 1
if COSWZ > 0.875
NF_COSWZ = round [8*(1-COSWZ)*256]
else if COSWZ < -0.875
NF_COSWZ = round [-8*(1+COSWZ)*256]
end
End
Bandwidth of Notch Filter (common to all axes)
The notch filter allows the user to control the width of the notch from eight possible values using a 3-bit parameter
GYRO_NF_BW_SEL in register bank 1, register 0x13h, bits 6:4. This parameter is common to all three axes.
GYRO_NF_BW_SEL
Notch Filter Bandwidth (Hz)
0
1
2
3
4
5
6
7
362
170
83
41
21
11
5
3
The notch filter can be selected or bypassed by using the parameter GYRO_NF_DIS in register bank 1, register 0x0Bh, bit 0 as shown
below.
GYRO_NF_DIS
Function
0
1
Enable notch filter
Disable notch filter
Page 26 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
5.3 ANTI-ALIAS FILTER
Anti-alias filters for gyroscope and accelerometer can be independently programmed to have bandwidths ranging from 10 Hz to 995
Hz. To program the anti-alias filter for a required bandwidth, use the table below to map the bandwidth to register values as shown:
a. Register bank 2, register 0x03h, bits 6:1, ACCEL_AAF_DELT: Code from 1 to 63 that allows programming the
bandwidth for accelerometer anti-alias filter
b. Register bank 2, register 0x04h, bits 7:0 and Bank 2, register 0x05h, bits 3:0, ACCEL_AAF_DELTSQR: Square of the
delt value for accelerometer
c. Register bank 2, register 0x05h, bits 7:4, ACCEL_AAF_BITSHIFT: Bitshift value for accelerometer used in hardware
implementation
d. Register bank 1, register 0x0Ch, bits 5:0, GYRO_AAF_DELT: Code from 1 to 63 that allows programming the
bandwidth for gyroscope anti-alias filter
e. Register bank 1, register 0x0Dh, bits 7:0 and Bank 1, register 0x0Eh, bits 3:0, GYRO_AAF_DELTSQR: Square of the
delt value for gyroscope
f. Register bank 1, register 0x0Eh, bits 7:4, GYRO_AAF_BITSHIFT: Bitshift value for gyroscope used in hardware
implementation
ACCEL_AAF_DELT; ACCEL_AAF_DELTSQR; ACCEL_AAF_BITSHIFT;
3dB Bandwidth (Hz)
GYRO_AAF_DELT GYRO_AAF_DELTSQR GYRO_AAF_BITSHIFT
10
21
32
42
53
1
2
3
4
5
6
7
15
13
12
11
10
10
9
1
4
9
16
25
36
49
64
76
87
8
9
64
99
9
9
81
110
122
134
146
158
171
184
196
209
222
236
249
263
277
291
305
319
334
349
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
8
8
8
8
7
7
7
7
7
6
6
6
6
6
6
6
100
122
144
170
196
224
256
288
324
360
400
440
488
528
576
624
680
736
784
6
5
5
Page 27 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
364
379
394
410
425
441
458
474
490
507
524
541
559
576
594
612
631
649
668
687
706
725
745
764
784
804
825
845
866
887
908
930
951
973
995
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
848
896
960
1024
1088
1152
1232
1296
1376
1440
1536
1600
1696
1760
1856
1952
2016
2112
2208
2304
2400
2496
2592
2720
2816
2944
3008
3136
3264
3392
3456
3584
3712
3840
3968
The anti-alias filter can be selected or bypassed for the gyroscope by using the parameter GYRO_AAF_DIS in register bank 1, register
0x0Bh, bit 1 as shown below.
GYRO_AAF_DIS
Function
0
1
Enable gyroscope anti-aliasing filter
Disable gyroscope anti-aliasing filter
The anti-alias filter can be selected or bypassed for the accelerometer by using the parameter ACCEL_AAF_DIS in register bank 2,
register 0x03h, bit 0 as shown below.
Page 28 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
ACCEL_AAF_DIS
Function
0
1
Enable accelerometer anti-aliasing filter
Disable accelerometer anti-aliasing filter
5.4 USER PROGRAMMABLE OFFSET
Gyroscope and accelerometer offsets can be programmed by the user by using registers OFFSET_USER0, through OFFSET_USER8, in
bank 0, registers 0x77h through 0x7Fh (bank 4) as shown below.
Register Address
Register Name
Bits
7:0
3:0
7:4
7:0
7:0
3:0
7:4
7:0
7:0
3:0
7:4
7:0
Function
Lower bits of X-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Upper bits of X-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Upper bits of Y-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Lower bits of Y-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Lower bits of Z-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Upper bits of Z-gyro offset programmed by user.
Max value is ±64 dps, resolution is 1/32 dps.
Upper bits of X-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
Lower bits of X-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
Lower bits of Y-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
Upper bits of Y-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
Upper bits of Z-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
0x77h
OFFSET_USER0
0x78h
OFFSET_USER1
0x79h
0x7Ah
OFFSET_USER2
OFFSET_USER3
0x7Bh
OFFSET_USER4
0x7Ch
0x7Dh
OFFSET_USER5
OFFSET_USER6
0x7Eh
0x7Fh
OFFSET_USER7
OFFSET_USER8
Lower bits of Z-accel offset programmed by user.
Max value is ±1 g, resolution is 0.5 g.
5.5 UI FILTER BLOCK
The UI filter block can be programmed to select filter order and bandwidth independently for gyroscope and accelerometer.
Gyroscope filter order can be selected by programming the parameter GYRO_UI_FILT_ORD in register bank 0, register 0x51h, bits
3:2, as shown below.
GYRO_UI_FILT_ORD
Filter Order
00
01
10
11
1st order
2nd order
3rd order
Reserved
Page 29 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Accelerometer filter order can be selected by programming the parameter ACCEL_UI_FILT_ORD in register bank 0, register 0x53h,
bits 4:3, as shown below.
ACCEL_UI_FILT_ORD
Filter Order
00
01
10
11
1st order
2nd order
3rd order
Reserved
Gyroscope and accelerometer filter 3dB bandwidth can be selected by programming the parameter GYRO_UI_FILT_BW in register
bank 0, register 0x52h, bits 3:0, and the parameter ACCEL_UI_FILT_BW in register bank 0, register 0x52h, bits 7:4, as shown below.
The values shown in bold correspond to low noise and the values shown in italics correspond to low latency. User can select the
appropriate setting based on the application requirements for power and latency. Corresponding Noise Bandwidth (NBW) and
Group Delay values are also shown.
1st Order Filter 3dB Bandwidth, Noise Bandwidth (NBW), Group Delay
3dB Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=0 (1st order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2096.30
1048.10
524.00
5
6
498.30 227.20 188.90 111.00
92.40 59.60 48.80 23.90 262.00 2096.30
46.20 29.80 24.40 11.90 131.00 1048.10
15
7
249.10 113.60
94.40
75.50
75.50
75.50
75.50
75.50
55.50
44.40
44.40
44.40
44.40
44.40
200
99.60
49.80
24.90
12.50
12.50
90.90
90.90
90.90
90.90
90.90
37.00 23.80 19.50
37.00 23.80 19.50
37.00 23.80 19.50
37.00 23.80 19.50
37.00 23.80 19.50
9.60 104.80
9.60 104.80
9.60 104.80
9.60 104.80
9.60 104.80
419.20
209.60
104.80
52.40
8
100
9
50
10
11
25
12.5
52.40
NBW Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=0 (1st order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2204.59
1102.23
551.13
5
6
551.13 230.84 196.28 126.46 108.92 75.80 64.06 34.08 275.59 2204.59
15
7
280.53 115.45
98.16
78.54
78.54
78.54
78.54
78.54
63.25
50.61
50.61
50.61
50.61
50.61
54.49 37.92 32.05 17.07 137.82 1102.23
200
112.24
56.15
28.10
14.07
14.07
92.37
92.37
92.37
92.37
92.37
43.60 30.35 25.65 13.66 110.26
43.60 30.35 25.65 13.66 110.26
43.60 30.35 25.65 13.66 110.26
43.60 30.35 25.65 13.66 110.26
43.60 30.35 25.65 13.66 110.26
440.91
220.48
110.26
55.16
8
100
9
50
10
11
25
12.5
55.16
Page 30 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Group Delay @DC (ms) for GYRO/ACCEL_UI_FILT_ORD=0 (1st order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
0.24
0.43
0.80
5
6
0.57
1.10
1.80
3.55
4.43
4.43
4.43
4.43
4.43
2.02
3.98
4.97
4.97
4.97
4.97
4.97
2.75
5.45
6.81
6.81
6.81
6.81
6.81
3.08
6.10
4.09
8.13
4.70
8.15
1.55
3.05
3.79
3.79
3.79
3.79
3.79
0.24
15
7
9.35 16.24
0.43
0.99
1.92
3.79
7.54
7.54
200
2.66
7.62 10.15 11.67 20.29
7.62 10.15 11.67 20.29
7.62 10.15 11.67 20.29
7.62 10.15 11.67 20.29
7.62 10.15 11.67 20.29
8
100
5.28
9
50
10.50
20.95
20.95
10
11
25
12.5
2nd Order Filter 3dB Bandwidth, Noise Bandwidth (NBW), Group Delay
3dB Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=1 (2nd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2096.30
1048.10
524.00
5
6
493.30 230.70 191.60 117.50
97.10 59.60 48.00 21.30 262.00 2096.30
48.50 29.80 24.00 10.60 131.00 1048.10
15
7
246.70 115.30
95.80
76.60
76.60
76.60
76.60
76.60
58.80
47.00
47.00
47.00
47.00
47.00
200
98.70
49.30
24.70
12.30
12.30
92.30
92.30
92.30
92.30
92.30
38.80 23.80 19.20
38.80 23.80 19.20
38.80 23.80 19.20
38.80 23.80 19.20
38.80 23.80 19.20
8.50 104.80
8.50 104.80
8.50 104.80
8.50 104.80
8.50 104.80
419.20
209.60
104.80
52.40
8
100
9
50
10
11
25
12.5
52.40
NBW Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=1 (2nd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2204.59
1102.23
551.13
5
6
551.13 223.73 189.95 122.70 102.82 64.66 52.50 23.72 275.59 2204.59
15
7
259.58 111.89
95.00
76.01
76.01
76.01
76.01
76.01
61.38
49.11
49.11
49.11
49.11
49.11
51.44 32.36 26.28 11.89 137.82 1102.23
200
103.86
51.96
26.00
13.03
13.03
89.52
89.52
89.52
89.52
89.52
41.16 25.89 21.03
41.16 25.89 21.03
41.16 25.89 21.03
41.16 25.89 21.03
41.16 25.89 21.03
9.52 110.26
9.52 110.26
9.52 110.26
9.52 110.26
9.52 110.26
440.91
220.48
110.26
55.16
8
100
9
50
10
11
25
12.5
55.16
Page 31 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Group Delay @DC (ms) for GYRO/ACCEL_UI_FILT_ORD=1 (2nd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
0.24
0.43
0.80
5
6
0.69
1.34
2.06
4.07
5.08
5.08
5.08
5.08
5.08
2.36
4.66
5.81
5.81
5.81
5.81
5.81
3.25
6.44
8.04
8.04
8.04
8.04
8.04
3.69
5.21
6.14 12.03
1.55
3.05
3.79
3.79
3.79
3.79
3.79
0.24
15
7
7.32 10.36 12.23 24.01
9.14 12.94 15.27 29.99
9.14 12.94 15.27 29.99
9.14 12.94 15.27 29.99
9.14 12.94 15.27 29.99
9.14 12.94 15.27 29.99
0.43
0.99
1.92
3.79
7.54
7.54
200
3.26
8
100
6.48
9
50
12.90
25.75
25.75
10
11
25
12.5
3rd Order Filter 3dB Bandwidth, Noise Bandwidth (NBW), Group Delay
3dB Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=2 (3rd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2096.30
1048.10
524.00
5
6
492.90 234.70 195.80 118.90 97.90 60.80 46.80 25.20 262.00 2096.30
15
7
246.40 117.40
97.90
78.30
78.30
78.30
78.30
78.30
59.50 48.90 30.40 23.40 12.60 131.00 1048.10
200
98.60
49.30
24.60
12.30
12.30
93.90
93.90
93.90
93.90
93.90
47.60 39.20 24.30 18.70 10.10 104.80
47.60 39.20 24.30 18.70 10.10 104.80
47.60 39.20 24.30 18.70 10.10 104.80
47.60 39.20 24.30 18.70 10.10 104.80
47.60 39.20 24.30 18.70 10.10 104.80
419.20
209.60
104.80
52.40
8
100
9
50
10
11
25
12.5
52.40
NBW Bandwidth (Hz) for GYRO/ACCEL_UI_FILT_ORD=2 (3rd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
2204.59
1102.23
551.13
5
6
551.13 221.34 188.47 120.11 99.96 62.95 48.58 26.36 275.59 2204.59
15
7
251.96 110.69
94.26
75.42
75.42
75.42
75.42
75.42
60.08 50.00 31.50 24.31 13.20 137.82 1102.23
200
100.82
50.43
25.24
12.65
12.65
88.56
88.56
88.56
88.56
88.56
48.07 40.01 25.21 19.46 10.57 110.26
48.07 40.01 25.21 19.46 10.57 110.26
48.07 40.01 25.21 19.46 10.57 110.26
48.07 40.01 25.21 19.46 10.57 110.26
48.07 40.01 25.21 19.46 10.57 110.26
440.91
220.48
110.26
55.16
8
100
9
50
10
11
25
12.5
55.16
Page 32 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Group Delay @DC (ms) for GYRO/ACCEL_UI_FILT_ORD=2 (3rd order filter)
GYRO/ACCEL_UI_FILT_BW
GYRO/ACCEL_ODR
ODR(Hz)
8000
4000
2000
1000
500
0
1
2
3
4
5
6
7
14
15
3
4
0.24
0.43
0.80
5
6
0.85
1.64
2.34
4.63
5.77
5.77
5.77
5.77
5.77
2.75
5.45
6.80
6.80
6.80
6.80
6.80
3.97
7.89
4.60
6.65
8.20 14.09
1.55
3.05
3.79
3.79
3.79
3.79
3.79
0.24
15
7
9.15 13.25 16.35 28.14
0.43
0.99
1.92
3.79
7.54
7.54
200
4.02
9.84 11.42 16.54 20.42 35.16
9.84 11.42 16.54 20.42 35.16
9.84 11.42 16.54 20.42 35.16
9.84 11.42 16.54 20.42 35.16
9.84 11.42 16.54 20.42 35.16
8
100
7.99
9
50
15.92
31.80
31.80
10
11
25
12.5
5.6 ODR AND FSR SELECTION
Gyroscope ODR can be selected by programming the parameter GYRO_ODR in register bank 0, register 0x4Fh, bits 3:0 as shown
below.
GYRO_ODR
Gyroscope ODR Value
Reserved
Reserved
Reserved
8kHz
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
4kHz
2kHz
1kHz (default)
200Hz
100Hz
50Hz
25Hz
12.5Hz
Reserved
Reserved
Reserved
500Hz
Gyroscope FSR can be selected by programming the parameter GYRO_FS_SEL in register bank 0, register 0x4Fh, bits 7:5 as shown
below.
GYRO_FS_SEL
Gyroscope FSR Value
000
001
2000dps
1000dps
Page 33 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
010
011
100
101
110
111
500dps
250dps
125dps
62.5dps
31.25dps
15.625dps
Accelerometer ODR can be selected by programming the parameter ACCEL_ODR in register bank 0, register 0x50h, bits 3:0 as shown
below.
ACCEL_ODR
Accelerometer ODR Value
Reserved
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Reserved
Reserved
8kHz (LN mode)
4kHz (LN mode)
2kHz (LN mode)
1kHz (LN mode) (default)
200Hz (LP or LN mode)
100Hz (LP or LN mode)
50Hz (LP or LN mode)
25Hz (LP or LN mode)
12.5Hz (LP or LN mode)
6.25Hz (LP mode)
3.125Hz (LP mode)
1.5625Hz (LP mode)
500Hz (LP or LN mode)
Accelerometer FSR can be selected by programming the parameter ACCEL_FS_SEL in register bank 0, register 0x50h, bits 7:5 as
shown below.
ACCEL_FS_SEL
Accelerometer FSR Value
000
001
010
011
100
101
110
111
16g
8g
4g
2g
Reserved
Reserved
Reserved
Reserved
Page 34 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
6 FIFO
The ICM-42605 contains a 2K byte FIFO register that is accessible via the serial interface. The FIFO configuration register determines
which data is written into the FIFO. Possible choices include gyroscope data, accelerometer data, temperature readings, and FSYNC
input. A FIFO counter keeps track of how many bytes of valid data are contained in the FIFO.
6.1 PACKET STRUCTURE
The following figure shows the FIFO packet structures supported in ICM-42605.
Header
(1 byte)
Header
(1 byte)
Header
(1 byte)
Accelerometer Data
(6 bytes)
Gyroscope Data
(6 bytes)
Accelerometer Data
(6 bytes)
Temperature Data
(1 byte)
Temperature Data
(1 byte)
Gyroscope Data
(6 bytes)
Packet 1
Packet 2
Temperature Data
(1 byte)
TimeStamp
(2 bytes)
Packet 3
Figure 9. FIFO Packet Structure
The rest of this sub-section describes how individual data is packaged in the different FIFO packet structures.
Packet 1: Individual data is packaged in Packet 1 as shown below.
Byte
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
Content
FIFO Header
Accel X [15:8]
Accel X [7:0]
Accel Y [15:8]
Accel Y [7:0]
Accel Z [15:8]
Accel Z [7:0]
Temperature[7:0]
Page 35 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Packet 2: Individual data is packaged in Packet 2 as shown below.
Byte
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
Content
FIFO Header
Gyro X [15:8]
Gyro X [7:0]
Gyro Y [15:8]
Gyro Y [7:0]
Gyro Z [15:8]
Gyro Z [7:0]
Temperature[7:0]
Packet 3: Individual data is packaged in Packet 3 as shown below.
Byte
Content
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
FIFO Header
Accel X [15:8]
Accel X [7:0]
Accel Y [15:8]
Accel Y [7:0]
Accel Z [15:8]
Accel Z [7:0]
Gyro X [15:8]
Gyro X [7:0]
Gyro Y [15:8]
Gyro Y [7:0]
Gyro Z [15:8]
Gyro Z [7:0]
Temperature[7:0]
TimeStamp[15:8]
TimeStamp[7:0]
6.2 FIFO HEADER
The following table shows the structure of the 1 byte FIFO header.
Bit Field
Item
Description
1: FIFO is empty
0: Packet contains sensor data
7
HEADER_MSG
1: Packet is sized so that accel data have location in the packet, FIFO_ACCEL_EN
must be 1
0: Packet does not contain accel sample
1: Packet is sized so that gyro data have location in the packet, FIFO_GYRO_EN must
be 1
6
5
HEADER_ACCEL
HEADER_GYRO
0: Packet does not contain gyro sample
00: Packet does not contain timestamp or FSYNC time data
3:2
HEADER_TIMESTAMP_FSYNC 01: Reserved
10: Packet contains ODR Timestamp
Page 36 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
11: Packet contains FSYNC time, and this packet is flagged as first ODR after FSYNC
(only if FIFO_TMST_FSYNC_EN is 1)
1: The ODR for accel is different for this accel data packet compared to the previous
accel packet
0: The ODR for accel is the same as the previous packet with accel
1: The ODR for gyro is different for this gyro data packet compared to the previous
gyro packet
1
0
HEADER_ODR_ACCEL
HEADER_ODR_GYRO
0: The ODR for gyro is the same as the previous packet with gyro
Note at least HEADER_ACCEL or HEADER_GYRO must be set for a sensor data packet to be set.
6.3 MAXIMUM FIFO STORAGE
The maximum number of packets that can be stored in FIFO is a variable quantity depending on the use case. As shown in the figure
below, the physical FIFO size is 2048 bytes. A number of bytes equal to the packet size selected (see section 6.1) is reserved to
prevent reading a packet during write operation. Additionally, a read cache 2 packets wide is available.
When there is no serial interface operation, the read cache is not available for storing packets, being fed by the serial interface clock.
When serial interface operation happens, depending on the operation length and the packet size chosen, either 1 or 2 of the packet
entries in read cache may become available for storing packets. In that case the total storage available is up to the maximum
number of packets that can be accommodated in 2048 bytes + 1 packet size, depending on the packet size used.
Due to the non-deterministic nature of system operation, driver memory allocation should always be the largest size of 2080 bytes.
2 Packet Size
Read Cache
FIFO 2048 Bytes
2048 Bytes – 1 packet size
1 Packet Size
Reserved to prevent reading a
packet during write operation
Figure 10. Maximum FIFO Storage
6.4 FIFO CONFIGURATION REGISTERS
The following control bits in bank 0, register 0x5Fh determine what data is placed into the FIFO. The values of these bits may change
while the FIFO is being filled without corruption of the FIFO.
BIT
NAME
FUNCTION
0: FIFO will only contain ODR timestamp information
1: FIFO can also contain FSYNC time and FSYNC tag for one ODR after an
FSYNC event
3
FIFO_TMST_FSYNC_EN
0: Default setting; Gyroscope data not placed into FIFO
1: Enables gyroscope data packets of 6-bytes to be placed in FIFO
1
FIFO_GYRO_EN
Page 37 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
0: Default setting; Accelerometer data not placed into FIFO
1: Enables accelerometer data packets of 6-bytes to be placed in FIFO
0
FIFO_ACCEL_EN
Configuration register settings above impact FIFO header and FIFO packet size as follows:
FIFO_TMST_
FSYNC_EN
FIFO_ACCEL_EN FIFO_GYRO_EN
Header
Packet size
1
1
1
0
0
1
1
0
1
0
0
1
X
X
X
8’b_0110_10xx
8’b_0110_11xx
8’b_0100_00xx
8’b_0010_00xx
No FIFO writes
16 Bytes
16 Bytes
8 Bytes
8 Bytes
No FIFO writes
Page 38 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
7 PROGRAMMABLE INTERRUPTS
The ICM-42605 has a programmable interrupt system that can generate an interrupt signal on the INT pins. Status flags indicate the
source of an interrupt. Interrupt sources may be enabled and disabled individually. There are two interrupt outputs. Any interrupt
may be mapped to either interrupt pin as explained in the register section. The following configuration options are available for the
interrupts
•
•
•
INT1 and INT2 can be push-pull or open drain
Level or pulse mode
Active high or active low
Additionally, ICM-42605 includes In-band Interrupt (IBI) support for the I3CSM interface.
Page 39 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
8 APEX MOTION FUNCTIONS
The APEX (Advanced Pedometer and Event Detection – neXt gen) features of ICM-42605 consist of:
•
•
•
Pedometer: Tracks Step count and issues a Step Detect Interrupt
Tilt Detection: Issues an interrupt when the Tilt angle exceeds 35 degrees for more than a programmable time.
Raise to Wake/Sleep: Gesture detection for wake and sleep events. Interrupt is issued when either of these two events are
detected.
•
•
Tap Detection: Issues an interrupt when Tap is detected, along with a register containing the Tap Count.
Wake on Motion (WoM): Detects motion when accelerometer samples exceed a programmable threshold. This motion
event can be used to enable chip operation from sleep mode.
•
Significant Motion Detector (SMD): Detects motion if WoM events are detected during a programmable time window (2s or
4s).
8.1 APEX ODR SUPPORT
APEX algorithms are designed to work with the accelerometer, for a variety of ODR settings. However, there is a minimum ODR
required for each algorithm. The following table shows the relationship between the available accelerometer ODRs and the
operation of the APEX algorithms. In order to allow more flexible operation where we can control the ODR of the APEX algorithms
independent of the accelerometer ODR, we allow for an additional selection determined by the field DMP_ODR (DMP stands for
Digital Motion ProcessorTM, an architectural component of APEX). The tables below shows how DMP_ODR should be configured in
relation to the accelerometer ODR and the expected performance.
Accel ODR
DMP_ODR
Tap Detection
Pedometer
Tilt Detection
Raise to Wake/Sleep
< 25Hz
X
Disabled
Disabled
Disabled
Disabled
≥ 25Hz
≥ 50Hz
0 (25Hz)
2 (50Hz)
Disabled
Disabled
Low Power
Normal
Low Power
Normal
Enabled
Enabled
Accel ODR
Tap Detection
200Hz
Low Power
Normal
500Hz
1kHz
High Performance
Disabled
> 1kHz
If the accelerometer ODR is set below the minimum DMP ODR (25 Hz), the APEX features cannot be enabled.
When the accelerometer ODR needs to be set differently from the DMP ODR, only the integer multiple of DMP ODR for
accelerometer sensor ODR is suitable to use with DMP. For example, when the accelerometer ODR is set as 200 Hz, the APEX
features can be enabled with choices of 25 Hz, or 50 Hz, depending on the DMP_ODR register setting.
Page 40 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
DMP ODR should not be changed on the fly. The following sequence should be followed for changing the DMP ODR:
1. Disable Pedometer, and Tilt Detection if they are enabled
2. Change DMP ODR
3. Set DMP_INIT_EN for one cycle (Register 0x4Bh in Bank 0)
4. Unset DMP_INIT_EN (Register 0x4Bh in Bank 0)
5. Enable APEX features of interest
8.2 DMP POWER SAVE MODE
DMP Power Save Mode can be enabled or disabled by DMP_POWER_SAVE (Register 0x56h in Bank 0). When the DMP Power Save
Mode is enabled, APEX features are enabled only when WOM is detected. WOM must be explicitly enabled for the DMP to work in
this mode. When WOM is not detected the APEX features are on pause. If the user does not want to use DMP Power Save Mode
they may set DMP_POWER_SAVE = 0, and use APEX functions without WOM detection.
8.3 PEDOMETER PROGRAMMING
•
Pedometer configuration parameters
1. LOW_ENERGY_AMP_TH_SEL (Register 0x40h in Bank 4)
2. PED_AMP_TH_SEL (Register 0x41h in Bank 4)
3. PED_STEP_CNT_TH_SEL (Register 0x41h in Bank 4)
4. PED_HI_EN_TH_SEL (Register 0x42h in Bank 4)
5. PED_SB_TIMER_TH_SEL (Register 0x42h in Bank 4)
6. PED_STEP_DET_TH_SEL (Register 0x42h in Bank 4)
7. SENSITIVITY_MODE (Register 0x48h in Bank 4)
8. There are 2 ODR and 2 sensitivity modes
Accel ODR (DMP_ODR)
25 Hz (0)
normal
slow walk
low power
low power and slow walk
slow walk
50 Hz (2)
high performance
•
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR to 50 Hz (Register 0x50h in Bank 0)
2. Set accelerometer to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and (Register 0x4Eh in Bank 0), ACCEL_LP_CLK_SEL = 0, for low power mode
3. Set DMP ODR = 50 Hz and turn on Pedometer feature (Register 0x56h in Bank 0)
4. Wait 1 millisecond
Initialize APEX hardware
1. Set DMP_MEM_RESET_EN to 1 (Register 0x4Bh in Bank 0)
2. Wait 1 millisecond
3. Set LOW_ENERGY_AMP_TH_SEL to 10 (Register 0x40h in Bank 4)
4. Set PED_AMP_TH_SEL to 8 (Register 0x41h in Bank 4)
5. Set PED_STEP_CNT_TH_SEL to 5 (Register 0x41h in Bank 4)
6. Set PED_HI_EN_TH_SEL to 1 (Register 0x42h in Bank 4)
7. Set PED_SB_TIMER_TH_SEL to 4 (Register 0x42h in Bank 4)
8. Set PED_STEP_DET_TH_SEL to 2 (Register 0x42h in Bank 4)
9. Set SENSITIVITY_MODE to 0 (Register 0x48h in Bank 4)
10. Set DMP_INIT_EN to 1 (Register 0x4Bh in Bank 0)
11. Wait 50 milliseconds
12. Enable STEP detection, source for INT1 by setting bit 5 in register INT_SOURCE6 (Register 0x4Dh in Bank 4) to 1. Or
if INT2 is selected for STEP detection, enable STEP detection source by setting bit 5 in register INT_SOURCE7
(Register 0x4Eh in Bank 4) to 1.
13. Turn on Pedometer feature by setting PED_ENABLE to 1 (Register 0x56h in Bank 0)
Page 41 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
•
Output registers
1. Read interrupt register (Register 0x38h in Bank 0) for STEP_DET_INT
2. If the step count is equal to or greater than 65535 (uint16), the STEP_CNT_OVF_INT (Register 0x38h in Bank 0) will
be set to 1. Example:
▪
▪
▪
▪
Take 1 step =>output step count = 65533 (real step count is 65533)
Take 1 step => output step count = 65534 (real step count is 65534)
Take 1 step => output step count = 0 and interrupt is fired (real step count is 65535+0= 65535)
Take 1 step => output step count = 1 (real step count is 65535+1=65536)
3. Read the step count in STEP_CNT (Register 0x31h and 0x32h in Bank 0)
4. Read the step cadence in STEP_CADENCE (Register 0x33h in Bank 0)
5. Read the activity class in ACTIVITY_CLASS (Register 0x34h in Bank 0)
8.4 TILT DETECTION PROGRAMMING
•
Tilt Detection configuration parameters
1. TILT_WAIT_TIME (Register 0x43h in Bank 4)
This parameter configures how long of a delay after tilt is detected before interrupt is triggered
Default is 2 (4 s).
Range is 0 = 0 s, 1 = 2 s, 2 = 4 s, 3 = 6 s
For example, setting TILT_WAIT_TIME = 2 is equivalent to 4 seconds for all ODRs
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR (Register 0x50h in Bank 0)
ACCEL_ODR = 9 for 50 Hz or 10 for 25 Hz
2. Set Accel to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and (Register 0x4Dh in Bank 0), ACCEL_LP_CLK_SEL = 0, for low power mode
3. Set DMP ODR (Register 0x56h in Bank 0)
DMP_ODR = 0 for 25 Hz, 2 for 50 Hz
4. Wait 1 millisecond
•
Initialize APEX hardware
1. Set DMP_MEM_RESET_EN to 1 (Register 0x4Bh in Bank 0)
2. Wait 1 millisecond
3. Set TILT_WAIT_TIME (Register 0x43h in Bank 4) if default value does not meet needs
4. Wait 1 millisecond
5. Set DMP_INIT_EN to 1 (Register 0x4Bh in Bank 0)
6. Enable Tilt Detection, source for INT1 by setting bit 3 in register INT_SOURCE6 (Register 0x4Dh in Bank 4) to 1. Or
if INT2 is selected for Tilt Detection, enable Tilt Detection source by setting bit 3 in register INT_SOURCE7 (Register
0x4Eh in Bank 4) to 1.
7. Wait 50 milliseconds
8. Turn on Tilt Detection feature by setting TILT_ENABLE to 1 (Register 0x56h in Bank 0)
•
Output registers
1. Read interrupt register (Register 0x38h in Bank 0) for tilt which is bit 3
8.5 RAISE TO WAKE/SLEEP PROGRAMMING
•
Raise to Wake/Sleep configuration parameters
1. SLEEP_TIME_OUT (Register 0x43h in Bank 4)
2. MOUNTING_MATRIX (Register 0x44h in Bank 4)
3. SLEEP_GESTURE_DELAY (Register 0x45h in Bank 4)
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR (Register 0x50h in Bank 0)
ACCEL_ODR = 10 for 25 Hz
Page 42 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
2. Set Accel to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and (Register 0x4Dh in Bank 0), ACCEL_LP_CLK_SEL = 0, for low power mode
3. Set DMP ODR (Register 0x56h in Bank 0)
DMP_ODR = 0 for 25 Hz, 2 for 50 Hz
4. Wait 1 millisecond
•
Initialize APEX hardware
1. Set DMP_MEM_RESET_EN to 1 (Register 0x4Bh in Bank 0)
2. Wait 1 millisecond
3. Set SLEEP_TIME_OUT (Register 0x43h in Bank 4) if default value does not meet needs
4. Wait 1 millisecond
5. Set MOUNTING_MATRIX (Register 0x44h in Bank 4) if default value does not meet needs
6. Wait 1 millisecond
7. Set SLEEP_GESTURE_DELAY (Register 0x45h in Bank 4) if default value does not meet needs
8. Wait 1 millisecond
9. Set DMP_INIT_EN to 1 (Register 0x4Bh in Bank 0)
10. Enable Raise to Wake/Sleep, source for INT1 by setting bit 2,1 in register INT_SOURCE6 (Register 0x4Dh in Bank 4)
to 1. Or if INT2 is selected for Raise to Wake/Sleep, enable Raise to Wake/Sleep source by setting bit 2,1 in register
INT_SOURCE7 (Register 0x4Eh in Bank 4) to 1.
11. Wait 50 milliseconds
12. Turn on Raise to Wake/Sleep feature by setting R2W_EN to 1 (Register 0x56h in Bank 0)
•
Output registers
1. Read interrupt register (Register 0x38h in Bank 0) for Wake and Sleep event
8.6 TAP DETECTION PROGRAMMING
•
Tap Detection configuration parameters
1. TAP_TMAX (Register 0x47h in Bank 4)
2. TAP_TMIN (Register 0x47h in Bank 4)
3. TAP_TAVG (Register 0x47h in Bank 4)
4. TAP_MIN_JERK_THR (Register 0x46h in Bank 4)
5. TAP_MAX_PEAK_TOL (Register 0x46h in Bank 4)
6. TAP_ENABLE (Register 0x56h in Bank 0)
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR (Register 0x50h in Bank 0)
ACCEL_ODR = 15 for 500 Hz (ODR of 200Hz or 1kHz may also be used)
2. Set power modes and filter configurations as shown below
▪
For ODR up to 500Hz, set Accel to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and ACCEL_LP_CLK_SEL = 0, (Register 0x4Dh in Bank 0) for low power mode
Set filter settings as follows: ACCEL_DEC2_M2_ORD = 2 (Register 0x53h in Bank 0); ACCEL_UI_FILT_BW = 4
(Register 0x52h in Bank 0)
•
For ODR of 1kHz, set Accel to Low Noise mode (Register 0x4Eh in Bank 0) ACCEL_MODE = 1
Set filter settings as follows: ACCEL_UI_FILT_ORD = 2 (Register 0x53h in Bank 0); ACCEL_UI_FILT_BW =
0 (Register 0x52h in Bank 0)
3. Wait 1 millisecond
•
Initialize APEX hardware
1. Set TAP_TMAX to 2 (Register 0x47h in Bank 4)
2. Set TAP_TMIN to 3 (Register 0x47h in Bank 4)
3. Set TAP_TAVG to 3 (Register 0x47h in Bank 4)
4. Set TAP_MIN_JERK_THR to 17 (Register 0x46h in Bank 4)
5. Set TAP_MAX_PEAK_TOL to 2 (Register 0x46h in Bank 4)
Page 43 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
6. Wait 1 millisecond
7. Enable TAP source for INT1 by setting bit 0 in register INT_SOURCE6 (Register 0x4Dh in Bank 4) to 1. Or if INT2 is
selected for TAP, enable TAP source by setting bit 0 in register INT_SOURCE7 (Register 0x4Eh in Bank 4) to 1.
8. Wait 50 milliseconds
9. Turn on TAP feature by setting TAP_ENABLE to 1 (Register 0x56h in Bank 0)
•
Output registers
1. Read interrupt register (Register 0x38h in Bank 0) for TAP_DET_INT
2. Read the tap count in TAP_NUM (Register 0x35h in Bank 0)
3. Read the tap axis in TAP_AXIS (Register 0x35h in Bank 0)
4. Read the polarity of tap pulse in TAP_DIR (Register 0x35h in Bank 0)
8.7 WAKE ON MOTION PROGRAMMING
•
Wake on Motion configuration parameters
1. WOM_X_TH (Register 0x4Ah in Bank 4)
2. WOM_Y_TH (Register 0x4Bh in Bank 4)
3. WOM_Z_TH (Register 0x4Ch in Bank 4)
4. WOM_INT_MODE (Register 0x57h in Bank 0)
5. WOM_MODE (Register 0x57h in Bank 0)
6. SMD_MODE (Register 0x57h in Bank 0)
•
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR (Register 0x50h in Bank 0)
ACCEL_ODR = 9 for 50 Hz
2. Set Accel to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and (Register 0x4Dh in Bank 0), ACCEL_LP_CLK_SEL = 0, for low power mode
3. Wait 1 millisecond
Initialize APEX hardware
1. Set WOM_X_TH to 98 (Register 0x4Ah in Bank 4)
2. Set WOM_Y_TH to 98 (Register 0x4Bh in Bank 4)
3. Set WOM_Z_TH to 98 (Register 0x4Ch in Bank 4)
4. Wait 1 millisecond
5. Enable all 3 axes as WOM sources for INT1 by setting bits 2:0 in register INT_SOURCE1 (Register 0x66h in Bank 0)
to 1. Or if INT2 is selected for WOM, enable all 3 axes as WOM sources by setting bits 2:0 in register INT_SOURCE4
(Register 0x69h in Bank 0) to 1.
6. Wait 50 milliseconds
7. Turn on WOM feature by setting WOM_INT_MODE to 0, WOM_MODE to 1, SMD_MODE to 1 (Register 0x56h in
Bank 0)
•
Output registers
1. Read interrupt register (Register 0x37h in Bank 0) for WOM_X_INT
2. Read interrupt register (Register 0x37h in Bank 0) for WOM_Y_INT
3. Read interrupt register (Register 0x37h in Bank 0) for WOM_Z_INT
8.8 SIGNIFICANT MOTION DETECTION PROGRAMMING
•
Significant Motion Detection configuration parameters
1. WOM_X_TH (Register 0x4Ah in Bank 4)
2. WOM_Y_TH (Register 0x4Bh in Bank 4)
3. WOM_Z_TH (Register 0x4Ch in Bank 4)
4. WOM_INT_MODE (Register 0x57h in Bank 0)
5. WOM_MODE (Register 0x57h in Bank 0)
6. SMD_MODE (Register 0x57h in Bank 0)
Page 44 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
•
•
Initialize Sensor in a typical configuration
1. Set accelerometer ODR (Register 0x50h in Bank 0)
ACCEL_ODR = 9 for 50 Hz
2. Set Accel to Low Power mode (Register 0x4Eh in Bank 0)
ACCEL_MODE = 2 and (Register 0x4Dh in Bank 0), ACCEL_LP_CLK_SEL = 0, for low power mode
3. Wait 1 millisecond
Initialize APEX hardware
1. Set WOM_X_TH to 98 (Register 0x4Ah in Bank 4)
2. Set WOM_Y_TH to 98 (Register 0x4Bh in Bank 4)
3. Set WOM_Z_TH to 98 (Register 0x4Ch in Bank 4)
4. Wait 1 millisecond
5. Enable SMD source for INT1 by setting bit 3 in register INT_SOURCE1 (Register 0x66h in Bank 0) to 1. Or if INT2 is
selected for SMD, enable SMD source by setting bit 3 in register INT_SOURCE4 (Register 0x69h in Bank 0) to 1.
6. Wait 50 milliseconds
7. Turn on SMD feature by setting WOM_INT_MODE to 0, WOM_MODE to 1, SMD_MODE to 3 (Register 0x56h in
Bank 0)
•
Output registers
1. Read interrupt register (Register 0x37h in Bank 0) for SMD_INT
Page 45 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
9 DIGITAL INTERFACE
9.1 I3CSM, I2C AND SPI SERIAL INTERFACES
The internal registers and memory of the ICM-42605 can be accessed using I3CSM at 12.5MHz (data rates up to 12.5Mbps in SDR
mode, 25Mbps in DDR mode), I2C at 1 MHz or SPI at 24 MHz. SPI operates in 3-wire or 4-wire mode. Pin assignments for serial
interfaces are described in Section 4.1.
9.2 I3CSM INTERFACE
I3CSM is a new 2-wire digital interface comprised of the signals serial data (SDA) and serial clock (SCLK). I3CSM is intended to improve
upon the I2C interface, while preserving backward compatibility.
I3CSM carries the advantages of I²C in simplicity, low pin count, easy board design, and multi-drop (vs. point to point), but provides
the higher data rates, simpler pads, and lower power of SPI. I3CSM adds higher throughput for a given frequency, in-band interrupts
(from slave to master), dynamic addressing.
ICM-42605 supports the following features of I3CSM
:
•
•
•
•
•
•
•
SDR data rate up to 12.5Mbps
DDR data rate up to 25Mbps
Dynamic address allocation
In-band Interrupt (IBI) support
Support for asynchronous timing control mode 0
Error detection (CRC and/or Parity)
Common Command Code (CCC)
The ICM-42605 always operates as an I3CSM slave device when communicating to the system processor, which thus acts as the I3CSM
master. I3CSM master controls an active pullup resistance on SDA, which it can enable and disable. The pullup resistance may be a
board level resistor controlled by a pin, or it may be internal to the I3CSM master.
9.3 I2C INTERFACE
I2C is a two-wire interface comprised of the signals serial data (SDA) and serial clock (SCL). In general, the lines are open-drain and bi-
directional. In a generalized I2C interface implementation, attached devices can be a master or a slave. The master device puts the
slave address on the bus, and the slave device with the matching address acknowledges the master.
The ICM-42605 always operates as a slave device when communicating to the system processor, which thus acts as the master. SDA
and SCL lines typically need pull-up resistors to VDDIO. The maximum bus speed is 1 MHz.
The slave address of the ICM-42605 is b110100X, which is 7 bits long. The LSB bit of the 7-bit address is determined by the logic
level on pin AP_AD0. This allows two ICM-42605s to be connected to the same I2C bus. When used in this configuration, the
address of one of the devices should be b1101000 (pin AP_AD0 is logic low) and the address of the other should be b1101001 (pin
AP_AD0 is logic high).
9.4 I2C COMMUNICATIONS PROTOCOL
START (S) and STOP (P) Conditions
Communication on the I2C bus starts when the master puts the START condition (S) on the bus, which is defined as a HIGH-to-LOW
transition of the SDA line while SCL line is HIGH (see figure below). The bus is considered to be busy until the master puts a STOP
condition (P) on the bus, which is defined as a LOW to HIGH transition on the SDA line while SCL is HIGH (see figure below).
Additionally, the bus remains busy if a repeated START (Sr) is generated instead of a STOP condition.
Page 46 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
SDA
SCL
S
P
START condition
STOP condition
Figure 11. START and STOP Conditions
Data Format / Acknowledge
I2C data bytes are defined to be 8-bits long. There is no restriction to the number of bytes transmitted per data transfer. Each byte
transferred must be followed by an acknowledge (ACK) signal. The clock for the acknowledge signal is generated by the master,
while the receiver generates the actual acknowledge signal by pulling down SDA and holding it low during the HIGH portion of the
acknowledge clock pulse.
If a slave is busy and cannot transmit or receive another byte of data until some other task has been performed, it can hold SCL
LOW, thus forcing the master into a wait state. Normal data transfer resumes when the slave is ready, and releases the clock line
(refer to the following figure).
DATA OUTPUT BY
TRANSMITTER (SDA)
not acknowledge
DATA OUTPUT BY
RECEIVER (SDA)
acknowledge
SCL FROM
MASTER
1
2
8
9
clock pulse for
acknowledgement
START
condition
Figure 12. Acknowledge on the I2C Bus
Communications
After beginning communications with the START condition (S), the master sends a 7-bit slave address followed by an 8th bit, the
read/write bit. The read/write bit indicates whether the master is receiving data from or is writing to the slave device. Then, the
master releases the SDA line and waits for the acknowledge signal (ACK) from the slave device. Each byte transferred must be
followed by an acknowledge bit. To acknowledge, the slave device pulls the SDA line LOW and keeps it LOW for the high period of
the SCL line. Data transmission is always terminated by the master with a STOP condition (P), thus freeing the communications line.
However, the master can generate a repeated START condition (Sr), and address another slave without first generating a STOP
condition (P). A LOW to HIGH transition on the SDA line while SCL is HIGH defines the stop condition. All SDA changes should take
place when SCL is low, with the exception of start and stop conditions.
Page 47 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
SDA
SCL
1 – 7
8
9
1 – 7
8
9
1 – 7
8
9
S
P
START
STOP
ADDRESS
R/W
ACK
DATA
ACK
DATA
ACK
condition
condition
Figure 13. Complete I2C Data Transfer
To write the internal ICM-42605 registers, the master transmits the start condition (S), followed by the I2C address and the write bit
(0). At the 9th clock cycle (when the clock is high), the ICM-42605 acknowledges the transfer. Then the master puts the register
address (RA) on the bus. After the ICM-42605 acknowledges the reception of the register address, the master puts the register data
onto the bus. This is followed by the ACK signal, and data transfer may be concluded by the stop condition (P). To write multiple
bytes after the last ACK signal, the master can continue outputting data rather than transmitting a stop signal. In this case, the ICM-
42605 automatically increments the register address and loads the data to the appropriate register. The following figures show
single and two-byte write sequences.
Single-Byte Write Sequence
Master
Slave
S
AD+W
RA
DATA
P
ACK
ACK
ACK
Burst Write Sequence
Master
Slave
S
AD+W
RA
DATA
DATA
P
ACK
ACK
ACK
ACK
To read the internal ICM-42605 registers, the master sends a start condition, followed by the I2C address and a write bit, and then
the register address that is going to be read. Upon receiving the ACK signal from the ICM-42605, the master transmits a start signal
followed by the slave address and read bit. As a result, the ICM-42605 sends an ACK signal and the data. The communication ends
with a not acknowledge (NACK) signal and a stop bit from master. The NACK condition is defined such that the SDA line remains high
at the 9th clock cycle. The following figures show single and two-byte read sequences.
Single-Byte Read Sequence
Master
Slave
S
AD+W
RA
RA
S
AD+R
AD+R
NACK
P
ACK
ACK
ACK
ACK
ACK
DATA
Burst Read Sequence
Master
Slave
S
AD+W
S
ACK
NACK
P
ACK DATA
DATA
Page 48 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
9.5 I2C TERMS
Signal
S
AD
W
Description
Start Condition: SDA goes from high to low while SCL is high
Slave I2C address
Write bit (0)
R
Read bit (1)
ACK
Acknowledge: SDA line is low while the SCL line is high at the 9th clock
cycle
NACK
RA
Not-Acknowledge: SDA line stays high at the 9th clock cycle
ICM-42605 internal register address
DATA
P
Transmit or received data
Stop condition: SDA going from low to high while SCL is high
Table 12. I2C Terms
Page 49 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
9.6 SPI INTERFACE
The ICM-42605 supports 3-wire or 4-wire SPI for the host interface. The ICM-42605 always operates as a Slave device during
standard Master-Slave SPI operation.
With respect to the Master, the Serial Clock output (SCLK), the Serial Data Output (SDO), the Serial Data Input (SDI), and the Serial
Data IO (SDIO) are shared among the Slave devices. Each SPI slave device requires its own Chip Select (CS) line from the master.
CS goes low (active) at the start of transmission and goes back high (inactive) at the end. Only one CS line is active at a time, ensuring
that only one slave is selected at any given time. The CS lines of the non-selected slave devices are held high, causing their SDO lines
to remain in a high-impedance (high-z) state so that they do not interfere with any active devices.
SPI Operational Features
1. Data is delivered MSB first and LSB last
2. Data is latched on the rising edge of SCLK
3. Data should be transitioned on the falling edge of SCLK
4. The maximum frequency of SCLK is 24 MHz
5. SPI read operations are completed in 16 or more clock cycles (two or more bytes). The first byte contains the SPI Address,
and the following byte(s) contain(s) the SPI data. The first bit of the first byte contains the Read/Write bit and indicates
the Read (1) operation. The following 7 bits contain the Register Address. In cases of multiple-byte Reads, data is two or
more bytes:
SPI Address format
MSB
LSB
R/W A6 A5 A4 A3 A2 A1 A0
SPI Data format
MSB
D7
LSB
D6 D5 D4 D3 D2 D1 D0
6. SPI write operations are completed in 16 clock cycles (two bytes). The first byte contains the SPI Address, and the second
byte contains the SPI data. The first bit of the first byte contains the Read/Write bit and indicates the Write (0) operation.
The following 7 bits contain the Register Address.
7. Supports Single or Burst Read/Writes.
SCLK
SDIO
SPI Master
SPI Slave 1
CS1
CS2
nCS
SCLK
SDIO
SPI Slave 2
nCS
Figure 14. Typical SPI Master/Slave Configuration
Page 50 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
10 ASSEMBLY
This section provides general guidelines for assembling InvenSense Micro Electro-Mechanical Systems (MEMS) devices packaged in
LGA package.
10.1 ORIENTATION OF AXES
The diagram below shows the orientation of the axes of sensitivity and the polarity of rotation. Note the pin 1 identifier (•) in the
figure.
+Z
+Y
+Z
+Y
+X
+X
Figure 15. Orientation of Axes of Sensitivity and Polarity of Rotation
Page 51 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
10.2 PACKAGE DIMENSIONS
14 Lead LGA (2.5x3x0.91) mm NiAu pad finish
Page 52 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
DIMENSIONS IN MILLIMETERS
SYMBOLS
MIN
NOM
MAX
Total Thickness
Substrate Thickness
Mold Thickness
A
A1
A2
0.85
0.91
0.105
0.8
0.97
REF
REF
D
E
2.5
3
BSC
BSC
0.3
Body Size
Lead Width
Lead Length
W
0.2
0.25
L
e
n
0.425
0.475
0.5
14
0.525
BSC
Lead Pitch
Lead Count
D1
1.5
BSC
Edge Pin Center to Center
E1
SD
1
0.25
BSC
BSC
Body Center to Contact Pin
Package Edge Tolerance
aaa
bbb
ddd
0.1
0.2
0.08
Mold Flatness
Coplanarity
Page 53 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
11 PART NUMBER PACKAGE MARKING
The part number package marking for ICM-42605 devices is summarized below:
Part Number
ICM-42605
Part Number Package Marking
I4265
TOP VIEW
I4265
XXXXXX
YYWW
Part Number
Lot Traceability Code
YY = Year Code
W W = Work Week
Page 54 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
12 USE NOTES
12.1 ACCELEROMETER MODE TRANSITIONS
When transitioning from accelerometer Low Power (LP) mode to accelerometer Low Noise (LN) mode, if ODR is 6.25Hz or lower,
software should change ODR to a value of 12.5Hz or higher, because accelerometer LN mode does not support ODR values below
12.5Hz.
When transitioning from accelerometer LN mode to accelerometer LP mode, if ODR is greater than 500Hz, software should change
ODR to a value of 500Hz or lower, because accelerometer LP mode does not support ODR values above 500Hz.
12.2 ACCELEROMETER LOW POWER (LP) MODE AVERAGING FILTER SETTING
Software drivers provided with the device use Averaging Filter setting of 16x. This setting is recommended for meeting Android
noise requirements in LP mode, and to minimize accelerometer offset variation when transitioning from LP to Low Noise (LN) mode.
1x averaging filter can be used by following the setting configuration shown in section 14.38.
12.3 SETTINGS FOR I2C, I3CSM, AND SPI OPERATION
Upon bootup the device comes up in SPI mode. The following settings should be used for I2C, I3CSM, and SPI operation.
Scenario 1: INT1/INT2 pins are used for interrupt assertion in I3CSM mode.
Register Field
I2C Driver Setting
I3CSM Driver Setting
SPI Driver Setting
I3C_EN (bit 4, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_SDR_EN (bit 0, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_DDR_EN (bit 1, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_BUS_MODE (bit 6, register INTF_CONFIG4, address 0x7A, bank 1)
I2C_SLEW_RATE (bits 5:3, register DRIVE_CONFIG, address 0x13, bank 0)
SPI_SLEW_RATE (bits 2:0, register DRIVE_CONFIG, address 0x13, bank 0)
1
0
0
0
1
1
1
1
0
0
0
5
1
1
1
0
0
5
Scenario 2: IBI is used for interrupt assertion in I3CSM mode.
Register Field
I2C Driver Setting
I3CSM Driver Setting
SPI Driver Setting
I3C_EN (bit 4, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_SDR_EN (bit 0, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_DDR_EN (bit 1, register INTF_CONFIG6, address 0x7C, bank 1)
I3C_BUS_MODE (bit 6, register INTF_CONFIG4, address 0x7A, bank 1)
I2C_SLEW_RATE (bits 5:3, register DRIVE_CONFIG, address 0x13, bank 0)
SPI_SLEW_RATE (bits 2:0, register DRIVE_CONFIG, address 0x13, bank 0)
1
0
0
0
1
1
1
1
1
0
0
5
1
1
1
0
0
5
12.4 NOTCH FILTER AND ANTI-ALIAS FILTER OPERATION
Use of Notch Filter and Anti-Alias Filter is supported only for Low Noise (LN) mode operation. The host is responsible for keeping the
UI path in LN mode while Notch Filter and Anti-Alias Filter are turned on.
12.5 INT_ASYNC_RESET CONFIGURATION
For register INT_CONFIG1 (bank 0 register 0x64) bit 4 INT_ASYNC_RESET, user should change setting to 0 from default setting of 1,
for proper INT1 and INT2 pin operation.
Page 55 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
12.6 REGISTER VALUES MODIFICATION
The only register settings that user can modify during sensor operation are for ODR selection, FSR selection, and sensor mode
changes (register parameters GYRO_ODR, ACCEL_ODR, GYRO_FS_SEL, ACCEL_FS_SEL, GYRO_MODE, ACCEL_MODE). User must not
modify any other register values during sensor operation. The following procedure must be used for other register values
modification.
•
•
•
Turn Accel and Gyro Off
Modify register values
Turn Accel and/or Gyro On
Page 56 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
13 REGISTER MAP
This section lists the register map for the ICM-42605, for user banks 0, 1, 2, 4.
13.1 USER BANK 0 REGISTER MAP
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
SOFT_RESET_
CONFIG
11
13
14
17
19
20
DEVICE_CONFIG
DRIVE_CONFIG
INT_CONFIG
R/W
R/W
R/W
-
SPI_MODE
-
-
I2C_SLEW_RATE
SPI_SLEW_RATE
INT2_DRIVE_
CIRCUIT
INT2_POLARI
TY
INT1_DRIVE_
CIRCUIT
INT1_POLARI
TY
-
INT2_MODE
INT1_MODE
16
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
22
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
FIFO_CONFIG
TEMP_DATA1
R/W
FIFO_MODE
-
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
SYNCR
TEMP_DATA[15:8]
TEMP_DATA0
TEMP_DATA[7:0]
ACCEL_DATA_X[15:8]
ACCEL_DATA_X[7:0]
ACCEL_DATA_Y[15:8]
ACCEL_DATA_Y[7:0]
ACCEL_DATA_Z[15:8]
ACCEL_DATA_Z[7:0]
GYRO _DATA_X[15:8]
GYRO _DATA_X[7:0]
GYRO _DATA_Y[15:8]
GYRO _DATA_Y[7:0]
GYRO_DATA_Z[15:8]
GYRO_DATA_Z[7:0]
TMST_FSYNC_DATA[15:8]
TMST_FSYNC_DATA[7:0]
ACCEL_DATA_X1
ACCEL_DATA_X0
ACCEL_DATA_Y1
ACCEL_DATA_Y0
ACCEL_DATA_Z1
ACCEL_DATA_Z0
GYRO_DATA_X1
GYRO _DATA_X0
GYRO _DATA_Y1
GYRO _DATA_Y0
GYRO _DATA_Z1
GYRO _DATA_Z0
TMST_FSYNCH
TMST_FSYNCL
UI_FSYNC_IN
T
RESET_DONE
_INT
DATA_RDY_I
NT
FIFO_THS_IN
T
FIFO_FULL_I
NT
AGC_RDY_IN
T
2D
45
INT_STATUS
R/C
-
PLL_RDY_INT
2E
2F
30
31
32
33
34
35
36
37
46
47
48
49
50
51
52
53
54
55
FIFO_COUNTH
FIFO_COUNTL
FIFO_DATA
R
FIFO_COUNT[15:8]
R
FIFO_COUNT[7:0]
FIFO_DATA
R
APEX_DATA0
APEX_DATA1
APEX_DATA2
APEX_DATA3
APEX_DATA4
APEX_DATA5
INT_STATUS2
SYNCR
STEP_CNT[15:8]
STEP_CNT[7:0]
STEP_CADENCE
SYNCR
R
R
-
DMP_IDLE
ACTIVITY_CLASS
R
-
TAP_NUM
TAP_AXIS
TAP_DIR
R
-
-
DOUBLE_TAP_TIMING
R/C
-
SMD_INT
WOM_Z_INT
WAKE_INT
WOM_Y_INT
SLEEP_INT
WOM_X_INT
TAP_DET_INT
STEP_DET_IN
T
STEP_CNT_O
VF_INT
TILT_DET_IN
T
38
4B
56
75
INT_STATUS3
R/C
DMP_INIT_E
N
DMP_MEM_
RESET_EN
ABORT_AND
_RESET
TMST_STROB
E
SIGNAL_PATH_RESET
W/C
-
-
FIFO_FLUSH
-
FIFO_HOLD_L
AST_DATA_E
N
FIFO_COUNT
_REC
FIFO_COUNT
_ENDIAN
SENSOR_DAT
A_ENDIAN
4C
4D
76
77
INTF_CONFIG0
INTF_CONFIG1
R/W
R/W
-
UI_SIFS_CFG
ACCEL_LP_CL
K_SEL
-
-
CLKSEL
4E
4F
50
51
52
53
78
79
80
81
82
83
PWR_MGMT0
GYRO_CONFIG0
R/W
R/W
R/W
R/W
R/W
R/W
-
TEMP_DIS
IDLE
GYRO_MODE
ACCEL_MODE
GYRO_FS_SEL
ACCEL_FS_SEL
TEMP_FILT_BW
-
-
-
GYRO_ODR
ACCEL_ODR
ACCEL_CONFIG0
GYRO_CONFIG1
GYRO_UI_FILT_ORD
GYRO_DEC2_M2_ORD
GYRO_ACCEL_CONFIG0
ACCEL_CONFIG1
ACCEL_UI_FILT_BW
-
GYRO_UI_FILT_BW
ACCEL_UI_FILT_ORD
ACCEL_DEC2_M2_ORD
-
Page 57 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
TMST_CONFIG
APEX_CONFIG0
SMD_CONFIG
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
TMST_TO_RE
GS_EN
TMST_DELTA
_EN
TMST_FSYNC
_EN
54
56
57
84
86
87
R/W
R/W
R/W
-
TMST_RES
R2W_EN
TMST_EN
DMP_POWE
R_SAVE
TAP_ENABLE
PED_ENABLE
TILT_ENABLE
-
DMP_ODR
WOM_INT_
MODE
-
-
WOM_MODE
SMD_MODE
FIFO_RESUM
E_PARTIAL_R
D
FIFO_WM_G
T_TH
FIFO_TMST_F
SYNC_EN
FIFO_TEMP_
EN
FIFO_GYRO_
EN
FIFO_ACCEL_
EN
5F
95
FIFO_CONFIG1
R/W
-
-
-
60
61
96
97
FIFO_CONFIG2
FIFO_CONFIG3
R/W
R/W
FIFO_WM[7:0]
FIFO_WM[11:8]
FSYNC_UI_FL
AG_CLEAR_S
EL
FSYNC_POLA
RITY
62
98
FSYNC_CONFIG
R/W
FSYNC_UI_SEL
-
63
64
99
INT_CONFIG0
INT_CONFIG1
R/W
R/W
-
UI_DRDY_INT_CLEAR
FIFO_THS_INT_CLEAR
FIFO_FULL_INT_CLEAR
INT_TPULSE_
DURATION
INT_TDEASSE
RT_DISABLE
INT_ASYNC_
RESET
100
-
-
-
UI_FSYNC_IN
T1_EN
PLL_RDY_INT
1_EN
RESET_DONE
_INT1_EN
UI_DRDY_INT
1_EN
FIFO_THS_IN
T1_EN
FIFO_FULL_I
NT1_EN
UI_AGC_RDY
_INT1_EN
65
66
68
69
101
102
104
105
INT_SOURCE0
INT_SOURCE1
INT_SOURCE3
INT_SOURCE4
R/W
R/W
R/W
R/W
I3C_PROTOC
OL_ERROR_I
NT1_EN
SMD_INT1_E
N
WOM_Z_INT
1_EN
WOM_Y_INT
1_EN
WOM_X_INT
1_EN
-
-
-
-
-
UI_FSYNC_IN
T2_EN
PLL_RDY_INT
2_EN
RESET_DONE
_INT2_EN
UI_DRDY_INT
2_EN
FIFO_THS_IN
T2_EN
FIFO_FULL_I
NT2_EN
UI_AGC_RDY
_INT2_EN
I3C_PROTOC
OL_ERROR_I
NT2_EN
SMD_INT2_E
N
WOM_Z_INT
2_EN
WOM_Y_INT
2_EN
WOM_X_INT
2_EN
6C
6D
108
109
FIFO_LOST_PKT0
FIFO_LOST_PKT1
R
R
FIFO_LOST_PKT_CNT[15:8]
FIFO_LOST_PKT_CNT[7:0]
ACCEL_ST_P
OWER
70
112
SELF_TEST_CONFIG
R/W
EN_AZ_ST
-
EN_AY_ST
EN_AX_ST
EN_GZ_ST
EN_GY_ST
BANK_SEL
EN_GX_ST
75
76
117
118
WHO_AM_I
R
WHOAMI
REG_BANK_SEL
R/W
13.2 USER BANK 1 REGISTER MAP
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
SENSOR_CONFIG0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
03
0B
03
11
R/W
R/W
-
-
ZG_DISABLE
YG_DISABLE
XG_DISABLE
ZA_DISABLE
YA_DISABLE
XA_DISABLE
GYRO_AAF_D
IS
GYRO_NF_DI
S
GYRO_CONFIG_STATIC2
-
0C
0D
0E
0F
10
11
12
13
14
15
16
17
GYRO_CONFIG_STATIC3
GYRO_CONFIG_STATIC4
GYRO_CONFIG_STATIC5
GYRO_CONFIG_STATIC6
GYRO_CONFIG_STATIC7
GYRO_CONFIG_STATIC8
R/W
R/W
R/W
R/W
R/W
R/W
GYRO_AAF_DELT
GYRO_AAF_DELTSQR[7:0]
GYRO_AAF_BITSHIFT
GYRO_AAF_DELTSQR[11:8]
GYRO_X_NF_COSWZ[7:0]
GYRO_Y_NF_COSWZ[7:0]
GYRO_Z_NF_COSWZ[7:0]
GYRO_Z_NF_
COSWZ_SEL[
0]
GYRO_Y_NF_
COSWZ_SEL[
0]
GYRO_X_NF_
COSWZ_SEL[
0]
GYRO_Z_NF_
COSWZ[8]
GYRO_Y_NF_
COSWZ[8]
GYRO_X_NF_
COSWZ[8]
12
13
18
19
GYRO_CONFIG_STATIC9
GYRO_CONFIG_STATIC10
R/W
R/W
-
GYRO_HPF_O
RD_IND
-
GYRO_NF_BW_SEL
GYRO_HPF_BW_IND
5F
60
61
62
63
64
95
96
XG_ST_DATA
YG_ST_DATA
ZG_ST_DATA
TMSTVAL0
R/W
R/W
R/W
R
XG_ST_DATA
YG_ST_DATA
ZG_ST_DATA
97
98
TMST_VALUE[7:0]
TMST_VALUE[15:8]
99
TMSTVAL1
R
100
TMSTVAL2
R
-
TMST_VALUE[19:16]
I3C_BUS_MO
DE
SPI_AP_4WIR
E
7A
7B
122
123
INTF_CONFIG4
INTF_CONFIG5
R/W
R/W
-
-
-
-
-
PIN9_FUNCTION
Page 58 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
ASYNCTIME0
_DIS
I3C_IBI_BYTE
_EN
7C
124
INTF_CONFIG6
R/W
-
I3C_EN
I3C_IBI_EN
I3C_DDR_EN
I3C_SDR_EN
13.3 USER BANK 2 REGISTER MAP
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
ACCEL_AAF_
DIS
03
03
ACCEL_CONFIG_STATIC2
R/W
-
ACCEL_AAF_DELT
04
05
3B
3C
3D
04
05
59
60
61
ACCEL_CONFIG_STATIC3
ACCEL_CONFIG_STATIC4
XA_ST_DATA
R/W
R/W
R/W
R/W
R/W
ACCEL_AAF_DELTSQR[7:0]
ACCEL_AAF_BITSHIFT
ACCEL_AAF_DELTSQR[11:8]
XA_ST_DATA
YA_ST_DATA
ZA_ST_DATA
YA_ST_DATA
ZA_ST_DATA
13.4 USER BANK 4 REGISTER MAP
Addr
(Hex)
Addr
(Dec.)
Serial
I/F
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
40
41
42
43
44
45
46
47
64
65
66
67
68
69
70
71
APEX_CONFIG1
APEX_CONFIG2
APEX_CONFIG3
APEX_CONFIG4
APEX_CONFIG5
APEX_CONFIG6
APEX_CONFIG7
APEX_CONFIG8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
LOW_ENERGY_AMP_TH_SEL
PED_AMP_TH_SEL
DMP_POWER_SAVE_TIME_SEL
PED_STEP_CNT_TH_SEL
PED_STEP_DET_TH_SEL
TILT_WAIT_TIME_SEL
PED_SB_TIMER_TH_SEL
PED_HI_EN_TH_SEL
SLEEP_TIME_OUT
-
-
-
MOUNTING_MATRIX
SLEEP_GESTURE_DELAY
TAP_MIN_JERK_THR
TAP_MAX_PEAK_TOL
-
TAP_TMAX
TAP_TAVG
TAP_TMIN
SENSITIVITY_
MODE
48
72
APEX_CONFIG9
R/W
-
4A
4B
4C
74
75
76
ACCEL_WOM_X_THR
ACCEL_WOM_Y_THR
ACCEL_WOM_Z_THR
R/W
R/W
R/W
WOM_X_TH
WOM_Y_TH
WOM_Z_TH
STEP_DET_IN
T1_EN
STEP_CNT_O
FL_INT1_EN
TILT_DET_IN
T1_EN
WAKE_DET_I
NT1_EN
SLEEP_DET_I
NT1_EN
TAP_DET_INT
1_EN
4D
4E
4F
77
78
79
INT_SOURCE6
INT_SOURCE7
INT_SOURCE8
R/W
R/W
R/W
-
-
-
STEP_DET_IN
T2_EN
STEP_CNT_O
FL_INT2_EN
TILT_DET_IN
T2_EN
WAKE_DET_I
NT2_EN
SLEEP_DET_I
NT2_EN
TAP_DET_INT
2_EN
FSYNC_IBI_E
N
PLL_RDY_IBI_
EN
UI_DRDY_IBI
_EN
FIFO_THS_IBI
_EN
FIFO_FULL_IB
I_EN
AGC_RDY_IBI
_EN
I3C_PROTOC
OL_ERROR_I
BI_EN
WOM_Z_IBI_
EN
WOM_Y_IBI_
EN
WOM_X_IBI_
EN
50
51
80
81
INT_SOURCE9
INT_SOURCE10
R/W
R/W
-
SMD_IBI_EN
-
STEP_DET_IB
I_EN
STEP_CNT_O
FL_IBI_EN
TILT_DET_IBI
_EN
WAKE_DET_I
BI_EN
SLEEP_DET_I
BI_EN
TAP_DET_IBI
_EN
-
77
78
79
7A
7B
7C
7D
7E
7F
119
120
121
122
123
124
125
126
127
OFFSET_USER0
OFFSET_USER1
OFFSET_USER2
OFFSET_USER3
OFFSET_USER4
OFFSET_USER5
OFFSET_USER6
OFFSET_USER7
OFFSET_USER8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
GYRO_X_OFFUSER[7:0]
GYRO_Y_OFFUSER[11:8]
ACCEL_X_OFFUSER[11:8]
ACCEL_Z_OFFUSER[11:8]
GYRO_X_OFFUSER[11:8]
GYRO_Y_OFFUSER[7:0]
GYRO_Z_OFFUSER[7:0]
GYRO_Z_OFFUSER[11:8]
ACCEL_Y_OFFUSER[11:8]
ACCEL_X_OFFUSER[7:0]
ACCEL_Y_OFFUSER[7:0]
ACCEL_Z_OFFUSER[7:0]
Detailed register descriptions are provided in the sections that follow. Please note the following regarding Clock Domain for each
register:
•
Clock Domain: SCLK_UI means that the register is controlled from the UI interface
Page 59 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
Register fields marked as Reserved must not be modified by the user. The Reset Value of the register can be used to determine the
default value of reserved register fields, and unless otherwise noted this default value must be maintained even if the values of
other register fields are modified by the user.
Page 60 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14 USER BANK 0 REGISTER MAP – DESCRIPTIONS
This section describes the function and contents of each register within USR Bank 0.
Note: The device powers up in sleep mode.
14.1 DEVICE_CONFIG
Name: DEVICE_CONFIG
Address: 17 (11h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:5
-
Reserved
SPI mode selection
0: Mode 0 and Mode 3 (default)
1: Mode 1 and Mode 2
Reserved
4
SPI_MODE
-
3:1
Software reset configuration
0: Normal (default)
1: Enable reset
0
SOFT_RESET_CONFIG
After writing 1 to this bitfield, wait 1ms for soft reset to be effective, before
attempting any other register access
14.2 DRIVE_CONFIG
Name: DRIVE_CONFIG
Address: 19 (13h)
Serial IF: R/W
Reset value: 0x05
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
Controls slew rate for output pin 14 in I2C mode only
000: 20ns-60ns
001: 12ns-36ns
010: 6ns-18ns
5:3 I2C_SLEW_RATE
011: 4ns-12ns
100: 2ns-6ns
101: < 2ns
110: Reserved
111: Reserved
Controls slew rate for output pin 14 in SPI or I3CSM mode, and for all other
output pins
000: 20ns-60ns
001: 12ns-36ns
010: 6ns-18ns
011: 4ns-12ns
100: 2ns-6ns
101: < 2ns
2:0 SPI_SLEW_RATE
110: Reserved
111: Reserved
Page 61 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.3 INT_CONFIG
Name: INT_CONFIG
Address: 20 (14h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
INT2 interrupt mode
0: Pulsed mode
1: Latched mode
INT2 drive circuit
0: Open drain
5
INT2_MODE
4
3
2
1
0
INT2_DRIVE_CIRCUIT
INT2_POLARITY
1: Push pull
INT2 interrupt polarity
0: Active low (default)
1: Active high
INT1 interrupt mode
0: Pulsed mode
1: Latched mode
INT1 drive circuit
0: Open drain
INT1_MODE
INT1_DRIVE_CIRCUIT
INT1_POLARITY
1: Push pull
INT1 interrupt polarity
0: Active low (default)
1: Active high
14.4 FIFO_CONFIG
Name: FIFO_CONFIG
Address: 22 (16h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6 FIFO_MODE
00: Bypass Mode (default)
01: Stream-to-FIFO Mode
10: STOP-on-FULL Mode
11: STOP-on-FULL Mode
Reserved
5:0
-
14.5 TEMP_DATA1
Name: TEMP_DATA1
Address: 29 (1Dh)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 TEMP_DATA[15:8]
Upper byte of temperature data
Page 62 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.6 TEMP_DATA0
Name: TEMP_DATA0
Address: 30 (1Eh)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 TEMP_DATA[7:0]
Lower byte of temperature data
Temperature data value from the sensor data registers can be converted to degrees centigrade by using the following formula:
Temperature in Degrees Centigrade = (TEMP_DATA / 132.48) + 25
Temperature data stored in FIFO is an 8-bit quantity, FIFO_TEMP_DATA. It can be converted to degrees centigrade by using the
following formula:
Temperature in Degrees Centigrade = (FIFO_TEMP_DATA / 2.07) + 25
14.7 ACCEL_DATA_X1
Name: ACCEL_DATA_X1
Address: 31 (1Fh)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_X[15:8]
Upper byte of Accel X-axis data
14.8 ACCEL_DATA_X0
Name: ACCEL_DATA_X0
Address: 32 (20h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_X[7:0]
Lower byte of Accel X-axis data
14.9 ACCEL_DATA_Y1
Name: ACCEL_DATA_Y1
Address: 33 (21h)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_Y[15:8]
Upper byte of Accel Y-axis data
Page 63 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.10 ACCEL_DATA_Y0
Name: ACCEL_DATA_Y0
Address: 34 (22h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_Y[7:0]
Lower byte of Accel Y-axis data
14.11 ACCEL_DATA_Z1
Name: ACCEL_DATA_Z1
Address: 35 (23h)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_Z[15:8]
Upper byte of Accel Z-axis data
14.12 ACCEL_DATA_Z0
Name: ACCEL_DATA_Z0
Address: 36 (24h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ACCEL_DATA_Z[7:0]
Lower byte of Accel Z-axis data
14.13 GYRO_DATA_X1
Name: GYRO_DATA_X1
Address: 37 (25h)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_X[15:8]
Upper byte of Gyro X-axis data
14.14 GYRO_DATA_X0
Name: GYRO_DATA_X0
Address: 38 (26h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_X[7:0]
Lower byte of Gyro X-axis data
Page 64 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.15 GYRO_DATA_Y1
Name: GYRO_DATA_Y1
Address: 39 (27h)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_Y[15:8]
Upper byte of Gyro Y-axis data
14.16 GYRO_DATA_Y0
Name: GYRO_DATA_Y0
Address: 40 (28h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_Y[7:0]
Lower byte of Gyro Y-axis data
14.17 GYRO_DATA_Z1
Name: GYRO_DATA_Z1
Address: 41 (29h)
Serial IF: SYNCR
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_Z[15:8]
Upper byte of Gyro Z-axis data
14.18 GYRO_DATA_Z0
Name: GYRO_DATA_Z0
Address: 42 (2Ah)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 GYRO_DATA_Z[7:0]
Lower byte of Gyro Z-axis data
14.19 TMST_FSYNCH
Name: TMST_FSYNCH
Address: 43 (2Bh)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Stores the upper byte of the time delta from the rising edge of FSYNC to
7:0 TMST_FSYNC_DATA[15:8]
the latest ODR until the UI Interface reads the FSYNC tag in the status
register
Page 65 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.20 TMST_FSYNCL
Name: TMST_FSYNCL
Address: 44 (2Ch)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Stores the lower byte of the time delta from the rising edge of FSYNC to
the latest ODR until the UI Interface reads the FSYNC tag in the status
register
7:0 TMST_FSYNC_DATA[7:0]
14.21 INT_STATUS
Name: INT_STATUS
Address: 45 (2Dh)
Serial IF: R/C
Reset value: 0x10
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
This bit automatically sets to 1 when a UI FSYNC interrupt is generated. The
bit clears to 0 after the register has been read.
6
UI_FSYNC_INT
This bit automatically sets to 1 when a PLL Ready interrupt is generated. The
bit clears to 0 after the register has been read.
This bit automatically sets to 1 when software reset is complete. The bit
clears to 0 after the register has been read.
This bit automatically sets to 1 when a Data Ready interrupt is generated.
The bit clears to 0 after the register has been read.
This bit automatically sets to 1 when the FIFO buffer reaches the threshold
value. The bit clears to 0 after the register has been read.
This bit automatically sets to 1 when the FIFO buffer is full. The bit clears to
0 after the register has been read.
5
4
3
2
1
0
PLL_RDY_INT
RESET_DONE_INT
DATA_RDY_INT
FIFO_THS_INT
FIFO_FULL_INT
AGC_RDY_INT
This bit automatically sets to 1 when an AGC Ready interrupt is generated.
The bit clears to 0 after the register has been read.
14.22 FIFO_COUNTH
Name: FIFO_COUNTH
Address: 46 (2Eh)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
High Bits, count indicates the number of records or bytes available in FIFO
according to FIFO_COUNT_REC setting.
Reading this byte latches the data for both FIFO_COUNTH, and
FIFO_COUNTL.
7:0 FIFO_COUNT[15:8]
Page 66 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.23 FIFO_COUNTL
Name: FIFO_COUNTL
Address: 47 (2Fh)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Low Bits, count indicates the number of records or bytes available in FIFO
according to FIFO_COUNT_REC setting.
Note: Must read FIFO_COUNTH to latch new data for both FIFO_COUNTH
and FIFO_COUNTL.
7:0 FIFO_COUNT[7:0]
14.24 FIFO_DATA
Name: FIFO_DATA
Address: 48 (30h)
Serial IF: R
Reset value: 0xFF
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 FIFO_DATA
FIFO data port
14.25 APEX_DATA0
Name: APEX_DATA0
Address: 49 (31h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 STEP_CNT[7:0]
Pedometer Output: Lower byte of Step Count measured by pedometer
14.26 APEX_DATA1
Name: APEX_DATA1
Address: 50 (32h)
Serial IF: SYNCR
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 STEP_CNT[15:8]
Pedometer Output: Upper byte of Step Count measured by pedometer
Page 67 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.27 APEX_DATA2
Name: APEX_DATA2
Address: 51 (33h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Pedometer Output: Walk/run cadency in number of samples. Format is
u6.2. e.g. At 50Hz ODR and 2Hz walk frequency, the cadency is 25 samples.
The register will output 100.
7:0 STEP_CADENCE
14.28 APEX_DATA3
Name: APEX_DATA3
Address: 52 (34h)
Serial IF: R
Reset value: 0x04
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:3
-
Reserved
0: Indicates DMP is running
1: Indicates DMP is idle
Pedometer Output: Detected activity
00: Unknown
2
DMP_IDLE
1:0 ACTIVITY_CLASS
01: Walk
10: Run
11: Reserved
Page 68 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.29 APEX_DATA4
Name: APEX_DATA4
Address: 53 (35h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:5
-
Reserved
Tap Detection Output: Number of taps in the current Tap event
00: No tap
4:3 TAP_NUM
2:1 TAP_AXIS
01: Single tap
10: Double tap
11: Reserved
Tap Detection Output: Represents the accelerometer axis on which tap
energy is concentrated
00: X-axis
01: Y-axis
10: Z-axis
11: Reserved
Tap Detection Output: Polarity of tap pulse
0: Current accelerometer value – Previous accelerometer value is a positive
0
TAP_DIR
value
1: Current accelerometer value – Previous accelerometer value is a negative
value or zero
14.30 APEX_DATA5
Name: APEX_DATA5
Address: 54 (36h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
DOUBLE_TAP_TIMING measures the time interval between the two taps
when double tap is detected. It counts every 16 accelerometer samples as
one unit between the 2 tap pulses. Therefore, the value is related to the
accelerometer ODR.
5:0 DOUBLE_TAP_TIMING
Time in seconds = DOUBLE_TAP_TIMING * 16 / ODR
For example, if the accelerometer ODR is 500 Hz, and the
DOUBLE_TAP_TIMING register reading is 6, the time interval value is
6*16/500 = 0.192 seconds.
Page 69 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.31 INT_STATUS2
Name: INT_STATUS2
Address: 55 (37h)
Serial IF: R/C
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:4
3
2
1
0
-
Reserved
SMD_INT
WOM_Z_INT
WOM_Y_INT
WOM_X_INT
Significant Motion Detection Interrupt, clears on read
Wake on Motion Interrupt on Z-axis, clears on read
Wake on Motion Interrupt on Y-axis, clears on read
Wake on Motion Interrupt on X-axis, clears on read
14.32 INT_STATUS3
Name: INT_STATUS3
Address: 56 (38h)
Serial IF: R/C
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
5
4
3
2
-
Reserved
STEP_DET_INT
STEP_CNT_OVF_INT
TILT_DET_INT
WAKE_INT
SLEEP_INT
TAP_DET_INT
Step Detection Interrupt, clears on read
Step Count Overflow Interrupt, clears on read
Tilt Detection Interrupt, clears on read
Wake Event Interrupt, clears on read
Sleep Event Interrupt, clears on read
Tap Detection Interrupt, clears on read
1
0
14.33 SIGNAL_PATH_RESET
Name: SIGNAL_PATH_RESET
Address: 75 (4Bh)
Serial IF: W/C
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
6
5
4
-
Reserved
DMP_INIT_EN
DMP_MEM_RESET_EN
-
When this bit is set to 1, the DMP is enabled
When this bit is set to 1, the DMP memory is reset
Reserved
When this bit is set to 1, the signal path is reset by restarting the ODR
counter and signal path controls
When this bit is set to 1, the time stamp counter is latched into the time
stamp register. This is a write on clear bit.
When set to 1, FIFO will get flushed.
3
2
ABORT_AND_RESET
TMST_STROBE
1
0
FIFO_FLUSH
-
Reserved
Page 70 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.34 INTF_CONFIG0
Name: INTF_CONFIG0
Address: 76 (4Ch)
Serial IF: R/W
Reset value: 0x30
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Setting 0 corresponds to the following:
Sense Registers from Power on Reset till first sample:
•
Invalid Samples Value: -32768
Sense Registers after first sample received:
•
•
Sense Registers Valid Sample Values:
o
o
o
Range limited from -32766 to +32767 when FSYNC tag is
disabled, or for sensor not selected for FSYNC tag
Range limited from -32765 to +32767 (odd values) for
sensor selected for FSYNC tag, and FSYNC is tagged
Range limited from -32766 to +32766 (even values) for
sensor selected for FSYNC tag, but FSYNC is not tagged
Sense Registers Invalid Sample Values:
o
-32768 when FSYNC tag is disabled, or for sensor not
selected for FSYNC tag, or for sensor selected for FSYNC
tag but FSYNC is not tagged
o
-32767 for sensor selected for FSYNC tag, and FSYNC is
tagged
FIFO:
FIFO_HOLD_LAST_DATA_E
7
N
•
•
Invalid Sample Value: -32768
Valid Sample Values: -32766 to +32767
Setting 1 corresponds to the following:
Sense Registers from Power on Reset till first sample:
•
Invalid Samples Value: 0
Sense Registers after first sample received:
•
Sense Registers Valid Sample Values:
o
o
o
Range limited from -32768 to +32767 when FSYNC tag is
disabled, or for sensor not selected for FSYNC tag
Range limited from -32767 to +32767 (odd values) for
sensor selected for FSYNC tag, and FSYNC is tagged
Range limited from -32768 to +32766 (even values) for
sensor selected for FSYNC tag, but FSYNC is not tagged
•
Sense Registers Invalid Sample Values:
o
Registers hold last valid sample until new one arrives
FIFO:
Page 71 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
•
•
Invalid Sample Value: Copy last valid sample
Valid Sample Values: -32768 to +32767
0: FIFO count is reported in bytes
1: FIFO count is reported in records (1 record = 16 bytes for header + gyro +
accel + temp sensor data + time stamp, or 8 bytes for header + gyro/accel +
temp sensor data)
0: FIFO count is reported in Little Endian format
1: FIFO count is reported in Big Endian format (default)
0: Sensor data is reported in Little Endian format
1: Sensor data is reported in Big Endian format (default)
Reserved
6
5
FIFO_COUNT_REC
FIFO_COUNT_ENDIAN
4
SENSOR_DATA_ENDIAN
-
3:2
0x: Reserved
1:0 UI_SIFS_CFG
10: Disable SPI
11: Disable I2C
Invalid Data Generation: FIFO/Sense Registers may contain invalid data under the following conditions:
a) From power on reset to first ODR sample of any sensor (accel, gyro, temp sensor)
b) When any sensor is disabled (accel, gyro, temp sensor)
c) When accel and gyro are enabled with different ODRs. In this case, the sensor with lower ODR will generate invalid samples
when it has no new data.
Invalid data can take special values or can hold last valid sample received. For -32768 to be used as a flag for invalid accel/gyro
samples, the valid accel/gyro sample range is limited in such case as well. Bit 7 of INTF_CONFIG0 controls what values invalid (and
valid) samples can take as shown above.
14.35 INTF_CONFIG1
Name: INTF_CONFIG1
Address: 77 (4Dh)
Serial IF: R/W
Reset value: 0x91
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:4
-
Reserved
0: Accelerometer LP mode uses Wake Up oscillator clock
1: Accelerometer LP mode uses RC oscillator clock
Reserved
3
ACCEL_LP_CLK_SEL
-
2
00: Always select internal RC oscillator
01: Select PLL when available, else select RC oscillator (default)
10: Reserved
1:0 CLKSEL
11: Disable all clocks
Page 72 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.36 PWR_MGMT0
Name: PWR_MGMT0
Address: 78 (4Eh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: Temperature sensor is enabled (default)
1: Temperature sensor is disabled
5
TEMP_DIS
If this bit is set to 1, the RC oscillator is powered on even if Accel and Gyro
are powered off.
Nominally this bit is set to 0, so when Accel and Gyro are powered off,
the chip will go to OFF state, since the RC oscillator will also be powered off
00: Turns gyroscope off (default)
4
IDLE
01: Places gyroscope in Standby Mode
10: Reserved
11: Places gyroscope in Low Noise (LN) Mode
3:2 GYRO_MODE
Gyroscope needs to be kept ON for a minimum of 45ms. When transitioning
from OFF to any of the other modes, do not issue any register writes for
200µs.
00: Turns accelerometer off (default)
01: Turns accelerometer off
10: Places accelerometer in Low Power (LP) Mode
1:0 ACCEL_MODE
11: Places accelerometer in Low Noise (LN) Mode
When transitioning from OFF to any of the other modes, do not issue any
register writes for 200µs.
Page 73 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.37 GYRO_CONFIG0
Name: GYRO_CONFIG0
Address: 79 (4Fh)
Serial IF: R/W
Reset value: 0x06
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Full scale select for gyroscope UI interface output
000: ±2000dps (default)
001: ±1000dps
010: ±500dps
7:5 GYRO_FS_SEL
011: ±250dps
100: ±125dps
101: ±62.5dps
110: ±31.25dps
111: ±15.625dps
Reserved
4
-
Gyroscope ODR selection for UI interface output
0000: Reserved
0001: Reserved
0010: Reserved
0011: 8kHz
0100: 4kHz
0101: 2kHz
0110: 1kHz (default)
3:0 GYRO_ODR
0111: 200Hz
1000: 100Hz
1001: 50Hz
1010: 25Hz
1011: 12.5Hz
1100: Reserved
1101: Reserved
1110: Reserved
1111: 500Hz
Page 74 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.38 ACCEL_CONFIG0
Name: ACCEL_CONFIG0
Address: 80 (50h)
Serial IF: R/W
Reset value: 0x06
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Full scale select for accelerometer UI interface output
000: ±16g (default)
001: ±8g
010: ±4g
7:5 ACCEL_FS_SEL
011: ±2g
100: Reserved
101: Reserved
110: Reserved
111: Reserved
4
-
Reserved
Accelerometer ODR selection for UI interface output
0000: Reserved
0001: Reserved
0010: Reserved
0011: 8kHz (LN mode)
0100: 4kHz (LN mode)
0101: 2kHz (LN mode)
0110: 1kHz (LN mode) (default)
0111: 200Hz (LP or LN mode)
1000: 100Hz (LP or LN mode)
1001: 50Hz (LP or LN mode)
1010: 25Hz (LP or LN mode)
1011: 12.5Hz (LP or LN mode)
1100: 6.25Hz (LP mode)
1101: 3.125Hz (LP mode)
1110: 1.5625Hz (LP mode)
1111: 500Hz (LP or LN mode)
3:0 ACCEL_ODR
Page 75 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.39 GYRO_CONFIG1
Name: GYRO_CONFIG1
Address: 81 (51h)
Serial IF: R/W
Reset value: 0x16
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Sets the bandwidth of the temperature signal DLPF
000: DLPF BW = 4000Hz; DLPF Latency = 0.125ms (default)
001: DLPF BW = 170Hz; DLPF Latency = 1ms
010: DLPF BW = 82Hz; DLPF Latency = 2ms
011: DLPF BW = 40Hz; DLPF Latency = 4ms
100: DLPF BW = 20Hz; DLPF Latency = 8ms
101: DLPF BW = 10Hz; DLPF Latency = 16ms
110: DLPF BW = 5Hz; DLPF Latency = 32ms
111: DLPF BW = 5Hz; DLPF Latency = 32ms
Reserved
7:5 TEMP_FILT_BW
4
-
Selects order of GYRO UI filter
00: 1st Order
3:2 GYRO_UI_FILT_ORD
1:0 GYRO_DEC2_M2_ORD
01: 2nd Order
10: 3rd Order
11: Reserved
Selects order of GYRO DEC2_M2 Filter
00: Reserved
01: Reserved
10: 3rd Order
11: Reserved
Page 76 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.40 GYRO_ACCEL_CONFIG0
Name: GYRO_ACCEL_CONFIG0
Address: 82 (52h)
Serial IF: R/W
Reset value: 0x11
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
LN Mode:
Bandwidth for Accel LPF
0 BW=ODR/2
1 BW=max(400Hz, ODR)/4 (default)
2 BW=max(400Hz, ODR)/5
3 BW=max(400Hz, ODR)/8
4 BW=max(400Hz, ODR)/10
5 BW=max(400Hz, ODR)/16
6 BW=max(400Hz, ODR)/20
7 BW=max(400Hz, ODR)/40
8 to 13: Reserved
7:4 ACCEL_UI_FILT_BW
14 Low Latency option: Trivial decimation @ ODR of Dec2 filter output. Dec2
runs at max(400Hz, ODR)
15 Low Latency option: Trivial decimation @ ODR of Dec2 filter output. Dec2
runs at max(200Hz, 8*ODR)
LP Mode:
0 Reserved
1 1x AVG filter (default)
2 to 5 Reserved
6 16x AVG filter
7 to 15 Reserved
LN Mode:
Bandwidth for Gyro LPF
0 BW=ODR/2
1 BW=max(400Hz, ODR)/4 (default)
2 BW=max(400Hz, ODR)/5
3 BW=max(400Hz, ODR)/8
4 BW=max(400Hz, ODR)/10
5 BW=max(400Hz, ODR)/16
6 BW=max(400Hz, ODR)/20
7 BW=max(400Hz, ODR)/40
8 to 13: Reserved
3:0 GYRO_UI_FILT_BW
14 Low Latency option: Trivial decimation @ ODR of Dec2 filter output. Dec2
runs at max(400Hz, ODR)
15 Low Latency option: Trivial decimation @ ODR of Dec2 filter output. Dec2
runs at max(200Hz, 8*ODR)
Page 77 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.41 ACCEL_CONFIG1
Name: ACCEL_CONFIG1
Address: 83 (53h)
Serial IF: R/W
Reset value: 0x0D
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:5
-
Reserved
Selects order of ACCEL UI filter
00: 1st Order
4:3
ACCEL_UI_FILT_ORD
01: 2nd Order
10: 3rd Order
11: Reserved
Order of Accelerometer DEC2_M2 filter
00: Reserved
2:1 ACCEL_DEC2_M2_ORD
01: Reserved
10: 3rd order
11: Reserved
0
-
Reserved
14.42 TMST_CONFIG
Name: TMST_CONFIG
Address: 84 (54h)
Serial IF: R/W
Reset value: 0x23
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:5
-
Reserved
0: TMST_VALUE[19:0] read always returns 0s
1: TMST_VALUE[19:0] read returns timestamp value
4
TMST_TO_REGS_EN
Time Stamp resolution: When set to 0 (default), time stamp resolution is 1
µs. When set to 1, resolution is 16µs
3
2
TMST_RES
Time Stamp delta enable: When set to 1, the time stamp field contains the
measurement of time since the last occurrence of ODR.
Time Stamp register FSYNC enable (default). When set to 1, the contents of
the Timestamp feature of FSYNC is enabled. The user also needs to select
FIFO_TMST_FSYNC_EN in order to propagate the timestamp value to the
FIFO.
TMST_DELTA_EN
1
0
TMST_FSYNC_EN
TMST_EN
0: Time Stamp register disable
1: Time Stamp register enable (default)
Page 78 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.43 APEX_CONFIG0
Name: APEX_CONFIG0
Address: 86 (56h)
Serial IF: R/W
Reset value: 0x82
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
0: DMP power save mode not active
1: DMP power save mode active (default)
0: Tap Detection not enabled
7
DMP_POWER_SAVE
6
TAP_ENABLE
1: Tap Detection enabled when accelerometer ODR is set to one of the ODR
values supported by Tap Detection (200Hz, 500Hz, 1kHz)
0: Pedometer not enabled
1: Pedometer enabled
0: Tilt Detection not enabled
1: Tilt Detection enabled
0: Raise to Wake/Sleep not enabled
1: Raise to Wake/Sleep enabled
Reserved
5
4
PED_ENABLE
TILT_ENABLE
3
2
R2W_EN
-
00: 25Hz
01: Reserved
10: 50Hz
1:0 DMP_ODR
11: Reserved
14.44 SMD_CONFIG
Name: SMD_CONFIG
Address: 87 (57h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:4
-
Reserved
0: Set WoM interrupt on the OR of all enabled accelerometer thresholds
1: Set WoM interrupt on the AND of all enabled accelerometer threshold
0: Initial sample is stored. Future samples are compared to initial sample
1: Compare current sample to previous sample
00: SMD disabled
3
WOM_INT_MODE
2
WOM_MODE
01: WOM mode
10: SMD short (1 sec wait) An SMD event is detected when two WOM are
detected 1 sec apart
1:0 SMD_MODE
11: SMD long (3 sec wait) An SMD event is detected when two WOM are
detected 3 sec apart
Page 79 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.45 FIFO_CONFIG1
Name: FIFO_CONFIG1
Address: 95 (5Fh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
0: Partial FIFO read disabled, requires re-reading of the entire FIFO
1: FIFO read can be partial, and resume from last read point
Trigger FIFO watermark interrupt on every ODR (DMA write) if
FIFO_COUNT ≥ FIFO_WM_TH
6
FIFO_RESUME_PARTIAL_RD
5
FIFO_WM_GT_TH
4
3
2
1
0
-
Reserved
FIFO_TMST_FSYNC_EN
FIFO_TEMP_EN
FIFO_GYRO_EN
FIFO_ACCEL_EN
Must be set to 1 for all FIFO use cases when FSYNC is used
Enable temperature sensor packets to go to FIFO
Enable gyroscope packets to go to FIFO
Enable accelerometer packets to go to FIFO
14.46 FIFO_CONFIG2
Name: FIFO_CONFIG2
Address: 96 (60h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of FIFO watermark. Generate interrupt when the FIFO reaches
or exceeds FIFO_WM size in bytes or records according to
FIFO_COUNT_REC setting. Interrupt only fires once. This register should
be set to non-zero value, before choosing this interrupt source.
7:0 FIFO_WM[7:0]
14.47 FIFO_CONFIG3
Name: FIFO_CONFIG3
Address: 97 (61h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:4
-
Reserved
Upper bits of FIFO watermark. Generate interrupt when the FIFO reaches
or exceeds FIFO_WM size in bytes or records according to
FIFO_COUNT_REC setting. Interrupt only fires once. This register should
be set to non-zero value, before choosing this interrupt source.
3:0 FIFO_WM[11:8]
Note: Do not set FIFO_WM to value 0.
Page 80 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.48 FSYNC_CONFIG
Name: FSYNC_CONFIG
Address: 98 (62h)
Serial IF: R/W
Reset value: 0x10
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
000: Do not tag FSYNC flag
001: Tag FSYNC flag to TEMP_OUT LSB
010: Tag FSYNC flag to GYRO_XOUT LSB
011: Tag FSYNC flag to GYRO_YOUT LSB
100: Tag FSYNC flag to GYRO_ZOUT LSB
101: Tag FSYNC flag to ACCEL_XOUT LSB
110: Tag FSYNC flag to ACCEL_YOUT LSB
111: Tag FSYNC flag to ACCEL_ZOUT LSB
Reserved
6:4 FSYNC_UI_SEL
3:2
1
-
0: FSYNC flag is cleared when UI sensor register is updated
1: FSYNC flag is cleared when UI interface reads the sensor register LSB of
FSYNC tagged axis
FSYNC_UI_FLAG_CLEAR_SE
L
0: Start from Rising edge of FSYNC pulse to measure FSYNC interval
1: Start from Falling edge of FSYNC pulse to measure FSYNC interval
0
FSYNC_POLARITY
14.49 INT_CONFIG0
Name: INT_CONFIG0
Address: 99 (63h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
Data Ready Interrupt Clear Option (latched mode)
00: Clear on Status Bit Read (default)
01: Clear on Status Bit Read
5:4 UI_DRDY_INT_CLEAR
3:2 FIFO_THS_INT_CLEAR
1:0 FIFO_FULL_INT_CLEAR
10: Clear on Sensor Register Read
11: Clear on Status Bit Read AND on Sensor Register read
FIFO Threshold Interrupt Clear Option (latched mode)
00: Clear on Status Bit Read (default)
01: Clear on Status Bit Read
10: Clear on FIFO data 1Byte Read
11: Clear on Status Bit Read AND on FIFO data 1 byte read
FIFO Full Interrupt Clear Option (latched mode)
00: Clear on Status Bit Read (default)
01: Clear on Status Bit Read
10: Clear on FIFO data 1Byte Read
11: Clear on Status Bit Read AND on FIFO data 1 byte read
Page 81 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.50 INT_CONFIG1
Name: INT_CONFIG1
Address: 100 (64h)
Serial IF: R/W
Reset value: 0x10
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
Interrupt pulse duration
0: Interrupt pulse duration is 100µs. Use only if ODR < 4kHz. (Default)
1: Interrupt pulse duration is 8 µs. Required if ODR ≥ 4kHz, optional for ODR
6
INT_TPULSE_DURATION
< 4kHz.
Interrupt de-assertion duration
0: The interrupt de-assertion duration is set to a minimum of 100µs. Use
only if ODR < 4kHz. (Default)
5
INT_TDEASSERT_DISABLE
1: Disables de-assert duration. Required if ODR ≥ 4kHz, optional for ODR <
4kHz.
User should change setting to 0 from default setting of 1, for proper INT1
and INT2 pin operation
Reserved
4
INT_ASYNC_RESET
-
3:0
14.51 INT_SOURCE0
Name: INT_SOURCE0
Address: 101 (65h)
Serial IF: R/W
Reset value: 0x10
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
0: UI FSYNC interrupt not routed to INT1
1: UI FSYNC interrupt routed to INT1
0: PLL ready interrupt not routed to INT1
1: PLL ready interrupt routed to INT1
0: Reset done interrupt not routed to INT1
1: Reset done interrupt routed to INT1
0: UI data ready interrupt not routed to INT1
1: UI data ready interrupt routed to INT1
0: FIFO threshold interrupt not routed to INT1
1: FIFO threshold interrupt routed to INT1
0: FIFO full interrupt not routed to INT1
1: FIFO full interrupt routed to INT1
0: UI AGC ready interrupt not routed to INT1
1: UI AGC ready interrupt routed to INT1
6
UI_FSYNC_INT1_EN
5
4
3
2
1
0
PLL_RDY_INT1_EN
RESET_DONE_INT1_EN
UI_DRDY_INT1_EN
FIFO_THS_INT1_EN
FIFO_FULL_INT1_EN
UI_AGC_RDY_INT1_EN
Page 82 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.52 INT_SOURCE1
Name: INT_SOURCE1
Address: 102 (66h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
I3C_PROTOCOL_ERROR_IN 0: I3CSM protocol error interrupt not routed to INT1
6
T1_EN
-
1: I3CSM protocol error interrupt routed to INT1
Reserved
0: SMD interrupt not routed to INT1
1: SMD interrupt routed to INT1
5:4
3
SMD_INT1_EN
0: Z-axis WOM interrupt not routed to INT1
1: Z-axis WOM interrupt routed to INT1
0: Y-axis WOM interrupt not routed to INT1
1: Y-axis WOM interrupt routed to INT1
0: X-axis WOM interrupt not routed to INT1
1: X-axis WOM interrupt routed to INT1
2
1
0
WOM_Z_INT1_EN
WOM_Y_INT1_EN
WOM_X_INT1_EN
14.53 INT_SOURCE3
Name: INT_SOURCE3
Address: 104 (68h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
0: UI FSYNC interrupt not routed to INT2
1: UI FSYNC interrupt routed to INT2
0: PLL ready interrupt not routed to INT2
1: PLL ready interrupt routed to INT2
0: Reset done interrupt not routed to INT2
1: Reset done interrupt routed to INT2
0: UI data ready interrupt not routed to INT2
1: UI data ready interrupt routed to INT2
0: FIFO threshold interrupt not routed to INT2
1: FIFO threshold interrupt routed to INT2
0: FIFO full interrupt not routed to INT2
1: FIFO full interrupt routed to INT2
0: UI AGC ready interrupt not routed to INT2
1: UI AGC ready interrupt routed to INT2
6
UI_FSYNC_INT2_EN
5
4
3
2
1
0
PLL_RDY_INT2_EN
RESET_DONE_INT2_EN
UI_DRDY_INT2_EN
FIFO_THS_INT2_EN
FIFO_FULL_INT2_EN
UI_AGC_RDY_INT2_EN
Page 83 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.54 INT_SOURCE4
Name: INT_SOURCE4
Address: 105 (69h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
I3C_PROTOCOL_ERROR_IN 0: I3CSM protocol error interrupt not routed to INT2
6
T2_EN
-
1: I3CSM protocol error interrupt routed to INT2
Reserved
0: SMD interrupt not routed to INT2
1: SMD interrupt routed to INT2
5:4
3
SMD_INT2_EN
0: Z-axis WOM interrupt not routed to INT2
1: Z-axis WOM interrupt routed to INT2
0: Y-axis WOM interrupt not routed to INT2
1: Y-axis WOM interrupt routed to INT2
0: X-axis WOM interrupt not routed to INT2
1: X-axis WOM interrupt routed to INT2
2
1
0
WOM_Z_INT2_EN
WOM_Y_INT2_EN
WOM_X_INT2_EN
14.55 FIFO_LOST_PKT0
Name: FIFO_LOST_PKT0
Address: 108 (6Ch)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 FIFO_LOST_PKT_CNT[7:0]
Low byte, number of packets lost in the FIFO
14.56 FIFO_LOST_PKT1
Name: FIFO_LOST_PKT1
Address: 109 (6Dh)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 FIFO_LOST_PKT_CNT[15:8] High byte, number of packets lost in the FIFO
Page 84 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
14.57 SELF_TEST_CONFIG
Name: SELF_TEST_CONFIG
Address: 112 (70h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
Set to 1 for accel self-test
Otherwise set to 0; Set to 0 after self-test is completed
Enable Z-accel self-test
Enable Y-accel self-test
Enable X-accel self-test
Enable Z-gyro self-test
Enable Y-gyro self-test
Enable X-gyro self-test
6
ACCEL_ST_POWER
5
4
3
2
1
0
EN_AZ_ST
EN_AY_ST
EN_AX_ST
EN_GZ_ST
EN_GY_ST
EN_GX_ST
14.58 WHO_AM_I
Name: WHO_AM_I
Address: 117 (75h)
Serial IF: R
Reset value: 0x42
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 WHOAMI
Register to indicate to user which device is being accessed
Description:
This register is used to verify the identity of the device. The contents of WHOAMI is an 8-bit device ID. The default value of the
register is 0x42. This is different from the I2C address of the device as seen on the slave I2C controller by the applications processor.
14.59 REG_BANK_SEL
Note: This register is accessible from all register banks
Name: REG_BANK_SEL
Address: 118 (76h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: ALL
BIT NAME
7:3
FUNCTION
Reserved
-
Register bank selection
000: Bank 0 (default)
001: Bank 1
010: Bank 2
2:0 BANK_SEL
011: Bank 3
100: Bank 4
101: Reserved
110: Reserved
111: Reserved
Page 85 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15 USER BANK 1 REGISTER MAP – DESCRIPTIONS
This section describes the function and contents of each register within USR Bank 1.
15.1 SENSOR_CONFIG0
Name: SENSOR_CONFIG0
Address: 03 (03h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: Z gyroscope is on
1: Z gyroscope is disabled
5
ZG_DISABLE
0: Y gyroscope is on
1: Y gyroscope is disabled
0: X gyroscope is on
1: X gyroscope is disabled
0: Z accelerometer is on
1: Z accelerometer is disabled
0: Y accelerometer is on
1: Y accelerometer is disabled
0: X accelerometer is on
1: X accelerometer is disabled
4
3
2
1
0
YG_DISABLE
XG_DISABLE
ZA_DISABLE
YA_DISABLE
XA_DISABLE
15.2 GYRO_CONFIG_STATIC2
Name: GYRO_CONFIG_STATIC2
Address: 11 (0Bh)
Serial IF: R/W
Reset value: 0xA8
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:2
-
Reserved
0: Enable Anti-Aliasing/Low Pass Filter
1: Disable Anti-Aliasing/Low Pass Filter
0: Enable Notch Filter
1: Disable Notch Filter
1
GYRO_AAF_DIS
0
GYRO_NF_DIS
15.3 GYRO_CONFIG_STATIC3
Name: GYRO_CONFIG_STATIC3
Address: 12 (0Ch)
Serial IF: R/W
Reset value: 0x3F
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
Controls bandwidth of the gyroscope anti-alias filter
See section 5.2 for details
5:0 GYRO_AAF_DELT
Page 86 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.4 GYRO_CONFIG_STATIC4
Name: GYRO_CONFIG_STATIC4
Address: 13 (0Dh)
Serial IF: R/W
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Controls bandwidth of the gyroscope anti-alias filter
See section 5.2 for details
7:0 GYRO_AAF_DELTSQR[7:0]
15.5 GYRO_CONFIG_STATIC5
Name: GYRO_CONFIG_STATIC5
Address: 14 (0Eh)
Serial IF: R/W
Reset value: 0x3F
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Controls bandwidth of the gyroscope anti-alias filter
See section 5.2 for details
7:4 GYRO_AAF_BITSHIFT
Controls bandwidth of the gyroscope anti-alias filter
See section 5.2 for details
3:0 GYRO_AAF_DELTSQR[11:8]
15.6 GYRO_CONFIG_STATIC6
Name: GYRO_CONFIG_STATIC6
Address: 15 (0Fh)
Serial IF: R/W
Reset value: 0xXX (Factory trimmed on an individual device basis)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Used for gyroscope X-axis notch filter frequency selection
See section 5.1 for details
7:0 GYRO_X_NF_COSWZ[7:0]
15.7 GYRO_CONFIG_STATIC7
Name: GYRO_CONFIG_STATIC7
Address: 16 (10h)
Serial IF: R/W
Reset value: 0xXX (Factory trimmed on an individual device basis)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Used for gyroscope Y-axis notch filter frequency selection
See section 5.1 for details
7:0 GYRO_Y_NF_COSWZ[7:0]
Page 87 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.8 GYRO_CONFIG_STATIC8
Name: GYRO_CONFIG_STATIC8
Address: 17 (11h)
Serial IF: R/W
Reset value: 0xXX (Factory trimmed on an individual device basis)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Used for gyroscope Z-axis notch filter frequency selection
See section 5.1 for details
7:0 GYRO_Z_NF_COSWZ[7:0]
15.9 GYRO_CONFIG_STATIC9
Name: GYRO_CONFIG_STATIC9
Address: 18 (12h)
Serial IF: R/W
Reset value: 0xXX (Factory trimmed on an individual device basis)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
Used for gyroscope Z-axis notch filter frequency selection
See section 5.1 for details
5
GYRO_Z_NF_COSWZ_SEL[0]
Used for gyroscope Y-axis notch filter frequency selection
See section 5.1 for details
Used for gyroscope X-axis notch filter frequency selection
See section 5.1 for details
Used for gyroscope Z-axis notch filter frequency selection
See section 5.1 for details
Used for gyroscope Y-axis notch filter frequency selection
See section 5.1 for details
4
3
2
1
0
GYRO_Y_NF_COSWZ_SEL[0]
GYRO_X_NF_COSWZ_SEL[0]
GYRO_Z_NF_COSWZ[8]
GYRO_Y_NF_COSWZ[8]
GYRO_X_NF_COSWZ[8]
Used for gyroscope X-axis notch filter frequency selection
See section 5.1 for details
15.10 GYRO_CONFIG_STATIC10
Name: GYRO_CONFIG_STATIC10
Address: 19 (13h)
Serial IF: R/W
Reset value: 0x11
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
Selects bandwidth for gyroscope notch filter
See section 5.1 for details
Selects HPF 3dB cutoff frequency bandwidth
See section 5.6 for details
Selects HPF filter order (see section 5.6 for details)
0: 1st order HPF
6:4 GYRO_NF_BW_SEL
3:1 GYRO_HPF_BW_IND
0
GYRO_HPF_ORD_IND
1: 2nd order HPF
Page 88 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.11 XG_ST_DATA
Name: XG_ST_DATA
Address: 95 (5Fh)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 XG_ST_DATA
X-gyro self-test data
15.12 YG_ST_DATA
Name: YG_ST_DATA
Address: 96 (60h)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 YG_ST_DATA
Y-gyro self-test data
15.13 ZG_ST_DATA
Name: ZG_ST_DATA
Address: 97 (61h)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ZG_ST_DATA
Z-gyro self-test data
15.14 TMSTVAL0
Name: TMSTVAL0
Address: 98 (62h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
When TMST_STROBE is programmed, the current value of the internal
counter is latched to this register. Allows the full 20-bit precision of the time
stamp to be read back.
7:0 TMST_VALUE[7:0]
Page 89 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.15 TMSTVAL1
Name: TMSTVAL1
Address: 99 (63h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
When TMST_STROBE is programmed, the current value of the internal
counter is latched to this register. Allows the full 20-bit precision of the time
stamp to be read back.
7:0 TMST_VALUE[15:8]
15.16 TMSTVAL2
Name: TMSTVAL2
Address: 100 (64h)
Serial IF: R
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:4
-
Reserved
When TMST_STROBE is programmed, the current value of the internal
counter is latched to this register. Allows the full 20-bit precision of the time
stamp to be read back.
3:0 TMST_VALUE[19:16]
15.17 INTF_CONFIG4
Name: INTF_CONFIG4
Address: 122 (7Ah)
Serial IF: R/W
Reset value: 0x03
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
0: Device is on a bus with I2C and I3CSM devices
1: Device is on a bus with I3CSM devices only
Reserved
6
I3C_BUS_MODE
5:2
1
-
0: AP interface uses 3-wire SPI mode
1: AP interface uses 4-wire SPI mode (default)
Reserved
SPI_AP_4WIRE
-
0
Page 90 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
15.18 INTF_CONFIG5
Name: INTF_CONFIG5
Address: 123 (7Bh)
Serial IF: R/W
Reset value: 0x20
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:3
-
Reserved
Selects among the following functionalities for pin 9
00: INT2
2:1 PIN9_FUNCTION
01: FSYNC
10: Reserved
11: Reserved
Reserved
0
-
15.19 INTF_CONFIG6
Name: INTF_CONFIG6
Address: 124 (7Ch)
Serial IF: R/W
Reset value: 0x5F
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
0: I3CSMAsynchronous Mode 0 timing control feature is enabled, CCC
SETXTIME ENTER ASYNC MODE 0 enables Asynchronous Mode 0.
1: I3CSM Asynchronous Mode 0 timing control feature is disabled, CCC
SETXTIME ENTER ASYNC MODE 0 has no effect.
Reserved
7
ASYNCTIME0_DIS
6:5
4
-
0: I3CSM slave not enabled
I3C_EN
1: I3CSM slave enabled
0: I3CSM IBI payload function not enabled
1: I3CSM IBI payload function enabled
0: I3CSM IBI function not enabled
3
2
1
0
I3C_IBI_BYTE_EN
I3C_IBI_EN
1: I3CSM IBI function enabled
0: I3CSM DDR mode not enabled
I3C_DDR_EN
I3C_SDR_EN
1: I3CSM DDR mode enabled
0: I3CSM SDR mode not enabled
1: I3CSM SDR mode enabled
Page 91 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
16 USER BANK 2 REGISTER MAP – DESCRIPTIONS
This section describes the function and contents of each register within USR Bank 2.
16.1 ACCEL_CONFIG_STATIC2
Name: ACCEL_CONFIG_STATIC2
Address: 03 (03h)
Serial IF: R/W
Reset value: 0x7E
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
Controls bandwidth of the accelerometer anti-alias filter
See section 5.2 for details
0: Enable accelerometer anti-aliasing filter
1: Disable accelerometer anti-aliasing filter
6:1 ACCEL_AAF_DELT
ACCEL_AAF_DIS
0
16.2 ACCEL_CONFIG_STATIC3
Name: ACCEL_CONFIG_STATIC3
Address: 04 (04h)
Serial IF: R/W
Reset value: 0x80
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Controls bandwidth of the accelerometer anti-alias filter
See section 5.2 for details
7:0 ACCEL_AAF_DELTSQR[7:0]
16.3 ACCEL_CONFIG_STATIC4
Name: ACCEL_CONFIG_STATIC4
Address: 05 (05h)
Serial IF: R/W
Reset value: 0x3F
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Controls bandwidth of the accelerometer anti-alias filter
See section 5.2 for details
7:4 ACCEL_AAF_BITSHIFT
Controls bandwidth of the accelerometer anti-alias filter
See section 5.2 for details
3:0 ACCEL_AAF_DELTSQR[11:8]
16.4 XA_ST_DATA
Name: XA_ST_DATA
Address: 59 (3Bh)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 XA_ST_DATA
X-accel self-test data
Page 92 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
16.5 YA_ST_DATA
Name: YA_ST_DATA
Address: 60 (3Ch)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 YA_ST_DATA
Y-accel self-test data
16.6 ZA_ST_DATA
Name: ZA_ST_DATA
Address: 61 (3Dh)
Serial IF: R/W
Reset value: 0xXX (The value in this register indicates the self-test output generated during manufacturing tests)
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:0 ZA_ST_DATA
Z-accel self-test data
Page 93 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17 USER BANK 4 REGISTER MAP – DESCRIPTIONS
This section describes the function and contents of each register within USR Bank 4.
17.1 APEX_CONFIG1
Name: APEX_CONFIG1
Address: 64 (40h)
Serial IF: R/W
Reset value: 0xA2
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Pedometer Low Energy mode amplitude threshold selection
Use default value 1010b
7:4 LOW_ENERGY_AMP_TH_SEL
When the DMP is in power save mode, it is awakened by the WOM and will
wait for a certain duration before going back to sleep. This bitfield
configures this duration.
0000: 0 seconds
0001: 4 seconds
0010: 8 seconds
0011: 12 seconds
0100: 16 seconds
0101: 20 seconds
0110: 24 seconds
0111: 28 seconds
DMP_POWER_SAVE_TIME_S
3:0
EL
1000: 32 seconds
1001: 36 seconds
1010: 40 seconds
1011: 44 seconds
1100: 48 seconds
1101: 52 seconds
1110: 56 seconds
1111: 60 seconds
Page 94 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.2 APEX_CONFIG2
Name: APEX_CONFIG2
Address: 65 (41h)
Serial IF: R/W
Reset value: 0x85
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Pedometer amplitude threshold selection
Use default value 1000b
Pedometer step count detection window
Use default value 0101b
0000: 0 steps
7:4 PED_AMP_TH_SEL
0001: 1 step
0010: 2 steps
0011: 3 steps
0100: 4 steps
0101: 5 steps (default)
0110: 6 steps
0111: 7 steps
3:0 PED_STEP_CNT_TH_SEL
1000: 8 steps
1001: 9 steps
1010: 10 steps
1011: 11 steps
1100: 12 steps
1101: 13 steps
1110: 14 steps
1111: 15 steps
Page 95 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.3 APEX_CONFIG3
Name: APEX_CONFIG3
Address: 66 (42h)
Serial IF: R/W
Reset value: 0x51
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Pedometer step detection threshold selection
Use default value 010b
000: 0 steps
001: 1 step
010: 2 steps (default)
011: 3 steps
7:5 PED_STEP_DET_TH_SEL
100: 4 steps
101: 5 steps
110: 6 steps
111: 7 steps
Pedometer step buffer timer threshold selection
Use default value 100b
000: 0 samples
001: 1 sample
010: 2 samples
011: 3 samples
100: 4 samples (default)
101: 5 samples
110: 6 samples
111: 7 samples
Pedometer high energy threshold selection
Use default value 01b
4:2 PED_SB_TIMER_TH_SEL
1:0 PED_HI_EN_TH_SEL
Page 96 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.4 APEX_CONFIG4
Name: APEX_CONFIG4
Address: 67 (43h)
Serial IF: R/W
Reset value: 0xA4
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Configures duration of delay after tilt is detected before interrupt is
triggered
00: 0s
01: 2s
7:6 TILT_WAIT_TIME_SEL
10: 4s (default)
11: 6s
Configures the time out for sleep detection, for Raise to Wake/Sleep
feature
000: 1.28sec
001: 2.56sec
010: 3.84sec
011: 5.12sec
100: 6.40sec
101: 7.68sec
110: 8.96sec
111: 10.24sec
Reserved
5:3 SLEEP_TIME_OUT
2:0
-
17.5 APEX_CONFIG5
Name: APEX_CONFIG5
Address: 68 (44h)
Serial IF: R/W
Reset value: 0x8C
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:3
-
Reserved
Defines mounting matrix, chip to device frame
000: [ 1 0 0; 0 1 0; 0 0 1]
001: [ 1 0 0; 0 -1 0; 0 0 -1]
010: [-1 0 0; 0 1 0; 0 0 -1]
011: [-1 0 0; 0 -1 0; 0 0 1]
100: [ 0 1 0; 1 0 0; 0 0 -1]
101: [ 0 1 0; -1 0 0; 0 0 1]
110: [ 0 -1 0; 1 0 0; 0 0 1]
111: [ 0 -1 0; -1 0 0; 0 0 -1]
2:0 MOUNTING_MATRIX
Page 97 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.6 APEX_CONFIG6
Name: APEX_CONFIG6
Address: 69 (45h)
Serial IF: R/W
Reset value: 0x5C
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:3
-
Reserved
Configures detection window for sleep gesture detection
000: 0.32sec
001: 0.64sec
010: 0.96sec
011: 1.28sec
100: 1.60sec
101: 1.92sec
110: 2.24sec
111: 2.56sec
2:0 SLEEP_GESTURE_DELAY
17.7 APEX_CONFIG7
Name: APEX_CONFIG7
Address: 70 (46h)
Serial IF: R/W
Reset value: 0x45
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Tap Detection minimum jerk threshold
Use default value 010001b
Tap Detection maximum peak tolerance
Use default value 01b
7:2 TAP_MIN_JERK_THR
1:0 TAP_MAX_PEAK_TOL
17.8 APEX_CONFIG8
Name: APEX_CONFIG8
Address: 71 (47h)
Serial IF: R/W
Reset value: 0x5B
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7
-
Reserved
Tap measurement window (number of samples)
Use default value 01b
Tap energy measurement window (number of samples)
Use default value 01b
Single tap window (number of samples)
Use default value 011b
6:5 TAP_TMAX
4:3 TAP_TAVG
2:0 TAP_TMIN
Page 98 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.9 APEX_CONFIG9
Name: APEX_CONFIG9
Address: 72 (48h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:1
-
Reserved
0: Low power mode at accelerometer ODR 25Hz; High performance mode
at accelerometer ODR ≥ 50Hz
1: Low power and slow walk mode at accelerometer ODR 25Hz; Slow walk
mode at accelerometer ODR ≥ 50Hz
0
SENSITIVITY_MODE
17.10 ACCEL_WOM_X_THR
Name: ACCEL_WOM_X_THR
Address: 74 (4Ah)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Threshold value for the Wake on Motion Interrupt for X-axis accelerometer
WoM thresholds are expressed in fixed “mg” independent of the selected
Range [0g : 1g]; Resolution 1g/256=~3.9mg
7:0 WOM_X_TH
17.11 ACCEL_WOM_Y_THR
Name: ACCEL_WOM_Y_THR
Address: 75 (4Bh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Threshold value for the Wake on Motion Interrupt for Y-axis accelerometer
WoM thresholds are expressed in fixed “mg” independent of the selected
Range [0g : 1g]; Resolution 1g/256=~3.9mg
7:0 WOM_Y_TH
17.12 ACCEL_WOM_Z_THR
Name: ACCEL_WOM_Z_THR
Address: 76 (4Ch)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Threshold value for the Wake on Motion Interrupt for Z-axis accelerometer
WoM thresholds are expressed in fixed “mg” independent of the selected
Range [0g : 1g]; Resolution 1g/256=~3.9mg
7:0 WOM_Z_TH
Page 99 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.13 INT_SOURCE6
Name: INT_SOURCE6
Address: 77 (4Dh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: Step detect interrupt not routed to INT1
1: Step detect interrupt routed to INT1
0: Step count overflow interrupt not routed to INT1
1: Step count overflow interrupt routed to INT1
0: Tilt detect interrupt not routed to INT1
1: Tile detect interrupt routed to INT1
0: Wake detect interrupt not routed to INT1
1: Wake detect interrupt routed to INT1
0: Sleep detect interrupt not routed to INT1
1: Sleep detect interrupt routed to INT1
0: Tap detect interrupt not routed to INT1
1: Tap detect interrupt routed to INT1
5
STEP_DET_INT1_EN
4
3
2
1
0
STEP_CNT_OFL_INT1_EN
TILT_DET_INT1_EN
WAKE_DET_INT1_EN
SLEEP_DET_INT1_EN
TAP_DET_INT1_EN
17.14 INT_SOURCE7
Name: INT_SOURCE7
Address: 78 (4Eh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: Step detect interrupt not routed to INT2
1: Step detect interrupt routed to INT2
0: Step count overflow interrupt not routed to INT2
1: Step count overflow interrupt routed to INT2
0: Tilt detect interrupt not routed to INT2
1: Tile detect interrupt routed to INT2
0: Wake detect interrupt not routed to INT2
1: Wake detect interrupt routed to INT2
0: Sleep detect interrupt not routed to INT2
1: Sleep detect interrupt routed to INT2
0: Tap detect interrupt not routed to INT2
1: Tap detect interrupt routed to INT2
5
STEP_DET_INT2_EN
4
3
2
1
0
STEP_CNT_OFL_INT2_EN
TILT_DET_INT2_EN
WAKE_DET_INT2_EN
SLEEP_DET_INT2_EN
TAP_DET_INT2_EN
Page 100 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.15 INT_SOURCE8
Name: INT_SOURCE8
Address: 79 (4Fh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: FSYNC interrupt not routed to IBI
1: FSYNC interrupt routed to IBI
0: PLL ready interrupt not routed to IBI
1: PLL ready interrupt routed to IBI
0: UI data ready interrupt not routed to IBI
1: UI data ready interrupt routed to IBI
0: FIFO threshold interrupt not routed to IBI
1: FIFO threshold interrupt routed to IBI
0: FIFO full interrupt not routed to IBI
1: FIFO full interrupt routed to IBI
0: AGC ready interrupt not routed to IBI
1: AGC ready interrupt routed to IBI
5
FSYNC_IBI_EN
4
3
2
1
0
PLL_RDY_IBI_EN
UI_DRDY_IBI_EN
FIFO_THS_IBI_EN
FIFO_FULL_IBI_EN
AGC_RDY_IBI_EN
17.16 INT_SOURCE9
Name: INT_SOURCE9
Address: 80 (50h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
I3C_PROTOCOL_ERROR_IBI 0: I3CSM protocol error interrupt not routed to IBI
7
6:5
4
_EN
-
1: I3CSM protocol error interrupt routed to IBI
Reserved
0: SMD interrupt not routed to IBI
1: SMD interrupt routed to IBI
SMD_IBI_EN
0: Z-axis WOM interrupt not routed to IBI
1: Z-axis WOM interrupt routed to IBI
0: Y-axis WOM interrupt not routed to IBI
1: Y-axis WOM interrupt routed to IBI
0: X-axis WOM interrupt not routed to IBI
1: X-axis WOM interrupt routed to IBI
Reserved
3
2
WOM_Z_IBI_EN
WOM_Y_IBI_EN
1
0
WOM_X_IBI_EN
-
Page 101 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.17 INT_SOURCE10
Name: INT_SOURCE10
Address: 81 (51h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
7:6
-
Reserved
0: Step detect interrupt not routed to IBI
1: Step detect interrupt routed to IBI
0: Step count overflow interrupt not routed to IBI
1: Step count overflow interrupt routed to IBI
0: Tilt detect interrupt not routed to IBI
1: Tile detect interrupt routed to IBI
0: Wake detect interrupt not routed to IBI
1: Wake detect interrupt routed to IBI
0: Sleep detect interrupt not routed to IBI
1: Sleep detect interrupt routed to IBI
0: Tap detect interrupt not routed to IBI
1: Tap detect interrupt routed to IBI
5
STEP_DET_IBI_EN
4
3
2
1
0
STEP_CNT_OFL_IBI_EN
TILT_DET_IBI_EN
WAKE_DET_IBI_EN
SLEEP_DET_IBI_EN
TAP_DET_IBI_EN
17.18 OFFSET_USER0
Name: OFFSET_USER0
Address: 119 (77h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of X-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
7:0 GYRO_X_OFFUSER[7:0]
17.19 OFFSET_USER1
Name: OFFSET_USER1
Address: 120 (78h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Upper bits of Y-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
Upper bits of X-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
7:4 GYRO_Y_OFFUSER[11:8]
3:0 GYRO_X_OFFUSER[11:8]
Page 102 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.20 OFFSET_USER2
Name: OFFSET_USER2
Address: 121 (79h)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of Y-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
7:0 GYRO_Y_OFFUSER[7:0]
17.21 OFFSET_USER3
Name: OFFSET_USER3
Address: 122 (7Ah)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of Z-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
7:0 GYRO_Z_OFFUSER[7:0]
17.22 OFFSET_USER4
Name: OFFSET_USER4
Address: 123 (7Bh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Upper bits of X-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
Upper bits of Z-gyro offset programmed by user. Max value is ±64 dps,
resolution is 1/32 dps.
7:4 ACCEL_X_OFFUSER[11:8]
3:0 GYRO_Z_OFFUSER[11:8]
17.23 OFFSET_USER5
Name: OFFSET_USER5
Address: 124 (7Ch)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of X-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
7:0 ACCEL_X_OFFUSER[7:0]
Page 103 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
17.24 OFFSET_USER6
Name: OFFSET_USER6
Address: 125 (7Dh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of Y-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
7:0 ACCEL_Y_OFFUSER[7:0]
17.25 OFFSET_USER7
Name: OFFSET_USER7
Address: 126 (7Eh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Upper bits of Z-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
Upper bits of Y-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
7:4 ACCEL_Z_OFFUSER[11:8]
3:0 ACCEL_Y_OFFUSER[11:8]
17.26 OFFSET_USER8
Name: OFFSET_USER8
Address: 127 (7Fh)
Serial IF: R/W
Reset value: 0x00
Clock Domain: SCLK_UI
BIT NAME
FUNCTION
Lower bits of Z-accel offset programmed by user. Max value is ±1g,
resolution is 0.5mg.
7:0 ACCEL_Z_OFFUSER[7:0]
Page 104 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
18 REFERENCE
Please refer to “InvenSense MEMS Handling Application Note (AN-IVS-0002A-00)” for the following information:
• Manufacturing Recommendations
o
o
o
o
Assembly Guidelines and Recommendations
PCB Design Guidelines and Recommendations
MEMS Handling Instructions
ESD Considerations
o
Reflow Specification
o
Storage Specifications
o
o
o
Package Marking Specification
Tape & Reel Specification
Reel & Pizza Box Label
o
Packaging
o
Representative Shipping Carton Label
• Compliance
o
o
o
Environmental Compliance
DRC Compliance
Compliance Declaration Disclaimer
Page 105 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
19 DOCUMENT INFORMATION
19.1 REVISION HISTORY
Revision Date
Revision
Description
01/28/2019
03/25/2019
04/08/2019
10/16/2019
02/18/2020
1.0
1.1
1.2
1.3
1.4
Initial Release
Updated Sections 1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 17
Updated Section 14
Updated Sections 3, 6, 8, 12, 13, 14, 17
Added product overview page (page 1); Updated Sections 3, 9, 13
Updated Notes for Tables 1, 2, 3, 4; Updated Conditions for Tables 1, 2; Updated ESD
Protection information (Table 8); Updated APEX Hardware Initialization for
Pedometer Programming (Section 8.3); Updated I3CSM Interface information (Section
9.2); Added Use Note 12.6 (Register Values Modification); Added ASYNCTIME0_DIS
information (Sections 13.2, 15.19)
09/03/2020
06/03/2022
1.5
1.6
Updated FIFO_COUNTH and FIFO_COUNTL description (Section 14.22, 14.23)
Page 106 of 107
Document Number: DS-000292
Revision: 1.6
ICM-42605
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.
©2022 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.
©2022 InvenSense. All rights reserved.
Page 107 of 107
Document Number: DS-000292
Revision: 1.6
相关型号:
ICM-428-1-GT
IC Socket, DIP28, 28 Contact(s), 2.54mm Term Pitch, 0.4inch Row Spacing, Solder
ADAM-TECH
ICM-532B
ICM-532B is a true single-chip digital color camera with digital output and a built-in USB PC interface
ETC
ICM-624-1-GT-NB
IC Socket, DIP24, 24 Contact(s), 2.54mm Term Pitch, 0.6inch Row Spacing, Solder
ADAM-TECH
ICM-624-1-TT
IC Socket, DIP24, 24 Contact(s), 2.54mm Term Pitch, 0.6inch Row Spacing, Solder
ADAM-TECH
ICM-632-1-GT
IC Socket, DIP32, 32 Contact(s), 2.54mm Term Pitch, 0.6inch Row Spacing, Solder
ADAM-TECH
©2020 ICPDF网 联系我们和版权申明