EVALUATION KIT AVAILABLE MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU General Description Features and Benefits The MAX21100 is the industry's most accurate 6+3 DoF inertial measurement unit available in a 3mm x 3mm x 0.83mm package and capable of working with a supply voltage as low as 1.71V. High Output Data Rate (ODR) for Accelerometer (Up to 2kHz) and Gyroscope (Up to 8kHz) The MAX21100 is a monolithic 3-axis gyroscope plus 3-axis accelerometer Inertial Measurement Unit (IMU) with integrated 9-axis sensor fusion using proprietary Motion Merging Engine (MME) for handset and tablet applications, game controllers, motion remote controls, and other consumer devices. The MAX21100 can interface an external magnetometer through a dedicated I2C master. The internal Motion Merging Engine (MME) can be flexibly configured to get the most suitable accuracy power trade-off. The MAX21100 is available in a 16-lead plastic land grid array (LGA) package and can operate within a temperature range of -40C to +85C. Applications Motion Control with HMI (Human-Machine Interface) GPS and Inertial Navigation Systems Appliances and Robotics Motion-Based Game Controllers Motion-Based 3D Mice and 3D Remote Controls Health and Sports Monitoring Optical/Electronic Image Stabilization Ordering Information appears at end of data sheet. 19-6741; Rev 1; 10/14 Fully Integrated, Low Power, Motion Merging Engine Performs Accurate 9DoF Sensor Fusion Using UltraFast, Low Power (50A) Maxim Proprietary Algorithm Providing: * Quaternion Output * Gravity and Heading Output Four Selectable Full Scales for Gyroscope (250/500/1000/2000 dps) and Accelerometer (2/4/8/16 g) I2C Standard (100kHz), Fast (400kHz), and HighSpeed (3.4MHz) Serial Interface--10MHz SPI Interface 128 Bytes (64 x 16 Bits) Embedded FIFO with Multiple FIFO Modes Unique 48-Bit Serial Number as Die ID 5.65mA in Low-Noise Mode and 3.45mA in Eco Mode with MME Active 1.2A Current Consumption in Power-Down Mode 45ms Turn-On Time from Power-Down and 4ms Turn-On Time from Standby Mode High Stability Over Temperature and Time: Bias Stability of 4/hr High Shock Survivability (10,000g Shock Tolerant) MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Absolute Maximum Ratings VDD........................................................................-0.3V to +6.0V VDDIO....................................................................-0.3V to +6.0V REGD....................................... -0.3V to min (VDD + 0.3V,+2.2V) INT1, INT2, SDA_SDI_O, SA0_SDO, SCL_CLK, CS, DSYNC, RSV1, RSV2, RSV3...........-0.3V to min (VDDIO + 0.3V, 6.0V) MST_SCL, MST_SDA............-0.3V to min (VDDIO + 0.3V, 6.0V) IVDD Continuous Current..................................................100mA IVDDIO Continuous Current...............................................100mA Operating Temperature Range............................ -40C to +85C Junction Temperature.......................................................+150C Storage Temperature Range............................. -40C to +150C Lead Temperature (soldering, 10s).................................. +260C Stresses beyond those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Drops onto hard surfaces can cause shocks of greater than 10,000g and can exceed the absolute maximum rating of the device. Exercise care in handling to avoid damage. Package Thermal Characteristics (Note 1) LGA Junction-to-Case Thermal Resistance (JC).............31.8C/W Junction-to-Ambient Thermal Resistance (JA).........160C/W Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a four-layer board. For detailed information on package thermal considerations, refer to www.maximintegrated.com/thermal-tutorial. Electrical Characteristics (Note 2) (VDD = VDDIO = 1.8V, TA = -40C to +85C, unless otherwise noted. Typical values are at TA = +25C.) (Note 2) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS T -40 25 +85 C VDD 1.71 1.8 3.6 V VDDIO 1.71 1.8 3.6 V OPERATING CONDITIONS Operating Temperature VDD Supply VDDIO (Note 3) CURRENT CONSUMPTION IDD--Current Consumption G+A+MME Low-Noise Mode IDDGAM 5.65 6.5 mA IDD--Current Consumption G+A Low-Noise Mode IDDGA 5.6 6.4 mA IDD--Current Consumption G Low-Noise Mode IDDG 5.4 6.1 mA IDD--Current Consumption GEco+A+MME IDDGEAM fGODR = 125Hz 3.45 4.1 mA IDD--Current Consumption GEco +A IDDGEA fGODR = 125Hz 3.4 4.0 mA IDD--Current Consumption G Standby Mode IDDGS 2.9 IDD--Current Consumption A Low-Noise Mode (Note 4) IDDA 550 625 IDD--Current Consumption AEco (Note 4) IDDAE fAODR = 62.5Hz 25 40 fAODR = 16.6Hz 10 20 IDD--Current Consumption Power Down (Note 4) IDDPD 1.2 10 www.maximintegrated.com mA A A A Maxim Integrated 2 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Mechanical Characteristics (Note 2) (VDD = VDDIO = 1.8V, TA = -40C to +85C, unless otherwise noted. Typical values are at TA = +25C.) (Note 2) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS GYROSCOPE 250 Full-Scale Range GFS 500 User selectable dps 1000 2000 Low-Noise Mode 0.009 Eco Mode, GODR = 250Hz 0.018 Rate Noise Density at +25C (Note 5) GRND GFS independent Lowpass Bandwidth (Low-Noise Mode) GBWL User selectable Highpass Cutoff Frequency (Low-Noise Mode) GBWH Enable/disable, user selectable Phase Delay at 10Hz (Low-Noise Mode) Sensitivity GPD GSO 0.025 dps/ Hz 2 2000 Hz 0.1 100 Hz GODR = 8kHz GBWL = 400Hz 3.3 GFS = 250dps 120 GFS = 500dps 60 GFS = 1000dps 30 GFS = 2000dps 15 deg digit/ dps Sensitivity Error at +25C GSE -2.5 0.3 +2.5 % Sensitivity Drift Over Temperature (Note 5) GSD -0.05 0.008 +0.05 %/C Zero Rate Level Error at +25C GZRLE -6 0.5 +6 dps Zero Rate Level Drift Over Temperature (Note 5) GZRLD -0.15 0.025 +0.15 dps/C Angular Random Walk Low-Noise Mode GARW 0.45 deg/hr GBSTAB 4 deg/hr Bias Stability Nonlinearity at +25C (Note 5) GNL Cross Axis GCA Linear Acceleration Effect at +25C (Note 5) GLAE Output Data Rate GODR www.maximintegrated.com GFS = 2000dps Best fit line 0.1 0.4 Absolute (Note 5) -5 1 +5 Relative to the accelerometer reference system -3 1 +3 1g static applied -0.2 0.05 +0.2 User selectable, Low-Noise Mode 3.9 8000 31.25 250 User selectable, Eco Mode %FS % dps/g Hz Maxim Integrated 3 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Mechanical Characteristics (continued) (Note 2) (VDD = VDDIO = 1.8V, TA = -40C to +85C, unless otherwise noted. Typical values are at TA = +25C.) (Note 2) PARAMETER SYMBOL ODR Accuracy (Note 6) GODRE Startup Time from Power Down GSTPD Startup Time from Standby GSTS Self-Test Output GSELF CONDITIONS MIN TYP -10 45 8kHz GODR 400Hz GBWL MAX UNITS +10 % 90 ms 4 ms X, Z axis 10 25 50 Y axis -50 -25 -10 %GFS ACCELEROMETER 2 Full-Scale Range AFS 4 User selectable g 8 16 Noise Density at +25C (Note 5) Output Data Rate ODR Accuracy AND AODR AFS = 2g Low-Noise Mode 140 Eco Mode AODR = 250Hz 800 User-selectable Low-Noise Mode 31.25 2000 User-selectable Eco Mode 0.98 250 -10 +10 AODRE Lowpass Bandwidth ABWL Highpass Cutoff Frequency Low-Noise Mode ABWH 260 User-selectable Low-Noise Mode AODR/48 300 User-selectable Eco Mode AODR/48 AODR/2 Enable/disable, user-selectable bandwidth AODR/400 AODR/50 AFS = 2g 15 AFS = 4g 7.5 AFS = 8g 3.75 g/Hz Hz % Hz Hz Sensitivity ASO Sensitivity Error at 25C ASE AFS = 2g -2.5 0.38 +2.5 % Sensitivity Drift Over Temperature (Note 5) ASD AFS = 2g -0.028 0.007 +0.028 %/C Zero g Level Error at +25C (Note 7) AZGLE AFS = 2g, X,Y axes -120 20 +120 AFS = 2g, Z axis -180 35 +180 Zero g Level Drift Over Temperature (Note 5) AZGLD AFS = 2g, X, Y axes -1.7 0.5 +1.7 AFS = 2g, Z axis -3.3 0.8 +3.3 Non Linearity at +25C (Note 5) ANL AFS = 2g, best fit line 0.5 1.2 %FS Cross Axis (Note 5) ACA Absolute 1 +5 % AFS = 16g www.maximintegrated.com digit/mg 1.875 -5 mg mg/C Maxim Integrated 4 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Mechanical Characteristics (continued) (Note 2) (VDD = VDDIO = 1.8V, TA = -40C to +85C, unless otherwise noted. Typical values are at TA = +25C.) (Note 2) PARAMETER SYMBOL Self-Test Output (Note 4) ASELF CONDITIONS MIN TYP MAX X,Y axis 80 300 800 Z axis 60 240 600 UNITS mg TEMPERATURE SENSOR Sensitivity TSS Sensitivity Error (Note 5) TSSE Output at +25C TSO Bandwidth 8 bit 1 digit/C 16 bit 256 digit/C -7 3 8 bit 25 16 bit 6400 TSBW +7 % digit 4 Hz Interface Specifications (Note 2) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS ESD PROTECTION Human Body Model HBM 2000 V Charged Device Model CDM 500 V IOs DC SPECIFICATIONS (Note 5) Input Threshold Low VIL Input Threshold High VIH 0.7 x VDDIO V VHYS 0.05 x VDDIO V Hysteresis of Schmitt Trigger Input Input Leakage Current 0.3 x VDDIO ILK I2C Master bypass Resistance RBYP I2C Internal Pullup Resistance (Note 8) RI2CPU -1 4.5 V +1 A 45 10 k 10 MHz SPI SLAVE TIMING VALUES (Note 9) CLK Frequency fC_CLK CS Setup Time tSU_CS 10 ns CS Hold Time tH_CS 12 ns SDI Input Setup Time tSU_SI 5 ns SDI Input Hold Time tH_SI 10 ns CLK Fall to SDO Valid Output Time tV_SDO SDO Output Hold Time tH_SO 35 10 ns ns I2C TIMING VALUES (Note 5) SCL Clock Frequency www.maximintegrated.com fSCL Standard mode 0 100 Fast mode 0 400 kHz Maxim Integrated 5 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Interface Specifications (continued) (Note 2) PARAMETER SYMBOL Hold Time (Repeated) START Condition tHD;STA Low Period of SCL Clock tLOW High Period of SCL Clock tHIGH Setup Time for a Repeated START Condition tSU;STA Data Hold Time tHD;DAT Data Setup Time tSU;DAT Setup Time for STOP Condition tSU;STO Bus Free Time Between a STOP and a START Condition tBUF Data Valid Time tVD;DAT Data Valid Acknowledge Time tVD;ACK CONDITIONS Standard mode MIN TYP MAX 4 Fast mode 0.6 Standard mode 4.7 Fast mode 1.3 Standard mode 4.0 Fast mode 0.6 Standard mode 4.7 Fast mode 0.6 Standard mode 0 Fast mode 0 Standard mode 250 Fast mode 100 Standard mode 4.0 Fast mode 0.6 Standard mode 4.7 Fast mode 1.3 UNITS s s s s s ns s s Standard mode 3.45 Fast mode 0.9 Standard mode 3.45 Fast mode 0.9 s s I2C TIMING VALUES (High-Speed Mode, Note 5) SCLH Clock Frequency fSCLH HS mode Setup Time for A REPEATED START Condition 3.4 MHz tSU;STA HS mode 160 ns Hold Time (Repeated) START Condition tHD;STA HS mode 160 ns Low Period of SCL Clock tLOW HS mode 160 ns High Period of SCL Clock tHIGH HS mode 90 ns Data Setup Time tSU;DAT HS mode 10 ns Data Hold Time tHD;DAT HS mode 0 ns Note 2: Limits are 100% tested at TA = +25C. Limits over the operating temperature range and relevant supply voltage range are guaranteed by design and characterization. Note 3: VDDIO must be lower or equal than VDD supply. Note 4: Values at TA = +25C. Note 5: Min max based on characterization results. Note 6: ODR real value can be calculated through proper register readout with 1.5% accuracy. Note 7: Values after MSL3 preconditioning and 3 reflow cycles. Note 8: Pullup resistances are user selectable. Note 9: 10pF load on SPI lines. Min Max based on characterization results. www.maximintegrated.com Maxim Integrated 6 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU SPI Timing 4-Wire SPI Mode tSU_CS tCSW CS tH_CS CLK 1 2 8 9 10 tC_CLK tSU_SI SDI tH_SI SDO tV_SDO tH_SO Hi-Z Hi-Z 3-Wire SPI Mode tCSW tSU_CS CS tH_CS CLK 1 8 2 9 10 tC_CLK tSU_SI SDI tH_SI SDO Hi-Z www.maximintegrated.com tV_SDI Hi-Z Maxim Integrated 7 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU I2C Timing Standard/Fast Mode I2C Bus Timing tR tF SDA tSU;DAT 70% 30% 70% 30% cont. tVD;DAT tHD;DAT tF tHIGH tR SCL tHD;STA 70% 30% 70% 30% 70% 30% cont. tLOW 1/fSCL 1st CLOCK CYCLE S 70% 30% 9th CLOCK tBUF SDA tVD;ACK tHD;STA tSU;STA tSU;STO 70% 30% SCL Sr 9th CLOCK VIL = 0.3VDD VIH = 0.7VDD P S 002aac938 High-Speed Mode I2C Bus Timing I2C HIGH-SPEED DIAGRAM Sr Sr trDA tfDA P SDAH tSU;STA tHD;DAT tSU;STO tSU;DAT tHD;STA SCLH tfCL trCL1 (1) tHIGH tLOW trCL tLOW trCL1 tHIGH (1) = MCS CURRENT SOURCE PULLUP = RP RESISTOR PULLUP (1) FIRST RISING EDGE OF THE SCLH SIGNAL AFTER Sr AND AFTER EACH ACKNOWLEDGE BIT. www.maximintegrated.com Maxim Integrated 8 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Pin Configuration MST_SDA 3 SCL_CLK 4 GND 5 VDD 15 14 MAX21100 6 7 8 CS 2 RSV2 MST_SCL 16 SA0_SDO 1 SDA_SDI_O + VDDIO RSV3 TOP VIEW 13 REGD 12 DSYNC 11 INT1 10 RSV1 9 INT2 (3mm x 3mm x 0.83mm) 16-LEAD LGA Pin Description PIN NAME 1 VDDIO 2 MST_SCL I2C Master Serial Clock. User-selectable 6k internal pullup. 3 MST_SDA I2C Master Serial Data. User selectable 6k internal pullup. 4 SCL_CLK SPI and I2C Slave Clock. When in I2C mode, the IO has selectable antispike filter and delay to ensure correct hold time. 5 GND 6 SDA_SDI_O 7 SA0_SDO 8 CS 9 INT2 Second Interrupt Line 10 RSV1 Reserved. Must be connected to GND. 11 INT1 First Interrupt Line 12 DSYNC 13 REGD 14 VDD 15 RSV2 Reserved. Must be tied to VDD in the application. 16 RSV3 Reserved. Leave unconnected. www.maximintegrated.com FUNCTION Interface and Interrupt Pad Supply Voltage Power-Supply Ground. SPI In/Out Pin and I2C Slave Serial Data. When in I2C mode, the IO has selectable antispike filter and delay to ensure correct hold time. SPI Serial Data Out and I2C Slave Address LSB SPI Chip Select/Serial Interface Selection Data Syncronization Pin. Is used to: Dynamically change the MAX21100 power mode. Synchronize data with external clock (e.g., GPS/camera) with various options. Synchronize data with an external event. Internal regulator output 2.2V max. A 100nF capacitor has to be connected to this pin for ensuring proper device operation Analog Power Supply. Bypass to GND with a 0.1F capacitor and one 10F. Maxim Integrated 9 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Functional Diagram CLOCKING GYRO SENSE DSP MAX21100 A 2 MST_SCL I2C MASTER BYPASS GYRO RAW DATA 10 RSV1 ADC 4 SCL_CLK REGISTERS AND FIFO DAC A A 3 MST_SDA GYRO DRIVE CONTROL ADC SPI/I2C SLAVE 6 SDA_SDI_O 7 SA0_SDO 8 CS SYNC BLOCK 12 DSYNC MOTION MERGING ENGINE A ACCELERO SENSE DSP ADC BIAS AND LDOs ACCELERO RAW DATA 9 INT2 INTERRUPTS OTP TIMER 13 16 14 5 15 1 REGD RSV3 VDD GND RSV2 VDDIO www.maximintegrated.com 11 INT1 Maxim Integrated 10 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Detailed Description Current consumption in Eco Mode [mA]: This parameter defines the current consumption when the 6DoF inertial measurement unit is in Eco Mode. Whilst in Eco Mode, the MAX21100 significantly reduces the power consumption, but increases the noise. The MAX21100 integrates a 3-axis gyroscope and 3-axis linear accelerometer in a 3mm x 3mm x 0.83mm package capable of working with a supply voltage as low as 1.71V. Current consumption in Power-Down Mode [A]: This parameter defines the current consumption when the 6DoF inertial measurement unit is powered down. In this mode, both the mechanical sensing structure and reading chain are turned off. Users can configure the control register through the I2C/SPI interface for this mode. Full access to the control registers through the I2C/SPI interfaces is also guaranteed in Power-Down Mode. The MAX21100 is a low-power, low voltage, small package 6-axis inertial measurement unit able to provide unprecedented accuracy and stability over temperature and time. It includes a sensing element and an IC interface capable of providing the measured angular rate and acceleration to the external world through a digital interface (I2C/SPI). The IC interface includes an I2C master dedicated to the data collection of an external magnetometer. This data can be fused together with the gyroscope and accelerometer data through an embedded ultra-low power 9DoF motion merging engine. All sensors and fusion data can be stored into a 128 bytes fully configurable embedded FIFO. The DSYNC functionality allows for sensor synchronization with an external trigger with external source (e.g., GPS/Camera). The MAX21100 features a wide selection of dynamically selectable power modes that allows the user to optimize the system power consumption based on the application needs. The MAX21100 has a full scale of 250/500/1000/2000 dps for gyroscope and 2/4/8/16g for accelerometer. It is capable of measuring angular rates and accelerations with a user-selectable bandwidth. The MAX21100 is available in a 3mm x 3mm x 0.83mm 16-lead plastic land grid array (LGA) package and can operate within a temperature range of -40C to +85C. Definitions Power supply [V]: This parameter defines the operating DC power-supply voltage range of the 6DoF inertial measurement unit. Although it is always a good practice to keep VDD clean with minimum ripple, unlike most of the competitors, who require an ultra-low noise, low-dropout regulator to power the device, the MAX21100 can not only operate at 1.71V, but that supply can also be provided by a switching regulator to minimize the system power consumption. Current consumption in Low-Noise Mode [mA]: This parameter defines the typical current consumption when the 6DoF inertial measurement unit is operating with the lowest noise for both the accelerometer and gyroscope. www.maximintegrated.com Gyroscope full-scale range [dps]: This parameter defines the measurement range of the gyroscope in degrees per second (dps). When the applied angular rate is beyond the full-scale range, the gyroscope output becomes saturated. Zero-rate level [dps]: This parameter defines the DC device output when there is no external angular rate applied to the gyroscope. Gyroscope sensitivity [digit/dps]: Sensitivity is the relationship between LSb and dps. It can be used to convert a digital gyroscope's measurement from digits to angular rate. Zero-rate level change vs. temperature [dps/C]: This parameter defines the zero-rate level change in dps/C over the operating temperature range. Gyroscope sensitivity change vs. temperature [%/C]: This parameter defines the gyroscope sensitivity change as a percentage (%) over the operating temperature range specified in the data sheet. Gyroscope nonlinearity [% FS]: This parameter defines the maximum absolute difference between the gyroscope output and the best-fit straight line as a percentage of the gyroscope full-scale (GFS) range. Gyroscope bandwidth [Hz]: This parameter defines the frequency of the angular rate signal from DC to the builtin bandwidth (GBWL) that the gyroscope can measure. A dedicated register can be used to select the gyroscope bandwidth. Rate noise density [dps/Hz]: This parameter defines the square root of the equivalent noise power density of the gyroscope angular rate. Accelerometer full-scale range [g]: This parameter defines the measurement range of the accelerometer in g. When the applied acceleration is beyond the full-scale range, the accelerometer output becomes saturated. Maxim Integrated 11 MAX21100 Zero-g level [mg]: This parameter defines the DC device output when there is no external acceleration applied to the accelerometer. Accelerometer sensitivity [digit/g]: Sensitivity is the relationship between LSb and g. It can be used to convert a digital acceleration measurement from digits to g. Zero-g level change vs. Temperature [mg/C]: This parameter defines the zero-g level change in mg/C over the operating temperature range. Accelerometer Sensitivity change vs. temperature [%/C]: This parameter defines the accelerometer sensitivity change as a percentage (%) over the operating temperature range specified in the data sheet. Accelerometer nonlinearity [% FS]: This parameter defines the maximum absolute difference between the accelerometer output and the best-fit straight line as a percentage of the full-scale (FS) range. Accelerometer bandwidth [Hz]: This parameter defines the frequency of the acceleration signal from DC to the built-in bandwidth (ABWL) that the accelerometer can measure. A dedicated register can be used to select the accelerometer bandwidth. Accelerometer noise density [g/Hz]: This parameter defines the square root of the equivalent noise power density of accelerometer linear acceleration. MAX21100 Architecture The MAX21100 comprises the following key blocks and functions: 3-axis MEMS gyroscope sensor with 16-bit ADCs and signal conditioning 3-axis MEMS accelerometer sensor with 16-bit ADCs and signal conditioning Motion Merging Engine (MME) Slave I2C and SPI serial communications interfaces Master I2C Interrupt generators Digital output temperature sensor Power management enabling different power modes Sensor data registers FIFO Low-Power, Ultra-Accurate 6+3 DoF IMU Three-Axis MEMS Gyroscope with 16-Bit ADCs and Signal Conditioning The MAX21100 includes MEMS gyroscope that detects rotations around the X, Y, and Z axes through the related IC interface. When the gyroscope rotates around any of the sensing axes, the Coriolis Force determines a displacement in the MEMS structure, which is detected as a capacitive variation. The resulting signal is then processed by the 16-bit ADC to produce a digital output proportional to the angular rate. The gyro full-scale range can be digitally programmed at 250, 500, 1000 or 2000 dps. Three-Axis MEMS Accelerometer Sensor with 16-Bit ADCs and Signal Conditioning The MAX21100 includes a MEMS accelerometer that detects linear accelerations along the X, Y, and Z axes. The acceleration applied to one of the sensing axes causes a displacement of the MEMS structure which is detected as a capacitive variation. The signal is then converted in the digital domain by 16-bit ADC and is available to the user as a digital output proportional to the applied acceleration. The accelerometer full-scale range can be digitally programmed at 2, 4, 8 or 16 g. Motion Merging Engine (MME) The MME takes the gyroscope, accelerometer, and external magnetometer raw data as inputs and provides the device orientation information as output. The orientation information is represented using the quaternion or gravity-and-heading representations and features the gyroscope quick responsiveness and the low frequency accuracy given by the accelerometer and magnetometer. When the gyroscope information is not available (i.e., gyro is turned off), the absolute orientation information is still available. This is commonly called e-Compass or Soft Gyro mode and features good accuracy, but slow response. The MME can be also used to generate the quaternion with the sole integration of the gyroscope data without fusion operations with either the accelerometer or the magnetometer. The MME outputs are available for direct register read and for FIFO storage, together with raw data outputs. Data synchronization block Self-test functionality www.maximintegrated.com Maxim Integrated 12 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Slave I2C and SPI Serial Communications Interfaces The registers embedded inside the MAX21100 can be accessed through both the slave I2C and SPI serial interfaces. The latter can be SW configured to operate either in 3-wire or 4-wire interface mode. The serial interfaces are mapped onto the same pins. To select/exploit the I2C interface, CS line must be tied high (i.e., connected to VDDIO). 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 MAX21100 operates as a slave device when communicating to the system processor, which thus acts as the master. SDA and SCL lines typically need pull-up resistors to VDDIO. The maximum bus speed is 3.4MHz (I2C HS); this reduces the amount of time the system processor is kept busy in supporting the exchange of data. The slave address of the MAX21100 is b101100X, which is 7 bits long. The LSb of the 7-bit address is determined by the logic level on pin SA0. This allows two MAX21100s to be connected on the same I2C bus. When used in this configuration, the address of one of the two devices should be b1011000 (pin SA0_SD0 is set to logic low) and the address of the other should be b1011001 (pin SA0_SD0 is set to logic-high). SPI Interface The MAX21100 SPI can operate up to 10MHz, in both 3-wires (half duplex) and 4-wires mode (full duplex). It is recommended to set the I2C_OFF bit at address 0x16 if the MAX21100 is used together with other SPI devices to avoid the possibility to switch inadvertently into I2C mode when traffic is detected with the CS un-asserted. The MAX21100 operates as an SPI slave device.Both the read register and write register commands are completed in 16 clock pulses, or in multiples of 8 in case of multiple read/write bytes. Bit duration is the time between two falling edges of CLK. The first bit (bit 0) starts at the first falling edge of CLK after the falling edge of CS while the last bit (bit 15, bit 23, etc.) starts at the last falling edge of CLK just before the rising edge of CS. Bit 0: RW bit. When 0, the data DI(7:0) is written to the device. When 1, the data DO(7:0) from the device is read. In the latter case, the chip drives SDO at the start of bit 8. Bit 1: MS bit. Depending on the configuration of IF_ PARITY this bit may either be used to operate in multiaddressing standard mode or to check the parity with the register address. Table 1. Digital Interface Pin Description NAME DESCRIPTION SPI enable and I2C/SPI mode selection (1: I2C mode, 0: SPI enabled) CS SCL/CLK SPI and I2C clock. When in I2C mode, the IO has selectable anti-spike filter and delay to ensure correct hold time. SDA/SDI/SDO SPI in/out pin and I2C serial data. When in I2C mode, the IO has selectable antispike filter and delay to ensure correct hold time. SDO/SA0 SPI serial data out or I2C slave address LSb Table 2. I2C Address I2C BASE ADDRESS SA0/SDO PIN R/W BIT RESULTING ADDRESS 0x2C (6 bit) 0 0 0xB0 0x2C 0 1 0xB1 0x2C 1 0 0xB2 0x2C 1 1 0xB3 www.maximintegrated.com Maxim Integrated 13 MAX21100 If used as a MS bit, when 1, the address remains unchanged in multiple read/write commands, whilst when 0, the address is auto-incremented in multiple read/write commands. Bit 2-7: Address AD(5:0). This is the address field of the indexed register. Bit 8-15: Data DI(7:0) (write mode). This is the data that is written to the device (MSb first). Bit 8-15: Data DO(7:0) (read mode). This is the data that is read from the device (MSb first). SPI Half- and Full-Duplex Operation The MAX21100 can be programmed to operate in halfduplex (a bidirectional data pin) or full-duplex (one data-in and one data-out pin) mode. The SPI master sets a register bit called SPI_3_WIRE into I2C_CFG (0x16) to 0 for full-duplex, and 1 for half-duplex operation. Full duplex is the power-on default. Full-Duplex Operation The MAX21100 is put into full-duplex mode at power-up. When the SPI master clears the SPI_3_WIRE bit, the SPI interface uses separate data pins, SDI and SDO, to transfer data. Because of the separate data pins, bits can be simultaneously clocked into and out of the MAX21100. The MAX21100 makes use of this feature by clocking out 8 output data bits as the command byte is clocked in. Low-Power, Ultra-Accurate 6+3 DoF IMU Bit 8-15: Data DO(7:0) (read mode). This is the data that is read from the device (MSb first). Bit 16-... : Data DO(...-8). Further data in multiple byte reading. After 16 clock cycles, the master can drive CS high to deselect the MAX21100, causing it to tristate its SDO output. The falling edge of the clock puts the MSB of the next data byte in the sequence on the SDO output. 4) By keeping CS low, the master clocks register data bytes out of the MAX21100 by continuing to supply SCL_CLK pulses (burst mode). The master terminates the transfer by driving CS high. The master must ensure that SCL_CLK is in its inactive state at the beginning of the next access (when it drives CS low). Writing to the SPI Slave Interface (SDI) The SPI master writes data to the MAX21100 slave interface through the following steps: 1) The SPI master sets the clock to its inactive state. While CS is high, the master can drive the SDI input. 2) The SPI master selects the MAX21100 by driving CS low 3) The SPI master clocks the command byte into the MAX21100. The SPI Write command is performed with 16 clock pulses. Multiple byte write command is performed adding blocks of 8 clock pulses at the previous one. Reading from the SPI Slave Interface (SDO) Bit 0: WRITE bit. The value is 0. 1) When CS is high, the MAX21100 is unselected and three-states the SDO output. Bit 2-7: address AD(5:0). This is the address field of the indexed register. The SPI master reads data from the MAX21100 slave interface using the following steps: 2) After driving SCL_CLK to its inactive state, the SPI master selects the MAX21100 by driving CS low. 3) The SPI master clocks the command byte into the MAX21100. The SPI read command is performed with 16 clock pulses. Multiple byte read command is performed adding blocks of 8 clock pulses at the previous one. Bit 0: READ bit. The value is 1. Bit 1: MS bit. When 1, do not increment address, when 0, increment address in multiple reading. Bit 1: MS bit. When 1, do not increment address, when 0, increment address in multiple writing. Bit 8-15: Data DI(7:0) (write mode). This is the data that is written inside the device (MSb first). Bit 16-... : data DI(...-8). Further data in multiple byte writing. 4) By keeping CS low, the master clocks data bytes into the MAX21100 by continuing to supply SCL_CLK pulses (burst mode). The master terminates the transfer by driving CS high. The master must ensure that SCL_CLK is inactive at the beginning of the next access (when it drives CS low). Bit 2-7: Address AD(5:0). This is the address field of the indexed register. www.maximintegrated.com Maxim Integrated 14 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Half-Duplex Operation When the SPI master sets SPI_3_WIRE = 1, the MAX21100 is put into half-duplex mode. In half-duplex mode, the MAX21100 tri-states its SDO pin and makes the SDI pin bidirectional, saving a pin in the SPI interface. The SDO pin can be left unconnected in half-duplex operation. The SPI master accesses a MAX21100 register as follows: the SPI master sets the clock to its inactive state. While CS is high, the master can drive the SDI pin to any value. 1) The SPI master selects the MAX21100 by driving CS low and placing the first data bit (MSB) to write on the SDI input. 2) The SPI master turns on its output driver and clocks the command byte into the MAX21100. The SPI read command is performed with 16 clock pulses: Bit 0: READ bit. The value is 1. Bit 1: MS bit. When 1, do not increment address, when 0, increment address in multiple reading. Bit 2-7: address AD(5:0). This is the address field of the indexed register. Bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first). Multiple read command is also available in 3-wire mode. Master I2C The MAX21100 offers two completely independent interrupt generators, to ease the SW management of the interrupt generated. For instance, one line could be used to signal a DATA_READY event whilst the other line might be used, for instance, to notify the completion of the internal start-up sequence. Interrupt functionality can be configured through the Interrupt Configuration registers. Configurable items include the INT pin level and duration, the clearing method as well as the required triggers for the interrupts. The interrupt status can be read from the Interrupt Status registers. The event that has generated an interrupt is available in both forms: latched and unlatched. Interrupt sources may be enabled/ disabled and cleared individually. The list of possible interrupt sources includes the following conditions: DATA_READY, FIFO_ EMPTY, FIFO_THRESHOLD, FIFO_OVERRUN, OTP_ DOWNLOAD, DSYNC. The interrupt generation can also be configured as latched, unlatched or timed, with programmable length. When configured as latched, the interrupt can be cleared by reading the corresponding status register (clear-onread) or by writing an appropriate mask to the status register (clear-on-write). Digital-Output Temperature Sensor The master interface allows: Readout of the external magnetic sensor at selectable sub multiples of the accelerometer ODR Shadowing the AppProcessor read/write commands Bypass mode: electrical bypass The master interface pads are supplied at VDDIO. I2C MASTER STATE MACHINE Interrupt Generators I2C MASTER IF An digital output temperature sensor is used to measure the MAX21100 die temperature. The readings from the ADC can be accessed from the Sensor Data registers. The temperature data is split over 2 bytes. For faster and less accurate reading, accessing the MSB allows to read the temperature data as an absolute value expressed in MST_SCL 2 MST_SDA 3 SCL/CLK 4 SDA/SDI 6 EXTERNAL MAGNETIC SENSOR MST_BYPASS MAIN APPLICATION PROCESSOR Figure 1. Master I2C www.maximintegrated.com Maxim Integrated 15 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Celsius degrees. By reading the LSB, the accuracy is greatly increased, up to 256 digit/C. processing resources is turned off to save power. Still, this mode enables a much quicker turn-on time. Power Modes Acc Low-Noise Mode The MAX21100 features nine different power modes, allowing selecting the appropriate tradeoff between power consumption, noise level, accuracy and turn-on time. In Acc Low-Noise mode, only the accelerometer is switched on. It is operational with minimum noise level. The transition between different power modes can be controlled with the software by explicitly setting a power mode in the Configuration register, or by enabling the automatic power mode transition based on the DSYNC pin. In this Power Mode, only the accelerometer is switched on and it is operating in Eco Mode. The Eco Mode allows to reduce power consumption with the same sensor accuracy at the price of a higher accelerometer noise density. Gyro Low-Noise Mode Acc Eco Mode In Gyro Low-Noise Mode, only the gyro is switched on and it is operational with minimum noise level. This feature can be activated for accelerometer with nine ODR: being 0.98Hz, 1.95Hz, 3.9Hz, 7.8Hz 15.625Hz, 31.25Hz, 62.5Hz, 125Hz, and 250Hz. Gyro Eco Mode Power-Down Mode In this power mode, only the gyro is switched on and it is operating in Eco Mode. The Eco Mode allows to reduce power consumption with the same sensor accuracy at the price of a higher rate noise density. This unique MAX21100 feature can be activated for the gyro with four different ODR: 31.25Hz, 62.5Hz, 125Hz, and 250Hz. Gyro Standby Mode To reduce power consumption and have a shorter turnon time, the IC features a standby mode for the gyro. In standby mode, the MAX21100 gyro does not generate data because a significant portion of the signal In Power-Down Mode, the IC is configured to minimize the power consumption. In Power-Down Mode, registers can still be read and written, but neither sensor can generate new data. Compared to Standby Mode, it takes longer to activate the IC and start collecting data from the sensors. Sensor Data Output Registers The sensor data registers contain the latest gyroscope, accelerometer, magnetometer, quaternions (or gravity & heading) and temperature measurement data. They are read-only registers and are accessed through the serial interface. Data from these registers can be read at anytime. However, the interrupt function can be used to determine when new data is available. Table 3. Power Modes NAME DESCRIPTION Gyro Low-Noise Only gyroscope is switched on and it is operational with maximum performances. Gyro Eco Only gyroscope is switched on and operates to reduce the average current consumption. Gyro Standby The gyroscope is in Standby Mode, the current consumption is reduced by 50%, with a shorter turn-on time Acc Low-Noise Only accelerometer is switched on and it is operational with maximum performances. Acc Eco Only accelerometer is switched on and operates to reduce the average current consumption. Gyro Low-Noise Mode + Acc Low-Noise Mode Acc and gyro are both switched on in Low-Noise Mode. Gyro Eco + Acc Low-Noise Mode Acc is in low-noise mode, while the gyro is Eco Mode. Gyro Standby + Acc Low-Noise Mode Acc is in low-noise mode, while the gyro is Standby Mode. Power-Down This is the minimum power consumption mode, at the price of a longer turn-on time. www.maximintegrated.com Maxim Integrated 16 MAX21100 FIFO The MAX21100 embeds a 128-bytes data FIFO. The user can flexibly select the set of axis data to be stored in FIFO.This allows a power saving at system level as the host processor does not need to continuously poll data from the sensor, but it can wake up only when needed and burst the significant data out from the FIFO. The FIFO buffer can work according to four main modes: off, normal, interrupt, and snapshot. When configured in snapshot mode, it offers the ideal mechanism to capture the data following an external interrupt event. Both normal and interrupt modes can be optionally configured to operate in overrun mode, depending on whether, in case of buffer under-run, newer or older data are accepted to be lost. Various FIFO status flags can be enabled to generate interrupt events on INT1/INT2 pin. FIFO Off Mode Low-Power, Ultra-Accurate 6+3 DoF IMU flag. To minimize the error caused by different samples being read a different number of times, the access frequency to be used must be much higher than the selected ODR. This approach normally requires a much higher BW. FIFO Normal Mode Overrun = false FIFO is turned on. FIFO is filled with the data at the selected output data rate (ODR). When FIFO is full, an interrupt can be generated. When FIFO is full, all the new incoming data is discharged. Reading only a subset of the data already stored into the FIFO keeps locked the possibility for new data to be written. Only if all the data are read, the FIFO restarts saving data. If communication speed is high, data loss can be prevented. In this mode, the FIFO is turned off; data are stored only in the data registers and no data are available from the FIFO if read. To prevent a FIFO-full condition, the required condition is to complete the reading of the data set before the next DATA_READY occurs. When the FIFO is turned off, there are essentially two options to use the device: synchronous and asynchronous reading through the data registers. If this condition is not guaranteed, data can be lost. Overrun = true Synchronous Reading FIFO is filled with the data at the selected ODR. In this mode, the processor reads the data set (e.g., 6 bytes for a 3 axes configuration) generated by the MAX21100 every time that DATA_READY is set. The processor must read once and only once the data set in order to avoid data inconsistencies. When FIFO is full, an interrupt can be generated. Benefits of using this approach include the perfect reconstruction of the signals coming the MAX21100 with the minimum data traffic. Asynchronous Reading In this mode, the processor reads the data generated by the MAX21100 regardless the status of the DATA_READY www.maximintegrated.com FIFO is turned on. When FIFO is full, the oldest data is overwritten with the new ones. If communication speed is high, data integrity can be preserved. In order to prevent a FIFO_WR_FULL condition, the required condition is to complete the reading of the data set before the next DATA_READY occurs. If this condition is not guaranteed, data can be overwritten. Maxim Integrated 17 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU 127 127 127 (WP-RP) = LEVEL (WP-RP) = LEVEL (WP-RP) = LEVEL THRESHOLD THRESHOLD THRESHOLD 0 0 LEVEL INCREMENTS WITH NEW SAMPLES STORED AND DECREMENTS WITH NEW READINGS. 0 FIFO_FULL INTERRUPT GENERATED. NO NEW DATA STORED UNTIL THE ENTIRE FIFO IS READ. FIFO_TH INTERRUPT GENERATED. Figure 2. FIFO Normal mode, Overrun = False FIFO USED AS CIRCULAR BUFFER FIFO USED AS CIRCULAR BUFFER WP FIFO USED AS CIRCULAR BUFFER THRESHOLD RP WP THRESHOLD THRESHOLD RP WP RP WP-RP INCREMENTS WITH NEW SAMPLES STORED AND DECREMENTS WITH NEW READINGS. FIFO_TH INTERRUPT GENERATED. FIFO_FULL INTERRUPT GENERATED. NEW INCOMING DATA WOULD OVERWRITE THE OLDER ONES. Figure 3. FIFO Normal Mode, Overrun = True www.maximintegrated.com Maxim Integrated 18 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Interrupt Mode When FIFO is full, all the new incoming data is discharged. Reading only a subset of the data already stored into the FIFO keeps locked the possibility for new data to be written. Overrun = false FIFO is initially disabled. Data are stored only in the data registers. When an interrupt (either INT_OR or INT_AND) is generated, the FIFO is turned on automatically. It stores the data at the selected ODR. Only if all the data are read the FIFO restarts saving data when a new event is generated. MAX FIFO INITIALLY OFF. WHEN THE PROGRAMMED INTERRUPT OCCURS, TURN FIFO ON. LEVEL 0 MAX MAX MAX (WP-RP) = LEVEL (WP-RP) = LEVEL (WP-RP) = LEVEL 0 THRESHOLD LEVEL INCREMENTS WITH NEW SAMPLES STORED AND DECREMENTS WITH NEW READINGS. THRESHOLD 0 FIFO_TH INTERRUPT GENERATED. THRESHOLD 0 FIFO_FULL INTERRUPT GENERATED. NO NEW DATA STORED UNTIL THE ENTIRE FIFO IS READ. Figure 4. FIFO Interrupt Mode, Overrun = False www.maximintegrated.com Maxim Integrated 19 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Overrun = true the new ones. FIFO is initially disabled. Data are stored only in the data registers. If communication speed is high, data integrity can be preserved. When an interrupt (either INT_OR or INT_AND) is generated, the FIFO is turned on automatically. It stores the data at the selected ODR. In order to prevent a FIFO_WR_FULL condition, the required condition is to complete the reading of the data set before the next DATA_READY occurs. When FIFO is full, an interrupt can be generated. If this condition is not guaranteed, data can be overwritten. When FIFO is full, the oldest data is overwritten with MAX FIFO INITIALLY OFF. WHEN THE PROGRAMMED INTERRUPT OCCURS, TURN FIFO ON. LEVEL 0 WP THRESHOLD RP WP THRESHOLD THRESHOLD RP WP = RP WP-RP INCREMENTS WITH NEW SAMPLES STORED AND DECREMENTS WITH NEW READINGS. FIFO_TH INTERRUPT GENERATED. FIFO_FULL INTERRUPT GENERATED. NEW INCOMING DATA WOULD OVERWRITE THE OLDER ONES. Figure 5. FIFO Interrupt Mode, Overrun = True www.maximintegrated.com Maxim Integrated 20 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Snapshot Mode FIFO is initially in normal mode with overrun enabled. When an interrupt (either INT_OR or INT_AND) is generated, the FIFO switches automatically to notoverrun mode. It stores the data at the selected ODR until the FIFO becomes full. When FIFO is full, all the new incoming data is discharged. Reading only a subset of the data already stored into the FIFO keeps locked the possibility for new data to be written. Only if all the data are read the FIFO restarts saving data in overrun mode. When FIFO is full, an interrupt can be generated. FIFO USED AS CIRCULAR BUFFER FIFO USED AS CIRCULAR BUFFER WP FIFO USED AS CIRCULAR BUFFER THRESHOLD RP WP THRESHOLD THRESHOLD RP WP RP INTERRUPT SNAPSHOT CAPTURED MAX MAX MAX (WP-RP) = LEVEL (WP-RP) = LEVEL (WP-RP) = LEVEL 0 THRESHOLD THRESHOLD 0 THRESHOLD 0 Figure 6. FIFO Snapshot Mode www.maximintegrated.com Maxim Integrated 21 MAX21100 Data Synchronization The MAX21100 has a pin named DSYNC whose purpose is to enable a number of synchronization options. Wake-Up Feature The DSYNC pin can be used to switch the MAX21100 between two power modes according to the PWR_SEL and PWR_MODE settings in POWER_CFG (0x00) register. This feature can be used to control the power mode of the MAX21100 using an external controlling device, whether it is a microprocessor, another sensor or a different kind of device. DSYNC can be configured to active either High or Low and on either edge or level. This feature is controlled by a specific bit in the DSYNC_ CFG register. Data Capture Feature Another way to use the DSYNC pin is as Data Capture trigger. The MAX21100 can be configured to stop filling FIFO with data until a given edge occur on DSYNC. Once the programmed active edge occurs, the MAX21100 collects in FIFO as many data as specified in the DSYNC_ CNT register. DSYNC Mapping on Data DSYNC can be optionally mapped onto the LSb of the sensor data, to perform a sort of a-posteriori synchronization. The mapping occurs on every enabled axis of the sensors (gyroscope, accelerometer, magnetometer, and temperature sensor). This feature is controlled by specific bits in the DSYNC_CFG register. DSYNC Interrupt Generation The DSYNC pin can be used as an interrupt source to determine a different kind of data synchronization based on the software management performed by an external processor. The DSYNC-based wake-up, data capture, data mapping, and interrupt generation features can be combined together. Self-Test The embedded self-test for MAX21100 gyroscope and accelerometer is an additional key feature that allows the part to be tested during final product assembly without requiring physical device movement. Low Power, Ultra-Accurate 6+3 DoF IMU Gyroscope This gyroscope embedded self-test feature can be used to verify if the gyroscope is working properly without physically rotating the device. That may be used either before or after it is assembled on a PCB. If the gyroscope's outputs are within the specified self-test values in the data sheet, then the gyroscope is working properly. Accelerometer The accelerometer embedded self-test feature is used to verify the sensor functionality without physically moving the device. When this feature is enabled, an electrostatic test force is applied to the mechanical sensing element and causes the moving part to move away from its original position, emulating a definite input acceleration. In this case the sensor outputs exhibit a change in their DC levels which is related to the selected full scale through the device sensitivity. The output in this self-test mode is then compared with the output data of the device when the self-test is disabled. If the absolute value of the output difference is within the minimum and maximum range of the preselected full scale range, the accelerometer is working properly. Unique Serial Number Each MAX21100 device is uniquely identified by 48 bits that can be used to track the history of the sample, including manufacturing, assembly, and testing information. Revision ID The MAX21100 has a register used to identify the revision ID of the device and to identify the specific part number. Even though different part numbers may share the same WHO_AM_I value, they would still be identified by means of different Revision ID values. Register File The register file is organized per banks. On the Common Bank are mapped addresses from 0x20 to 0x3F and these registers are always available. It is possible to map on addresses 0x00 to 0x1F three different user banks by properly programming address 0x22. The purpose of this structure is to limit the management of the register map addresses in the 0x00 to 0x3F range even though the number of physical registers is in excess of 64. Common Bank The common is the bank whose locations are always available regardless the register bank selection. This bank contains all the registers most commonly used, including data registers and the FIFO data. www.maximintegrated.com Maxim Integrated 22 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Table 4. Common Bank NAME REGISTER ADDRESS TYPE DEFAULT VALUE WHO_AM_I 0x20 R 1011 0010 REVISION_ID 0x21 R Variable BANK_SELECT 0x22 R/W 0000 0000 Register Bank Selection SYSTEM_STATUS 0x23 R Data System Status Register GYRO_X_H 0x24 R Data Bits [15:8] of X measurement, Gyro GYRO_X_L 0x25 R Data Bits [07:0] of X measurement, Gyro GYRO_Y_H 0x26 R Data Bits [15:8] of Y measurement, Gyro GYRO_Y_L 0x27 R Data Bits [07:0] of Y measurement, Gyro GYRO_Z_H 0x28 R Data Bits [15:8] of Z measurement, Gyro GYRO_Z_L 0x29 R Data Bits [07:0] of Z measurement, Gyro ACC_X_H 0x2A R Data Bits [15:8] of X measurement, Accel. ACC_X_L 0x2B R Data Bits [07:0] of X measurement, Accel. ACC_Y_H 0x2C R Data Bits [15:8] of Y measurement, Accel. ACC_Y_L 0x2D R Data Bits [07:0] of Y measurement, Accel. ACC_Z_H 0x2E R Data Bits [15:8] of Z measurement, Accel. ACC_Z_L 0x2F R Data Bits [07:0] of Z measurement, Accel. MAG_X_H 0x30 R Data Bits [15:8] of X measurement, Mag. MAG_X_L 0x31 R Data Bits [07:0] of X measurement, Mag. MAG_Y_H 0x32 R Data Bits [15:8] of Y measurement, Mag. MAG_Y_L 0x33 R Data Bits [07:0] of Y measurement, Mag. MAG_Z_H 0x34 R Data Bits [15:8] of Z measurement, Mag. MAG_Z_L 0x35 R Data Bits [07:0] of Z measurement, Mag. TEMP_H 0x36 R Data Bits [15:8] of T measurement TEMP_L 0x37 R Data Bits [07:0] of T measurement RFU 0x38 R 0000 0000 RFU 0x39 R 0000 0000 RFU 0x3A R 0000 0000 RFU 0x3B R 0000 0000 FIFO_COUNT 0x3C R 0000 0000 Available number of FIFO samples for data set FIFO_STATUS 0x3D R 0000 0000 FIFO Status Flags FIFO_DATA 0x3E R Data RST_REG 0x3F W & Reset 0000 0000 www.maximintegrated.com COMMENT Device ID Revision ID Register FIFO Data, to be read in burst mode Reset Register Maxim Integrated 23 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU User Bank 0 User bank 0 is the register used to configure most of the features of the MAX21100, with the exception of the interrupts, which are part of the user bank 1. Table 5. User Bank 0 NAME REGISTER ADDRESS TYPE DEFAULT VALUE POWER_CFG 0x00 RW 0000 0111 Power mode configuration GYRO_CFG1 0x01 RW 0010 1000 Gyro configuration 1 GYRO_CFG2 0x02 RW 0000 0100 Gyro configuration 2 GYRO_CFG3 0x03 RW 0000 0000 Gyro configuration 3 PWR_ACC_CFG 0x04 RW 1100 0111 Accel. power configuration ACC_CFG1 0x05 RW 0000 0010 Accel. configuration 1 ACC_CFG2 0x06 RW 0000 0000 Accel. configuration 2 MAG_SLV_CFG 0x07 RW 0000 0110 Magnetometer slave configuration MAG_SLV_ADD 0x08 RW 0000 0000 Magnetometer slave address MAG_SLV_REG 0x09 RW 0000 0000 Magnetometer slave register MAG_MAP_REG 0x0A RW 0000 0000 Magnetometer mapping register I2C_MST_ADD 0x0B RW 0000 0000 I2C master register address I2C_MST_DATA 0x0C RW 0000 0000 I2C master register data MAG_OFS_X_MSB 0x0D RW 0000 0000 Magnetometer offset X, MSB COMMENT MAG_OFS_X_LSB 0x0E RW 0000 0000 Magnetometer offset X, LSB MAG_OFS_Y_MSB 0x0F RW 0000 0000 Magnetometer offset Y, MSB MAG_OFS_Y_LSB 0x10 RW 0000 0000 Magnetometer offset Y, LSB MAG_OFS_Z_MSB 0x11 RW 0000 0000 Magnetometer offset Z, MSB MAG_OFS_Z_LSB 0x12 RW 0000 0000 Magnetometer offset Z, LSB DR_CFG 0x13 RW 0000 0001 Data ready configuration IO_CFG 0x14 RW 0000 0000 Input/output configuration I2C_PAD 0x15 RW 0000 0100 PADs configuration I2C_CFG 0x16 RW 0000 0000 Serial interfaces configuration FIFO_TH 0x17 RW 0000 0000 FIFO threshold configuration FIFO_CFG 0x18 RW 0000 0000 FIFO mode configuration RFU 0x19 R 0000 0000 -- DSYNC_CFG 0x1A RW 0000 0000 DSYNC configuration DSYNC_CNT 0x1B RW 0000 0000 DSYNC counter ITF_OTP 0x1C RW 0000 0000 Serial interfaces and OTP control RFU 0x1D R 0000 0000 -- RFU 0x1E R 0000 0000 -- RFU 0x1F R 0000 0000 -- www.maximintegrated.com Maxim Integrated 24 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU User Bank 1 User Bank 1 is primarily devoted to the configuration of the interrupts. It also contains the unique serial number. Table 6. User Bank 1 NAME REGISTER ADDRESS TYPE DEFAULT VALUE INT_REF_X 0x00 RW 0000 0000 Interrupt reference for X-axis INT_REF_Y 0x01 RW 0000 0000 Interrupt reference for Y-axis INT_REF_Z 0x02 RW 0000 0000 Interrupt reference for Z-axis INT_DEB_X 0x03 RW 0000 0000 Interrupt debounce, X INT_DEB_Y 0x04 RW 0000 0000 Interrupt debounce, Y INT_DEB_Z 0x05 RW 0000 0000 Interrupt debounce, Z INT_MSK_X 0x06 RW 0000 0000 Interrupt mask, X-axis zones INT_MSK_Y 0x07 RW 0000 0000 Interrupt mask, Y-axis zones INT_MSK_Z 0x08 RW 0000 0000 Interrupt mask, Z-axis zones INT_MASK_AO 0x09 RW 0000 0000 Interrupt masks, and/or INT_CFG1 0x0A RW 0000 0000 Interrupt configuration 1 INT_CFG2 0x0B RW 0010 0100 Interrupt configuration 2 INT_TMO 0x0C RW 0000 0000 Interrupt timeout INT_STS_UL 0x0D R 0000 0000 Interrupt sources, unlatched INT_STS 0x0E R 0000 0000 Interrupt status register INT_MSK 0x0F RW 1000 0010 Interrupt mask register RFU 0x10 R 0000 0000 -- RFU 0x11 R 0000 0000 -- RFU 0x12 R 0000 0000 -- RFU 0x13 R 0000 0000 -- RFU 0x14 R 0000 0000 -- RFU 0x15 R 0000 0000 -- RFU 0x16 R 0000 0000 -- INT_SRC_SEL 0x17 RW 0011 1100 Interrupt source selection RFU 0x18 R 0000 0000 -- RFU 0x19 R 0000 0000 -- SERIAL_5 0x1A R Variable Unique serial number, Byte 5 SERIAL_4 0x1B R Variable Unique serial number, Byte 4 SERIAL_3 0x1C R Variable Unique serial number, Byte 3 SERIAL_2 0x1D R Variable Unique serial number, Byte 2 SERIAL_1 0x1E R Variable Unique serial number, Byte 1 SERIAL_0 0x1F R Variable Unique serial number, Byte 0 www.maximintegrated.com COMMENT Maxim Integrated 25 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU User Bank 2 User Bank 2 is primarily devoted to the configuration of the interrupts. It also contains the unique serial number. Table 7. User Bank 2 NAME REGISTER ADDRESS TYPE DEFAULT VALUE QUAT0_H 0x00 R 0000 0000 MSB of QUATERNION 0 QUAT0_L 0x01 R 0000 0000 LSB of QUATERNION 0 QUAT1_H 0x02 R 0000 0000 MSB of QUATERNION 1 QUAT1_L 0x03 R 0000 0000 LSB of QUATERNION 1 QUAT2_H 0x04 R 0000 0000 MSB of QUATERNION 2 QUAT2_L 0x05 R 0000 0000 LSB of QUATERNION 2 QUAT3_H 0x06 R 0000 0000 MSB of QUATERNION 3 QUAT3_L 0x07 R 0000 0000 LSB of QUATERNION 3 RFU 0x08 R 0000 0000 -- RFU 0x09 R 0000 0000 -- RFU 0x0A R 0000 0000 -- RFU 0x0B R 0000 0000 -- RFU 0x0C R 0000 0000 -- RFU 0x0D R 0000 0000 -- RFU 0x0E R 0000 0000 -- RFU 0x0F R 0000 0000 -- RFU 0x10 R 0000 0000 -- RFU 0x11 R 0000 0000 -- RFU 0x12 R 0000 0000 -- BIAS_GYRO_X_H 0x13 RW 0000 0000 GYRO bias compensation, X-MSB BIAS_GYRO_X_L 0x14 RW 0000 0000 GYRO bias compensation, X-LSB BIAS_GYRO_Y_H 0x15 RW 0000 0000 GYRO bias compensation, Y-MSB BIAS_GYRO_Y_L 0x16 RW 0000 0000 GYRO bias compensation, Y-LSB BIAS_GYRO_Z_H 0x17 RW 0000 0000 GYRO bias compensation, Z-MSB BIAS_GYRO_Z_L 0x18 RW 0000 0000 GYRO bias compensation, Z-LSB BIAS_ACC_X 0x19 RW 0000 0000 ACC bias compensation, X BIAS_ACC_Y 0x1A RW 0000 0000 ACC bias compensation, Y BIAS_ACC_X 0x1B RW 0000 0000 ACC bias compensation, Z FUS_CFG0 0x1C RW 0000 0000 Fusion Engine Configuration register 0 FUS_CFG1 0x1D RW 0101 1000 Fusion Engine Configuration register 1 RFU 0x1E R 0000 0000 -- GYRO_ODR_TRIM 0x1F RW 0111 0000 GYRO ODR correction factor register www.maximintegrated.com COMMENT Maxim Integrated 26 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Orientation of Axes Figures 7 and 8 show the orientation of the axes of sensitivity and the polarity of rotation and linear acceleration. Note the pin 1 identifier () in the figure. Z Y X Figure 7. Orientation of Gyro Axes ACC-Z ACC-Y ACC-X Figure 8. Orientation of Accelerometer Axes www.maximintegrated.com Maxim Integrated 27 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Soldering Information Connect to REGD 100nF ceramic chip capacitor as close as possible to the MAX21100 to minimize parasitic inductance. Visit www.maximintegrated.com/MAX21100.related for soldering recommendations. Depending on the specific application board, an additional bulk decoupling capacitor to VDD and VDDIO might be needed. For best performance, keep separate VDD and VDDIO power supplies. Application Notes Bypass VDD and VDDIO to the ground plane with 0.1F ceramic chip capacitors on each pin as close as possible to the device to minimize parasitic inductance. Table 8. Bill of Materials for External Components COMPONENT LABEL SPECIFICATION QUANTITY VDD/VDDIO Bypass Capacitor C1 Ceramic, X7R, 0.1F 10%, 4V 2 REGD Capacitor C2 Ceramic, X7R, 100nF 10%, 2V 1 Typical Application Circuit CLOCKING GYRO SENSE DSP MAX21100 A 2 MST_SCL I2 C MASTER BYPASS GYRO RAW DATA 4 SCL_CLK REGISTERS AND FIFO DAC A EXTERNAL MAGNETIC SENSOR 10 RSV1 ADC A 3 MST_SDA GYRO DRIVE CONTROL ADC SPI/I2C SLAVE 6 SDA_SDI_O 7 SA0_SDO 8 CS SYNC BLOCK MAIN APPLICATION PROCESSOR 12 DSYNC MOTION MERGING ENGINE A ACCELERO SENSE DSP ADC BIAS AND LDOs ACCELERO RAW DATA 9 INT2 INTERRUPTS OTP 11 INT1 TIMER 13 16 14 5 15 1 REGD RSV3 VDD GND RSV2 VDDIO 0.1F 0.1F 0.1F www.maximintegrated.com Maxim Integrated 28 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Ordering Information TEMP RANGE PIN-PACKAGE MAX21100+ PART -40C to +85C 16 LGA MAX21100+T -40C to +85C 16 LGA +Denotes a lead(Pb)-free/RoHS-compliant package. T = Tape and reel. Package Information For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a "+", "#", or "-" in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status. www.maximintegrated.com Maxim Integrated 29 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Package Information (continued) For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a "+", "#", or "-" in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status. www.maximintegrated.com Maxim Integrated 30 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Package Information (continued) For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a "+", "#", or "-" in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status. www.maximintegrated.com Maxim Integrated 31 MAX21100 Low-Power, Ultra-Accurate 6+3 DoF IMU Revision History REVISION NUMBER REVISION DATE 0 11/13 Initial release -- 1 10/14 Corrected units for sensitivity parameter 3 DESCRIPTION PAGES CHANGED For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642, or visit Maxim Integrated's website at www.maximintegrated.com. Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product. No circuit patent licenses are implied. Maxim Integrated reserves the right to change the circuitry and specifications without notice at any time. The parametric values (min and max limits) shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are provided for guidance. Maxim Integrated and the Maxim Integrated logo are trademarks of Maxim Integrated Products, Inc. (c) 2014 Maxim Integrated Products, Inc. 32 Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: Maxim Integrated: MAX21100+ MAX21100+T