MEMS Digital Output Motion Sensor: High-Performance Ultra-Low-Power 3-Axis "Femto" Accelerometer
MEMS Digital Output Motion Sensor: High-Performance Ultra-Low-Power 3-Axis "Femto" Accelerometer
Datasheet
Features
• Ultra-low power consumption: 50 nA in power-down mode, below 1 µA in active
low-power mode
• Very low noise: down to 1.3 mg RMS in low-power mode
• Multiple operating modes with multiple bandwidths
• Android stationary detection, motion detection
• Supply voltage, 1.62 V to 3.6 V
• Independent IO supply
• ±2g/±4g/±8g/±16g full scale
• High-speed I²C/SPI digital output interface
• Single data conversion on demand
• 16-bit data output
• Embedded temperature sensor
• Self-test
• 32-level FIFO
• 10000 g high shock survivability
• ECOPACK, RoHS and “Green” compliant
Applications
• Motion detection for wearables
• Gesture recognition and gaming
Product status link
• Motion-activated functions and user interfaces
LIS2DW12
• Display orientation
Product summary • Tap/double-tap recognition
• Free-fall detection
Order code LIS2DW12 LIS2DW12TR
• Smart power saving for handheld devices
Temperature
-40 to +85 • Hearing aids
range [°C]
Description
The LIS2DW12 is an ultra-low-power high-performance three-axis linear
accelerometer belonging to the “femto” family which leverages on the robust and
mature manufacturing processes already used for the production of micromachined
accelerometers.
The LIS2DW12 has user-selectable full scales of ±2g/±4g/±8g/±16g and is capable of
measuring accelerations with output data rates from 1.6 Hz to 1600 Hz.
The LIS2DW12 has an integrated 32-level first-in, first-out (FIFO) buffer allowing the
user to store data in order to limit intervention by the host processor.
The embedded self-test capability allows the user to check the functioning of the
sensor in the final application.
The LIS2DW12 has a dedicated internal engine to process motion and acceleration
detection including free-fall, wakeup, highly configurable single/double-tap
recognition, activity/inactivity, stationary/motion detection, portrait/landscape
detection and 6D/4D orientation.
The LIS2DW12 is available in a small thin plastic land grid array package (LGA) and
it is guaranteed to operate over an extended temperature range from -40 °C to
+85 °C.
X+
Y+ CHARG E
Z+ AMPLIFIE R CS
2
SCL/SPC
a MUX
A/D
CONVERTER
CONTROL
LOGIC
IC
SDA/SDO/SDI
Z- SPI
SDO/SA0
Y-
X-
TEMPERATURE SENSOR
INT1
INT2
1
VDDIO 10 11 12 1 SCL/SPC
VDD 9 2 CS
GND 8 3 SDO/SA0
X Y
RES 7 6 5 4 SDA/SDI/SDO
(TOPVIEW)
GND
NC
DIRECTION OF THE
DETECTABLE
ACCELERATIONS (BOTTOM VIEW)
1. SDO/SA0 and CS pins are internally pulled up. Refer to Table 2. Internal pull-up values (typ.) for SDO/SA0 and CS pins for
the internal pull-up values (typ).
1.7 V 54.4
1.8 V 49.2
2.5 V 30.4
3.6 V 20.4
±2
±4
FS Measurement range g
±8
±16
@ FS ±2 g in High-Performance Mode and all low-power
0.244
modes except Low-Power Mode 1
@ FS ±4 g in High-Performance Mode and all low-power
0.488
modes except Low-Power Mode 1
@ FS ±8 g in High-Performance Mode and all low-power
0.976
modes except Low-Power Mode 1
So Sensitivity @ FS ±16 g in High-Performance Mode and all low- mg/digit
1.952
power modes except Low-Power Mode 1
@ FS ±2 g in Low-Power Mode 1 0.976
@ FS ±4 g in Low-Power Mode 1 1.952
@ FS ±8 g in Low-Power Mode 1 3.904
@ FS ±16 g in Low-Power Mode 1 7.808
Noise density - High-performance
An @ FS ±2 g 90 µg/√Hz
Mode(2)
Low-Power Mode 4 1.3
@ ODR range
IddHR Current consumption in High-Performance Mode(3) 90 µA
12.5 Hz - 1600 Hz, 14-bit
ODR 100 Hz 5
ODR 50 Hz 3
IddLP Current consumption in Low-Power Mode(4) µA
ODR 12.5 Hz 1
ODR 1.6 Hz 0.38
Idd_PD Current consumption in power-down 50 nA
VIH Digital high-level input voltage 0.8*Vdd_IO V
1(3)
TSDr Temperature sensor output change vs. temperature LSB/°C
16(4)
Temperature refresh rate in High-Performance Mode for all ODRs
50
or in low-power modes for ODRs equal to 200/100/50 Hz
Value (1)
Symbol Parameter Unit
Min Max
1. 10 MHz clock frequency for SPI with both 4 and 3 wires, based on characterization results, not tested in production.
CS
SPC
tsu(SI) th(SI)
Note: Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both input and output ports.
tw(SP:SR) Bus free time between STOP and START condition 4.7 1.3
REPEATED
START
START
tsu(SR)
tw(SP:SR) START
SDA
tsu(SDA) th(SDA)
tsu(SP) STOP
SCL
Note: Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both ports.
tSP Pulse width of spikes that must be suppressed by the input filter 0 50 ns
trCL ns
Rise time of SCLH signal 10 40
High-speed mode(1) Rise time of SCLH signal after a repeated START condition and after an
trCL1 10 80
acknowledge bit
tfCL Fall time of SCLH signal 10 40
tSP Pulse width of spikes that must be suppressed by the input filter 0 10 ns
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.
3.1 Terminology
3.1.1 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.2 Functionality
T_on PD T_on
At the end of turn-on time T_on, the DRDY interrupt is activated, output data are available to be read and the
device goes into power-down. T_on values depend on the low-power mode as follows:
T_on (typ.) =
• 1.20 ms for Low-Power Mode 1
• 1.70 ms for Low-Power Mode 2
• 2.30 ms for Low-Power Mode 3
• 3.55 ms for Low-Power Mode 4
3.2.3 Self-test
The self-test allows checking the sensor functionality without moving it. The self-test function is off when the self-
test bits (ST) are programmed to ‘00’. When the self-test bits are changed, 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 in
Table 3. Mechanical characteristics, then the sensor is working properly and the parameters of the interface chip
are within the defined specifications.
3.4 IC interface
The complete measurement chain is composed of a low-noise capacitive amplifier which converts the capacitive
unbalancing of the MEMS sensor into an analog voltage using an analog-to-digital converter.
The acceleration data may be accessed through an I²C/SPI interface thus making the device particularly suitable
for direct interfacing with a microcontroller.
The LIS2DW12 features a data-ready signal which indicates when a new set of measured acceleration data is
available, thus simplifying data synchronization in the digital system that uses the device.
4 Application hints
Vdd_IO
100nF
HOST
Vdd
10µF LIS2DW12
SCL/SPC Vdd_IO
1 12 11 10
CS VDD
2 9 100nF
GND I2C configuration
SDO/SA0 GND
3 8 Vdd_IO
SDA/SDI/SDO RES
4 5 6 7
Rpu Rpu
GND
NC
SCL
SDA
Pull-up to be added
Rpu=10kOhm
The device core is supplied through the Vdd line while the I/O pads are supplied through the Vdd_IO line. Power
supply decoupling capacitors (100 nF ceramic, 10 µF aluminum) should be placed as near as possible to pin 9 of
the device (common design practice).
All the voltage and ground supplies must be present at the same time to have proper behavior of the IC (refer to
Figure 6. LIS2DW12 electrical connections (top view)). It is possible to remove Vdd while maintaining Vdd_IO
without blocking the communication bus, in this condition the measurement chain is powered off.
The functionality of the device and the measured acceleration data are selectable and accessible through the I²C
or SPI interfaces. When using the I²C, CS must be tied high (i.e. connected to Vdd_IO).
The functions, the threshold and the timing of the two interrupt pins (INT1 and INT2) can be completely
programmed by the user through the I²C/SPI interface.
1. In order to disable the internal pull-up on the CS pin, write '1' to the CS_PU_DISC bit in CTRL2 (21h).
Referring to Figure 7. Accelerometer chain, the first block is the Low-Pass Filter 1 (LPF1) whose behavior is a
function of the actual ODR and mode selected in CTRL1 (20h). The signal is then downsampled and can be
either directly sent to the output registers or to the Low-Pass Filter 2 (LPF2) or High-Pass-Filter (HP) using the
BW_FILT[1:0] bits and FDS bit in CTRL6 (25h).
In the low-pass path, it is possible to apply a user offset determined by the X_OFS_USR (3Ch), Y_OFS_USR
(3Dh), Z_OFS_USR (3Eh) register values and the USR_OFF_W bit in CTRL7 (3Fh) and send the result to the
output using the USR_OFF_ON_OUT bit in CTRL7 (3Fh).
In the high-pass path, it is possible to use the high-pass filter reference mode (HP) using the HP_REF_MODE bit
in CTRL7 (3Fh).
MODE[1:0] in BW_FILT[1:0] in
ODR [Hz] Samples to be discarded
CTRL1 (20h) CTRL6 (25h)
00 - 0
12.5 0
25 0
50 0
100 00 1
01
200 1
400 1
800 1
1600 2
5.3 FIFO
The LIS2DW12 embeds 32 slots of 14-bit data FIFO for each of the three output channels, X, Y and Z of the
acceleration data. This allows consistent power saving for the system, since 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 internal FIFO allows collecting 32 samples (14-bit size data) for each axis.
When the FIFO mode is other than Bypass, reading the output registers (28h to 2Dh) returns the oldest FIFO
sample set. In order to minimize communication between the master and slave, the address read may be
automatically incremented by the device by setting the IF_ADD_INC bit of CTRL2 (21h) to '1'; the device rolls
back to 0x28 when register 0x2D is reached.
This buffer can work according to the following 5 different modes:
• Bypass mode
• FIFO mode
• Continuous-to-FIFO
• Bypass-to-Continuous
• Continuous
Each mode is selected by the FMode[2:0] bits in the FIFO_CTRL (2Eh) register.
Programmable FIFO threshold is selected in FIFO_CTRL (2Eh). Status and FIFO overrun events are available in
the FIFO_SAMPLES (2Fh) register and can be used to generate dedicated interrupts on the INT1 and INT2 pins
using the CTRL4_INT1_PAD_CTRL (23h) and CTRL5_INT2_PAD_CTRL (24h) registers.
FIFO_SAMPLES (2Fh) (FIFO_FTH) goes to '1' when the number of unread samples FIFO_SAMPLES (2Fh)
(Diff[5:0]) is greater than or equal to FTH[4:0] in FIFO_CTRL (2Eh).
If FTH[4:0] is equal to '0', FIFO_SAMPLES (2Fh) (FIFO_FTH) goes to '0'.
FIFO_SAMPLES (2Fh) (FIFO_OVR) is equal to '1' if a FIFO slot is overwritten.
FIFO_SAMPLES (2Fh) (Diff[5:0]) contains stored data levels of unread samples. When Diff[5:0] is equal to
‘000000’, FIFO is empty. When Diff[5:0] is equal to ‘100000’, FIFO is full and the unread samples are 32.
To guarantee the correct acquisition of data during the switching into and out of FIFO, the first sample acquired
must be discarded.
When the FIFO threshold status flag is '0'-logic, FIFO filling is lower than the threshold level and when '1'-logic,
FIFO filling is equal to or higher than the threshold level.
xi,yi,zi xi,yi,zi
x0 y0 z0
x0 y0 z0
x1 y1 z1
x1 y1 z1
x2 y2 z2
x2 y2 z2
x30 y30 z30
Trigger event
xi,yi,zi xi,yi,zi
x0 y0 z0 x0 y0 z0
x1 y1 z1
x1 y1 z1
x2 y2 z2
x2 y2 z2
empty
x30 y30 z30
Trigger event
6 Digital interfaces
The registers embedded inside the LIS2DW12 may be accessed through both the I²C and SPI serial interfaces.
The latter may be SW configured to operate either in 3-wire or 4-wire interface mode.
The serial interfaces are mapped to the same pins. To select/exploit the I²C interface, the CS line must be tied
high (i.e. connected to Vdd_IO).
SPI enable
I²C/SPI mode selection
CS
(1: SPI idle mode / I²C communication enabled;
0: SPI communication mode / I²C disabled)
SCL I²C serial clock (SCL)
SPC SPI serial port clock (SPC)
SDA I²C serial data (SDA)
SDI SPI serial data input (SDI)
SDO 3-wire interface serial data output (SDO)
SA0 I²C address selection (SA0)
SDO SPI serial data output (SDO)
Term Description
There are two signals associated with the I²C bus: the serial clock line (SCL) and the Serial DAta line (SDA). The
latter is a bidirectional line used for sending and receiving the data to/from the interface. Both the lines must be
connected to Vdd_IO through an external pull-up resistor. When the bus is free, both the lines are high.
The I²C interface is compliant with fast mode (400 kHz) I²C standards as well as with normal mode.
In order to disable the I²C block, CTRL2 (21h) (I2C_DISABLE) = 1 must be set.
Table 19. Transfer when master is receiving (reading) one byte of data from slave
Table 20. Transfer when master is receiving (reading) multiple bytes of data from slave
SAD
Master ST SUB SR SAD+R MAK MAK NMAK SP
+W
Data are transmitted in byte format (DATA). Each data transfer contains 8 bits. The number of bytes transferred
per transfer is unlimited. Data is transferred with the Most Significant bit (MSb) first. If a receiver can’t receive
another complete byte of data until it has performed some other function, it can hold the clock line, SCL low to
force the transmitter into a wait state. Data transfer only continues when the receiver is ready for another byte and
releases the data line. If a slave receiver doesn’t acknowledge the slave address (i.e. it is not able to receive
because it is performing some real-time function) the data line must be left high by the slave. The master can then
abort the transfer. A low-to-high transition on the SDA line while the SCL line is high is defined as a STOP
condition. Each data transfer must be terminated by the generation of a STOP (SP) condition.
In the presented communication format MAK is Master acknowledge and NMAK is No Master Acknowledge.
CS
SPC
SDI
RW DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
CS is the serial port enable and it is controlled by the SPI master. It goes low at the start of the transmission and
goes back high at the end. SPC is the serial port clock and it is controlled by the SPI master. It is stopped high
when CS is high (no transmission). SDI and SDO are respectively the serial port data input and output. Those
lines are driven at the falling edge of SPC and should be captured at the rising edge of SPC.
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 SPC. The first bit (bit 0) starts at
the first falling edge of SPC after the falling edge of CS while the last bit (bit 15, bit 23, ...) starts at the last falling
edge of SPC just before the rising edge of CS.
bit 0: RW bit. When 0, the data DI(7:0) is written into the device. When 1, the data DO(7:0) from the device is
read. In latter case, the chip will drive SDO at the start of bit 8.
bit 1-7: address AD(6: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 into 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).
In multiple read/write commands additional blocks of 8 clock periods will be added. When the CTRL2 (21h)
(IF_ADD_INC) bit is ‘0’, the address used to read/write data remains the same for every block. When the CTRL2
(21h) (IF_ADD_INC) bit is ‘1’, the address used to read/write data is increased at every block.
The function and the behavior of SDI and SDO remain unchanged.
CS
SPC
SDI
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
The SPI read command is performed with 16 clock pulses. A multiple byte read command is performed by adding
blocks of 8 clock pulses to the previous one.
bit 0: READ bit. The value is 1.
bit 1-7: address AD(6:0). This is the address field of the indexed register.
bit 8-15: data DO(7:0) (read mode). This is the data that will be read from the device (MSb first).
bit 16-... : data DO(...-8). Additional data in multiple byte reads.
CS
SPC
SDI
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 DO15 DO14DO13DO12 DO11DO10 DO9 DO8
CS
SPC
SDI
RW DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
The SPI write command is performed with 16 clock pulses. A multiple byte write command is performed by adding
blocks of 8 clock pulses to the previous one.
bit 0: WRITE bit. The value is 0.
bit 1 -7: address AD(6: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 inside the device (MSb first).
bit 16-... : data DI(...-8). Additional data in multiple byte writes.
CS
SPC
SDI
DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 DI15 DI14 DI13 DI12 DI11 DI10 DI9 DI8
RW
AD6 AD5 AD4 AD3 AD2 AD1 AD0
CS
SPC
SDI/O
RW DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
AD6 AD5 AD4 AD3 AD2 AD1 AD0
7 Register mapping
The table given below provides a list of the 8-bit registers embedded in the device and the corresponding
addresses.
Register address
Name Type(1) Default Comment
Hex Binary
Register address
Name Type(1) Default Comment
Hex Binary
Registers marked as Reserved must not be changed. Writing to those registers may cause permanent damage to
the device.
The content of the registers that are loaded at boot should not be changed. They contain the factory calibration
values. Their content is automatically restored when the device is powered up.
8 Register description
The 8 least significant bits of the temperature sensor output. Sensitivity = 16 LSB/°C.
TEMP[3:0]
Together with OUT_T_H (0Eh), it forms the output value expressed as a 16-bit word in 2's complement.
The 8 most significant bits of the temperature sensor output. Sensitivity = 16 LSB/°C.
TEMP[11:4]
Together with OUT_T_L (0Dh), it forms the output value expressed as a 16-bit word in 2's complement
0 1 0 0 0 1 0 0
ODR[3:0] Output data rate and mode selection (see Table 29. Data rate configuration)
LP_MODE[1:0] Low-power mode selection (see Table 31. Low-power mode selection)
ODR[3:0] is used to set the power mode and ODR selection. The following table lists the bit settings for power-
down mode and each available frequency.
0000 Power-down
11 -
1. This bit must be set to ‘0’ for the correct operation of the device.
Boot enables retrieving the correct trimming parameters from nonvolatile memory into registers where
trimming parameters are stored.
BOOT
Once the operation is over, this bit automatically returns to 0.
Default value: 0 (0: disabled; 1: enabled)
Soft reset acts as reset for all control registers, then goes to 0.
SOFT_RESET
Default value: 0 (0: disabled; 1: enabled)
Disconnect CS pull-up. Default value: 0
CS_PU_DISC (0: pull-up connected to CS pin;
1: pull-up disconnected to CS pin)
Block data update. Default value: 0
BDU
(0: continuous update; 1: output registers not updated until MSB and LSB read)
Register address automatically incremented during multiple byte access with a serial interface (I²C or SPI).
IF_ADD_INC
Default value: 1 (0: disabled; 1: enabled)
Disable I²C communication protocol. Default value: 0
I2C_DISABLE
(0: SPI and I²C interfaces enabled; 1: I²C mode disabled)
SPI serial interface mode selection. Default value: 0
SIM
0: 4-wire interface; 1: 3-wire interface
The BDU bit is used to inhibit the update of the output registers until both upper and lower register parts are read.
In default mode (BDU = ‘0’) the output register values are updated continuously. When the BDU is activated
(BDU = ‘1’), the content of the output registers is not updated until both MSB and LSB are read which avoids
reading values related to different sample times.
SLP_ SLP_
ST2 ST1 PP_OD LIR H_LACTIVE 0
MODE_SEL MODE_1
SLP_ Single data conversion on demand mode enable. When SLP_MODE_SEL = '1' and this bit is set to '1' logic,
single data conversion on demand mode starts. When XL data are available in the registers, this bit is set to '0'
MODE_1 automatically and the device is ready for another triggered session.
0 0 Normal mode
0 1 Positive sign self-test
1 0 Negative sign self-test
1 1 -
LOW_
BW_FILT1 BW_FILT0 FS1 FS0 FDS 0 0
NOISE
BW_FILT[1:0] Bandwidth selection (see Table 41. Digital filtering cutoff selection)
FS[1:0] Full-scale selection (see Table 42. Full-scale selection)
Filtered data type selection. Default value: 0
FDS (0: low-pass filter path selected;
1: high-pass filter path selected)
Low-noise configuration.
LOW_NOISE
(0: disabled; 1: enabled)
00 ODR/2 (up to ODR = 800 Hz, 400 Hz when ODR = 1600 Hz)
01 ODR/4 (HP/LP)
10 ODR/10 (HP/LP)
11 ODR/20 (HP/LP)
00 ±2 g
01 ±4 g
10 ±8 g
11 ±16 g
The 8 least significant bits of linear acceleration sensor X-axis output. Together with the OUT_X_H (29h) register,
it forms the output value expressed as a 16-bit word in 2's complement.
The 8 most significant bits of linear acceleration sensor X-axis output. Together with the OUT_X_L (28h) register,
it forms the output value expressed as a 16-bit word in 2's complement.
The 8 least significant bits of linear acceleration sensor Y-axis output. Together with the OUT_Y_H (2Bh) register,
it forms the output value expressed as a 16-bit word in 2's complement.
The 8 most significant bits of linear acceleration sensor Y-axis output. Together with the OUT_Y_L (2Ah) register,
it forms the output value expressed as a 16-bit word in 2's complement.
The 8 least significant bits of linear acceleration sensor Z-axis output. Together with the OUT_Z_H (2Dh) register,
it forms the output value expressed as a 16-bit word in 2's complement.
The 8 most significant bits of linear acceleration sensor Z-axis output. Together with the OUT_Z_L (2Ch) register,
it forms the output value expressed as a 16-bit word in 2's complement.
FMode[2:0] FIFO mode selection bits. Default: 000. For further details refer to Table 55. FIFO mode selection
FTH[4:0] FIFO threshold level setting.
FIFO_ FIFO_
Diff5 Diff4 Diff3 Diff2 Diff1 Diff0
FTH OVR
00 6 (80 degrees)
01 11 (70 degrees)
10 16 (60 degrees)
11 21 (50 degrees)
TAP_PRIOR_[2:0] Selection of priority axis for tap detection (see Table 63. Selection of axis priority for tap detection).
TAP_THSY_[4:0] Threshold for tap recognition @ FS = ±2 g on Y direction.
000 X Y Z
001 Y X Z
010 X Z Y
011 Z Y X
100 X Y Z
101 Y Z X
110 Z X Y
111 Z Y X
Duration of maximum time gap for double-tap recognition. When double-tap recognition is enabled, this
register expresses the maximum time between two successive detected taps to determine a double-tap event.
LATENCY[3:0]
Default value is LATENCY[3:0] = 0000 (which is 16 * 1/ODR)
1 LSB = 32 * 1/ODR
Expected quiet time after a tap detection: this register represents the time after the first detected tap in which
there must not be any overthreshold event.
QUIET[1:0]
Default value is QUIET[1:0] = 00 (which is 2 * 1/ODR)
1 LSB = 4 * 1/ODR
Maximum duration of over-threshold event: this register represents the maximum time of an over-threshold
signal detection to be recognized as a tap event.
SHOCK[1:0]
Default value is SHOCK[1:0] = 00 (which is 4 * 1/ODR)
1 LSB = 8 *1/ODR
SINGLE_
DOUBLE_ SLEEP_ ON WK_THS5 WK_THS4 WK_THS3 WK_THS 2 WK_THS 1 WK_THS 0
TAP
WAKE_ WAKE_
FF_DUR5 STATIONARY SLEEP_ DUR3 SLEEP_ DUR2 SLEEP_ DUR1 SLEEP_ DUR0
DUR1 DUR0
Free-fall duration. In conjunction with FF_DUR [4:0] bit in FREE_FALL (36h) register.
FF_DUR5
1 LSB = 1 * 1/ODR
Enable stationary detection / motion detection with no automatic ODR change when detecting stationary state.
STATIONARY Default value: 0
(0: disabled; 1: enabled)
FF_THS [2:0] Free-fall threshold @ FS = ±2 g (refer to Table 74. FREE_FALL threshold decoding @ ± 2 g FS)
000 5
001 7
010 8
011 10
100 11
101 13
110 15
111 16
SLEEP_
0 0 FF_IA WU_IA X_WU Y_WU Z_WU
STATE IA
SINGLE_ DOUBLE_
0 TAP_IA TAP_SIGN X_TAP Y_TAP Z_TAP
TAP TAP
0 6D_IA ZH ZL YH YL XH XL
X_OFS_USR_[7:0] Two's complement user offset value on X-axis data, used for wakeup function.
Y_OFS_USR_[7:0] Two's complement user offset value on Y-axis data, used for wakeup function.
Z_OFS_USR_[7:0] Two's complement user offset value on Z-axis data, used for wakeup function.
Switches between latched and pulsed mode for data ready interrupt.
DRDY_PULSED
(0: latched mode is used; 1: pulsed mode enabled for data-ready)
Signal routing.
INT2_ON_INT1
(1: all signals available only on INT2 are routed on INT1)
INTERRUPTS_ENABLE Enable interrupts.
Enable application of user offset value on XL output data registers.
USR_OFF_ON_OUT
FDS bit in CTRL6 (25h) must be set to '0'-logic (low-pass path selected).
USR_OFF_ON_WU Enable application of user offset value on XL data for wakeup function only.
Selects the weight of the user offset words specified by X_OFS_USR_[7:0], Y_OFS_USR_[7:0] and
USR_OFF_W Z_OFS_USR_[7:0] bits.
(0: 977 µg/LSB; 1: 15.6 mg/LSB)
High-pass filter reference mode enable.
HP_REF_MODE (0: high-pass filter reference mode disabled (default);
1: high-pass filter reference mode enabled)
(0: ODR/2 low pass filtered data sent to 6D interrupt function (default);
LPASS_ON6D
1: LPF2 output data sent to 6D interrupt function)
9 Package information
In order to meet environmental requirements, ST offers these devices in different grades of ECOPACK packages,
depending on their level of environmental compliance. ECOPACK specifications, grade definitions and product
status are available at: www.st.com. ECOPACK is an ST trademark.
Figure 18. LGA-12 2.0 x 2.0 x 0.7 mm package outline and mechanical data
OUTER DIMENSIONS
Revision history
Contents
1 Block diagram and pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1 Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.3 Self-test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
List of tables
Table 1. Pin description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Table 2. Internal pull-up values (typ.) for SDO/SA0 and CS pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Table 3. Mechanical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Table 4. Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 5. Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 6. SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 7. I²C slave timing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table 8. I²C high-speed mode specifications at 1 MHz and 3.4 MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 9. Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Table 10. Operating modes - low-noise setting disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 11. Operating modes - low-noise setting enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 12. Internal pin status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 13. Number of samples to be discarded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 14. Serial interface pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 15. I²C terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 16. SAD+Read/Write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 17. Transfer when master is writing one byte to slave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 18. Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 19. Transfer when master is receiving (reading) one byte of data from slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 20. Transfer when master is receiving (reading) multiple bytes of data from slave . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 21. Register map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 22. OUT_T_L register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 23. OUT_T_L register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 24. OUT_T_H register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 25. OUT_T_H register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 26. WHO_AM_I register default values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 27. Control register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 28. Control register 1 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 29. Data rate configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 30. Mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 31. Low-power mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 32. Control register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 33. Control register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 34. Control register 3 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 35. Self-test mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 36. Control register 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 37. Control register 4 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 38. Control register 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 39. Control register 5 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 40. Control register 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 41. Digital filtering cutoff selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 42. Full-scale selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 43. OUT_T register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 44. OUT_T register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 45. STATUS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 46. STATUS register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 47. OUT_X_L register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 48. OUT_X_H register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 49. OUT_Y_L register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 50. OUT_Y_H register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 51. OUT_Z_L register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 52. OUT_Z_H register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
List of figures
Figure 1. Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figure 2. Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 3. SPI slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 4. I²C slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 5. Single data conversion on-demand functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 6. LIS2DW12 electrical connections (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figure 7. Accelerometer chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 8. Continuous-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 9. Trigger event to FIFO for Continuous-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 10. Bypass-to-Continuous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 11. Trigger event to FIFO for Bypass-to-Continuous mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 12. Read and write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 13. SPI read protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 14. Multiple byte SPI read protocol (2-byte example). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 15. SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 16. Multiple byte SPI write protocol (2-byte example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 17. SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 18. LGA-12 2.0 x 2.0 x 0.7 mm package outline and mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 19. Carrier tape information for LGA-12 package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 20. LGA-12 package orientation in carrier tape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57