Data Sheet

Document Number: DS-000189 Page 22 of 89
Revision: 1.3
4.7 THREE-AXIS MEMS GYROSCOPE WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-20948 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).
4.8 THREE-AXIS MEMS ACCELEROMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The ICM-20948’s 3-Axis accelerometer uses separate proof masses for each axis. Acceleration along a particular axis
induces displacement on the corresponding proof mass, and capacitive sensors detect the displacement differentially.
The ICM-20948’s architecture reduces the accelerometers’ susceptibility to fabrication variations as well as to thermal
drift. When the device is placed on a flat surface, it will measure 0g on the X- and Y-axes and +1g on the Z-axis. The
accelerometers’ scale factor is calibrated at the factory and is nominally independent of supply voltage. Each sensor
has a dedicated sigma-delta ADC for providing digital outputs. The full scale range of the digital output can be adjusted
to ±2g, ±4g, ±8g, or ±16g.
4.9 THREE-AXIS MEMS MAGNETOMETER WITH 16-BIT ADCS AND SIGNAL CONDITIONING
The 3-axis magnetometer uses highly sensitive Hall sensor technology. The magnetometer portion of the IC
incorporates magnetic sensors for detecting terrestrial magnetism in the X-, Y-, and Z-Axes, a sensor driving circuit, a
signal amplifier chain, and an arithmetic circuit for processing the signal from each sensor. Each ADC has a 16-bit
resolution and a full scale range of ±4900 µT.
4.10 DIGITAL MOTION PROCESSOR
The embedded Digital Motion Processor (DMP) within the ICM-20948 offloads computation of motion processing
algorithms from the host processor. The DMP acquires data from accelerometers, gyroscopes, and additional third
party sensors such as magnetometers, and processes the data. The resulting data can be read from the FIFO. The DMP
has access to the external pins, which can be used for generating interrupts.
The purpose of the DMP is to offload both timing requirements and processing power from the host processor.
Typically, motion processing algorithms should be run at a high rate, often around 200 Hz, in order to provide accurate
results with low latency. This is required even if the application updates at a much lower rate; for example, a low
power user interface may update as slowly as 5 Hz, but the motion processing should still run at 200 Hz. The DMP can
be used to minimize power, simplify timing, simplify the software architecture, and save valuable MIPS on the host
processor for use in applications.
4.11 PRIMARY I
2
C AND SPI SERIAL COMMUNICATIONS INTERFACES
The ICM-20948 communicates to a system processor using either a SPI or an I
2
C serial interface. The ICM-20948
always acts as a slave when communicating to the system processor. The LSB of the of the I
2
C slave address is set by
pin 1 (AD0).
ICM-20948 Solution Using I
2
C Interface
In Figure 6, the system processor is an I
2
C master to the ICM-20948. In addition, the ICM-20948 is an I
2
C master to the
optional external sensor. The ICM-20948 has limited capabilities as an I
2
C Master, and depends on the system
processor to manage the initial configuration of any auxiliary sensors. The ICM-20948 has an interface bypass
multiplexer, which connects the system processor I
2
C bus pins 23 and 24 (SCL and SDA) directly to the auxiliary sensor
I
2
C bus pins 7 and 21 (AUX_CL and AUX_DA).