ISM303DAC High-performance, low-power, compact 3D accelerometer and 3D magnetometer module Datasheet - production data Description The ISM303DAC is a high-performance, lowpower system-in-package featuring a 3D digital linear acceleration sensor and a 3D digital magnetic sensor. /*$ [[PP Features 3 magnetic field channels and 3 acceleration channels Up to 50 gauss magnetic dynamic range 2/4/8/16 g selectable acceleration full scales Dynamic switching between high-resolution, high-frequency and low-power modes 16-bit data output SPI / I2C serial interfaces Analog supply voltage 1.71 V to 1.98 V Programmable interrupt generators for freefall, motion and magnetic field detection Embedded self-test both for the accelerometer and magnetometer Embedded 256-level FIFO Embedded temperature sensor ECOPACK(R), RoHS and "Green" compliant Applications The ISM303DAC has user-selectable linear acceleration full scales of 2g/4g/8g/16 g and is capable of measuring accelerations with output data rates from 1 Hz to 6400 Hz. The device has a magnetic field dynamic range of up to 50 gauss with output data rates from10 Hz to 150 Hz. The ISM303DAC includes an I2C serial bus interface that supports standard, fast mode, fast mode plus, and high-speed (100 kHz, 400 kHz, 1 MHz, and 3.4 MHz) and an SPI serial standard interface. The ISM303DAC has an integrated 256-level firstin, first-out (FIFO) buffer for the accelerometer data which can be used to limit the intervention of the host processor. The embedded self-test capability allows the user to check the functioning of the sensor in the final application. The system can be configured to generate an interrupt signal for free-fall, motion detection and magnetic field detection. The magnetic and accelerometer blocks can be enabled or put into power-down mode separately. The ISM303DAC is available in a plastic land grid array package (LGA) and is guaranteed to operate over an extended temperature range from -40 C to +85 C. Dual mode anti-tampering in smart meters Table 1. Device summary Antenna pointing Motion tracking Robotics and appliances Positioning and navigation systems Part number ISM303DACTR Temp. Package Packaging range [C] -40 to +85 LGA-12 Tape and reel Positional and distance sensor October 2017 This is information on a product in full production. DocID030988 Rev 2 1/80 www.st.com Contents ISM303DAC Contents 1 2 Block diagram and pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Module specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1 Sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Communication interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5 3 2.4.2 I2C - inter-IC control interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.1 Linear acceleration sensor sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.2 Magnetic sensor sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Zero-g level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Zero-gauss level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Magnetic dynamic range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1 4.2 2/80 SPI - serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1 4 2.4.1 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1.1 Magnetometer power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.1.2 Magnetometer offset cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.1.3 Magnetometer interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.4 Magnetometer hard-iron compensation . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1.5 Magnetometer self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.1 Accelerometer power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.2 Accelerometer bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.3 Accelerometer 6D / 4D orientation detection . . . . . . . . . . . . . . . . . . . . . 33 4.2.4 Accelerometer activity/inactivity function . . . . . . . . . . . . . . . . . . . . . . . . 33 DocID030988 Rev 2 ISM303DAC Contents 6 Accelerometer self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2.6 Accelerometer data stabilization time vs. ODR setting . . . . . . . . . . . . . 35 4.3 IC interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4 FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.5 5 4.2.5 4.4.1 Bypass mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.2 FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.3 Continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.4 Continuous-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.5 Bypass-to-Continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4.6 Module-to-FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Factory calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.1 Soldering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2 High-current wiring effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.1 I2C serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.1.1 6.2 I2C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 SPI bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.2.1 Accelerometer SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2.2 Accelerometer SPI read in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . 48 6.2.3 Magnetometer SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.2.4 Magnetometer SPI write in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . 50 7 Register mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.1 Module_8bit_A (0Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.2 WHO_AM_I_A (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.3 CTRL1_A (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.4 CTRL2_A (21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 8.5 CTRL3_A (22h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.6 CTRL4_A (23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.7 CTRL5_A (24h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.8 FIFO_CTRL_A (25h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 DocID030988 Rev 2 3/80 80 Contents 4/80 ISM303DAC 8.9 OUT_T_A (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.10 STATUS_A (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.11 OUT_X_L_A (28h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.12 OUT_X_H_A (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.13 OUT_Y_L_A (2Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.14 OUT_Y_H_A (2Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.15 OUT_Z_L_A (2Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.16 OUT_Z_H_A (2Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.17 FIFO_THS_A (2Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.18 FIFO_SRC_A (2Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.19 FIFO_SAMPLES_A (30h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 8.20 TAP_6D_THS_A (31h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 8.21 INT_DUR_A (32h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8.22 WAKE_UP_THS_A (33h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8.23 WAKE_UP_DUR_A (34h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 8.24 FREE_FALL_A (35h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 8.25 STATUS_DUP_A (36h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 8.26 WAKE_UP_SRC_A (37h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.27 TAP_SRC_A (38h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.28 6D_SRC_A (39h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 8.29 FUNC_SRC_A (3Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 8.30 FUNC_CTRL_A (3Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 8.31 OFFSET_X_REG_L_M (45h) and OFFSET_X_REG_H_M (46h) . . . . . . 69 8.32 OFFSET_Y_REG_L_M (47h) and OFFSET_Y_REG_H_M (48h) . . . . . . 69 8.33 OFFSET_Z_REG_L_M (49h) and OFFSET_Z_REG_H_M (4Ah) . . . . . . 69 8.34 WHO_AM_I_M (4Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 8.35 CFG_REG_A_M (60h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8.36 CFG_REG_B_M (61h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.37 CFG_REG_C_M (62h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.38 INT_CTRL_REG_M (63h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.39 INT_SOURCE_REG_M (64h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.40 INT_THS_L_REG_M (65h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.41 INT_THS_H_REG_M (66h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 DocID030988 Rev 2 ISM303DAC 9 10 Contents 8.42 STATUS_REG_M (67h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.43 OUTX_L_REG_M, OUTX_H_REG_M (68h - 69h) . . . . . . . . . . . . . . . . . . 74 8.44 OUTY_L_REG_M, OUTY_H_REG_M (6Ah - 6Bh) . . . . . . . . . . . . . . . . . 75 8.45 OUTZ_L_REG_M, OUTZ_H_REG_M (6Ch - 6Dh) . . . . . . . . . . . . . . . . . 75 Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 9.1 LGA-12 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 9.2 LGA-12 packing information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 DocID030988 Rev 2 5/80 80 List of tables ISM303DAC List of tables Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. Table 9. Table 10. Table 11. Table 12. Table 13. Table 14. Table 15. Table 16. Table 17. Table 18. Table 19. Table 20. Table 21. Table 22. Table 23. Table 24. Table 25. Table 26. Table 27. Table 28. Table 29. Table 30. Table 31. Table 32. Table 33. Table 34. Table 35. Table 36. Table 37. Table 38. Table 39. Table 40. Table 41. Table 42. Table 43. Table 44. Table 45. Table 46. Table 47. Table 48. 6/80 Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Sensor characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 I2C slave timing values (standard and fast mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 I2C slave timing values (fast mode plus and high speed) . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 RMS noise of operating modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Current consumption of operating modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Operating mode and turn-on time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Maximum ODR in single measurement mode (HR and LP modes) . . . . . . . . . . . . . . . . . . 23 Accelerometer operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Low-pass filter in low-power, high-resolution and high-frequency modes . . . . . . . . . . . . . 30 Current consumption of operating modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Accelerometer LPF cutoff frequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Number of samples to be discarded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Pin status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Serial interface pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 I2C terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Transfer when master is writing one byte to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Transfer when master is receiving (reading) one byte of data from slave . . . . . . . . . . . . . 44 Transfer when master is receiving (reading) multiple bytes of data from slave . . . . . . . . . 45 SAD+Read/Write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 SAD + Read/Write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Register map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Module_8bit_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Module_8bit_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 WHO_AM_I_A register default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 CTRL1_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 CTRL1_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 ODR register setting: power down (PD) and low power (LP) . . . . . . . . . . . . . . . . . . . . . . . 54 ODR register setting: high resolution (HR) and high frequencies (HF). . . . . . . . . . . . . . . . 55 CTRL2_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 CTRL2_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 CTRL3_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 CTRL3_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Self-test mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 CTRL4_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 CTRL4_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 CTRL5_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 CTRL5_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 FIFO_CTRL_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 FIFO_CTRL_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 FIFO mode selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 OUT_T_A register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 DocID030988 Rev 2 ISM303DAC Table 49. Table 50. Table 51. Table 52. Table 53. Table 54. Table 55. Table 56. Table 57. Table 58. Table 59. Table 60. Table 61. Table 62. Table 63. Table 64. Table 65. Table 66. Table 67. Table 68. Table 69. Table 70. Table 71. Table 72. Table 73. Table 74. Table 75. Table 76. Table 77. Table 78. Table 79. Table 80. Table 81. Table 82. Table 83. Table 84. Table 85. Table 86. Table 87. Table 88. Table 89. Table 90. Table 91. Table 92. Table 93. Table 94. Table 95. Table 96. Table 97. Table 98. Table 99. Table 100. List of tables OUT_T_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 STATUS_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 STATUS_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 OUT_X_L_A register default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 OUT_X_H_A register default values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 OUT_Y_L_A register default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 OUT_Y_H_A register default values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 OUT_Z_L_A register default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 OUT_Z_H_A register default values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 FIFO_THS_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 FIFO_SRC_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 FIFO_SRC register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 FIFO_SAMPLES_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 FIFO_SAMPLES_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 TAP_6D_THS_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 TAP_6D_THS_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4D/6D threshold setting FS @ 2 g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 INT_DUR_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 INT_DUR_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WAKE_UP_THS_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WAKE_UP_THS_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WAKE_UP_DUR_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 WAKE_UP_DUR_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FREE_FALL_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FREE_FALL_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 FREE_FALL_A threshold decoding @ 2 g FS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 STATUS_DUP_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 STATUS_DUP_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 WAKE_UP_SRC_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 WAKE_UP_SRC_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 TAP_SRC_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 TAP_SRC_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6D_SRC_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6D_SRC_A register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 FUNC_SRC_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 FUNC_SRC_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 FUNC_CTRL_A register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 FUNC_CTRL_A register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 CFG_REG_A_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 CFG_REG_A_M register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Output data rate configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 System mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 CFG_REG_B_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 CFG_REG_B_M register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Digital low-pass filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 CFG_REG_C_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 CFG_REG_C_M register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 INT_CRTL_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 INT_CTRL_REG_M register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 INT_SOURCE_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 INT_SOURCE_REG_M register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 INT_THS_L_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 DocID030988 Rev 2 7/80 80 List of tables Table 101. Table 102. Table 103. Table 104. Table 105. Table 106. Table 107. Table 108. Table 109. Table 110. Table 111. Table 112. Table 113. 8/80 ISM303DAC INT_THS_L_REG_M register description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 INT_THS_H_REG_M register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 INT_THS_H_REG_M register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 STATUS_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 STATUS_REG_M register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 OUTX_L_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 OUTX_H_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 OUTY_L_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 OUTY_H_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 OUTZ_L_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 OUTZ_H_REG_M register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Reel dimensions for carrier tape of LGA-12 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Document revision history. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 DocID030988 Rev 2 ISM303DAC List of figures List of figures Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. Figure 21. Figure 22. Figure 23. Figure 24. Figure 25. Figure 26. Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 SPI slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 I2C slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Interrupt function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Magnetometer self-test procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Accelerometer sampling chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Accelerometer slope filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Accelerometer self-test procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Continuous-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Trigger event to FIFO for Continuous-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Bypass-to-Continuous mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Trigger event to FIFO for Bypass-to-Continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Module-to-FIFO mode example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ISM303DAC electrical connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Read and write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Accelerometer SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Accelerometer multiple byte SPI write protocol (2-byte example) . . . . . . . . . . . . . . . . . . . 47 Accelerometer SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Magnetometer SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Magnetometer multiple byte SPI write protocol (2-byte example) . . . . . . . . . . . . . . . . . . . 49 Magnetometer SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 LGA-12 2x2x1 mm package outline and mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . 76 Carrier tape information for LGA-12 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 LGA-12 package orientation in carrier tape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Reel information for carrier tape of LGA-12 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 DocID030988 Rev 2 9/80 80 Block diagram and pin description ISM303DAC 1 Block diagram and pin description 1.1 Block diagram Figure 1. Block diagram ; ,17B;/ < &+$5*( $03/,),(5 = D ,17B;/ $17,$/,$6 08; $' &219(57(5 ',*,7$/),/7(5 &21752/ /2*,& = < ; &6 ,& 6&/63& 63, 6'$6',6'2 ; < &+$5*( $03/,),(5 = , 0 &21752/ /2*,& $' &219(57(5 08; = ,17B0$*'5'< < ; 7(036(1625 10/80 6(/)7(67 5()(5(1&( 75,00,1* &,5&8,76 DocID030988 Rev 2 &/2&. ),)2 ISM303DAC Pin description Figure 2. Pin connections = ,17B;/ 9GGB,2 < ,17B;/ 6&/63& ; 7239,(: &6 9GG 5HVHUYHG ,17B0$*'5'< = & *1' ',5(&7,212) '(7(&7$%/( $&&(/(5$7,216 *1' 1.2 Block diagram and pin description 6'$6',6'2 %277209,(: < ; 7239,(: ',5(&7,212) '(7(&7$%/( 0$*1(7,&),(/'6 DocID030988 Rev 2 11/80 80 Block diagram and pin description ISM303DAC Table 2. Pin description 12/80 Pin# Name 1 SCL SPC Function I2C serial clock (SCL) SPI serial port clock (SPC) I2C/SPI mode selection (1: SPI idle mode / I2C communication enabled; 0: SPI communication mode / I2C disabled) 2 CS 3 Reserved 4 SDA SDI SDO 5 C1 6 GND 7 INT_MAG/DRDY 8 GND 0V 9 Vdd Power supply 10 Vdd_IO Power supply for I/O pins 11 INT2_XL Accelerometer interrupt 2 12 INT1_XL Accelerometer interrupt 1 Reserved, connected to GND I2C serial data (SDA) SPI serial data input (SDI) 3-wire interface serial data output (SDO) Capacitor connection (C1 = 220 nF) 0V Magnetometer interrupt/data-ready signal DocID030988 Rev 2 ISM303DAC Module specifications 2 Module specifications 2.1 Sensor characteristics @ Vdd = 1.8 V, T = 25 C unless otherwise noted (a). Noise density is the same for all ODR. Table 3. Sensor characteristics Symbol Parameter Test conditions Min.(1) Typ.(2) Max.(1) Unit 2 LA_FS 4 Linear acceleration measurement range g 8 16 M_FS LA_So M_So Magnetic dynamic range(3) Sensitivity 16-bit(4)(5) 25 49.152 @ FS 2 g -7% 0.061 +7% @ FS 4 g -7% 0.122 +7% @ FS 8 g -7% 0.244 +7% @ FS 16 g -7% 0.488 +7% -10% 1.5 +10% Magnetic sensitivity(5) gauss mg/digit mgauss/ LSB LA_TCSo Linear acceleration sensitivity change vs. temperature(6) 0.01 %/C M_TCSo Magnetic sensitivity change vs. temperature(6) 0.03 %/C LA_TyOff Typical zero-g level offset accuracy(7)(8) M_TyOff Magnetic sensor offset LA_TCOff Zero-g level change vs. temp. M_TCOff LA_AN LA_RMS With offset cancellation(9)(10) (6) Magnetic sensor offset change vs. temp. Noise density - highperformance mode (HR or HF mode)(11) RMS noise - low-power mode(12) -80 30 +80 mg -60 0 +60 mgauss Max. delta from 25 C With offset cancellation(9) 0.2 -0.3 mg/C +0.3 @ FS 2 g 120 @ FS 4 g 150 @ FS 8 g 200 @ FS 16 g 300 @ FS 2 g 6.3 @ FS 4 g 8.2 @ FS 8 g 11 @ FS 16 g 17 mgauss/ C g/Hz mg(RMS) a. The product is factory calibrated at 1.8 V. The operational power supply range is from 1.71 V to 1.98 V. DocID030988 Rev 2 13/80 80 Module specifications ISM303DAC Table 3. Sensor characteristics (continued) Symbol M_R ST M_ST Top Parameter Magnetic RMS noise(13) Test conditions Min.(1) High-performance mode Typ.(2) Max.(1) Unit 3 5 mgauss (RMS) Self-test positive difference(14) (accelerometer only) 70 1500 mg Magnetic self-test(15) 15 500 mgauss Operating temperature range -40 +85 C 1. Min/Max values are based on characterization results, not tested in production and not guaranteed. 2. Typical specifications are not guaranteed. 3. The typical value of the magnetic dynamic range applies when the magnetic field is fully aligned with one of the sensitive axes. In presence of a stray field in the cross-axis direction, the magnetic dynamic range (max module) can decrease down to the min value. 4. Sensitivity calculated at 16-bit. 5. Values after calibration test and trimming. 6. Measurements are performed in a uniform temperature setup and they are based on characterization data in a limited number of samples, not measured during final test for production. 7. Typical zero-g level offset value after calibration and trimming. 8. Offset can be eliminated by enabling the slope filter. 9. Based on characterization data on a limited number of samples, not measured during final test for production. 10. Excluding drift due to magnetic shock. 11. Noise density is the same for all ODR. 12. RMS noise is the same for all ODR. 13. With low-pass filter or offset cancellation enabled. 14. "Self-test positive difference" is defined as: OUTPUT[mg](CTRL3 ST2, ST1 bits=01) - OUTPUT[mg](CTRL3 ST2, ST1 bits=00). 15. Magnetic "self-test" is defined as OUTPUT[gauss](self-test enabled) - OUTPUT[gauss](self-test disabled). 14/80 DocID030988 Rev 2 ISM303DAC 2.2 Module specifications Temperature sensor characteristics @ Vdd = 1.8 V, T = 25 C unless otherwise noted.(b) Table 4. Temperature sensor characteristics Symbol Parameter Test conditions TSDr Temperature sensor output change vs. temp. TODR Temperature refresh rate Top Min. Operating temperature range Typ.(1) Max. Unit 1 digit/C(2) 12.5 Hz -40 +85 C 1. Typical specifications are not guaranteed. 2. 8-bit resolution. 2.3 Electrical characteristics @ Vdd = 1.8 V, T = 25 C unless otherwise noted.(b) Table 5. Electrical characteristics Symbol Parameter Test conditions Min.(1) Vdd Supply voltage 1.71 Vdd_IO Module power supply for I/O 1.71 Accelerometer current consumption in LA_Idd_HR high-resolution mode Magnetic sensor in power-down Accelerometer current consumption in LA_Idd_LP low-power mode Magnetic sensor in power-down. Magnetic current consumption in highresolution mode Accelerometer in power-down mode 1.8 Max.(1) Unit 1.98 V Vdd+0.1 V 12.5Hz-6400Hz ODR range 162 A 100 Hz ODR 16 A 50 Hz ODR 10 A 12.5 Hz ODR 6 A 4.5 A ODR = 100 Hz 1180 A ODR = 10 Hz 25 A 2.5 A 1 Hz ODR M_Idd_HR Typ.(2) Magnetic current consumption in lowM_Idd_LP power mode(3) Linear accel. in power-down mode Idd_PD Current consumption in power-down VIH Digital high-level input voltage VIL Digital low-level input voltage VOH High-level output voltage 0.8*Vdd_IO V 0.2*Vdd_IO IOH = 4 mA Vdd_IO - 0.2 V V b. The product is factory calibrated at 1.8 V.The operational power supply range is from 1.71 V to 1.98 V. DocID030988 Rev 2 15/80 80 Module specifications ISM303DAC Table 5. Electrical characteristics Symbol Parameter VOL Low-level output voltage TOP Operating temperature range Test conditions Min.(1) Typ.(2) IOL = 4 mA -40 1. Min/Max values are based on characterization results, not tested in production and not guaranteed. 2. Typical specifications are not guaranteed. 3. Offset cancellation turned off. 16/80 DocID030988 Rev 2 Max.(1) Unit 0.2 V +85 C ISM303DAC Module specifications 2.4 Communication interface characteristics 2.4.1 SPI - serial peripheral interface Subject to general operating conditions for Vdd and Top. Table 6. SPI slave timing values Value (1) Symbol Parameter Unit Min tc(SPC) SPI clock cycle fc(SPC) SPI clock frequency tsu(CS) CS setup time 5 th(CS) CS hold time 20 tsu(SI) SDI input setup time 5 th(SI) SDI input hold time 15 tv(SO) SDO valid output time th(SO) SDO output hold time tdis(SO) SDO output disable time Max 100 ns 10 MHz ns 50 5 50 Figure 3. SPI slave timing diagram &6 WVX &6 WK &6 WF 63& 63& WVX 6, 6', WK 6, /6%,1 06%,1 WY 62 6'2 Note: WGLV 62 WK 62 06%287 /6%287 Values are guaranteed at 10 MHz clock frequency for SPI with 3 wires, based on characterization results, not tested in production. Measurement points are done at 0.2*Vdd_IO and 0.8*Vdd_IO, for both input and output ports. DocID030988 Rev 2 17/80 80 Module specifications 2.4.2 ISM303DAC I2C - inter-IC control interface Subject to general operating conditions for Vdd and Top. Table 7. I2C slave timing values (standard and fast mode) Symbol f(SCL) I2C standard mode (1) Parameter I2C fast mode (1) Min Max Min Max 0 100 0 400 SCL clock frequency tw(SCLL) Low period of the SCL clock 4.7 1.3 tw(SCLH) High period of the SCL clock 4.0 0.6 tsu(SDA) Data setup time 250 100 th(SDA) Data hold time 0 th(ST) START condition hold time 4 0.6 tsu(SR) Setup time for a repeated START condition 4.7 0.6 tsu(SP) Setup time for STOP condition 4 0.6 4.7 1.3 tw(SP:SR) Bus free time between STOP and START condition 3.45 0 Unit kHz s ns 0.9 s 1. Data based on standard I2C protocol requirement, not tested in production. Table 8. I2C slave timing values (fast mode plus and high speed) Symbol f(SCL) I2C fast mode plus(1) Parameter I2C high speed(1) Unit Min Max Min Max 0 1 0 3.4 SCL clock frequency tw(SCLL) Low period of the SCL clock 0.5 0.16 tw(SCLH) High period of the SCL clock 0.26 0.06 tsu(SDA) Data setup time 50 10 th(SDA) Data hold time 0 0 th(ST) START condition hold time 0.26 0.16 tsu(SR) Setup time for a repeated START condition 0.26 0.16 tsu(SP) Setup time for STOP condition 0.26 0.16 tw(SP:SR) Bus free time between STOP and START condition 0.5 1. Data based on standard I2C protocol requirement, not tested in production. 18/80 DocID030988 Rev 2 MHz s ns 0.07 s ISM303DAC Module specifications Figure 4. I2C slave timing diagram 5(3($7(' 67$57 67$57 WVX 65 67$57 WZ 6365 6'$ WVX 6'$ WK 6'$ WVX 63 6723 6&/ WK 67 Note: WZ 6&// WZ 6&/+ Measurement points are done at 0.2*Vdd_IO and 0.8*Vdd_IO, for both ports. DocID030988 Rev 2 19/80 80 Module specifications 2.5 ISM303DAC Absolute maximum ratings Stresses above those listed as "absolute maximum ratings" may cause permanent damage to the device. This is a stress rating only and functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. Table 9. Absolute maximum ratings Symbol Vdd Vdd_IO Vin Note: Ratings Maximum value Unit Supply voltage -0.3 to 2.2 V I/O pins supply voltage -0.3 to 2.2 V -0.3 to Vdd_IO +0.3 V 3000 for 0.5 ms g 10000 for 0.2 ms g 3000 for 0.5 ms g 10000 for 0.2 ms g 10000 gauss Input voltage on any control pin (CS, SCL/SPC, SDA/SDI/SDO) APOW Acceleration (any axis, powered, Vdd = 1.8 V) AUNP Acceleration (any axis, unpowered) MEF Maximum exposed field TOP Operating temperature range -40 to +85 C TSTG Storage temperature range -40 to +125 C ESD Electrostatic discharge protection (HBM) 2 kV Supply voltage on any pin should never exceed 2.2 V. This device is sensitive to mechanical shock, improper handling can cause permanent damage to the part. This device is sensitive to electrostatic discharge (ESD), improper handling can cause permanent damage to the part. 20/80 DocID030988 Rev 2 ISM303DAC Terminology 3 Terminology 3.1 Sensitivity 3.1.1 Linear acceleration sensor sensitivity Sensitivity describes the gain of the sensor and can be determined by applying 1 g acceleration to it. As the sensor can measure DC accelerations this can be done easily by pointing the axis of interest towards the center of the Earth, noting the output value, rotating the sensor by 180 degrees (pointing to the sky) and noting the output value again. By doing so, 1 g acceleration is applied to the sensor. Subtracting the larger output value from the smaller one, and dividing the result by 2, leads to the actual sensitivity of the sensor. This value changes very little over temperature and time. The sensitivity tolerance describes the range of sensitivities of a large population of sensors. 3.1.2 Magnetic sensor sensitivity Sensitivity describes the ratio of the output digital data expressed in LSB units and the applied magnetic field expressed in mG (milligauss). It can be measured, for example, by applying a known magnetic field along one axis and measuring the digital output of the device. 3.2 Zero-g level The zero-g level offset (LA_TyOff) describes the deviation of an actual output signal from the ideal output signal if no acceleration is present. A sensor in a steady state on a horizontal surface will measure 0 g on the X-axis and 0 g on the Y-axis whereas the Z-axis will measure 1 g. The output is ideally in the middle of the dynamic range of the sensor (content of OUT registers 00h, data expressed as two's complement number). A deviation from the ideal value in this case is called zero-g offset. Offset is to some extent a result of stress to MEMS sensor and therefore the offset can slightly change after mounting the sensor onto a printed circuit board or exposing it to extensive mechanical stress. Offset changes little with temperature, see Table 3 "Zero-g level change vs. temperature" (LA_TCOff). The zero-g level tolerance (TyOff) describes the standard deviation of the range of zero-g levels of a population of sensors. 3.3 Zero-gauss level Zero-gauss level offset (M_TyOff) describes the deviation of an actual output signal from the ideal output if no magnetic field is present. 3.4 Magnetic dynamic range The magnetic dynamic range of the sensor can be fully exploited when the applied magnetic field is entirely aligned with one of the sensitive axes of the sensor. In presence of a stray field in the cross-axis direction, the exploitable magnetic dynamic range (maximum module) can decrease. DocID030988 Rev 2 21/80 80 Functionality ISM303DAC 4 Functionality 4.1 Magnetometer 4.1.1 Magnetometer power modes The ISM303DAC magnetometer provides two different power modes: high-resolution and low-power modes. The tables below summarize the magnetometer RMS noise values and current consumption in different product configurations. When the low-pass filter is enabled, the bandwidth is reduced while noise performance is improved without any increase in power consumption. Table 10. RMS noise of operating modes or CFG_REG_B_M[OFF_CANC] (CFG_REG_A_M [LP = 0]) high-resolution mode (CFG_REG_A_M [LP = 1]) low-power mode BW [Hz] Noise RMS [mg] BW [Hz] Noise RMS [mg] 0 (disable) ODR/2 4.5 ODR/2 9 1 (enable) ODR/4 3 ODR/4 6 CFG_REG_B_M[LPF] Table 11. Current consumption of operating modes Current consumption (A) Current consumption (A) Current consumption (A) Current consumption (A) (CFG_REG_A_M [LP] = 0) high-resolution (CFG_REG_A_M [LP] = 1) low-power (CFG_REG_A_M [LP] = 0) high-resolution (CFG_REG_A_M [LP] = 1) CFG_REG_B_M [OFF_CANC] = 0 CFG_REG_B_M [OFF_CANC] = 0 CFG_REG_B_M [OFF_CANC] = 1 CFG_REG_B_M [OFF_CANC] = 1 10 100 25 125 55 20 200 50 240 105 50 475 125 590 255 100 950 250 1180 505 ODR (Hz) 22/80 DocID030988 Rev 2 low-power ISM303DAC Functionality The following table summarizes the turn-on time of the magnetometer in the two different power modes with the offset cancellation function enabled or disabled (see Section 4.1.2: Magnetometer offset cancellation). Table 12. Operating mode and turn-on time Operating mode Turn-on time CFG_REG_A_M[LP] CFG_REG_A_M[OFF_CANC = 0] CFG_REG_A_M[OFF_CANC = 1] 0 (high-resolution) 9.4 ms 9.4 ms + 1/ODR 1 (low-power) 6.4 ms 6.4 ms + 1/ODR The ISM303DAC offers single measurement mode in both high-resolution and low-power modes. Single measurement mode is enabled by writing bits MD[1:0] to '01' in CFG_REG_A_M (60h). In single measurement mode, once the measurement has been performed, the DRDY pin is set to high, data is available in the output register and the ISM303DAC is automatically configured in idle mode by setting the MD[1] bit to '1'. Single measurement is independent of the programmed ODR but depends on the frequency at which the MD[1:0] bits are written by the microcontroller/application processor. Maximum ODR frequency achievable in single mode measurement is given in the following table. Table 13. Maximum ODR in single measurement mode (HR and LP modes) Maximum ODR Power mode (CFG_REG_A_M[LP]) 100 Hz High resolution (LP = `0') 150 Hz Low power (LP = `1') In single measurement mode, for ODR < 10 Hz, current consumption can be calculated with the following formula: (Current_consumption_10Hz - Current_consumption_in_power_down) / (10 Hz / ODR) + Current_consumption_in_power_down Where Current_consumption_in_power_down and Current_consumption_10Hz can be found, respectively, in Table 5 and Table 11. DocID030988 Rev 2 23/80 80 Functionality 4.1.2 ISM303DAC Magnetometer offset cancellation The ISM303DAC is based on AMR technology: a set pulse is needed to set an initial operating condition. Offset cancellation is the result of performing a set and reset pulse in the magnetic sensor and it can be enabled to remove the intrinsic sensor offset. The offset cancellation technique is defined as follows: Hn - Hn - 1 H out = -------------------------2 where Hn and Hn-1 are two consecutive magnetic field measurements, one after a set pulse, the other after a reset pulse. Considering a magnetic offset (Hoff), the two magnetic field measurements are: Set: Hn = H + Hoff Reset: Hn-1 = -H + Hoff The offset is cancelled according to the offset cancellation technique: Hn - Hn - 1 2H + H off + - H off - = ------------------------------------------------- = H H out = -------------------------2 2 If the device is operating in Continous mode, the offset cancellation is enabled by setting the OFF_CANC bit to 1 in CFG_REG_B_M (61h). In this case, set/reset pulses are continuously performed; a set pulse is applied to one measurement, a reset pulse is applied to the next measurement. If the offset cancellation is disabled (OFF_CANC = 0) and Continuous mode is selected, the set pulse frequency can be configured by setting the Set_FREQ bit in CFG_REG_B_M (61h). If Set_FREQ is set to 0, the set pulse is released every 63 ODR, otherwise if Set_FREQ is set to 1, the set pulse is released only at power-on from Idle mode (a set of the magnetic sensor is performed anyway, even if the offset cancellation is disabled). If the device is operating in Single mode, in order to enable the offset cancellation, both OFF_CANC and OFF_CANC_ONE_SHOT bits must be set to 1 in CFG_REG_B_M (61h). Enabling these bits, the impulse polarity is inverted between a single read and the next one. While offset cancellation is automatically managed by the device in Continuous mode, if this feature is enabled in Single mode, the user has to remove the offset manually using the formula below: Hn - Hn - 1 H out = -------------------------2 Offset cancellation using single reads is effective only if the reads are close in time, thus ensuring the offset does not drift between two consecutive reads. 24/80 DocID030988 Rev 2 ISM303DAC 4.1.3 Functionality Magnetometer interrupt In LSM303AH magnetometer interrupt signal generation is based on the comparison between data and a programmable threshold. To enable the interrupt function, in INT_CTRL_REG_M register (63h) the "IEN" bit must be set to '1'. In the LSM303AH the user can select the axis/axes in which the interrupt function can be enabled. In order to do this, the XIEN, YIEN, and ZIEN bits in INT_CTRL_REG_M (63h) need be set properly. The threshold value can be programmed by setting the INT_THS_L_REG_M (65h) and INT_THS_H_REG_M (66h) registers. The threshold is expressed in absolute value as a 15-bit unsigned number. The threshold has the same sensitivity as the magnetic data. When magnetic data exceeds the positive or the negative threshold, the interrupt signal is generated and the information about the type of interrupt is stored in the INT_SOURCE_REG_M (64h) register. In particular, when magnetic data exceeds the positive threshold the P_TH_S_axis bit is set to '1', while if data exceeds the negative threshold the N_TH_S_axis bit is set to '1'. If magnetic data lay between the positive and the negative thresholds, no interrupt signal is released. Figure 5. Interrupt function Two different approaches for the interrupt function are available: Typical: comparison is between magnetic data read by the sensor and the programmable threshold; Advanced: comparison is made between magnetic data after hard-iron correction and the programmable threshold. These approaches are configurable by setting the INT_on_DataOFF bit in CFG_REG_B_M (61h). DocID030988 Rev 2 25/80 80 Functionality ISM303DAC If INT_on_DataOFF is set to '0' the typical approach is selected, otherwise if it is set to '1' the advanced approach is selected. Two different interrupts are available: Pulsed interrupt signal: it goes high when the magnetic data exceed one of the two thresholds and goes low when the magnetic data are between the two thresholds. This kind of interrupt is selected by setting the IEL bit in INT_CTRL_REG_M (63h) to '0'. Latched interrupt signal: it goes high when the data exceed one of the two thresholds but is reset only once the source register is read and not when the magnetic data returns between the two thresholds. This kind of interrupt is selected by setting the IEL bit in INT_CTRL_REG_M (63h) to '1'. The interrupt signal polarity can be set using the IEA bit in INT_CTRL_REG_M (63h). If IEA is set to '1' then the interrupt signal is active high, while if it is set to '0' the interrupt signal is active low. In order to drive the interrupt signal from the DRDY pad, the INT_MAG_PIN bit in CFG_REG_C_M (62h) must be set to '1'. 26/80 DocID030988 Rev 2 ISM303DAC 4.1.4 Functionality Magnetometer hard-iron compensation Hard-iron distortion occurs when a magnetic object is placed near the magnetometer and appears as a permanent bias in the sensor's outputs. The hard-iron correction consists of compensating magnetic data from hard-iron distortion. The operation is defined as follows: Hout = Hread - HHI where: Hread is the generic uncompensated magnetic field data, as read by the sensor; HHI is the hard-iron distortion field; Hout is the compensated magnetic data. The computation of the hard-iron distortion field should be performed by an external processor. After the computation of the hard iron-distortion field has been performed, the measured magnetic data can be compensated. The ISM303DAC offers the possibility of storing hard-iron data inside six dedicated registers from 45h to 4Ah. Each register contains eight bits so that the hard-iron data can be expressed as a 16-bit two's complement number. The OFFSET_axis_REG_H registers contain the MSBs of the hard-iron data, while the OFFSET_axis_REG_L registers contain the LSBs. Hard-iron data have the same format and weight of the magnetic output data. The hard-iron values stored in dedicated registers are automatically subtracted from the output data. 4.1.5 Magnetometer self-test The self-test function is available for the magnetic sensor. When the magnetic self-test is enabled, a current is forced into a coil inside the device. This current will generate a magnetic field that will produce a variation of the magnetometer output signals. If the output signals change within the amplitude limits specified in Table 3 then the sensor is working properly and the parameters of the interface chip are within the defined specifications. When the magnetometer self-test is activated, the sensor output level is given by the algebraic sum of the signals produced by the magnetic field acting on the sensor and by the forced current. The self-test procedure is described in the following figure. DocID030988 Rev 2 27/80 80 Functionality ISM303DAC Figure 6. Magnetometer self-test procedure :ULWH&KWR&)*B5(*B$B0 K :ULWHKWR&)*B5(*B%B0 K :ULWHKWR&)*B5(*B&B0 K AE ,QLWLDOL]H VHQVRUWXUQRQVHQVRU AE &203B7(03B(1 %'8&RQWLQXRXV&RQYHUVLRQPRGH (QDEOHRIIVHWFDQFHOODWLRQ2'5 +] 3RZHUXSZDLWPVIRUVWDEOHRXWSXW &KHFN=\[GD LQ67$786B5(*B0 K 0DJ'DWD5HDG\%LW 5HDG0DJ287;287<287=WRFOHDU=\[GD ELWLQUHJLVWHU 67$786B5(*B0 K ZDLWIRUWKHILUVWVDPSOH AE 'LVFDUGGDWD 5HDGWKHRXWSXWUHJLVWHUVDIWHUFKHFNLQJ=\[GD ELW WLPHV :KHQ=\[GD 5HDG287;B/B5(*B0 K 287;B+B5(*B0 K 6WRUHGDWDLQ287;B1267 5HDG287@ )'6B6/23( )UHHIDOO &75/B$UHJLVWHU The digital signal is filtered by a low-pass digital filter (LPF) whose cutoff frequency depends on the selected accelerometer ODR, as shown in Table 17. Table 17. Accelerometer LPF cutoff frequency Mode LP HR HF ODR selection [Hz] LPF cutoff [Hz] 1 3200 12.5 3200 25 3200 50 3200 100 3200 200 3200 400 3200 800 3200 12.5 5.5 25 11 50 22 100 44 200 88 400 177 800 355 1600 710 3200 1420 6400 2840 DocID030988 Rev 2 31/80 80 Functionality ISM303DAC The selection of the signal (LPF or HPF) which is sent to the OUT registers is determined by the FDS_SLOPE bit of CTRL2_A (21h) register. When it is logic `1', the HPF signal is selected, LPF otherwise. The signal that is sent to the digital functions (wakeup, double-tap, activity/inactivity and 6D orientation) is always the HPF signal. Anti-aliasing filtering is guaranteed by the ADC sampling frequency and the digital LPF cutoff frequency. Anti-aliasing filtering is available in HR/HF mode only. When the accelerometer is in LP mode, the circuitry is periodically turned on/off (reducing power consumption) with a fixed on-time and a period that is a function of the selected ODR. For this reason the LPF cutoff is fixed to 3.2 kHz, so the user must take care to select the proper ODR value Vs application sampling frequency in order to avoid aliasing (based on the noise characteristics of the system in use). Accelerometer slope filter As shown in Figure 8, the ISM303DAC device embeds a digital slope filter which is used for wakeup and single/double-tap features. The slope filter output data is computed using the following formula: slope(tn) = [ acc(tn) - acc(tn-1) ] / 2 An example of a slope data signal is illustrated in Figure 8. Figure 8. Accelerometer slope filter DFF WQ $&&(/(5$7,21 DFF WQ 6ORSH WQ >DFF WQ DFF WQ @ 6/23( Slope filter bandwidth is ~ ODR/4 and its data is available in the output registers and FIFO by setting the FDS_SLOPE bit of CTRL2_A (21h) to '1'. 32/80 DocID030988 Rev 2 ISM303DAC 4.2.3 Functionality Accelerometer 6D / 4D orientation detection The ISM303DAC includes 6D / 4D orientation detection which applies only to the accelerometer. In this configuration the interrupt is generated when the device is stable in a known direction. In 4D configuration, detection of the position of the Z-axis is disabled. 4.2.4 Accelerometer activity/inactivity function The Activity/Inactivity recognition function allows reducing the power consumption of the system in order to develop new smart applications and is applicable only to the accelerometer block of the device. When the Activity/Inactivity recognition function is activated, the ISM303DAC is able to automatically go to 12.5 Hz sampling rate and to wake up as soon as the interrupt event has been detected, increasing the output data rate and bandwidth. With this feature the system may be efficiently switched from low-power mode to full performance depending on user-selectable positioning and acceleration events, thus ensuring power saving and flexibility. The Activity/Inactivity recognition function is activated by writing the desired threshold in the WAKE_UP_THS_A (33h) register. The high-pass filter is automatically enabled. If the device is in Sleep (Inactivity) mode, when at least one of the axes exceeds the threshold in the WAKE_UP_THS_A (33h) the device goes into Sleep-to-Wake (as WakeUp). Activity/Inactivity threshold and duration can be configured in the control registers: WAKE_UP_THS_A (33h) WAKE_UP_DUR_A (34h) 4.2.5 Accelerometer self-test The self-test allows the user to check the sensor functionality without moving it. When the self-test is enabled, an actuation force is applied to the sensor, simulating a definite input acceleration. In this case the sensor outputs will exhibit a change in their DC levels which are related to the selected full scale through the device sensitivity. When the self-test is activated, the device output level is given by the algebraic sum of the signals produced by the acceleration acting on the sensor and by the electrostatic test-force. If the output signals change within the amplitude specified inside Table 3, then the sensor is working properly and the parameters of the interface chip are within the defined specifications. The self-test procedure is described in the following figure. DocID030988 Rev 2 33/80 80 Functionality ISM303DAC Figure 9. Accelerometer self-test procedure :ULWHKWR&75/B$ K AE ,QLWLDOL]H6HQVRUWXUQRQVHQVRU AE 6HW%'8 2'5 +])6 J 3RZHUXSZDLWIRUPVIRUVWDEOHRXWSXW &KHFN'5'/@ : LGWK>: @ +HLJKW>+@ ',0(16,21>PP@ 72/(5$1&(>PP@ 0$; B 76/80 DocID030988 Rev 2 ISM303DAC 9.2 Package information LGA-12 packing information Figure 24. Carrier tape information for LGA-12 package Figure 25. LGA-12 package orientation in carrier tape DocID030988 Rev 2 77/80 80 Package information ISM303DAC Figure 26. Reel information for carrier tape of LGA-12 package 7 PPPLQ $FFHVVKROHDW VORWORFDWLRQ % & $ 1 ' )XOOUDGLXV *PHDVXUHGDWKXE 7DSHVORW LQFRUHIRU WDSHVWDUW PPPLQZLGWK Table 112. Reel dimensions for carrier tape of LGA-12 package Reel dimensions (mm) 78/80 A (max) 330 B (min) 1.5 C 13 0.25 D (min) 20.2 N (min) 60 G 12.4 +2/-0 T (max) 18.4 DocID030988 Rev 2 ISM303DAC 10 Revision history Revision history Table 113. Document revision history Date Revision Changes 16-Oct-2017 1 Initial release 31-Oct-2017 2 Document status promoted to "Datasheet - production data" DocID030988 Rev 2 79/80 80 ISM303DAC IMPORTANT NOTICE - PLEASE READ CAREFULLY STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST's terms and conditions of sale in place at the time of order acknowledgement. Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers' products. No license, express or implied, to any intellectual property right is granted by ST herein. Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners. Information in this document supersedes and replaces information previously supplied in any prior versions of this document. (c) 2017 STMicroelectronics - All rights reserved 80/80 DocID030988 Rev 2