iis2dlpc
iis2dlpc
Description
The IIS2DLPC is an ultra-low-power high-performance
three-axis linear accelerometer with digital I²C/SPI
output interface which leverages on the robust and
mature manufacturing processes already used for the
production of micromachined accelerometers.
Features The IIS2DLPC has user-selectable full scales of
±2g/±4g/±8g/±16g and is capable of measuring
±2g/±4g/±8g/±16g full scale accelerations with output data rates from 1.6 Hz to
Multiple operating modes reconfigurable on the fly: 1600 Hz.
from ultra-low-power to high-performance high- The IIS2DLPC has one high-performance mode and 4
resolution mode low-power modes which can be changed on the fly,
Ultra-low power consumption: 50 nA in power-down providing outstanding versatility and adaptability to the
mode, below 1 μA in active low-power mode, 120 μA requirements of the application.
in high-performance mode The IIS2DLPC has an integrated 32-level first-in, first-out
Output data rates from 1.6 Hz to 1600 Hz; bandwidth (FIFO) buffer allowing the user to store data in order to
up to 800 Hz limit intervention by the host processor.
The embedded self-test capability allows the user to
Single data conversion on demand check the functioning of the sensor in the final
Very low noise: down to 90 μg/√Hz application.
32-level FIFO and 2 independent programmable The IIS2DLPC has a dedicated internal engine to
interrupts process motion and acceleration detection including
High-speed I²C/SPI digital output interface free-fall, wakeup, highly configurable single/double-tap
recognition, activity/inactivity, stationary/motion
Supply voltage, 1.62 V to 3.6 V detection, portrait/landscape detection and 6D/4D
Embedded temperature sensor orientation.
Self-test The IIS2DLPC is available in a small thin plastic land
grid array package (LGA) and it is guaranteed to operate
10000 g high shock survivability
over an extended temperature range from -40 °C to
ECOPACK, RoHS and “Green” compliant +85 °C.
Contents
4 Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6 Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1 I2C serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1.1 I2C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 SPI bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2.1 SPI read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2.2 SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.2.3 SPI read in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7 Register mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.1 OUT_T_L (0Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.2 OUT_T_H (0Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.3 WHO_AM_I (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.4 CTRL1 (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.5 CTRL2 (21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.6 CTRL3 (22h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.7 CTRL4_INT1_PAD_CTRL (23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.8 CTRL5_INT2_PAD_CTRL (24h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.9 CTRL6 (25h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.10 OUT_T (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.11 STATUS (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.12 OUT_X_L (28h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.13 OUT_X_H (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.14 OUT_Y_L (2Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.15 OUT_Y_H (2Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9 Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.1 Soldering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.2 LGA-12 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.3 LGA-12 packing information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
List of tables
List of figures
;
< &+$5* (
= $03/,),( 5 &6
,& 6&/63&
A 08;
$'
&219(57(5
&21752/
/2*,& 6'$6'26',
= 63,
6'26$
<
;
7(03(5$785(6(1625
,17
,17
9'',2 6&/63&
9'' &6
*1' 6'26$
; <
5(6 6'$6',6'2
7239,(:
*1'
1&
',5(&7,212)7+(
'(7(&7$%/(
$&&(/(5$7,216 %277209,(:
1.7 V 54.4
1.8 V 49.2
2.5 V 30.4
3.6 V 20.4
Current consumption
Idd_PD 50 100 nA
in power-down
VIH Digital high-level input voltage 0.8*Vdd_IO V
VIL Digital low-level input voltage 0.2*Vdd_IO V
VOH Digital high-level output voltage IOH = 4 mA(7) VDD_IO - 0.2 V
VOL Digital low-level output voltage IOL = 4 mA(7) 0.2 V
1. The product is factory calibrated at 1.8 V. The operational power supply range is from 1.62 V to 3.6 V.
2. Minimum and maximum values are based on characterization data at 3σ and are not guaranteed.
3. Typical specifications are not guaranteed.
4. It is possible to remove Vdd maintaining Vdd_IO without blocking the communication busses. In this condition the
measurement chain is powered off.
5. Low-noise setting enabled.
6. Low-Power Mode 1. Low-noise setting disabled.
7. 4 mA is the maximum driving capability, ie. the maximum DC current that can be sourced/sunk by the digital pad in order to
guarantee the correct digital output voltage levels VOH and VOL.
&6
63&
WVX 6, WK 6,
WY 62 WK 62 WGLV 62
Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both input and output
ports.
5(3($7('
67$57
67$57
WVX 65
WZ 6365 67$57
6'$
WVX 63 6723
6&/
WK 67 WZ 6&// WZ 6&/+
Note: Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both ports.
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
'5'< ,17SLQ
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 4, 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 I2C/SPI interface thus making the
device particularly suitable for direct interfacing with a microcontroller.
The IIS2DLPC 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
9GGB,2
Q)
+267
9GG
) ,,6'/3&
6&/63& 9GGB,2
&6 9''
Q)
*1' ,&FRQILJXUDWLRQ
6'26$ *1'
9GGB,2
6'$6',6'2 5(6
5SX 5SX
*1'
1&
6&/
6'$
3XOOXSWREHDGGHG
5SX N2KP
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). 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 I2C or SPI interfaces. When using the I2C, 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 I2C/SPI interface.
Referring to Figure 7, 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).
00 - 0
12.5 0
25 0
50 0
100 00 1
01
200 1
400 1
800 1
1600 2
5.4 FIFO
The IIS2DLPC 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 IIS2DLPC may be accessed through both the I2C 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 I2C interface, the
CS line must be tied high (i.e. connected to Vdd_IO).
SPI enable
CS I2C/SPI mode selection (1: SPI idle mode / I2C communication enabled;
0: SPI communication mode / I2C disabled)
SCL I2C serial clock (SCL)
SPC SPI serial port clock (SPC)
SDA I2C serial data (SDA)
SDI SPI serial data input (SDI)
SDO 3-wire interface serial data output (SDO)
SA0 I2C address selection (SA0)
SDO SPI serial data output (SDO)
There are two signals associated with the I2C 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 I2C interface is compliant with fast mode (400 kHz) I2C standards as well as with
normal mode.
In order to disable the I2C block, CTRL2 (21h) (I2C_DISABLE) = 1 must be set.
Table 20. Transfer when master is receiving (reading) one byte of data from slave
Master ST SAD + W SUB SR SAD + R NMAK SP
Slave SAK SAK SAK DATA
Table 21. Transfer when master is receiving (reading) multiple bytes of data from slave
Master ST SAD+W SUB SR SAD+R MAK MAK NMAK SP
Slave SAK SAK SAK DATA DATA DATA
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.
&6
63&
6',
5: ', ', ', ', ', ', ', ',
$' $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
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.
&6
63&
6',
5:
$' $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
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.
&6
63&
6',
5:
$' $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2 '2'2'2'2'2'2'2 '2
&6
63&
6',
5: ', ', ', ', ', ', ', ',
$' $' $' $' $' $' $'
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.
&6
63&
6',
', ', ', ', ', ', ', ', ',',',',',',', ',
5:
$' $' $' $' $' $' $'
&6
63&
6',2
5: '2 '2 '2 '2 '2 '2 '2 '2
$' $' $' $' $' $' $'
7 Register mapping
The table given below provides a list of the 8-bit registers embedded in the device and the
corresponding addresses.
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
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
0001 High-Performance / Low-Power mode 12.5/1.6 Hz
0010 High-Performance / Low-Power mode 12.5 Hz
0011 High-Performance / Low-Power mode 25 Hz
0100 High-Performance / Low-Power mode 50 Hz
0101 High-Performance / Low-Power mode 100 Hz
0110 High-Performance / Low-Power mode 200 Hz
0111 High-Performance / Low-Power mode 400/200 Hz
1000 High-Performance / Low-Power mode 800/200 Hz
1001 High-Performance / Low-Power mode 1600/200 Hz
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.
0 0 Normal mode
0 1 Positive sign self-test
1 0 Negative sign self-test
1 1 -
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)
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.
9 Package information
'LPHQVLRQVDUHLQPLOOLPHWHUXQOHVVRWKHUZLVHVSHFLILHG
*HQHUDO7ROHUDQFHLVPPXQOHVVRWKHUZLVHVSHFLILHG
287(5',0(16,216
,7(0 ',0(16,21>PP@ 72/(5$1&(>PP@
/HQJWK>/@
:LGWK>:@
+HLJKW>+@ 0$;
'0B
10 Revision history
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.
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. For additional information about ST trademarks, please refer to www.st.com/trademarks. 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.