ICM-20602
High Performance 6-Axis MEMS MotionTracking™ Device
General Description
Applications
The ICM-20602 is a 6-axis MotionTracking device that
combines a 3-axis gyroscope, 3-axis accelerometer, in a small
3 mm x 3 mm x 0.75 mm (16-pin LGA) package.
High performance specs
o Gyroscope sensitivity error: ±1%
o Gyroscope noise: ±4 mdps/Hz
o Accelerometer noise: 100 µg/Hz
Includes 1 KB FIFO to reduce 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
EIS FSYNC support
Features
ICM-20602 includes on-chip 16-bit ADCs, programmable
digital filters, an embedded temperature sensor, and
programmable interrupts. The device features an operating
voltage range down to 1.71V. Communication ports include I2C
and high speed SPI at 10 MHz.
Ordering Information
PART
TEMP RANGE
PACKAGE
ICM-20602†
−40°C to +85°C
16-Pin LGA
Smartphones and Tablets
Wearable Sensors
IoT Applications
Motion-based game controllers
3D remote controls for Internet connected DTVs and
set top boxes, 3D mice
†Denotes RoHS and Green-Compliant Package
3-Axis Gyroscope with Programmable FSR of ±250
dps, ±500 dps, ±1000 dps, and ±2000 dps
3-Axis Accelerometer with Programmable FSR of ±2g,
±4g, ±8g, and ±16g
User-programmable interrupts
Wake-on-motion interrupt for low power operation
of applications processor
1 KB FIFO buffer enables the applications processor to
read the data in bursts
On-Chip 16-bit ADCs and Programmable Filters
Host interface: 10 MHz SPI or 400 kHz Fast Mode I2C
Digital-output temperature sensor
VDD operating range of 1.71V to 3.45V
MEMS structure hermetically sealed and bonded at
wafer level
RoHS and Green compliant
Typical Operating Circuit
Block Diagram
1.71 – 3.45VDC
RESV
VDD
C4, 2.2 mF
C2, 0.1 mF
16
AP/HUB
M
1.71 – 3.45 VDC
C3, 10 nF
SPI/I2C
VDDIO
SCL SCL/SPC
SDA
AD0
S
ICM-20602
VDDIO
SDA/SDI
SA0/SDO
CS
REGOUT
15
1
13
12
3
ICM-20602
11
4
10
5
9
FSYNC for EIS
6
7
RESV
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
8
FSYNC
INT
InvenSense Inc.
1745 Technology Drive, San Jose, CA 95110 U.S.A
+1(408) 988–7339
www.invensense.com
C1, 0.1 mF
2
Main PCB
InvenSense reserves the right to change the detail
specifications as may be required to permit
improvements in the design of its products.
14
GND
RESV
RESV
RESV
RESV
ICM-20602
TABLE OF CONTENTS
General Description ............................................................................................................................................. 1
Ordering Information ........................................................................................................................................... 1
Block Diagram ...................................................................................................................................................... 1
Applications ......................................................................................................................................................... 1
Features ............................................................................................................................................................... 1
Typical Operating Circuit...................................................................................................................................... 1
1
2
3
4
Introduction ......................................................................................................................................................... 7
1.1
Purpose and Scope .................................................................................................................................... 7
1.2
Product Overview...................................................................................................................................... 7
1.3
Applications............................................................................................................................................... 7
Features ............................................................................................................................................................... 8
2.1
Gyroscope Features .................................................................................................................................. 8
2.2
Accelerometer Features ............................................................................................................................ 8
2.3
Additional Features ................................................................................................................................... 8
Electrical Characteristics ...................................................................................................................................... 9
3.1
Gyroscope Specifications .......................................................................................................................... 9
3.2
Accelerometer Specifications.................................................................................................................. 10
3.3
Electrical Specifications ........................................................................................................................... 11
3.4
I2C Timing Characterization ..................................................................................................................... 14
3.5
SPI Timing Characterization .................................................................................................................... 15
3.6
Absolute Maximum Ratings .................................................................................................................... 16
Applications Information ................................................................................................................................... 17
4.1
Pin Out Diagram and Signal Description ................................................................................................. 17
4.2
Typical Operating Circuit ......................................................................................................................... 18
4.3
Bill of Materials for External Components .............................................................................................. 18
4.4
Block Diagram ......................................................................................................................................... 19
4.5
Overview ................................................................................................................................................. 19
4.6
Three-Axis MEMS Gyroscope with 16-bit ADCs and Signal Conditioning ............................................... 20
4.7
Three-Axis MEMS Accelerometer with 16-bit ADCs and Signal Conditioning......................................... 20
4.8
I2C and SPI Serial Communication Interfaces .......................................................................................... 20
4.9
Self-Test................................................................................................................................................... 21
4.10
Clocking............................................................................................................................................... 21
4.11
Sensor Data Registers ......................................................................................................................... 21
4.12
FIFO ..................................................................................................................................................... 22
4.13
Interrupts ............................................................................................................................................ 22
4.14
Digital-Output Temperature Sensor ................................................................................................... 22
4.15
Bias and LDOs ..................................................................................................................................... 22
4.16
Charge Pump ...................................................................................................................................... 22
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 2 of 57
ICM-20602
4.17
5
Programmable Interrupts .................................................................................................................................. 23
5.1
6
7
Standard Power Modes – Update the Power Modes ......................................................................... 22
Wake-on-Motion Interrupt ..................................................................................................................... 23
Digital Interface ................................................................................................................................................. 24
6.1
I2C and SPI Serial Interfaces .................................................................................................................... 24
6.2
I2C Interface............................................................................................................................................. 24
6.3
I2C Communications Protocol ................................................................................................................. 24
6.4
I2C Terms ................................................................................................................................................. 26
6.5
SPI Interface ............................................................................................................................................ 26
Serial Interface Considerations .......................................................................................................................... 28
7.1
ICM-20602 Supported Interfaces ............................................................................................................ 28
8
Register Map ...................................................................................................................................................... 29
9
Register Descriptions ......................................................................................................................................... 32
9.1
Register Descriptions .............................................................................................................................. 32
9.2
Register 04 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register32
9.3
Register 05 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register32
9.4
Register 07 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register32
9.5
Register 08 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register33
9.6
Register 10 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register33
9.7
Register 11 – Gyroscope Low Noise to Low Power Offset Shift and Gyroscope Offset Temperature Compensation (TC) Register33
9.8
Registers 13 to 15 Accelerometer Self-Test Registers ............................................................................ 34
9.9
Register 19 – X-Gyro Offset Adjustment Register: High Byte ................................................................. 34
9.10
Register 20 – X-Gyro Offset Adjustment Register: Low Byte .............................................................. 34
9.11
Register 21 – Y-Gyro Offset Adjustment Register: High Byte ............................................................. 35
9.12
Register 22 – Y-Gyro Offset Adjustment Register: Low Byte .............................................................. 35
9.13
Register 23 – Z-Gyro Offset Adjustment Register: High Byte ............................................................. 35
9.14
Register 24 – Z-Gyro Offset Adjustment Register: Low Byte .............................................................. 35
9.15
Register 25 – Sample Rate Divider ...................................................................................................... 36
9.16
Register 26 – Configuration ................................................................................................................ 36
9.17
Register 27 – Gyroscope Configuration .............................................................................................. 37
9.18
Register 28 – Accelerometer Configuration ....................................................................................... 37
9.19
Register 29 – Accelerometer Configuration 2..................................................................................... 38
9.20
Register 30 – Gyroscope Low Power Mode Configuration ................................................................. 39
9.21
Register 32 – Wake-on Motion Threshold: X-Axis Accelerometer ..................................................... 40
9.22
Register 33 – Wake-on Motion Threshold: Y-Axis Accelerometer...................................................... 40
9.23
Register 34 – Wake-on Motion Threshold: Z-Axis Accelerometer...................................................... 40
9.24
Register 35 – FIFO Enable ................................................................................................................... 41
9.25
Register 54 – FSYNC Interrupt Status.................................................................................................. 41
9.26
Register 55 – INT/DRDY Pin / Bypass Enable Configuration ............................................................... 41
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 3 of 57
ICM-20602
10
11
9.27
Register 57 – FIFO Watermark Interrupt Status ................................................................................. 42
9.28
Register 58 – Interrupt Status ............................................................................................................. 42
9.29
Registers 59 to 64 – Accelerometer Measurements: X-Axis High Byte .............................................. 42
9.30
Registers 65 to 66 – Temperature Measurement............................................................................... 43
9.31
Registers 67 to 72 – Gyroscope Measurement................................................................................... 43
9.32
Register 80 to 82 – Gyroscope Self-Test Registers ............................................................................. 44
9.33
Register 96 to 97 – FIFO Watermark Threshold in Number of Bytes ................................................. 45
9.34
Register 104 – Signal Path Reset......................................................................................................... 45
9.35
Register 105 – Accelerometer Intelligence Control ............................................................................ 45
9.36
Register 106 – User Control ................................................................................................................ 46
9.37
Register 107 – Power Management 1 ................................................................................................ 46
9.38
Register 108 – Power Management 2 ................................................................................................ 47
9.39
Register 112 – I2C Interface ................................................................................................................ 47
9.40
Register 114 and 115 – FIFO Count Registers ..................................................................................... 47
9.41
Register 116 – FIFO Read Write .......................................................................................................... 48
9.42
Register 117 – Who Am I .................................................................................................................... 48
9.43
Registers 119, 120, 122, 123, 125, 126 – Accelerometer Offset Registers ......................................... 49
Use Notes ........................................................................................................................................................... 50
10.1
Temperature Sensor Data ................................................................................................................... 50
10.2
Accelerometer-Only Low-Noise Mode ............................................................................................... 50
10.3
Accelerometer Low-Power Mode ....................................................................................................... 50
10.4
Sensor Mode Change .......................................................................................................................... 50
10.5
Temp Sensor during Gyroscope Standby Mode ................................................................................. 50
10.6
Gyroscope Mode Change.................................................................................................................... 50
10.7
Power Management 1 Register Setting .............................................................................................. 50
10.8
Unlisted Register Locations ................................................................................................................ 50
10.9
Clock Transition When Gyroscope is Turned Off ................................................................................ 50
10.10
Sleep Mode ......................................................................................................................................... 50
10.11
No special operation needed for FIFO read in low power mode........................................................ 50
10.12
Gyroscope Standby Procedure ........................................................................................................... 51
Assembly ............................................................................................................................................................ 52
11.1
Orientation of Axes ............................................................................................................................. 52
12.1
Package Dimensions ........................................................................................................................... 53
13
Part Number Package Marking .......................................................................................................................... 55
14
Revision History ................................................................................................................................................. 56
15
Environmental Compliance ................................................................................................................................ 57
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 4 of 57
ICM-20602
LIST OF FIGURES
Figure 1. I2C Bus Timing Diagram ............................................................................................................................................................. 14
Figure 2. SPI Bus Timing Diagram............................................................................................................................................................. 15
Figure 3. Pin out Diagram for ICM-20602 3 mm x 3 mm x 0.75 mm LGA ................................................................................................ 17
Figure 4. ICM-20602 Application Schematic ............................................................................................................................................ 18
Figure 5. ICM-20602 Block Diagram......................................................................................................................................................... 19
Figure 6. ICM-20602 Solution Using I2C Interface .................................................................................................................................... 20
Figure 7. ICM-20602 Solution Using SPI Interface ................................................................................................................................... 21
Figure 8. START and STOP Conditions ...................................................................................................................................................... 24
Figure 9. Acknowledge on the I2C Bus ..................................................................................................................................................... 25
Figure 10. Complete I2C Data Transfer ..................................................................................................................................................... 25
Figure 11. Typical SPI Master/Slave Configuration .................................................................................................................................. 27
Figure 11. I/O Levels and Connections..................................................................................................................................................... 28
Figure 13. Orientation of Axes of Sensitivity and Polarity of Rotation .................................................................................................... 52
Figure 14. Package Dimensions................................................................................................................................................................ 53
Figure 15. Part Number Package Marking ............................................................................................................................................... 55
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 5 of 57
ICM-20602
LIST OF TABLES
Table 1. Gyroscope Specifications ............................................................................................................................................................. 9
Table 2. Accelerometer Specifications ..................................................................................................................................................... 10
Table 4. D.C. Electrical Characteristics ..................................................................................................................................................... 11
Table 5. A.C. Electrical Characteristics ..................................................................................................................................................... 12
Table 6. Other Electrical Specifications .................................................................................................................................................... 13
Table 7. I2C Timing Characteristics ........................................................................................................................................................... 14
Table 7. SPI Timing Characteristics (10 MHz Operation) ......................................................................................................................... 15
Table 8. Absolute Maximum Ratings ....................................................................................................................................................... 16
Table 9. Signal Descriptions ..................................................................................................................................................................... 17
Table 10. Bill of Materials ........................................................................................................................................................................ 18
Table 11. Standard Power Modes for ICM-20602.................................................................................................................................... 22
Table 12. Table of Interrupt Sources ........................................................................................................................................................ 23
Table 13. Serial Interface ......................................................................................................................................................................... 24
Table 14. I2C Terms .................................................................................................................................................................................. 26
Table 15. Register Map ............................................................................................................................................................................ 30
Table 16. Package Dimensions Table ....................................................................................................................................................... 54
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 6 of 57
ICM-20602
1 INTRODUCTION
1.1 PURPOSE AND SCOPE
This document is a product specification, providing a description, specifications, and design related information on the ICM-20602™
MotionTracking device. The device is housed in a small 3 mm x 3 mm x 0.75 mm 16-pin LGA package.
1.2 PRODUCT OVERVIEW
The ICM-20602 is a 6-axis MotionTracking device that combines a 3-axis gyroscope, 3-axis accelerometer, in a small
3 mm x 3 mm x 0.75 mm (16-pin LGA) package. It also features a 1 KB 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. ICM20602, 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 has a programmable full-scale range of ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps. The accelerometer has a userprogrammable accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g. Factory-calibrated initial sensitivity of both sensors
reduces production-line calibration requirements.
Other industry-leading features include on-chip 16-bit ADCs, programmable digital filters, an embedded temperature sensor, and
programmable interrupts. The device features I2C and SPI serial interfaces,, a VDD operating range of 1.71V to 3.45V, and a separate
digital IO supply, VDDIO from 1.71V to 3.45V.
Communication with all registers of the device is performed using either I 2C at 400 kHz or SPI at 10 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 3 mm x
3 mm x 0.75 mm (16-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 and Tablets
Wearable Sensors
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 7 of 57
ICM-20602
2 FEATURES
2.1 GYROSCOPE FEATURES
The triple-axis MEMS gyroscope in the ICM-20602 includes a wide range of features:
Digital-output X-, Y-, and Z-axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250 dps,
±500 dps, ±1000 dps, and ±2000 dps and integrated 16-bit ADCs
Digitally-programmable low-pass filter
Low-power gyroscope operation
Factory calibrated sensitivity scale factor
Self-test
2.2 ACCELEROMETER FEATURES
The triple-axis MEMS accelerometer in ICM-20602 includes a wide range of features:
Digital-output X-, Y-, and Z-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g, and ±16g and integrated
16-bit ADCs
User-programmable interrupts
Wake-on-motion interrupt for low power operation of applications processor
Self-test
2.3 ADDITIONAL FEATURES
The ICM-20602 includes the following additional features:
Smallest and thinnest LGA package for portable devices: 3 mm x 3 mm x 0.75 mm (16-pin LGA)
Minimal cross-axis sensitivity between the accelerometer and gyroscope axes
1 KB FIFO buffer enables the applications processor to read the data in bursts
Digital-output temperature sensor
User-programmable digital filters for gyroscope, accelerometer, and temp sensor
20,000 g shock tolerant
400 kHz Fast Mode I2C for communicating with all registers
10 MHz SPI serial interface for communicating with all registers
MEMS structure hermetically sealed and bonded at wafer level
RoHS and Green compliant
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 8 of 57
ICM-20602
3 ELECTRICAL CHARACTERISTICS
3.1 GYROSCOPE SPECIFICATIONS
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
GYROSCOPE SENSITIVITY
Full-Scale Range
FS_SEL=0
±250
dps
3
FS_SEL=1
±500
dps
3
FS_SEL=2
±1000
dps
3
FS_SEL=3
±2000
dps
3
16
bits
3
FS_SEL=0
131
LSB/(dps)
3
FS_SEL=1
65.5
LSB/(dps)
3
FS_SEL=2
32.8
LSB/(dps)
3
FS_SEL=3
16.4
LSB/(dps)
3
Gyroscope ADC Word Length
Sensitivity Scale Factor
Sensitivity Scale Factor Initial Tolerance
25°C
±1
%
1
Sensitivity Scale Factor Variation Over
Temperature
-40°C to +85°C
±2
%
1
Nonlinearity
Best fit straight line; 25°C
±0.1
%
1
±1
%
1
Cross-Axis Sensitivity
ZERO-RATE OUTPUT (ZRO)
Initial ZRO Tolerance
25°C
ZRO Variation vs. Temperature
-40°C to +85°C
±1
dps
1
±0.01
dps/ºC
1
OTHER PARAMETERS
Rate Noise Spectral Density
@ 10 Hz
0.004
dps /√Hz
1, 4
Total RMS Noise
Bandwidth = 100 Hz
0.04
dps -rms
1, 4
29
KHz
2
250
100
8000
333.33
Hz
ms
Hz
Hz
3
1
3
Gyroscope Mechanical Frequencies
Low Pass Filter Response
Gyroscope Start-Up Time
Output Data Rate
25
Programmable Range
Time from gyro enable to gyro drive ready
Low-Noise mode
Low Power Mode
27
5
35
3.91
3.91
Table 1. Gyroscope Specifications
Notes:
1.
2.
3.
4.
Derived from validation or characterization of parts, not guaranteed in production.
Tested in production.
Guaranteed by design.
Noise specifications shown are for low-noise mode.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 9 of 57
3
ICM-20602
3.2 ACCELEROMETER SPECIFICATIONS
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
ACCELEROMETER SENSITIVITY
Full-Scale Range
AFS_SEL=0
±2
g
2
AFS_SEL=1
±4
g
2
AFS_SEL=2
±8
g
2
AFS_SEL=3
±16
g
2
ADC Word Length
Output in two’s complement format
16
bits
2
Sensitivity Scale Factor
AFS_SEL=0
16,384
LSB/g
2
AFS_SEL=1
8,192
LSB/g
2
AFS_SEL=2
4,096
LSB/g
2
Sensitivity Scale Factor Initial Tolerance
AFS_SEL=3
Component-level
2,048
±1
LSB/g
%
2
1
Sensitivity Change vs. Temperature
-40°C to +85°C
±1.5
%
1
Nonlinearity
Best Fit Straight Line
±0.3
%
1
±1
%
1
Component-level, all axes
±25
mg
1
Board-level, all axes
±40
mg
1
±0.5
mg/ºC
1
±1
mg/ºC
1
Cross-Axis Sensitivity
ZERO-G OUTPUT
Initial Tolerance
Zero-G Level Change vs. Temperature
-40°C to +85°C
X and Y axes
Z axis
OTHER PARAMETERS
Power Spectral Density
@ 10 Hz
100
µg/√Hz
1, 3
RMS Noise
Bandwidth = 100 Hz
1.0
mg-rms
1, 3
Low-Pass Filter Response
Accelerometer Startup Time
Programmable Range
From sleep mode to valid data
Low-Noise mode
Low Power Mode
Hz
ms
Hz
Hz
2
2
Output Data Rate
5
10
3.91
3.91
218
20
4000
500
Table 2. Accelerometer Specifications
Notes:
1.
2.
3.
Derived from validation or characterization of parts, not guaranteed in production.
Guaranteed by design.
Noise specifications shown are for low-noise mode.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 10 of 57
2
ICM-20602
3.3 ELECTRICAL SPECIFICATIONS
D.C. Electrical Characteristics
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
NOTES
VDD
1.71
1.8
3.45
V
1
VDDIO
1.71
1.8
3.45
V
1
SUPPLY VOLTAGES
SUPPLY CURRENTS
Low-Noise Mode
Accelerometer Low -Power Mode
(Gyroscope disabled)
Gyroscope Low-Power Mode
(Accelerometer disabled)
6-Axis Gyroscope + Accelerometer
2.79
mA
1
3-Axis Accelerometer
321
µA
1
3-Axis Gyroscope
2.55
mA
1
40
µA
1
1.08
mA
1
1.33
mA
1
6
µA
1
°C
1
100 Hz ODR, 1x averaging
100 Hz ODR, 1x averaging
6-Axis Low-Power Mode (Gyroscope
Low-Power Mode; Accelerometer LowNoise Mode)
100 Hz ODR, 1x averaging
Full-Chip Sleep Mode
At 25ºC
Specified Temperature Range
Performance parameters are not applicable
beyond Specified Temperature Range
-40
+85
Table 3. D.C. Electrical Characteristics
Notes:
1.
Derived from validation or characterization of parts, not guaranteed in production.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 11 of 57
ICM-20602
A.C. Electrical Characteristics
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
Supply Ramp Time
CONDITIONS
MIN
SUPPLIES
Monotonic ramp. Ramp rate is 10% to 90% of
the final value
TYP
0.01
Power Supply Noise
MAX
UNITS
3
ms
NOTES
1
mV peakpeak
1
+2.5
°C
LSB
bits
Hz
Hz
°C
µs
LSB/°C
%
1
3
2
2
2
3
2
1
1
2
ms
1
10
TEMPERATURE SENSOR
Operating Range
25°C Output
ADC Resolution
ODR
Room Temperature Offset
Stabilization Time
Sensitivity
Sensitivity Error
Ambient
-40
85
0
16
8000
Without Filter
With Filter
25°C
3.91
-15
Untrimmed
1000
15
14000
326.8
-2.5
Power-On RESET
Start-up time for register read/write
From power-up
I2C ADDRESS
I2C ADDRESS
SA0 = 0
SA0 = 1
1101000
1101001
DIGITAL INPUTS (FSYNC, SA0, SPC, SDI, CS)
0.7*VDDIO
VIH, High Level Input Voltage
V
VIL, Low Level Input Voltage
0.3*VDDIO
CI, Input Capacitance
< 10
VOH, High Level Output Voltage
RLOAD=1MΩ;
VOL1, LOW-Level Output Voltage
RLOAD=1MΩ;
VOL.INT, INT Low-Level Output Voltage
Output Leakage Current
OPEN=1, 0.3mA sink
Current
OPEN=1
tINT, INT Pulse Width
LATCH_INT_EN=0
V
1
pF
DIGITAL OUTPUT (SDO, INT, DRDY)
0.9*VDDIO
V
0.1*VDDIO
V
0.1
V
100
nA
50
µs
1
I2C I/O (SCL, SDA)
VIL, LOW Level Input Voltage
-0.5V
0.3*VDDIO
V
VIH, HIGH-Level Input Voltage
0.7*VDDIO
VDDIO + 0.5V
V
Vhys, Hysteresis
VOL, LOW-Level Output Voltage
IOL, LOW-Level Output Current
0.1*VDDIO
3mA sink current
0
3
6
VOL=0.4V
VOL=0.6V
20+0.1Cb
tof, Output Fall Time from VIHmax to VILmax
Cb bus capacitance in pf
Sample Rate
INTERNAL CLOCK SOURCE
FCHOICE_B=1,2,3; SMPLRT_DIV=0
FCHOICE_B=0;
DLPFCFG=0 or 7
SMPLRT_DIV=0
FCHOICE_B=0;
DLPFCFG=1,2,3,4,5,6;
SMPLRT_DIV=0
-3
CLK_SEL=0, 6 or gyro inactive; 25°C
Frequency Variation over Temperature
V
mA
mA
100
Output Leakage Current
Clock Frequency Initial Tolerance
V
0.4
nA
300
ns
32
kHz
2
8
kHz
2
1
kHz
2
+3
%
1
+1
%
1
CLK_SEL=0,6 or gyro inactive. (-40°C to +85°C)
±2
%
1
CLK_SEL=1,2,3,4,5 and gyro active
±2
%
1
CLK_SEL=1,2,3,4,5 and gyro active; 25°C
-1
Table 4. A.C. Electrical Characteristics
Notes:
1.
2.
3.
Derived from validation or characterization of parts, not guaranteed in production.
Guaranteed by design.
Production tested.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
1
Page 12 of 57
ICM-20602
Other Electrical Specifications
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
PARAMETER
SPI Operating Frequency, All Registers
Read/Write
CONDITIONS
MIN
TYP
SERIAL INTERFACE
Low Speed Characterization
100
100 ±10%
High Speed Characterization
0.2
1
All registers, Fast-mode
100
SPI Modes
I2C Operating Frequency
MAX
UNITS
NOTES
kHz
1,3
10
MHz
1, 2, 3
400
kHz
1
100
kHz
1
0 and 3
All registers, Standard-mode
Table 5. Other Electrical Specifications
Notes:
1.
2.
3.
Derived from validation or characterization of parts, not guaranteed in production.
SPI clock duty cycle between 45% and 55% should be used for 10-MHz operation.
Minimum SPI/I2C clock rate is dependent on ODR. If ODR is below 4 kHz, minimum clock rate is 100 kHz. If ODR is greater than 4 kHz, minimum clock rate is
200 kHz.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 13 of 57
ICM-20602
3.4 I2C TIMING CHARACTERIZATION
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
Parameters
Conditions
I2C TIMING
I2C FAST-MODE
Min
Typical
Max
Units
Notes
400
fSCL, SCL Clock Frequency
100
kHz
1
tHD.STA, (Repeated) START Condition Hold Time
0.6
µs
1
tLOW, SCL Low Period
1.3
µs
1
tHIGH, SCL High Period
0.6
µs
1
tSU.STA, Repeated START Condition Setup Time
0.6
µs
1
tHD.DAT, SDA Data Hold Time
0
µs
1
tSU.DAT, SDA Data Setup Time
100
ns
1
tr, SDA and SCL Rise Time
Cb bus cap. from 10 to 400 pF
20+0.1Cb
300
ns
1
tf, SDA and SCL Fall Time
Cb bus cap. from 10 to 400 pF
20+0.1Cb
300
ns
1
tSU.STO, STOP Condition Setup Time
0.6
µs
1
tBUF, Bus Free Time Between STOP and START
Condition
1.3
µs
1
Cb, Capacitive Load for each Bus Line
pF
1
tVD.DAT, Data Valid Time
< 400
0.9
µs
1
tVD.ACK, Data Valid Acknowledge Time
0.9
µs
1
Table 6. I2C Timing Characteristics
Notes:
1.
Based on characterization of 5 parts over temperature and voltage as mounted on evaluation board or in sockets
tf
SDA
tSU.DAT
tr
70%
30%
70%
30%
continued below at
tf
SCL
tr
70%
30%
S
tHD.STA
tVD.DAT
70%
30%
tHD.DAT
1/fSCL
tLOW
1st clock cycle
9th clock cycle
tHIGH
tBUF
SDA
70%
30%
A
tSU.STA
tHD.STA
SCL
70%
30%
Sr
tSU.STO
tVD.ACK
9th clock cycle
P
S
Figure 1. I2C Bus Timing Diagram
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 14 of 57
A
ICM-20602
3.5 SPI TIMING CHARACTERIZATION
Typical Operating Circuit of section 4.2, VDD = 1.8V, VDDIO = 1.8V, TA=25°C, unless otherwise noted.
Parameter
Conditions
Min
Typ
Max
Units
Notes
10
MHz
1
SPI TIMING
fSPC, SPC Clock Frequency
tLOW, SPC Low Period
45
ns
1
tHIGH, SPC High Period
45
ns
1
tSU.CS, CS Setup Time
2
ns
1
tHD.CS, CS Hold Time
63
ns
1
tSU.SDI, SDI Setup Time
3
ns
1
tHD.SDI, SDI Hold Time
7
tVD.SDO, SDO Valid Time
Cload = 20pF
tDIS.SDO, SDO Output Disable Time
ns
1
40
ns
1
20
ns
1
Table 7. SPI Timing Characteristics (10 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%
tSU;CS
SCLK
tHIGH
70%
30%
tSU;SDI
SDI
tHD;CS
1/fCLK
70%
30%
tHD;SDI
tLOW
LSB IN
MSB IN
tDIS;SDO
tVD;SDO
SDO
MSB OUT
70%
30%
LSB OUT
Figure 2. SPI Bus Timing Diagram
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 15 of 57
ICM-20602
3.6 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
Supply Voltage, VDD
-0.5V to +4V
Supply Voltage, VDDIO
-0.5V to +4V
REGOUT
-0.5V to 2V
Input Voltage Level (SA0, FSYNC, SCL, SDA)
Acceleration (Any Axis, unpowered)
-0.5V to VDDIO + 0.5V
20,000g for 0.2 ms
Operating Temperature Range
-40°C to +85°C
Storage Temperature Range
-40°C to +125°C
Electrostatic Discharge (ESD) Protection
2 kV (HBM);
250V (MM)
JEDEC Class II (2),125°C
Latch-up
±100 mA
Table 8. Absolute Maximum Ratings
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 16 of 57
ICM-20602
4 APPLICATIONS INFORMATION
4.1 PIN OUT DIAGRAM AND SIGNAL DESCRIPTION
Pin Number
Pin Name
Pin Description
1
VDDIO
Digital I/O supply voltage
2
SCL/SPC
I2C serial clock (SCL); SPI serial clock (SPC)
3
SDA/SDI
I2C serial data (SDA); SPI serial data input (SDI)
4
SA0/SDO
I2C slave address LSB (SA0); SPI serial data output (SDO)
5
CS
Chip select (0 = SPI mode; 1 = I2C mode)
6
INT
Interrupt digital output (totem pole or open-drain)
7
RESV
Reserved. Do not connect.
8
FSYNC
Synchronization digital input (optional). Connect to GND if unused.
9
RESV
Reserved. Connect to GND.
10
RESV
Reserved. Connect to GND.
11
RESV
Reserved. Connect to GND.
12
RESV
Reserved. Connect to GND.
13
GND
Connect to GND
14
REGOUT
15
RESV
Reserved. Connect to GND.
16
VDD
Power Supply
Regulator filter capacitor connection
Table 9. Signal Descriptions
Note: Power up with SCL/SPC and CS pins held low is not a supported use case. In case this power up approach is used, software reset is required using the
PWR_MGMT_1 register, prior to initialization.
REGOUT
14
VDD
RESV
16 15
VDDIO
1
13
GND
SCL/SPC
2
12
RESV
+Z
ICM-20602
SDA/SDI
3
11
RESV
SA0/SDO
4
10
RESV
CS
5
9
RESV
6
7
8
INT
RESV
FSYNC
LGA Package (Top View)
16-pin, 3mm x 3mm x 0.75mm
Typical Footprint and thickness
ICM
-20
+Y
60
2
+X
Orientation of Axes of Sensitivity and Polarity of Rotation
Figure 3. Pin out Diagram for ICM-20602 3 mm x 3 mm x 0.75 mm LGA
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 17 of 57
ICM-20602
4.2 TYPICAL OPERATING CIRCUIT
1.711.8
– 3.45VDC
– 3.3VDC
RESV
VDD
C4, 2.2 mF
C2, 0.1 mF
16
VDDIO
1.8– –3.45VDC
3.3 VDC
1.71
C3, 10 nF
SCL SCL/SPC
SDA
AD0
VDDIO
SDA/SDI
CS
15
14
C1, 0.1 mF
1
13
2
12
ICM-20602
3
SA0/SDO
REGOUT
11
4
10
5
9
7
RESV
RESV
RESV
RESV
INT
RESV
8
FSYNC
6
GND
Figure 4. ICM-20602 Application Schematic
2
Note: I C lines are open drain and pullup resistors (e.g. 10 kΩ) are required.
4.3 BILL OF MATERIALS FOR EXTERNAL COMPONENTS
Component
Label
Specification
Quantity
REGOUT Capacitor
C1
X7R, 0.1 µF ±10%
1
VDD Bypass Capacitors
C2
C4
X7R, 0.1 µF ±10%
X7R, 2.2 µF ±10%
1
1
VDDIO Bypass Capacitor
C3
X7R, 10 nF ±10%
1
Table 10. Bill of Materials
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 18 of 57
ICM-20602
4.4 BLOCK DIAGRAM
ICM-20602
INT
Self
test
X Accel
ADC
Self
test
Y Accel
ADC
Interrupt
Status
Register
CS
Slave I2C and
SPI Serial
Interface
FIFO
SA0 / SDO
SCL / SPC
SDA / SDI
Z Accel
ADC
Self
test
X Gyro
ADC
Self
test
Y Gyro
ADC
Self
test
Z Gyro
ADC
Temp Sensor
Signal Conditioning
Self
test
User & Config
Registers
FSYNC
Sensor
Registers
ADC
Bias & LDOs
Charge
Pump
VDD
GND
REGOUT
Figure 5. ICM-20602 Block Diagram
4.5 OVERVIEW
The ICM-20602 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
I2C and SPI serial communications interface
Self-Test
Clocking
Sensor Data Registers
FIFO
Interrupts
Digital-Output Temperature Sensor
Bias and LDOs
Charge Pump
Standard Power Modes
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 19 of 57
ICM-20602
4.6 THREE-AXIS MEMS GYROSCOPE WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-20602 consists of three independent vibratory MEMS rate gyroscopes, which detect rotation about the X-, Y-, and Z- Axes.
When the gyros are 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 individual on-chip 16-bit Analog-to-Digital Converters (ADCs) to sample each axis. The full-scale range of the gyro
sensors may be digitally programmed to ±250, ±500, ±1000, or ±2000 degrees per second (dps). The ADC sample rate is
programmable from 8,000 samples per second, down to 3.9 samples per second, and user-selectable low-pass filters enable a wide
range of cut-off frequencies.
4.7 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-20602’s 3-Axis accelerometer uses separate proof masses for each axis. Acceleration along a particular axis induces
displacement on the corresponding proof mass, and capacitive sensors detect the displacement differentially. The ICM-20602’s
architecture reduces the accelerometers’ susceptibility to fabrication variations as well as to thermal drift. When the device is placed
on a flat surface, it will measure 0g on the X- and Y-axes and +1g on the Z-axis. The accelerometers’ scale factor is calibrated at the
factory and is nominally independent of supply voltage. Each sensor has a dedicated sigma-delta ADC for providing digital outputs.
The full scale range of the digital output can be adjusted to ±2g, ±4g, ±8g, or ±16g.
4.8 I2C AND SPI SERIAL COMMUNICATION INTERFACES
The ICM-20602 communicates to a system processor using either a SPI or an I 2C serial interface. The ICM-20602 always acts as a
slave when communicating to the system processor. The LSB of the I2C slave address is set by pin 4 (SA0).
ICM-20602 Solution Using I2C Interface
In Figure 6, the system processor is an I2C master to the ICM-20602.
Interrupt
Status
Register
ICM-20602
INT
SA0
Slave I2C
or SPI
Serial
Interface
I2C Processor Bus: for reading all
sensor data from MPU
VDDIO or GND
SCL
SCL
SDA
SDA
System
Processor
FIFO
User & Config
Registers
Sensor
Register
Factory
Calibration
Bias & LDOs
VDD
GND
REGOUT
Figure 6. ICM-20602 Solution Using I2C Interface
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 20 of 57
ICM-20602
ICM-20602 Solution Using SPI Interface
In the figure below, the system processor is an SPI master to the ICM-20602. Pins 2, 3, 4, and 5 are used to support the SPC, SDI,
SDO, and CS signals for SPI communications.
Processor SPI Bus: for reading all
data from MPU and for configuring
MPU
Interrupt
Status
Register
INT
CS
ICM-20602
Slave SPI
Serial
Interface
nCS
SDO
SDI
SPC
SPC
SDI
SDO
System
Processor
FIFO
Config
Register
Sensor
Register
Factory
Calibration
Bias & LDOs
VDD
GND
REGOUT
Figure 7. ICM-20602 Solution Using SPI Interface
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 (registers 27 and 28).
When the self-test is activated, the electronics cause the sensors to be actuated and produce an output signal. The output signal is
used to observe the self-test response.
The self-test response is defined as follows:
SELF-TEST RESPONSE = SENSOR OUTPUT WITH SELF-TEST ENABLED – SENSOR OUTPUT WITH SELF-TEST DISABLED
The self-test response for each gyroscope axis is defined in the gyroscope specification table, while that for each accelerometer axis
is defined in the accelerometer specification table.
When the value of the self-test response is within the specified min/max limits of the product specification, the part has passed selftest. When the self-test response exceeds the min/max values, the part is deemed to have failed self-test.
For further information on Self-Test please refer to sections 8 and 9 of this document.
4.10 CLOCKING
The ICM-20602 has a flexible clocking scheme, allowing a variety of 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. An on-chip
PLL provides flexibility in the allowable inputs for generating this clock.
Allowable internal sources for generating the internal clock are:
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.
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.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 21 of 57
ICM-20602
4.12 FIFO
The ICM-20602 contains a 1 KB FIFO (FIFO depth 1008 bytes) register that is accessible via the Serial Interface. The FIFO
configuration register determines which data is written into the FIFO. Possible choices include gyro data, accelerometer data,
temperature readings, and FSYNC input. A FIFO counter keeps track of how many bytes of valid data are contained in the FIFO. The
FIFO register supports burst reads. The interrupt function may be used to determine when new data is available.
The ICM-20602 allows FIFO read in low-power accelerometer mode. A programmable FIFO watermark is included, with data-ready
interrupt triggered when the watermark is reached.
4.13 INTERRUPTS
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the INT and DRDY
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.
For further information regarding interrupts, please refer to sections 8 and 9 of this document.
4.14 DIGITAL-OUTPUT TEMPERATURE SENSOR
An on-chip temperature sensor and ADC are used to measure the ICM-20602 die temperature. The readings from the ADC can be
read from the FIFO or the Sensor Data registers.
4.15 BIAS AND LDOS
The bias and LDO section generates the internal supply and the reference voltages and currents required by the ICM-20602. Its two
inputs are an unregulated VDD and a VDDIO logic reference supply voltage. The LDO output is bypassed by a capacitor at REGOUT.
For further details on the capacitor, please refer to the Bill of Materials for External Components.
4.16 CHARGE PUMP
An on-chip charge pump generates the high voltage required for the MEMS oscillator.
4.17 STANDARD POWER MODES – UPDATE THE POWER MODES
The following table lists the user-accessible power modes for ICM-20602.
Mode
1
2
3
4
5
6
7
8
Name
Sleep Mode
Standby Mode
Accelerometer Low-Power Mode
Accelerometer Low-Noise Mode
Gyroscope Low-Power Mode
Gyroscope Low-Noise Mode
6-Axis Low-Noise Mode
6-Axis Low-Power Mode
Gyro
Off
Drive On
Off
Off
Duty-Cycled
On
On
Duty-Cycled
Accel
Off
Off
Duty-Cycled
On
Off
Off
On
On
Table 11. Standard Power Modes for ICM-20602
Notes: Power consumption for individual modes can be found in section 0
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 22 of 57
ICM-20602
5 PROGRAMMABLE INTERRUPTS
The ICM-20602 has a programmable interrupt system which can generate an interrupt signal on the INT and DRDY pins. Status flags
indicate the source of an interrupt. Interrupt sources may be enabled and disabled individually.
Interrupt Name
Module
Motion Detection
Motion
FIFO Overflow
FIFO
FIFO Watermark
FIFO
Data Ready
Sensor Registers
Table 12. Table of Interrupt Sources
For information regarding the interrupt enable/disable registers and flag registers, please refer to sections 11 and 12 of this
document. Some interrupt sources are explained below.
5.1 WAKE-ON-MOTION INTERRUPT
The ICM-20602 provides motion detection capability. A qualifying motion sample is one where the high passed sample from any axis
has an absolute value exceeding a user-programmable threshold. The following steps explain how to configure the Wake-on-Motion
Interrupt.
Step 1: Ensure that Accelerometer is running
In PWR_MGMT_1 register (0x6B) set CYCLE = 0, SLEEP = 0, and GYRO_STANDBY = 0
In PWR_MGMT_2 register (0x6C) set STBY_XA = STBY_YA = STBY_ZA = 0, and STBY_XG = STBY_YG = STBY_ZG = 1
Step 2: Accelerometer Configuration
In ACCEL_CONFIG2 register (0x1D) set ACCEL_FCHOICE_B = 1 and A_DLPF_CFG[2:0] = 1 (b001)
Step 3: Enable Motion Interrupt
In INT_ENABLE register (0x38) set WOM_X_INT_EN = WOM_Y_INT_EN = WOM_Z_INT_EN = 1 to enable motion interrupt for
X, Y, and Z axis
Step 4: Set Motion Threshold
Set the motion threshold for X-axis in ACCEL_WOM_X_THR register (0x20)
Set the motion threshold for Y-axis in ACCEL_WOM_Y_THR register (0x21)
Set the motion threshold for Z-axis in ACCEL_WOM_Z_THR register (0x22)
Step 5: Set Interrupt Mode
In ACCEL_INTEL_CTRL register (0x69) clear bit 0 (WOM_TH_MODE) to select the motion interrupt as an OR of the enabled
interrupts for X, Y, Z-axes and set bit 0 to make the interrupt an AND of the enabled interrupts for X, Y, Z axes
Step 6: Enable Accelerometer Hardware Intelligence
In ACCEL_INTEL_CTRL register (0x69) set ACCEL_INTEL_EN = ACCEL_INTEL_MODE = 1
Step 7: Set Frequency of Wake-Up
In SMPLRT_DIV register (0x19) set SMPLRT_DIV[7:0] = 3.9Hz – 500Hz
Step 8: Enable Cycle Mode (Accelerometer Low-Power Mode)
In PWR_MGMT_1 register (0x6B) set CYCLE = 1
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 23 of 57
ICM-20602
6 DIGITAL INTERFACE
6.1 I2C AND SPI SERIAL INTERFACES
The internal registers and memory of the ICM-20602 can be accessed using either I2C at 400 kHz or SPI at 10MHz. SPI operates in
four-wire mode.
Pin Number
Pin Name
Pin Description
2
SCL / SPC
I2C serial clock (SCL); SPI serial clock (SPC)
3
SDA / SDI
I2C serial data (SDA); SPI serial data input (SDI)
4
SA0 / SDO
I2C Slave Address LSB (SA0); SPI serial data output (SDO)
5
CS
Chip select (0 = SPI mode)
Table 13. Serial Interface
Note: To prevent switching into I2C mode when using SPI, the I2C interface should be disabled by setting the I2C_IF_DIS configuration bit at I2C_IF. Setting this bit
should be performed immediately after waiting for the time specified by the “Start-Up Time for Register Read/Write” in Section 3.3.2. For further information
regarding the I2C_IF_DIS bit at I2C_IF register, please refer to sections 10 and 11 of this document.
6.2 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 bidirectional. 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-20602 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 VDD. The maximum bus speed is 400 kHz.
The slave address of the ICM-20602 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is determined by the logic level
on pin SA0. This allows two ICM-20602s to be connected to the same I2C bus. When used in this configuration, the address of one of
the devices should be b1101000 (pin SA0 is logic low) and the address of the other should be b1101001 (pin SA0 is logic high).
6.3 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.
SDA
SCL
S
P
START condition
STOP condition
Figure 8. 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).
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 24 of 57
ICM-20602
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 9. 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.
SDA
SCL
1–7
8
9
1–7
8
1–7
9
8
9
S
P
START ADDRESS
condition
R/W
ACK
DATA
ACK
DATA
ACK
STOP
condition
Figure 10. Complete I2C Data Transfer
To write the internal ICM-20602 registers, the master transmits the start condition (S), followed by the I 2C address and the write bit
(0). At the 9th clock cycle (when the clock is high), the ICM-20602 acknowledges the transfer. Then the master puts the register
address (RA) on the bus. After the ICM-20602 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 ICM20602 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
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
S
AD+W
RA
ACK
DATA
ACK
P
ACK
Page 25 of 57
ICM-20602
Burst Write Sequence
Master
Slave
S
AD+W
RA
DATA
ACK
ACK
DATA
ACK
P
ACK
To read the internal ICM-20602 registers, the master sends a start condition, followed by the I 2C address and a write bit, and then
the register address that is going to be read. Upon receiving the ACK signal from the ICM-20602, the master transmits a start signal
followed by the slave address and read bit. As a result, the ICM-20602 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
S
ACK
ACK
RA
S
AD+R
NACK
ACK
P
DATA
Burst Read Sequence
Master
Slave
S
AD+W
ACK
AD+R
ACK
ACK
ACK
DATA
NACK
P
DATA
6.4 I2C TERMS
Signal
Description
S
AD
W
Start Condition: SDA goes from high to low while SCL is high
Slave I2C address
Write bit (0)
R
ACK
Read bit (1)
Acknowledge: SDA line is low while the SCL line is high at the 9th clock cycle
NACK
RA
DATA
Not-Acknowledge: SDA line stays high at the 9th clock cycle
ICM-20602 internal register address
Transmit or received data
P
Stop condition: SDA going from low to high while SCL is high
Table 14. I2C Terms
6.5 SPI INTERFACE
SPI is a 4-wire synchronous serial interface that uses two control lines and two data lines. The ICM-20602 always operates as a Slave
device during standard Master-Slave SPI operation.
With respect to the Master, the Serial Clock output (SPC), the Serial Data Output (SDO) and the Serial Data Input (SDI) 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 SPC
3. Data should be transitioned on the falling edge of SPC
4. The maximum frequency of SPC is 10MHz
5. SPI read and write 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) or Write (0) operation. The following 7 bits contain the Register Address. In cases of multiplebyte Read/Writes, data is two or more bytes:
SPI Address format
MSB
R/W
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
A6
A5
A4
A3
A2
A1
LSB
A0
Page 26 of 57
ICM-20602
SPI Data format
MSB
D7
6.
D6
D5
D4
D3
D2
D1
LSB
D0
Supports Single or Burst Read/Writes.
SPC
SDI
SDO
SPI Master
CS1
SPI Slave 1
CS
CS2
SPC
SDI
SDO
CS
SPI Slave 2
Figure 11. Typical SPI Master/Slave Configuration
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 27 of 57
ICM-20602
7 SERIAL INTERFACE CONSIDERATIONS
7.1 ICM-20602 SUPPORTED INTERFACES
The ICM-20602 supports I2C communications on its serial interface. The ICM-20602’s I/O logic levels are set to be VDDIO.
The figure below depicts a sample circuit of ICM-20602. It shows the relevant logic levels and voltage connections.
VDDIO
(0V - VDDIO)
VDD
VDDIO
VDD
INT
SDA
(0V - VDDIO)
VDDIO
SCL
SYSTEM BUS
VDD_IO
System
Processor IO
(0V - VDDIO)
(0V - VDDIO)
(0V - VDDIO)
SYNC
ICM-20602
ICM-20731A
VDDIO
(0V, VDDIO)
AD0
Figure 12. I/O Levels and Connections
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 28 of 57
ICM-20602
8 REGISTER MAP
The following table lists the register map for the ICM-20602. Note that all registers are accessible in all modes of device operation.
Addr
(Hex)
Addr
(Dec.)
Register Name
Serial
I/F
04
04
XG_OFFS_TC_H
READ/
WRITE
05
05
XG_OFFS_TC_L
READ/
WRITE
07
07
YG_OFFS_TC_H
READ/
WRITE
08
08
YG_OFFS_TC_L
READ/
WRITE
0A
10
ZG_OFFS_TC_H
READ/
WRITE
0B
11
ZG_OFFS_TC_L
READ/
WRITE
ZG_OFFS_TC_L [7:0]
0D
13
SELF_TEST_X_ACCEL
READ/
WRITE
XA_ST_DATA[7:0]
0E
14
SELF_TEST_Y_ACCEL
READ/
WRITE
YA_ST_DATA[7:0]
0F
15
SELF_TEST_Z_ACCEL
READ/
WRITE
ZA_ST_DATA[7:0]
13
19
XG_OFFS_USRH
READ/
WRITE
X_OFFS_USR [15:8]
14
20
XG_OFFS_USRL
READ/
WRITE
X_OFFS_USR [7:0]
15
21
YG_OFFS_USRH
READ/
WRITE
Y_OFFS_USR [15:8]
Y_OFFS_USR [7:0]
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
XG_OFFS_LP[5:0]
XG_OFFS_TC_H [9:8]
XG_OFFS_TC_L [7:0]
YG_OFFS_LP[5:0]
YG_OFFS_TC_H [9:8]
YG_OFFS_TC_L [7:0]
ZG_OFFS_LP[5:0]
ZG_OFFS_TC_H [9:8]
16
22
YG_OFFS_USRL
READ/
WRITE
17
23
ZG_OFFS_USRH
READ/
WRITE
Z_OFFS_USR [15:8]
18
24
ZG_OFFS_USRL
READ/
WRITE
Z_OFFS_USR [7:0]
19
25
SMPLRT_DIV
READ/
WRITE
SMPLRT_DIV[7:0]
1A
26
CONFIG
READ/
WRITE
-
FIFO_
MODE
1B
27
GYRO_CONFIG
READ/
WRITE
XG_ST
YG_ST
ZG_ST
FS_SEL [1:0]
1C
28
ACCEL_CONFIG
READ/
WRITE
XA_ST
YA_ST
ZA_ST
ACCEL_FS_SEL[1:0]
EXT_SYNC_SET[2:0]
DLPF_CFG[2:0]
-
FCHOICE_B[1:0]
-
1D
29
ACCEL_CONFIG 2
READ/
WRITE
1E
30
LP_MODE_CFG
READ/
WRITE
20
32
ACCEL_WOM_X_THR
READ/
WRITE
WOM_X_TH[7:0]
21
33
ACCEL_WOM_Y_THR
READ/
WRITE
WOM_Y_TH[7:0]
22
34
ACCEL_WOM_Z_THR
READ/
WRITE
WOM_Z_TH[7:0]
23
35
FIFO_EN
READ/
WRITE
36
54
FSYNC_INT
READ to
CLEAR
FSYNC_INT
37
55
INT_PIN_CFG
READ/
WRITE
INT_LEVEL
INT_OPEN
LATCH
_INT_EN
INT_RD
_CLEAR
FSYNC_INT
_LEVEL
FSYNC
_INT_MODE
_EN
38
56
INT_ENABLE
READ/
WRITE
WOM_X_I
NT_EN
WOM_Y_INT
_EN
WOM_Z_INT
_EN
FIFO
_OFLOW
_EN
FSYNC_INT
_EN
GDRIVE_INT
_EN
39
57
FIFO_WM_INT_STATUS
READ to
CLEAR
-
FIFO_WM_IN
T
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Bit0
-
ACCEL_FCH
OICE_B
DEC2_CFG
GYRO_CYC
LE
A_DLPF_CFG
G_AVGCFG[2:0]
-
-
GYRO_FIFO_EN
ACCEL_FIF
O_EN
-
-
-
-
-
Page 29 of 57
DATA_RDY_IN
T_EN
ICM-20602
Addr
(Hex)
Addr
(Dec.)
Register Name
Serial
I/F
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
3A
58
INT_STATUS
READ to
CLEAR
WOM_X_I
NT
WOM_Y_INT
WOM_Z_INT
FIFO
_OFLOW
_INT
-
GDRIVE_INT
-
DATA
_RDY_INT
3B
59
ACCEL_XOUT_H
READ
3C
60
ACCEL_XOUT_L
READ
ACCEL_XOUT[7:0]
3D
61
ACCEL_YOUT_H
READ
ACCEL_YOUT[15:8]
3E
62
ACCEL_YOUT_L
READ
ACCEL_YOUT[7:0]
3F
63
ACCEL_ZOUT_H
READ
ACCEL_ZOUT[15:8]
40
64
ACCEL_ZOUT_L
READ
ACCEL_ZOUT[7:0]
41
65
TEMP_OUT_H
READ
TEMP_OUT[15:8]
42
66
TEMP_OUT_L
READ
TEMP_OUT[7:0]
43
67
GYRO_XOUT_H
READ
GYRO_XOUT[15:8]
44
68
GYRO_XOUT_L
READ
GYRO_XOUT[7:0]
45
69
GYRO_YOUT_H
READ
GYRO_YOUT[15:8]
46
70
GYRO_YOUT_L
READ
GYRO_YOUT[7:0]
47
71
GYRO_ZOUT_H
READ
GYRO_ZOUT[15:8]
48
72
GYRO_ZOUT_L
READ
GYRO_ZOUT[7:0]
XG_ST_DATA[7:0]
ACCEL_XOUT[15:8]
50
80
SELF_TEST_X_GYRO
READ/
WRITE
51
81
SELF_TEST_Y_GYRO
READ/
WRITE
YG_ST_DATA[7:0]
52
82
SELF_TEST_Z_GYRO
READ/
WRITE
ZG_ST_DATA[7:0]
60
96
FIFO_WM_TH1
READ/
WRITE
61
97
FIFO_WM_TH2
READ/
WRITE
68
104
SIGNAL_PATH_RESET
READ/
WRITE
69
105
ACCEL_INTEL_CTRL
READ/
WRITE
ACCEL_INT
EL_EN
ACCEL_INTEL
_MODE
6A
106
USER_CTRL
READ/
WRITE
-
FIFO_EN
6B
107
PWR_MGMT_1
READ/
WRITE
DEVICE_RE
SET
SLEEP
6C
108
PWR_MGMT_2
READ/
WRITE
70
112
I2C_IF
READ/
WRITE
72
114
FIFO_COUNTH
READ
FIFO_COUNT[15:8]
73
115
FIFO_COUNTL
READ
FIFO_COUNT[7:0]
74
116
FIFO_R_W
READ/
WRITE
FIFO_DATA[7:0]
75
117
WHO_AM_I
READ
WHOAMI[7:0]
XA_OFFS [14:7]
77
119
XA_OFFSET_H
READ/
WRITE
78
120
XA_OFFSET_L
READ/
WRITE
7A
122
YA_OFFSET_H
READ/
WRITE
7B
123
YA_OFFSET_L
READ/
WRITE
7D
125
ZA_OFFSET_H
READ/
WRITE
7E
126
ZA_OFFSET_L
READ/
WRITE
-
FIFO_WM_TH[9:8]
FIFO_WM_TH[7:0]
-
-
FIFO
_RST
CYCLE
GYRO_
STANDBY
TEMP_DIS
STBY_XA
STBY_YA
STBY_ZA
I2C_IF_DIS
ACCEL
_RST
TEMP
_RST
OUTPUT_LIMI
T
WOM_TH_MO
DE
-
SIG_COND
_RST
CLKSEL[2:0]
STBY_XG
STBY_YG
-
XA_OFFS [6:0]
-
YA_OFFS [14:7]
YA_OFFS [6:0]
-
ZA_OFFS [14:7]
ZA_OFFS [6:0]
-
Table 15. Register Map
Note: Register Names ending in _H and _L contain the high and low bytes, respectively, of an internal register value.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
STBY_ZG
Page 30 of 57
ICM-20602
The reset value is 0x00 for all registers other than the registers below, also the self-test registers contain pre-programmed values
and will not be 0x00 after reset.
Register 26 (0x80) CONFIG
Register 107 (0x41) Power Management 1
Register 117 (0x12) WHO_AM_I
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 31 of 57
ICM-20602
9 REGISTER DESCRIPTIONS
This section describes the function and contents of each register within the ICM-20602.
Note: The device will come up in sleep mode upon power-up.
9.1 REGISTER DESCRIPTIONS
Reset values are “0” for all registers, unless otherwise specified
9.2 REGISTER 04 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: XG_OFFS_TC_H
Register Type: READ/WRITE
Register Address: 04 (Decimal); 04 (Hex)
BIT
NAME
[7:2]
XG_OFFS_LP[5:0]
[1:0]
XG_OFFS_TC_H[9:8]
FUNCTION
Stores the offset shift in the gyroscope output from low noise mode to
low power mode to be implemented as a correction in the customer
software. 2’s complement digital code, 0.125 dps/LSB from +3.875dps
to -4dps.
Bits 9 and 8 of the 10-bit offset of X gyroscope (2’s complement)
9.3 REGISTER 05 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: XG_OFFS_TC_L
Type: READ/WRITE
Register Address: 05 (Decimal); 05 (Hex)
BIT
[7:0]
NAME
XG_OFFS_TC_L[7:0]]
FUNCTION
Bits 7 to 0 of the 10-bit offset of X gyroscope (2’s complement)
Description:
The temperature compensation (TC) registers are used to reduce gyro offset variation due to temperature change.
The TC feature is always enabled. However, the compensation only happens when a TC coefficient is programed
during factory trim which gets loaded into these registers at power up or after a DEVICE_RESET. If these registers
contain a value of zero, temperature compensation has no effect on the offset of the chip. The TC registers have a
10-bit magnitude and sign adjustment in all full scale modes with a resolution of 2.52 mdps/C steps.
If these registers contain a non-zero value after power up, the user may write zeros to them to see the offset values
without TC with temperature variation. Note that doing so may result in offset values that exceed data sheet “Initial
ZRO Tolerance” in other than normal ambient temperature (~25°C). The TC coefficients maybe restored by the user
with a power up or a DEVICE_RESET.
The above description also applies to registers 7-8 and 10-11.
9.4 REGISTER 07 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: YG_OFFS_TC_H
Register Type: READ/WRITE
Register Address: 07 (Decimal); 07 (Hex)
BIT
NAME
[7:2]
YG_OFFS_LP[5:0]
[1:0]
YG_OFFS_TC_H[9:8]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
Stores the offset shift in the gyroscope output from low noise mode to low power mode to be
implemented as a correction in the customer software. 2’s complement digital code,
0.125dps/LSB from +3.875dps to -4dps.
Bits 9 and 8 of the 10-bit offset of Y gyroscope (2’s complement)
Page 32 of 57
ICM-20602
9.5 REGISTER 08 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: YG_OFFS_TC_L
Register Type: READ/WRITE
Register Address: 08 (Decimal); 08 (Hex)
BIT
[7:0]
NAME
YG_OFFS_TC_L[7:0]]
FUNCTION
Bits 7 to 0 of the 10-bit offset of Y gyroscope (2’s complement)
9.6 REGISTER 10 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: ZG_OFFS_TC_H
Register Type: READ/WRITE
Register Address: 10 (Decimal); 0A (Hex)
BIT
NAME
[7:2]
ZG_OFFS_LP[5:0]
[1:0]
ZG_OFFS_TC_H[9:8]
FUNCTION
Stores the offset shift in the gyroscope output from low noise mode to low power mode
to be implemented as a correction in the customer software. 2’s complement digital
code, 0.125dps/LSB from +3.875dps to -4dps.
Bits 9 and 8 of the 10-bit offset of Z gyroscope (2’s complement)
9.7 REGISTER 11 – GYROSCOPE LOW NOISE TO LOW POWER OFFSET SHIFT AND GYROSCOPE OFFSET
TEMPERATURE COMPENSATION (TC) REGISTER
Register Name: ZG_OFFS_TC_L
Register Type: READ/WRITE
Register Address: 11 (Decimal); 0B (Hex)
BIT
[7:0]
NAME
ZG_OFFS_TC_L[7:0]]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
Bits 7 to 0 of the 10-bit offset of Z gyroscope (2’s complement)
Page 33 of 57
ICM-20602
9.8 REGISTERS 13 TO 15 ACCELEROMETER SELF-TEST REGISTERS
Register Name: SELF_TEST_X_ACCEL, SELF_TEST_Y_ACCEL, SELF_TEST_Z_ACCEL
Type: READ/WRITE
Register Address: 13, 14, 15 (Decimal); 0D, 0E, 0F (Hex)
REGISTER
BIT
NAME
FUNCTION
SELF_TEST_X_ACCEL
[7:0]
XA_ST_DATA[7:0]
The value in this register indicates the self-test output generated
during manufacturing tests. This value is to be used to check
against subsequent self-test outputs performed by the end user.
SELF_TEST_Y_ACCEL
[7:0]
YA_ST_DATA[7:0]
The value in this register indicates the self-test output generated
during manufacturing tests. This value is to be used to check
against subsequent self-test outputs performed by the end user.
SELF_TEST_Z_ACCEL
[7:0]
ZA_ST_DATA[7:0]
The value in this register indicates the self-test output generated
during manufacturing tests. This value is to be used to check
against subsequent self-test outputs performed by the end user.
The equation to convert self-test codes in OTP to factory self-test measurement is:
ST _ OTP (2620 / 2 FS ) *1.01( ST _ code1) (lsb)
where ST_OTP is the value that is stored in OTP of the device, FS is the Full Scale value, and ST_code is based on the Self-Test value
(ST_ FAC) determined in InvenSense’s factory final test and calculated based on the following equation:
ST _ code round (
log( ST _ FAC /( 2620 / 2 FS ))
) 1
log(1.01)
9.9 REGISTER 19 – X-GYRO OFFSET ADJUSTMENT REGISTER: HIGH BYTE
Register Name: XG_OFFS_USRH
Register Type: READ/WRITE
Register Address: 19 (Decimal); 13 (Hex)
BIT
[7:0]
NAME
X_OFFS_USR[15:8]
FUNCTION
Bits 15 to 8 of the 16-bit offset of X gyroscope (2’s complement). This register is used to
remove DC bias from the sensor output. The value in this register is added to the
gyroscope sensor value before going into the sensor register.
9.10 REGISTER 20 – X-GYRO OFFSET ADJUSTMENT REGISTER: LOW BYTE
Register Name: XG_OFFS_USRL
Register Type: READ/WRITE
Register Address: 20 (Decimal); 14 (Hex)
BIT
[7:0]
NAME
X_OFFS_USR[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
Bits 7 to 0 of the 16-bit offset of X gyroscope (2’s complement). This register is used to
remove DC bias from the sensor output. The value in this register is added to the
gyroscope sensor value before going into the sensor register.
Page 34 of 57
ICM-20602
9.11 REGISTER 21 – Y-GYRO OFFSET ADJUSTMENT REGISTER: HIGH BYTE
Register Name: YG_OFFS_USRH
Register Type: READ/WRITE
Register Address: 21 (Decimal); 15 (Hex)
BIT
NAME
[7:0]
Y_OFFS_USR[15:8]
FUNCTION
Bits 15 to 8 of the 16-bit offset of Y gyroscope (2’s complement). This register is
used to remove DC bias from the sensor output. The value in this register is added
to the gyroscope sensor value before going into the sensor register.
9.12 REGISTER 22 – Y-GYRO OFFSET ADJUSTMENT REGISTER: LOW BYTE
Register Name: YG_OFFS_USRL
Register Type: READ/WRITE
Register Address: 22 (Decimal); 16 (Hex)
BIT
NAME
[7:0]
Y_OFFS_USR[7:0]
FUNCTION
Bits 7 to 0 of the 16-bit offset of Y gyroscope (2’s complement). This
register is used to remove DC bias from the sensor output. The value
in this register is added to the gyroscope sensor value before going
into the sensor register.
9.13 REGISTER 23 – Z-GYRO OFFSET ADJUSTMENT REGISTER: HIGH BYTE
Register Name: ZG_OFFS_USRH
Register Type: READ/WRITE
Register Address: 23 (Decimal); 17 (Hex)
BIT
NAME
[7:0]
FUNCTION
Bits 15 to 8 of the 16-bit offset of Z gyroscope (2’s complement). This
register is used to remove DC bias from the sensor output. The value
in this register is added to the gyroscope sensor value before going
into the sensor register.
Z_OFFS_USR[15:8]
9.14 REGISTER 24 – Z-GYRO OFFSET ADJUSTMENT REGISTER: LOW BYTE
Register Name: ZG_OFFS_USRL
Register Type: READ/WRITE
Register Address: 24 (Decimal); 18 (Hex)
BIT
[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
NAME
Z_OFFS_USR[7:0]
FUNCTION
Bits 7 to 0 of the 16-bit offset of Z gyroscope (2’s
complement). This register is used to remove DC bias from
the sensor output. The value in this register is added to the
gyroscope sensor value before going into the sensor
register.
Page 35 of 57
ICM-20602
9.15 REGISTER 25 – SAMPLE RATE DIVIDER
Register Name: SMPLRT_DIV
Register Type: READ/WRITE
Register Address: 25 (Decimal); 19 (Hex)
BIT
NAME
[7:0]
SMPLRT_DIV[7:0]
FUNCTION
Divides the internal sample rate (see register CONFIG) to generate the
sample rate that controls sensor data output rate, FIFO sample rate.
NOTE: This register is only effective when FCHOICE_B register bits are 2’b00, and
(0 < DLPF_CFG < 7).
This is the update rate of the sensor register:
SAMPLE_RATE = INTERNAL_SAMPLE_RATE / (1 + SMPLRT_DIV)
Where INTERNAL_SAMPLE_RATE = 1 kHz
9.16 REGISTER 26 – CONFIGURATION
Register Name: CONFIG
Register Type: READ/WRITE
Register Address: 26 (Decimal); 1A (Hex)
BIT
[7]
[6]
NAME
FIFO_MODE
[5:3]
EXT_SYNC_SET[2:0]
[2:0]
DLPF_CFG[2:0]
FUNCTION
Default configuration value is 1. User should set it to 0.
When set to ‘1’, when the FIFO is full, additional writes will not be
written to FIFO.
When set to ‘0’, when the FIFO is full, additional writes will be written
to the FIFO, replacing the oldest data.
Enables the FSYNC pin data to be sampled.
EXT_SYNC_SET
FSYNC bit location
0
function disabled
1
TEMP_OUT_L[0]
2
GYRO_XOUT_L[0]
3
GYRO_YOUT_L[0]
4
GYRO_ZOUT_L[0]
5
ACCEL_XOUT_L[0]
6
ACCEL_YOUT_L[0]
7
ACCEL_ZOUT_L[0]
FSYNC will be latched to capture short strobes. This will be done such
that if FSYNC toggles, the latched value toggles, but won’t toggle again
until the new latched value is captured by the sample rate strobe.
For the DLPF to be used, FCHOICE_B[1:0] is 2’b00.
See the table below.
The DLPF is configured by DLPF_CFG, when FCHOICE_B [1:0] = 2b’00. The gyroscope and temperature sensor are filtered
according to the value of DLPF_CFG and FCHOICE_B as shown in the table below.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 36 of 57
ICM-20602
FCHOICE_B
Temperature
Sensor
Gyroscope
DLPF_CFG
X
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
X
X
0
1
2
3
4
5
6
7
3-dB BW
(Hz)
Noise BW
(Hz)
Rate
(kHz)
8173
3281
250
176
92
41
20
10
5
3281
8595.1
32
3451.0
306.6
177.0
108.6
59.0
30.5
15.6
8.0
3451.0
32
8
1
1
1
1
1
1
8
3-dB BW (Hz)
4000
4000
4000
188
98
42
20
10
5
4000
9.17 REGISTER 27 – GYROSCOPE CONFIGURATION
Register Name: GYRO_CONFIG
Register Type: READ/WRITE
Register Address: 27 (Decimal); 1B (Hex)
BIT
[7]
[6]
[5]
XG_ST
YG_ST
ZG_ST
NAME
[4:3]
FS_SEL[1:0]
[2]
[1:0]
FCHOICE_B[1:0]
FUNCTION
X Gyro self-test
Y Gyro self-test
Z Gyro self-test
Gyro Full Scale Select:
00 = ±250 dps
01= ±500 dps
10 = ±1000 dps
11 = ±2000 dps
Reserved
Used to bypass DLPF as shown in table 1 above.
9.18 REGISTER 28 – ACCELEROMETER CONFIGURATION
Register Name: ACCEL_CONFIG
Register Type: READ/WRITE
Register Address: 28 (Decimal); 1C (Hex)
BIT
[7]
[6]
[5]
XA_ST
YA_ST
ZA_ST
[4:3]
ACCEL_FS_SEL[1:0]
[2:0]
-
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
NAME
FUNCTION
X Accel self-test
Y Accel self-test
Z Accel self-test
Accel Full Scale Select:
±2g (00), ±4g (01), ±8g (10), ±16g (11)
Reserved
Page 37 of 57
ICM-20602
9.19 REGISTER 29 – ACCELEROMETER CONFIGURATION 2
Register Name: ACCEL_CONFIG2
Register Type: READ/WRITE
Register Address: 29 (Decimal); 1D (Hex)
BIT
NAME
[5:4]
DEC2_CFG[1:0]
[3]
[2:0]
ACCEL_FCHOICE_B
A_DLPF_CFG
FUNCTION
Averaging filter settings for Low Power Accelerometer mode:
0 = Average 4 samples
1 = Average 8 samples
2 = Average 16 samples
3 = Average 32 samples
Used to bypass DLPF as shown in the table below.
Accelerometer low pass filter setting as shown in table 2 below.
Accelerometer Data Rates and Bandwidths (Low-Noise Mode)
Accelerometer
ACCEL_FCHOICE_B
A_DLPF_CFG
3-dB BW
(Hz)
Noise BW
(Hz)
Rate
(kHz)
1
0
0
0
0
0
0
0
0
X
0
1
2
3
4
5
6
7
1046.0
218.1
218.1
99.0
44.8
21.2
10.2
5.1
420.0
1100.0
235.0
235.0
121.3
61.5
31.0
15.5
7.8
441.6
4
1
1
1
1
1
1
1
1
The data output rate of the DLPF filter block can be further reduced by a factor of 1/(1+SMPLRT_DIV), where SMPLRT_DIV is an 8-bit
integer. Following is a small subset of ODRs that are configurable for the accelerometer in the low-noise mode in this manner (Hz):
3.91, 7.81, 15.63, 31.25, 62.50, 125, 250, 500, 1K
The following table lists the approximate accelerometer filter bandwidths available in the low-power mode of operation for some
example ODRs.
In the low-power mode of operation, the accelerometer is duty-cycled. The following table shows some example configurations for
accelerometer low power mode.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 38 of 57
ICM-20602
Averages
1x
4x
8x
16x
32x
ACCEL_FCHOICE_B
1
0
0
0
0
DEC2_CFG
X
0
1
2
3
A_DLPF_CFG
X
7
7
7
7
Ton (ms)
1.084
1.84
2.84
4.84
8.84
NBW (Hz)
1100
442
236
122
62
3-dB BW (Hz)
1046
420
219
111
56
Noise TYP
(mg-rms)
3.3
2.1
1.5
1.1
0.79
SMPLRT_DIV
ODR
(Hz)
Low-Power Accelerometer Mode Current Consumption (µA)
255
3.91
9.4
10.2
11.5
13.8
18.5
127
7.81
10.7
12.4
14.7
19.6
28.9
99
10
11.4
13.7
16.6
22.6
34.7
63
15.63
13.3
16.7
21.5
30.8
49.7
31
31.25
18.3
25.4
34.8
53.6
91.2
19
50
24.4
35.8
50.8
80.8
141.1
15
62.5
28.4
42.7
61.5
99.0
174.3
9
100
40.7
63.5
93.6
153.7
303.3
7
125
48.8
77.4
114.8
190.1
4
200
73.4
118.8
178.9
299.3
3
250
89.6
146.5
221.6
1
500
171.1
284.9
N/A
N/A
N/A
9.20 REGISTER 30 – GYROSCOPE LOW POWER MODE CONFIGURATION
Register Name: LP_MODE_CFG
Register Type: READ/WRITE
Register Address: 30 (Decimal); 1E (Hex)
BIT
[7]
[6:4]
[3:0]
NAME
GYRO_CYCLE
G_AVGCFG[2:0]
-
FUNCTION
When set to ‘1’ low-power gyroscope mode is enabled. Default setting is ‘0’
Averaging filter configuration for low-power gyroscope mode. Default setting is ‘000’
Reserved
To operate in gyroscope low-power mode or 6-axis low-power mode, GYRO_CYCLE should be set to ‘1.’ Gyroscope filter
configuration is determined by G_AVGCFG[2:0] that sets the averaging filter configuration. It is not dependent on DLPF_CFG[2:0].
The following table shows some example configurations for gyroscope low power mode.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 39 of 57
ICM-20602
SMPLRT_DIV
255
99
65
64
33
32
19
17
16
9
7
6
4
3
2
Averages
G_AVGCFG
NBW (Hz)
3-dB BW (Hz)
Noise TYP
(dps-rms)
ODR (Hz)
3.9
10.0
15.2
15.4
29.4
30.3
50.0
55.6
58.8
100.0
125.0
142.9
200.0
250.0
333.3
1x
0
650.8
2x
1
407.1
4x
2
224.2
8x
3
117.4
16x
4
60.2
32x
5
30.6
64x
6
15.6
128x
7
8.0
622
391
211
108
54
27
14
7
0.10
0.08
0.016
0.011
0.79
0.81
0.83
0.83
0.87
0.87
0.93
0.95
0.96
1.08
1.16
1.21
1.38
1.53
1.78
0.80
0.82
0.84
0.84
0.90
0.90
0.98
1.00
1.01
1.17
1.27
1.34
1.56
1.75
2.07
1.01
1.37
1.67
1.69
2.51
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
1.23
1.94
2.53
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.06
0.04
0.03
0.02
Low-Power Gyroscope Mode Current Consumption (mA)
0.80
0.82
0.85
0.90
0.84
0.87
0.95
1.09
0.87
0.92
1.03
1.24
0.87
0.92
1.03
1.25
0.95
1.05
1.26
1.68
0.95
1.06
1.28
1.70
1.06
1.24
1.60
2.30
1.10
1.29
1.69
2.47
1.11
1.32
1.74
N/A
1.35
1.70
2.41
N/A
1.49
1.93
N/A
N/A
1.59
2.09
N/A
N/A
1.91
N/A
N/A
N/A
2.19
N/A
N/A
N/A
N/A
N/A
N/A
N/A
9.21 REGISTER 32 – WAKE-ON MOTION THRESHOLD: X-AXIS ACCELEROMETER
Register Name: ACCEL_WOM_X_THR
Register Type: READ/WRITE
Register Address: 32 (Decimal); 20 (Hex)
BIT
NAME
[7:0]
WOM_X_TH[7:0]
FUNCTION
This register holds the threshold value for the Wake on Motion Interrupt for X-axis
accelerometer.
9.22 REGISTER 33 – WAKE-ON MOTION THRESHOLD: Y-AXIS ACCELEROMETER
Register Name: ACCEL_WOM_Y_THR
Register Type: READ/WRITE
Register Address: 33 (Decimal); 21 (Hex)
BIT
NAME
[7:0]
WOM_Y_TH[7:0]
FUNCTION
This register holds the threshold value for the Wake on Motion Interrupt for Y-axis
accelerometer.
9.23 REGISTER 34 – WAKE-ON MOTION THRESHOLD: Z-AXIS ACCELEROMETER
Register Name: ACCEL_WOM_Z_THR
Register Type: READ/WRITE
Register Address: 34 (Decimal); 22 (Hex)
BIT
NAME
[7:0]
WOM_Z_TH[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
This register holds the threshold value for the Wake on Motion Interrupt for Z-axis
accelerometer.
Page 40 of 57
ICM-20602
9.24 REGISTER 35 – FIFO ENABLE
Register Name: FIFO_EN
Register Type: READ/WRITE
Register Address: 35 (Decimal); 23 (Hex)
BIT
[7:5]
NAME
-
[4]
GYRO_FIFO_EN
[3]
ACCEL_FIFO_EN
[2:0]
-
FUNCTION
Reserved
1 – write TEMP_OUT_H, TEMP_OUT_L, GYRO_XOUT_H, GYRO_XOUT_L, GYRO_YOUT_H,
GYRO_YOUT_L, GYRO_ZOUT_H, and GYRO_ZOUT_L to the FIFO at the sample rate; If
enabled, buffering of data occurs even if data path is in standby.
0 – function is disabled
1 – write ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L,
ACCEL_ZOUT_H, ACCEL_ZOUT_L, TEMP_OUT_H, and TEMP_OUT_L to the FIFO at the
sample rate;
0 – function is disabled
Reserved
NOTE: If both GYRO_FIFO_EN And ACCEL_FIFO_EN are 1, write ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L, ACCEL_ZOUT_H, ACCEL_ZOUT_L,
TEMP_OUT_H, TEMP_OUT_L, GYRO_XOUT_H, GYRO_XOUT_L, GYRO_YOUT_H, GYRO_YOUT_L, GYRO_ZOUT_H, and GYRO_ZOUT_L to the FIFO at the sample rate.
9.25 REGISTER 54 – FSYNC INTERRUPT STATUS
Register Name: FSYNC_INT
Register Type: READ to CLEAR
Register Address: 54 (Decimal); 36 (Hex)
BIT
NAME
[7]
FSYNC_INT
FUNCTION
This bit automatically sets to 1 when a FSYNC interrupt has been generated. The bit clears
to 0 after the register has been read.
9.26 REGISTER 55 – INT/DRDY PIN / BYPASS ENABLE CONFIGURATION
Register Name: INT_PIN_CFG
Register Type: READ/WRITE
Register Address: 55 (Decimal); 37 (Hex)
BIT
NAME
[7]
INT_LEVEL
[6]
INT_OPEN
[5]
LATCH_INT_EN
[4]
INT_RD_CLEAR
[3]
FSYNC_INT_LEVEL
[2]
FSYNC_INT_MODE_EN
[1:0]
-
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
1 – The logic level for INT/DRDY pin is active low.
0 – The logic level for INT/DRDY pin is active high.
1 – INT/DRDY pin is configured as open drain.
0 – INT/DRDY pin is configured as push-pull.
1 – INT/DRDY pin level held until interrupt status is cleared.
0 – INT/DRDY pin indicates interrupt pulse’s width is 50us.
1 – Interrupt status is cleared if any read operation is performed.
0 – Interrupt status is cleared only by reading INT_STATUS register
1 – The logic level for the FSYNC pin as an interrupt is active low.
0 – The logic level for the FSYNC pin as an interrupt is active high.
When this bit is equal to 1, the FSYNC pin will trigger an interrupt when it transitions to the
level specified by FSYNC_INT_LEVEL. When this bit is equal to 0, the FSYNC pin is disabled
from causing an interrupt.
Reserved.
Page 41 of 57
ICM-20602
9.27 REGISTER 57 – FIFO WATERMARK INTERRUPT STATUS
Register Name: FIFO_WM_INT_STATUS
Register Type: READ to CLEAR
Register Address: 57 (Decimal); 39 (Hex)
BIT
[6]
NAME
FIFO_WM_INT
FUNCTION
FIFO Watermark interrupt status. Cleared on Read.
9.28 REGISTER 58 – INTERRUPT STATUS
Register Name: INT_STATUS
Register Type: READ to CLEAR
Register Address: 58 (Decimal); 3A (Hex)
BIT
[7]
[6]
[5]
NAME
WOM_X_INT
WOM_Y_INT
WOM_Z_INT
[4]
FIFO_OFLOW_INT
[3]
[2]
[1]
GDRIVE_INT
-
[0]
DATA_RDY_INT
FUNCTION
X-axis accelerometer WoM interrupt status. Cleared on Read.
Y-axis accelerometer WoM interrupt status. Cleared on Read.
Z-axis accelerometer WoM interrupt status. Cleared on Read.
This bit automatically sets to 1 when a FIFO buffer overflow has been generated. The bit
clears to 0 after the register has been read.
Reserved.
Gyroscope Drive System Ready interrupt
Reserved
This bit automatically sets to 1 when a Data Ready interrupt is generated. The bit clears to
0 after the register has been read.
9.29 REGISTERS 59 TO 64 – ACCELEROMETER MEASUREMENTS: X-AXIS HIGH BYTE
Register Name: ACCEL_XOUT_H
Register Type: READ only
Register Address: 59 (Decimal); 3B (Hex)
BIT
[7:0]
NAME
ACCEL_XOUT[15:8]
FUNCTION
High byte of accelerometer x-axis data.
Register Name: ACCEL_XOUT_L
Register Type: READ only
Register Address: 60 (Decimal); 3C (Hex)
BIT
[7:0]
NAME
ACCEL_XOUT[7:0]
FUNCTION
Low byte of accelerometer x-axis data.
Register Name: ACCEL_YOUT_H
Register Type: READ only
Register Address: 61 (Decimal); 3D (Hex)
BIT
[7:0]
NAME
ACCEL_YOUT[15:8]
FUNCTION
High byte of accelerometer y-axis data.
Register Name: ACCEL_YOUT_L
Register Type: READ only
Register Address: 62 (Decimal); 3E (Hex)
BIT
[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
NAME
ACCEL_YOUT[7:0]
FUNCTION
Low byte of accelerometer y-axis data.
Page 42 of 57
ICM-20602
Register Name: ACCEL_ZOUT_H
Register Type: READ only
Register Address: 63 (Decimal); 3F (Hex)
BIT
[7:0]
NAME
ACCEL_ZOUT[15:8]
FUNCTION
High byte of accelerometer z-axis data.
Register Name: ACCEL_ZOUT_L
Register Type: READ only
Register Address: 64 (Decimal); 40 (Hex)
BIT
[7:0]
NAME
ACCEL_ZOUT[7:0]
FUNCTION
Low byte of accelerometer z-axis data.
9.30 REGISTERS 65 TO 66 – TEMPERATURE MEASUREMENT
Register Name: TEMP_OUT_H
Register Type: READ only
Register Address: 65 (Decimal); 41 (Hex)
BIT
[7:0]
NAME
TEMP_OUT[15:8]
FUNCTION
Low byte of the temperature sensor output
Register Name: TEMP_OUT_L
Register Type: READ only
Register Address: 66 (Decimal); 42 (Hex)
BIT
NAME
[7:0]
TEMP_OUT[7:0]
FUNCTION
High byte of the temperature sensor output
TEMP_degC
= (TEMP_OUT[15:0]/Temp_Sensitivity) +
RoomTemp_Offset
where Temp_Sensitivity = 326.8 LSB/ºC and
RoomTemp_Offset = 25ºC
9.31 REGISTERS 67 TO 72 – GYROSCOPE MEASUREMENT
Register Name: GYRO_XOUT_H
Register Type: READ only
Register Address: 67 (Decimal); 43 (Hex)
BIT
[7:0]
NAME
GYRO_XOUT[15:8]
FUNCTION
High byte of the X-Axis gyroscope output
Register Name: GYRO_XOUT_L
Register Type: READ only
Register Address: 68 (Decimal); 44 (Hex)
BIT
NAME
[7:0]
GYRO_XOUT[7:0]
FUNCTION
Low byte of the X-Axis gyroscope output
GYRO_XOUT = Gyro_Sensitivity * X_angular_rate
Nominal
FS_SEL = 0
Conditions
Gyro_Sensitivity = 131 LSB/(º/s)
Register Name: GYRO_YOUT_H
Register Type: READ only
Register Address: 69 (Decimal); 45 (Hex)
BIT
[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
NAME
GYRO_YOUT[15:8]
FUNCTION
High byte of the Y-Axis gyroscope output
Page 43 of 57
ICM-20602
Register Name: GYRO_YOUT_L
Register Type: READ only
Register Address: 70 (Decimal); 46 (Hex)
BIT
NAME
FUNCTION
Low byte of the Y-Axis gyroscope output
[7:0]
GYRO_YOUT[7:0]
GYRO_YOUT =
Nominal
Conditions
Gyro_Sensitivity * Y_angular_rate
FS_SEL = 0
Gyro_Sensitivity = 131 LSB/(º/s)
Register Name: GYRO_ZOUT_H
Register Type: READ only
Register Address: 71 (Decimal); 47 (Hex)
BIT
[7:0]
NAME
GYRO_ZOUT[15:8]
FUNCTION
High byte of the Z-Axis gyroscope output
Register Name: GYRO_ZOUT_L
Register Type: READ only
Register Address: 72 (Decimal); 48 (Hex)
BIT
NAME
[7:0]
GYRO_ZOUT[7:0]
FUNCTION
Low byte of the Z-Axis gyroscope output
GYRO_ZOUT = Gyro_Sensitivity * Z_angular_rate
Nominal
FS_SEL = 0
Conditions
Gyro_Sensitivity = 131 LSB/(º/s)
9.32 REGISTER 80 TO 82 – GYROSCOPE SELF-TEST REGISTERS
Register Name: SELF_TEST_X_GYRO, SELF_TEST_Y_GYRO, SELF_TEST_Z_GYRO
Type: READ/WRITE
Register Address: 80, 81, 82 (Decimal); 50, 51, 52 (Hex)
REGISTER
BIT
NAME
SELF_TEST_X_GYRO
[7:0]
XG_ST_DATA[7:0]
SELF_TEST_Y_GYRO
[7:0]
YG_ST_DATA[7:0]
SELF_TEST_Z_GYRO
[7:0]
ZG_ST_DATA[7:0]
FUNCTION
The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against
subsequent self-test outputs performed by the end user.
The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against
subsequent self-test outputs performed by the end user.
The value in this register indicates the self-test output generated during
manufacturing tests. This value is to be used to check against
subsequent self-test outputs performed by the end user.
The equation to convert self-test codes in OTP to factory self-test measurement is:
ST _ OTP (2620 / 2 FS ) *1.01( ST _ code1) (lsb)
where ST_OTP is the value that is stored in OTP of the device, FS is the Full Scale value, and ST_code is based on the Self-Test value
(ST_ FAC) determined in InvenSense’s factory final test and calculated based on the following equation:
ST _ code round (
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
log( ST _ FAC /( 2620 / 2 FS ))
) 1
log(1.01)
Page 44 of 57
ICM-20602
9.33 REGISTER 96 TO 97 – FIFO WATERMARK THRESHOLD IN NUMBER OF BYTES
Register Name: FIFO_WM_TH1
Register Type: READ/WRITE
Register Address: 96 (Decimal); 60 (Hex)
BIT
NAME
[1:0]
FIFO_WM_TH[9:8]
FUNCTION
FIFO watermark threshold in number of bytes. Watermark interrupt is
disabled if the threshold is set to “0”. Default value is 00000000.
Register Name: FIFO_WM_TH2
Register Type: READ/WRITE
Register Address: 97 (Decimal); 61 (Hex)
BIT
NAME
[7:0]
FIFO_WM_TH[7:0]
FUNCTION
FIFO watermark threshold in number of bytes. Watermark interrupt is
disabled if the threshold is set to “0”. Default value is 00000000.
The register FIFO_WM_TH[9:0] sets the FIFO watermark threshold level (0 - 1023). User should ensure that bit 7 of register 0x1A is
set to 0 before using this feature. When the FIFO count is at or above the watermark level (FIFO_COUNT[15:0] ≥ FIFO_WM_TH[9:0])
and the system is not in the middle of a FIFO read, an interrupt is triggered. The interrupt will set the FIFO watermark interrupt
status register field FIFO_WM_INT = 1, and the INT pin will issue a pulse if configured in pulse mode, or set to the active level if
configured in latch mode. Register bit FIFO_WM_INT is not read-to-clear, unlike the other interrupts. Rather, whenever FIFO_R_W
register is read, FIFO_WM_INT status bit is cleared automatically. At the same time, the INT pin will be cleared as well if it is
configured in latch mode.
The FIFO watermark interrupt and the INT pin are cleared upon the first read (and only the first read) of the FIFO. If, at the end of
the FIFO read, the FIFO count is at or above the watermark level, the interrupt status bit and INT pin will again be set. If the INT pin is
configured for latched operation, it will wait until the host completes the read to set to the active level.
9.34 REGISTER 104 – SIGNAL PATH RESET
Register Name: SIGNAL_PATH_RESET
Register Type: READ/WRITE
Register Address: 104 (Decimal); 68 (Hex)
BIT
[7:2]
NAME
-
[1]
ACCEL_RST
[0]
TEMP_RST
FUNCTION
Reserved
Reset accel digital signal path. NOTE: Sensor registers are not cleared. Use SIG_COND_RST to
clear sensor registers.
Reset temp digital signal path. NOTE: Sensor registers are not cleared. Use SIG_COND_RST to
clear sensor registers.
9.35 REGISTER 105 – ACCELEROMETER INTELLIGENCE CONTROL
Register Name: ACCEL_INTEL_CTRL
Register Type: READ/WRITE
Register Address: 105 (Decimal); 69 (Hex)
BIT
[7]
NAME
ACCEL_INTEL_EN
[6]
ACCEL_INTEL_MODE
[5:2]
-
[1]
OUTPUT_LIMIT
[0]
WOM_TH_MODE
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
This bit enables the Wake-on-Motion detection logic
0 – Do not use
1 – Compare the current sample with the previous sample
Reserved
To avoid limiting sensor output to less than 0x7FFF, set this bit to 1. This should be done
every time the ICM-20602 is powered up.
0 – Set WoM interrupt on the OR of all enabled accelerometer thresholds
1 – Set WoM interrupt on the AND of all enabled accelerometer threshold
Default setting is 0
Page 45 of 57
ICM-20602
9.36 REGISTER 106 – USER CONTROL
Register Name: USER_CTRL
Register Type: READ/WRITE
Register Address: 106 (Decimal); 6A (Hex)
BIT
[7]
NAME
-
[6]
FIFO_EN
[5]
[4]
[3]
-
[2]
FIFO_RST
[1]
-
[0]
SIG_COND_RST
FUNCTION
Reserved
1 – Enable FIFO operation mode.
0 – Disable FIFO access from serial interface.
Reserved
Reserved
Reserved
1 – Reset FIFO module. Reset is asynchronous. This bit auto clears after one clock cycle of
the internal 20 MHz clock.
Reserved
1 – Reset all gyro digital signal path, accel digital signal path, and temp digital signal path.
This bit also clears all the sensor registers.
9.37 REGISTER 107 – POWER MANAGEMENT 1
Register Name: PWR_MGMT_1
Register Type: READ/WRITE
Register Address: 107 (Decimal); 6B (Hex)
BIT
NAME
[7]
DEVICE_RESET
[6]
SLEEP
[5]
CYCLE
[4]
GYRO_STANDBY
[3]
TEMP_DIS
[2:0]
CLKSEL[2:0]
FUNCTION
1 – Reset the internal registers and restores the default settings. The bit automatically clears
to 0 once the reset is done.
When set to 1, the chip is set to sleep mode.
When set to 1, and SLEEP and STANDBY are not set to 1, the chip will cycle between sleep
and taking a single accelerometer sample at a rate determined by SMPLRT_DIV
NOTE: When all accelerometer axes are disabled via PWR_MGMT_2 register bits and cycle is enabled,
the chip will wake up at the rate determined by the respective registers above, but will not take any
samples.
When set, the gyro drive and pll circuitry are enabled, but the sense paths are disabled. This
is a low power mode that allows quick enabling of the gyros.
When set to 1, this bit disables the temperature sensor.
Code Clock Source
0
Internal 20 MHz oscillator
1
Auto selects the best available clock source – PLL if ready, else use the Internal
oscillator
2
Auto selects the best available clock source – PLL if ready, else use the Internal
oscillator
3
Auto selects the best available clock source – PLL if ready, else use the Internal
oscillator
4
Auto selects the best available clock source – PLL if ready, else use the Internal
oscillator
5
Auto selects the best available clock source – PLL if ready, else use the Internal
oscillator
6
Internal 20 MHz oscillator
7
Stops the clock and keeps timing generator in reset
NOTE: The default value of CLKSEL[2:0] is 001. It is required that CLKSEL[2:0] be set to 001 to achieve full gyroscope performance.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 46 of 57
ICM-20602
9.38 REGISTER 108 – POWER MANAGEMENT 2
Register Name: PWR_MGMT_2
Register Type: READ/WRITE
Register Address: 108 (Decimal); 6C (Hex)
BIT
[7]
[6]
NAME
-
[5]
STBY_XA
[4]
STBY_YA
[3]
STBY_ZA
[2]
STBY_XG
[1]
STBY_YG
[0]
STBY_ZG
FUNCTION
Reserved
Reserved
1 – X accelerometer is disabled
0 – X accelerometer is on
1 – Y accelerometer is disabled
0 – Y accelerometer is on
1 – Z accelerometer is disabled
0 – Z accelerometer is on
1 – X gyro is disabled
0 – X gyro is on
1 – Y gyro is disabled
0 – Y gyro is on
1 – Z gyro is disabled
0 – Z gyro is on
9.39 REGISTER 112 – I2C INTERFACE
Register Name: I2C_IF
Register Type: READ/WRITE
Register Address: 112 (Decimal); 70 (Hex)
BIT
[7]
[6]
[5:0]
NAME
I2C_IF_DIS
-
FUNCTION
Reserved
1 – Disable I2C Slave module and put the serial interface in SPI mode only.
Reserved
9.40 REGISTER 114 AND 115 – FIFO COUNT REGISTERS
Register Name: FIFO_COUNTH
Register Type: READ Only
Register Address: 114 (Decimal); 72 (Hex)
BIT
NAME
[7:0]
FIFO_COUNT[15:8]
FUNCTION
High Bits, count indicates the number of written bytes in the FIFO.
Reading this byte latches the data for both FIFO_COUNTH, and FIFO_COUNTL.
Register Name: FIFO_COUNTL
Register Type: READ Only
Register Address: 115 (Decimal); 73 (Hex)
BIT
NAME
[7:0]
FIFO_COUNT[7:0]
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
Low Bits, count indicates the number of written bytes in the FIFO. NOTE: Must read
FIFO_COUNTL to latch new data for both FIFO_COUNTH and FIFO_COUNTL.
Page 47 of 57
ICM-20602
9.41 REGISTER 116 – FIFO READ WRITE
Register Name: FIFO_R_W
Register Type: READ/WRITE
Register Address: 116 (Decimal); 74 (Hex)
BIT
[7:0]
NAME
FIFO_DATA[7:0]
FUNCTION
Read/Write command provides Read or Write operation for the FIFO.
Description:
This register is used to read and write data from the FIFO buffer.
Data is written to the FIFO in order of register number (from lowest to highest). If all the FIFO enable flags (see below) are enabled,
the contents of registers 59 through 72 will be written in order at the Sample Rate.
The contents of the sensor data registers (Registers 59 to 72) are written into the FIFO buffer when their corresponding FIFO enable
flags are set to 1 in FIFO_EN (Register 35).
If the FIFO buffer has overflowed, the status bit FIFO_OFLOW_INT is automatically set to 1. This bit is located in INT_STATUS
(Register 58). When the FIFO buffer has overflowed, the oldest data will be lost and new data will be written to the FIFO unless
register 26 CONFIG, bit[6] FIFO_MODE = 1.
If the FIFO buffer is empty, reading register FIFO_DATA will return a unique value of 0xFF until new data is available. Normal data is
precluded from ever indicating 0xFF, so 0xFF gives a trustworthy indication of FIFO empty.
9.42 REGISTER 117 – WHO AM I
Register Name: WHO_AM_I
Register Type: READ only
Register Address: 117 (Decimal); 75 (Hex)
BIT
[7:0]
NAME
WHOAMI
FUNCTION
Register to indicate to user which device is being accessed.
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 0x12. This is different from the I2C address of the device as seen on the slave I 2C controller by the applications processor.
The I2C address of the ICM-20602 is 0x68 or 0x69 depending upon the value driven on AD0 pin.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 48 of 57
ICM-20602
9.43 REGISTERS 119, 120, 122, 123, 125, 126 – ACCELEROMETER OFFSET REGISTERS
Register Name: XA_OFFSET_H
Register Type: READ/WRITE
Register Address: 119 (Decimal); 77 (Hex)
BIT
NAME
[7:0]
XA_OFFS[14:7]
FUNCTION
Upper bits of the X accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Register Name: XA_OFFSET_L
Register Type: READ/WRITE
Register Address: 120 (Decimal); 78 (Hex)
BIT
NAME
[7:1]
XA_OFFS[6:0]
[0]
-
FUNCTION
Lower bits of the X accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Reserved.
Register Name: YA_OFFSET_H
Register Type: READ/WRITE
Register Address: 122 (Decimal); 7A (Hex)
BIT
NAME
[7:0]
YA_OFFS[14:7]
FUNCTION
Upper bits of the Y accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Register Name: YA_OFFSET_L
Register Type: READ/WRITE
Register Address: 123 (Decimal); 7B (Hex)
BIT
NAME
[7:1]
YA_OFFS[6:0]
[0]
-
FUNCTION
Lower bits of the Y accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Reserved.
Register Name: ZA_OFFSET_H
Register Type: READ/WRITE
Register Address: 125 (Decimal); 7D (Hex)
BIT
NAME
[7:0]
ZA_OFFS[14:7]
FUNCTION
Upper bits of the Z accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Register Name: ZA_OFFSET_L
Register Type: READ/WRITE
Register Address: 126 (Decimal); 7E (Hex)
BIT
NAME
[7:1]
ZA_OFFS[6:0]
[0]
-
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
FUNCTION
Lower bits of the Z accelerometer offset cancellation. ±16g Offset cancellation in all Full
Scale modes, 15 bit 0.98-mg steps
Reserved.
Page 49 of 57
ICM-20602
10 USE NOTES
10.1 TEMPERATURE SENSOR DATA
Temperature sensor data goes into the FIFO whenever the FIFO is enabled and there is a sensor active unless the temperature is
explicitly disabled.
10.2 ACCELEROMETER-ONLY LOW-NOISE MODE
The first output sample in Accelerometer-Only Low-Noise Mode after wake up from sleep always has 1 ms delay, independent of
ODR.
10.3 ACCELEROMETER LOW-POWER MODE
Changing the value of SMPLRT_DIV register in Accelerometer Low-Power mode will take effect after up to one sample at the old
ODR.
10.4 SENSOR MODE CHANGE
When switching from low-power modes to low-noise modes, unsettled output samples may be observed at the gyroscope or
accelerometer outputs due to filter switching and settling. The number of unsettled output samples depends on the filter and ODR
settings. The number of unsettled output samples is minimized by selecting the widest low-noise-mode filter bandwidth consistent
with the chosen ODR.
10.5 TEMP SENSOR DURING GYROSCOPE STANDBY MODE
During transition from Gyro Low power mode (GYRO_CYCLE=1), to Gyro Standby mode, in addition to the Gyro axis (axes) being
turned off, the Temp Sensor will also be turned off if the Accel is disabled. In order to keep the temp sensor on during Gyroscope
standby mode when Accel is disabled, the following procedure should be followed:
Set GYRO_CYCLE = 0 at least one ODR cycle prior to entering Standby mode
At least one of the Gyro axis is ON prior to entering Standby mode
Set GYRO_STANDBY = 1
10.6 GYROSCOPE MODE CHANGE
Gyroscope will take one ODR clock period to switch from Low-Noise to Low-Power mode after GYRO_CYCLE bit is set.
If GYRO_CYCLE is set to 1 prior to turning on the gyroscope, the first sample will be from low-noise mode, which may not be a
settled value. It is therefore recommended to ignore the first reading in this case.
10.7 POWER MANAGEMENT 1 REGISTER SETTING
It is required to set CLKSEL[2:0] to 001 (auto-select) for full performance.
10.8 UNLISTED REGISTER LOCATIONS
Do not read unlisted register locations in Sleep mode as this may cause the device to hang up, requiring power cycle to restore
operation.
10.9 CLOCK TRANSITION WHEN GYROSCOPE IS TURNED OFF
When the gyroscope is on, the on-chip master clock source will be the gyroscope clock (assuming CLKSEL[2:0] = 001 for auto-select
mode); otherwise, the master clock source will be the internal oscillator as long as the part is not in Sleep mode. During a power
mode transition, whenever the gyroscope is disabled and the part enters a mode other than Sleep, the on-chip master clock source
will transition from the gyroscope clock to the internal oscillator. It will take about 20 µs for this transition to complete.
10.10 SLEEP MODE
The part will only enter Sleep mode when the SLEEP bit in PWR_MGMT_2 is set to ‘1’. If SLEEP bit is ‘0’ and bit STBY_[X,Y,Z]A and
STBY_[X,Y,Z]G are all set to ‘1’, accelerometer and gyroscope will be turned off, but the on-chip master clock will still be running and
consuming power.
10.11 NO SPECIAL OPERATION NEEDED FOR FIFO READ IN LOW POWER MODE
The use of FIFO is enabled in all modes including low power mode.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 50 of 57
ICM-20602
10.12 GYROSCOPE STANDBY PROCEDURE
The follow precaution and procedure must be followed while using the Gyroscope Standby mode:
Precaution to follow while entering Standby Mode:
The user will ensure that at least one gyro axis is ON when setting gyro_standby = 1.
Procedure to transition from Gyro Standby to Gyro off:
The user should set gyro_standby = 0 first
Next, turn off gyro x/y/z.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 51 of 57
ICM-20602
11 ASSEMBLY
This section provides general guidelines for assembling InvenSense Micro Electro-Mechanical Systems (MEMS) gyros packaged in
LGA package.
11.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 13.
+Z
+Y
+Z
IC
M20
+Y
60
2
+X
+X
12
Figure 13. Orientation of Axes of Sensitivity and Polarity of Rotation
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 52 of 57
ICM-20602
12.1 PACKAGE DIMENSIONS
16 Lead LGA (3x3x0.75) mm NiAu pad finish
Figure 14. Package Dimensions
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 53 of 57
ICM-20602
DIMENSIONS IN MILLIMETERS
SYMBOLS
A
A1
A2
MIN
0.7
NOM
0.75
0.105 REF
0.63 REF
MAX
0.8
D
2.9
3
3.1
E
2.9
3
3.1
Lead Width
W
0.2
0.25
0.3
Lead Length
L
e
n
0.3
0.35
0.5 BSC
16
0.4
Total Thickness
Substrate Thickness
Mold Thickness
Body Size
Lead Pitch
Lead Count
Edge Ball Center to Center
Body Center to Contact Ball
Ball Width
Ball Diameter
Ball Opening
Ball Pitch
Ball Count
Pre-Solder
Package Edge Tolerance
Mold Flatness
Coplanarity
Ball Offset (Package)
Ball Offset (Ball)
Lead Edge to Package Edge
D1
2 BSC
E1
1 BSC
SD
---
SE
b
---
e1
n1
--aaa
bbb
ddd
eee
fff
M
0.05
--------------0.1
0.2
0.08
----0.1
---
---
0.15
Table 16. Package Dimensions Table
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 54 of 57
ICM-20602
13 PART NUMBER PACKAGE MARKING
The part number package marking for ICM-20608 devices is summarized below:
PART NUMBER
ICM-20602
PART NUMBER PACKAGE MARKING
I62
TOP VIEW
I62
XXXX
AWW
Part Number
Lot Traceability Code
A = Assembly Sublot Number
WW = Work Week
Figure 15. Part Number Package Marking
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 55 of 57
ICM-20602
14 REVISION HISTORY
REVISION DATE
10/03/2016
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
REVISION
1.0
DESCRIPTION
Initial Release
Page 56 of 57
ICM-20602
15 ENVIRONMENTAL COMPLIANCE
The ICM-20602 is RoHS and Green compliant. The ICM-20602 is in full environmental compliance as evidenced in report HS-ICM20602A, Materials Declaration Data Sheet.
Environmental Declaration Disclaimer:
InvenSense believes this environmental information to be correct but cannot guarantee accuracy or completeness. Conformity documents for the above component
constitutes are on file. InvenSense subcontracts manufacturing and the information contained herein is based on data received from vendors and suppliers, which has
not been validated by InvenSense.
This information furnished by InvenSense is believed to be accurate and reliable. However, no responsibility is assumed by
InvenSense for its use, or for any infringements of patents or other rights of third parties that may result from its use. Specifications
are subject to change without notice. InvenSense reserves the right to make changes to this product, including its circuits and
software, in order to improve its design and/or performance, without prior notice. InvenSense makes no warranties, neither
expressed nor implied, regarding the information and specifications contained in this document. InvenSense assumes no
responsibility for any claims or damages arising from information contained in this document, or from the use of products and
services detailed therein. This includes, but is not limited to, claims or damages based on the infringement of patents, copyrights,
mask work and/or other intellectual property rights.
Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by
implication or otherwise under any patent or patent rights of InvenSense. This publication supersedes and replaces all information
previously supplied. Trademarks that are registered trademarks are the property of their respective companies. InvenSense sensors
should not be used or sold in the development, storage, production or utilization of any conventional or mass-destructive weapons
or for any other weapons or life threatening applications, as well as in any other life critical applications such as medical equipment,
transportation, aerospace and nuclear instruments, undersea equipment, power plant equipment, disaster prevention and crime
prevention equipment.
©2016 InvenSense, Inc. All rights reserved. InvenSense, Sensing Everything, MotionTracking, MotionProcessing, MotionProcessor,
MotionFusion, MotionApps, Digital Motion Processor, and the InvenSense logo are trademarks of InvenSense, Inc. Other company
and product names may be trademarks of the respective companies with which they are associated.
©2016 InvenSense, Inc. All rights reserved.
Document Number: DS-000176
Revision: 1.0
Revision Date: 10/03/2016
Page 57 of 57