Data Sheet
ICM-20948
Document Number: DS-000189  Page 25 of 89 
Revision: 1.3 
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, the part has passed self-test. When 
the self-test response exceeds the min/max values, the part is deemed to have failed self-test. It is recommended to 
use InvenSense MotionApps software for executing self-test. 
4.14  CLOCKING 
The internal system clock sources include: (1) an internal relaxation oscillator, and (2) a PLL with MEMS gyroscope 
oscillator as the reference clock. With the recommended clock selection setting (CLKSEL = 1), the best clock source for 
optimum sensor performance and power consumption will be automatically selected based on the power mode. 
Specifically, the internal relaxation oscillator will be selected when operating in accelerometer only mode, while the 
PLL will be selected whenever gyroscope is on, which includes gyroscope and 6-axis modes.  
As clock accuracy is critical to the preciseness of distance and angle calculations performed by DMP, it should be noted 
that the internal relaxation oscillator and PLL show different performances in some aspects. The internal relaxation 
oscillator is trimmed to have a consistent operating frequency at room temperature, while the PLL clock frequency 
varies from part to part. The PLL frequency deviation from the nominal value in percentage is captured in register 
TIMEBASE_CORRECTION_PLL (detailed in section 12.5), and users can factor it in during distance and angle 
calculations to not sacrifice accuracy. Other than that, PLL has better frequency stability and lower frequency variation 
over temperature than the internal relaxation oscillator.  
4.15  SENSOR DATA REGISTERS  
The sensor data registers contain the latest gyro, accelerometer, auxiliary sensor, and temperature measurement 
data. They are read-only registers, and are accessed via the serial interface. Data from these registers may be read 
anytime. 
4.16  FIFO 
The ICM-20948 contains a FIFO of size 512 bytes (FIFO size will vary depending on DMP feature-set) that is accessible 
via the Serial Interface. The FIFO configuration register determines which data is written into the FIFO. Possible 
choices include gyro data, accelerometer data, temperature readings, auxiliary sensor readings, and FSYNC input.  
A FIFO counter keeps track of how many bytes of valid data are contained in the FIFO. The FIFO register supports burst 
reads. The interrupt function may be used to determine when new data is available. 
For further information regarding the FIFO, please refer to the Section 7. 
4.17  FSYNC 
The FSYNC pin can be used from an external interrupt source to wake up the device from sleep. It is particularly useful 
in EIS applications to synchronize the gyroscope ODR with external inputs from an imaging sensor. Connecting the 
VSYNC or HSYNC pin of the image sensor subsystem to FSYNC on ICM-20948 allows timing synchronization between 
the two otherwise unconnected subsystems. 
An FSYNC_ODR delay time register is used to capture the delay between an FSYNC pulse and the very next gyroscope 
data ready pulse. 
4.18  INTERRUPTS 
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include the 
INT pin configuration, the interrupt latching and clearing method, and triggers for the interrupt. Section 5 provides a 
summary of interrupt sources. The interrupt status can be read from the Interrupt Status register. 
For further information regarding interrupts, please refer to Section 7.  










