STMicroelectronics LPS22HBTR Mems nano pressure sensor: 260-1260 hpa absolute digital output barometer Datasheet

LPS22HB
MEMS nano pressure sensor: 260-1260 hPa absolute
digital output barometer
Datasheet - production data
Applications
 Altimeters and barometers for portable devices
 GPS applications
 Weather station equipment
 Sport watches
HLGA-10L
(2.0 x 2.0 x 0.76 mm)
Description
Features
 260 to 1260 hPa absolute pressure range
 Current consumption down to 3 μA
 High overpressure capability: 20x full-scale
The LPS22HB is an ultra-compact piezoresistive
absolute pressure sensor which functions as a
digital output barometer. The device comprises a
sensing element and an IC interface which
communicates through I2C or SPI from the
sensing element to the application.
The sensing element, which detects absolute
pressure, consists of a suspended membrane
manufactured using a dedicated process
developed by ST.
 Embedded temperature compensation
 24-bit pressure data output
 16-bit temperature data output
 ODR from 1 Hz to 75 Hz
 SPI and I²C interfaces
 Embedded FIFO
 Interrupt functions: Data Ready, FIFO flags,
pressure thresholds
The LPS22HB is available in a full-mold, holed
LGA package (HLGA). It is guaranteed to operate
over a temperature range extending from -40 °C
to +85 °C. The package is holed to allow external
pressure to reach the sensing element.
 Supply voltage: 1.7 to 3.6 V
 High shock survivability: 22,000 g
 Small and thin package
 ECOPACK® lead-free compliant
Table 1. Device summary
Order code
Temperature range [°C]
Package
Packing
LPS22HBTR
-40 to +85°C
HLGA-10L
Tape and reel
November 2016
This is information on a product in full production.
DocID027083 Rev 5
1/49
www.st.com
Contents
LPS22HB
Contents
1
Block diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3
Mechanical and electrical specifications . . . . . . . . . . . . . . . . . . . . . . . 10
3.1
Mechanical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3
Communication interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4
4
5
6
3.3.2
I2C - inter-IC control interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1
Sensing element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2
IC interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3
Factory calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4
Interpreting pressure readings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1
Bypass mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2
FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3
Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.4
Dynamic-Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.5
Stream-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.6
Bypass-to-Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.7
Bypass-to-FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.8
Retrieving data from FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Soldering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.1
2/49
SPI - serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1
7
3.3.1
Serial interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
DocID027083 Rev 5
LPS22HB
Contents
7.2
I2C serial interface (CS = High) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2.1
7.3
I2C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
SPI bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.3.1
SPI read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.3.2
SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.3.3
SPI read in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8
Register mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.1
INTERRUPT_CFG (0Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.2
THS_P_L (0Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.3
THS_P_H (0Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.4
WHO_AM_I (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.5
CTRL_REG1 (10h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.6
CTRL_REG2 (11h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.7
CTRL_REG3 (12h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.8
FIFO_CTRL (14h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.9
REF_P_XL (15h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.10
REF_P_L (16h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.11
REF_P_H (17h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.12
RPDS_L (18h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.13
RPDS_H (19h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.14
RES_CONF (1Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.15
INT_SOURCE (25h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.16
FIFO_STATUS (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.17
STATUS (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.18
PRESS_OUT_XL (28h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.19
PRESS_OUT_L (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.20
PRESS_OUT_H (2Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.21
TEMP_OUT_L (2Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.22
TEMP_OUT_H (2Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.23
LPFP_RES (33h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
DocID027083 Rev 5
3/49
49
Contents
10
LPS22HB
Package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.1
11
4/49
HLGA-10L package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
DocID027083 Rev 5
LPS22HB
List of tables
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.
Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Pressure and temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
I2C slave timing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Serial interface pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
I2C terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
SAD+Read/Write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Transfer when master is writing one byte to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Transfer when master is receiving (reading) one byte of data from slave . . . . . . . . . . . . . 27
Transfer when master is receiving (reading) multiple bytes of data from slave . . . . . . . . . 27
Registers address map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Output data rate bit configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Low-pass filter configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Interrupt configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
FIFO mode selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
FIFO_STATUS example: OVR/FSS details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Document revision history. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
DocID027083 Rev 5
5/49
49
List of figures
LPS22HB
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.
6/49
Device architecture block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Digital logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Pin connections (bottom view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SPI slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
I2C slave timing diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Pressure readings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Bypass mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
FIFO mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Dynamic-Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Stream-to-FIFO mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Bypass-to-Stream mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Bypass-to-FIFO mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
LPS22HB electrical connections (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Read and write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
SPI read protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Multiple byte SPI read protocol (2-byte example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Multiple byte SPI write protocol (2-byte example). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
“Threshold based” interrupt event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Interrupt events on INT_DRDY pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
HLGA-10L (2.0 x 2.0 x 0.76 mm typ.) package outline and mechanical dimensions . . . . . 47
DocID027083 Rev 5
LPS22HB
1
Block diagrams
Block diagrams
Figure 1. Device architecture block diagram
*$06(&
Figure 2. Digital logic
DocID027083 Rev 5
7/49
49
Pin description
2
LPS22HB
Pin description
9GGB,2
6&/63&
Figure 3. Pin connections (bottom view)
5(6
*1'
6'$6',6'2
*1'
6'26$
&6
,17B'5'<
9''
*$06(&
8/49
DocID027083 Rev 5
LPS22HB
Pin description
Table 2. Pin description
Pin number
Name
Function
1
Vdd_IO
2
SCL
SPC
3
Reserved
Connect to GND
4
SDA
SDI
SDI/SDO
I2C serial data (SDA)
4-wire SPI serial data input (SDI)
3-wire serial data input/output (SDI/SDO)
5
SDO
SA0
Power supply for I/O pins
I2C serial clock (SCL)
SPI serial port clock (SPC)
4-wire SPI serial data output (SDO)
I2C less significant bit of the device address (SA0)
SPI enable
I2C/SPI mode selection
(1: SPI idle mode / I2C communication enabled;
0: SPI communication mode / I2C disabled)
6
CS
7
INT_DRDY
8
GND
0 V supply
9
GND
0 V supply
10
VDD
Power supply
Interrupt or Data Ready
DocID027083 Rev 5
9/49
49
Mechanical and electrical specifications
LPS22HB
3
Mechanical and electrical specifications
3.1
Mechanical characteristics
VDD = 1.8 V, T = 25 °C, unless otherwise noted.
Table 3. Pressure and temperature sensor characteristics
Symbol
Parameter
Test condition
Min.
Typ.(1)
Max.
Unit
+85
°C
Pressure sensor characteristics
PTop
Operating temperature range
PTfull
Full accuracy temperature range
Pop
Operating pressure range
Pbits
Pressure output data
Psens
PAccRel
PAccT
Pnoise
ODRPres
-40
0
+65
°C
260
1260
hPa
24
bits
4096
LSB/
hPa
P = 800 - 1100 hPa
T = 25 °C
±0.1
hPa
Pop
T = 0 to 65 °C
After OPC(2)
±0.1
Pop
T = 0 to 65 °C
no OPC (2)
±1
Pressure sensitivity
Relative accuracy over pressure
Absolute accuracy over temperature
RMS pressure sensing noise(3)
hPa
with embedded
filtering
Pressure output data rate(4)
0.0075
hPa
RMS
1
10
25
50
75
Hz
Temperature sensor characteristics
Top
Operating temperature range
Tsens
Temperature sensitivity
Tacc
Temperature absolute accuracy
ODRT
-40
T = 0 to 65 °C
Output temperature data rate(4)
+85
°C
100
LSB/°C
±1.5
°C
1
10
25
50
75
Hz
1. Typical specifications are not guaranteed.
2. OPC: One-Point Calibration, see RPDS_L (18h), RPDS_H (19h).
3. Pressure noise RMS evaluated in a controlled environment, based on the average standard deviation of 50 measurements
at highest ODR and with LC_EN bit = 0, EN_LPFP = 1, LPFP_CFG = 1.
4. Output data rate is configured acting on ODR[2:0] in CTRL_REG1 (10h).
10/49
DocID027083 Rev 5
LPS22HB
3.2
Mechanical and electrical specifications
Electrical characteristics
VDD = 1.8 V, T = 25 °C, unless otherwise noted.
Table 4. Electrical characteristics
Symbol
VDD
Parameter
Test condition
Supply voltage
Vdd_IO IO supply voltage
Idd
IddPdn
Supply current
Min.
Typ.(1)
Max.
Unit
1.7
3.6
V
1.7
Vdd+0.1
V
@ ODR 1 Hz
LC_EN bit = 0
12
@ ODR 1 Hz
LC_EN bit = 1
3
μA
Supply current in power-down
mode
1
μA
1. Typical specifications are not guaranteed.
Table 5. DC characteristics
Symbol
Parameter
Condition
Min.
Typ.
Max.
Unit
DC input characteristics
Vil
Low-level input voltage
(Schmitt buffer)
-
-
-
0.2 *
Vdd_IO
V
Vih
High-level input voltage
(Schmitt buffer)
-
0.8 *
Vdd_IO
-
-
V
DC output characteristics
Vol
Low-level output voltage
0.2
-
-
V
Voh
High-level output voltage
-
-
Vdd_IO0.2
V
DocID027083 Rev 5
11/49
49
Mechanical and electrical specifications
LPS22HB
3.3
Communication interface characteristics
3.3.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
6
th(CS)
CS hold time
8
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
9
50
1. Values are guaranteed at 10 MHz clock frequency for SPI with both 4 and 3 wires, based on
characterization results, not tested in production.
Figure 4. SPI slave timing diagram
*$06(&
Note:
12/49
Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both ports.
DocID027083 Rev 5
LPS22HB
3.3.2
Mechanical and electrical specifications
I2C - inter-IC control interface
Subject to general operating conditions for Vdd and TOP.
Table 7. I2C slave timing values
I²C standard mode(1)
Parameter (1)
Symbol
f(SCL)
SCL clock frequency
I²C fast mode(1)
Min
Max
Min
Max
Unit
0
100
0
400
kHz
tw(SCLL)
SCL clock low time
4.7
1.3
tw(SCLH)
SCL clock high time
4.0
0.6
tsu(SDA)
SDA setup time
250
100
th(SDA)
SDA data hold time
0.01
3.45
μs
ns
0
0.9
(2)
300
300
tr(SDA) tr(SCL)
SDA and SCL rise time
1000
20 + 0.1Cb
tf(SDA) tf(SCL)
SDA and SCL fall time
300
20 + 0.1Cb(2)
th(ST)
START condition hold time
4
0.6
tsu(SR)
Repeated START condition
setup time
4.7
0.6
tsu(SP)
STOP condition setup time
4
0.6
4.7
1.3
Bus free time between STOP
and START condition
tw(SP:SR)
μs
ns
μs
1. Data based on standard I2C protocol requirement, not tested in production.
2. Cb = total capacitance of one bus line, in pF.
Figure 5. I2C slave timing diagram
5(3($7('
67$57
67$57
WVX 65 67$57
WZ 6365 6'$
WI 6'$ WVX 6'$
WU 6'$
WK 6'$
WVX 63 6723
6&/
WK 67 WZ 6&// WZ 6&/+ WU 6&/
WI 6&/
*$06(&
Note:
Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both ports.
DocID027083 Rev 5
13/49
49
Mechanical and electrical specifications
3.4
LPS22HB
Absolute maximum ratings
Stress 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 8. Absolute maximum ratings
Symbol
Vdd
Vdd_IO
Vin
P
Note:
Ratings
Maximum value
Unit
Supply voltage
-0.3 to 4.8
V
I/O pins supply voltage
-0.3 to 4.8
V
-0.3 to Vdd_IO +0.3
V
2
MPa
-40 to +125
°C
2 (HBM)
kV
Input voltage on any control pin
Overpressure
TSTG
Storage temperature range
ESD
Electrostatic discharge protection
Supply voltage on any pin should never exceed 4.8 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.
14/49
DocID027083 Rev 5
LPS22HB
4
Functionality
Functionality
The LPS22HB is a high-resolution, digital output pressure sensor packaged in an HLGA fullmold package. The complete device includes a sensing element based on a piezoresistive
Wheatstone bridge approach, and an IC interface which communicates a digital signal from
the sensing element to the application.
4.1
Sensing element
An ST proprietary process is used to obtain a silicon membrane for MEMS pressure
sensors. When pressure is applied, the membrane deflection induces an imbalance in the
Wheatstone bridge piezoresistances whose output signal is converted by the IC interface.
4.2
IC interface
The complete measurement chain is composed of a low-noise amplifier which converts the
resistance unbalance of the MEMS sensors (pressure and temperature) into an analog
voltage using an analog-to-digital converter.
The pressure and temperature data may be accessed through an I²C/SPI interface thus
making the device particularly suitable for direct interfacing with a microcontroller.
The LPS22HB features a Data-Ready signal which indicates when a new set of measured
pressure and temperature data are available, thus simplifying data synchronization in the
digital system that uses the device.
4.3
Factory calibration
The trimming values are stored inside the device in a non-volatile structure. When the
device is turned on, the trimming parameters are downloaded into the registers to be
employed during the normal operation which allows the device to be used without requiring
any further calibration.
4.4
Interpreting pressure readings
The pressure data are stored in 3 registers: PRESS_OUT_H (2Ah), PRESS_OUT_L (29h),
and PRESS_OUT_XL (28h). The value is expressed as 2’s complement.
To obtain the pressure in hPa, take the two’s complement of the complete word and then
divide by 4096 LSB/hPa.
DocID027083 Rev 5
15/49
49
Functionality
LPS22HB
Figure 6. Pressure readings
Equation 1
Equation 2
16/49
DocID027083 Rev 5
LPS22HB
5
FIFO
FIFO
The LPS22HB embeds 32 slots of 40-bit data FIFO to store the pressure and temperature
output values. 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. This buffer can work
according to seven different modes: Bypass mode, FIFO mode, Stream mode, DynamicStream mode, Stream-to-FIFO mode, Bypass-to-Stream and Bypass-to-FIFO mode. The
FIFO buffer is enabled when the FIFO_EN bit in CTRL_REG2 (11h) is set to '1' and each
mode is selected by the FIFO_MODE[2:0] bits in FIFO_CTRL (14h). Programmable FIFO
threshold status, FIFO overrun events and the number of unread samples stored are
available in the FIFO_STATUS (26h) register and can be set to generate dedicated
interrupts on the INT_DRDY pad using the CTRL_REG3 (12h) register.
FIFO_STATUS (26h)(FTH_FIFO) goes to '1' when the number of unread samples
(FIFO_STATUS (26h)(FSS5:0)) is greater than or equal to WTM[4:0] in FIFO_CTRL (14h).
If FIFO_CTRL (14h)(WTM4:0) is equal to 0, FIFO_STATUS (26h)(FTH_FIFO) goes to '0'.
FIFO_STATUS (26h)(OVRN) is equal to '1' if a FIFO slot is overwritten.
FIFO_STATUS (26h)(FSS5:0) contains stored data levels of unread samples; when
FSS[5:0] is equal to '000000' FIFO is empty, when FSS[5:0] is equal to '100000' FIFO is full
and the unread samples are 32.
To guarantee the switching into and out of FIFO mode, discard the first sample acquired.
5.1
Bypass mode
In Bypass mode (FIFO_CTRL (14h)(FMODE2:0)=000), the FIFO is not operational and it
remains empty.
Bypass mode is also used to reset the FIFO when in FIFO mode.
As described in the next figure, for each channel only the first address is used. When new
data is available, the older data is overwritten.
Figure 7. Bypass mode
DocID027083 Rev 5
17/49
49
FIFO
5.2
LPS22HB
FIFO mode
In FIFO mode (FIFO_CTRL (14h)(FMODE2:0) = 001) data from the output
PRESS_OUT_XL (28h), PRESS_OUT_L (29h), PRESS_OUT_H (2Ah) and TEMP_OUT_L
(2Bh), TEMP_OUT_H (2Ch) are stored in the FIFO until it is overwritten.
To reset FIFO content, in Bypass mode the value '000' must be written in FIFO_CTRL
(14h)(FMODE2:0). After this reset command, it is possible to restart FIFO mode, writing the
value '001' in FIFO_CTRL (14h)(FMODE2:0).
FIFO buffer memorizes 32 levels of data but the depth of the FIFO can be resized by setting
the CTRL_REG2 (11h)(STOP_ON_FTH) bit. If the STOP_ON_FTH bit is set to '1', FIFO
depth is limited to FIFO_CTRL (14h)(WTM4:0) + 1 data.
A FIFO threshold interrupt can be enabled (F_OVR bit in CTRL_REG3 (12h) in order to be
raised when the FIFO is filled to the level specified by the WTM4:0 bits of FIFO_CTRL
(14h). When a FIFO threshold interrupt occurs, the first data has been overwritten and the
FIFO stops collecting data from the input pressure and temperature.
Figure 8. FIFO mode
*$06(&
18/49
DocID027083 Rev 5
LPS22HB
5.3
FIFO
Stream mode
Stream mode (FIFO_CTRL (14h)(FMODE2:0) = 010) provides continuous FIFO update: as
new data arrive, the older is discarded.
Once the entire FIFO has been read, the last data read remains in the FIFO and hence once
a new sample is acquired, the FIFO_STATUS (26h)(FSS5:0) value rises from 0 to 2.
An overrun interrupt can be enabled, CTRL_REG3 (12h)(F_OVR) = '1', in order to inform
when the FIFO is full and eventually read its content all at once. If an overrun occurs, the
oldest sample in FIFO is overwritten, so if the FIFO was empty, the lost sample has already
been read.
Figure 9. Stream mode
In the latter case reading all FIFO content before an overrun interrupt has occurred, the first
data read is equal to the last already read in the previous burst, so the number of new data
available in FIFO depends on the previous reading.
DocID027083 Rev 5
19/49
49
FIFO
5.4
LPS22HB
Dynamic-Stream mode
In Dynamic-Stream mode (FIFO_CTRL (14h)(FMODE2:0) = 110) after emptying the FIFO,
the first new sample that arrives becomes the first to be read in a subsequent read burst. In
this way, the number of new data available in FIFO does not depend on the previous
reading.
In Dynamic-Stream mode FIFO_STATUS (26h)(FSS5:0) is the number of new pressure and
temperature samples available in the FIFO buffer.
Stream Mode is intended to be used to read all 32 samples of FIFO within an ODR after
receiving an overrun signal.
Dynamic-Stream is intended to be used to read FIFO_STATUS (26h)(FSS5:0) samples
when it is not possible to guarantee reading data within an ODR.
Also, a FIFO threshold interrupt on the INT_DRDY pad throughCTRL_REG3 (12h)(F_FTH)
can be enabled in order to read data from the FIFO and leave free memory slots for
incoming data.
Figure 10. Dynamic-Stream mode
20/49
DocID027083 Rev 5
LPS22HB
5.5
FIFO
Stream-to-FIFO mode
In Stream-to-FIFO mode (FIFO_CTRL (14h)(FMODE2:0) = 011), FIFO behavior changes
according to the INT_SOURCE(IA) bit. When the INT_SOURCE(IA) bit is equal to '1', FIFO
operates in FIFO mode. When the INT_SOURCE(IA) bit is equal to '0', FIFO operates in
Stream mode.
An interrupt generator can be set to the desired configuration through INTERRUPT_CFG
(0Bh).
The INTERRUPT_CFG (0Bh)(LIR) bit should be set to '1' in order to have latched interrupt.
Figure 11. Stream-to-FIFO mode
DocID027083 Rev 5
21/49
49
FIFO
5.6
LPS22HB
Bypass-to-Stream mode
In Bypass-to-Stream mode (FIFO_CTRL (14h)(FMODE2:0) = '100'), data measurement
storage inside FIFO operates in Stream mode when INT_SOURCE(IA) is equal to '1',
otherwise FIFO content is reset (Bypass mode).
An interrupt generator can be set to the desired configuration through INTERRUPT_CFG
(0Bh).
The INTERRUPT_CFG (0Bh)(LIR) bit should be set to '1' in order to have latched interrupt.
Figure 12. Bypass-to-Stream mode
22/49
DocID027083 Rev 5
LPS22HB
5.7
FIFO
Bypass-to-FIFO mode
In Bypass-to-FIFO mode (FIFO_CTRL (14h)(FMODE2:0) = '111'), data measurement
storage inside FIFO operates in FIFO mode when INT_SOURCE(IA) is equal to '1',
otherwise FIFO content is reset (Bypass mode).
An interrupt generator can be set to the desired configuration through INTERRUPT_CFG
(0Bh).
The INTERRUPT_CFG (0Bh) (LIR) bit should be set to '1' in order to have latched interrupt.
Figure 13. Bypass-to-FIFO mode
5.8
Retrieving data from FIFO
FIFO data is read from PRESS_OUT (Addr. reg 28h,29h,2Ah) and TEMP_OUT (Addr. reg
2Bh,2Ch).
Each time data is read from the FIFO, the oldest data are placed in the PRESS_OUT_XL
(28h), PRESS_OUT_L (29h), PRESS_OUT_H (2Ah), TEMP_OUT_L (2Bh) and
TEMP_OUT_H (2Ch) registers and both single-read and read-burst operations can be
used.
The device automatically updates the reading address and it rolls back to 28h when register
2Ch is reached. In order to read all FIFO levels in multiple byte reading, 160 bytes (5 output
registers by 32 levels) must be read.
DocID027083 Rev 5
23/49
49
Application hints
6
LPS22HB
Application hints
Figure 14. LPS22HB electrical connections (top view)
*1'
9''
*1'
&
,17B'5'<
&6
*1'
6'26$
6&/63&
6'$6',6'2
9GGB,2
*$06(&
The device power supply must be provided through the VDD line; a power supply
decoupling capacitor C1 (100 nF) must be placed as near as possible to the supply pads of
the device. Depending on the application, an additional capacitor of 4.7 μF could be placed
on VDD line.
The functionality of the device and the measured data outputs are selectable and accessible
through the I²C/SPI interface. When using the I2C, CS must be tied to Vdd_IO.
All the voltage and ground supplies must be present at the same time to have proper
behavior of the IC (refer to Figure 14). It is possible to remove VDD while maintaining
Vdd_IO without blocking the communication bus, in this condition the measurement chain is
powered off.
6.1
Soldering information
The HLGA package is compliant with the ECOPACK® standard, and it is qualified for
soldering heat resistance according to JEDEC J-STD-020.
24/49
DocID027083 Rev 5
LPS22HB
Digital interfaces
7
Digital interfaces
7.1
Serial interfaces
The registers embedded in the LPS22HB 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 onto the same pads. To select/exploit the I²C interface, the
CS line must be tied high (i.e. connected to Vdd_IO).
Table 9. Serial interface pin description
Pin name
Pin description
CS
SPI enable
I²C/SPI mode selection (1: SPI idle mode / I2C communication enabled; 0: SPI
communication mode / I2C disabled)
SCL/SPC
I²C serial clock (SCL)
SPI serial port clock (SPC)
SDA
SDI
SDI/SDO
I²C serial data (SDA)
4-wire SPI serial data input (SDI)
3-wire serial data input /output (SDI/SDO)
SDO
SAO
7.2
SPI serial data output (SDO)
I²C less significant bit of the device address (SA0)
I2C serial interface (CS = High)
The LPS22HB I²C is a bus slave. The I²C is employed to write data into registers whose
content can also be read back.
The relevant I²C terminology is given in Table 10.
Table 10. I2C terminology
Term
Description
Transmitter The device which sends data to the bus
Receiver
The device which receives data from the bus
Master
The device which initiates a transfer, generates clock signals and terminates a transfer
Slave
The device addressed by the master
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 lines have to be connected to Vdd_IO through pull-up resistors.
The I²C interface is compliant with fast mode (400 kHz) I²C standards as well as with the
normal mode.
DocID027083 Rev 5
25/49
49
Digital interfaces
7.2.1
LPS22HB
I2C operation
The transaction on the bus is started through a START (ST) signal. A start condition is
defined as a HIGH-to-LOW transition on the data line while the SCL line is held HIGH. After
the master has transmitted this, the bus is considered busy. The next data byte transmitted
after the start condition contains the address of the slave in the first 7 bits and the eighth bit
tells whether the master is receiving data from the slave or transmitting data to the slave.
When an address is sent, each device in the system compares the first seven bits after a start
condition with its address. If they match, the device considers itself addressed by the master.
The slave address (SAD) associated to the LPS22HB is 101110xb. The SDO/SA0 pad can
be used to modify the less significant bit of the device address. If the SA0 pad is connected
to voltage supply, LSb is ‘1’ (address 1011101b), otherwise if the SA0 pad is connected to
ground, the LSb value is ‘0’ (address 1011100b). This solution permits connecting and
addressing two different LPS22HB devices to the same I²C lines.
Data transfer with acknowledge is mandatory. The transmitter must release the SDA line
during the acknowledge pulse. The receiver must then pull the data line LOW so that it
remains stable low during the HIGH period of the acknowledge clock pulse. A receiver which
has been addressed is obliged to generate an acknowledge after each byte of data received.
The I2C embedded inside the ASIC behaves like a slave device and the following protocol
must be adhered to. After the start condition (ST) a slave address is sent, once a slave
acknowledge has been returned (SAK), an 8-bit sub-address will be transmitted (SUB): the
7 LSB represent the actual register address while the MSB has no meaning. The
IF_ADD_INC bit in CTRL_REG2 (11h) enables sub-address auto increment (IF_ADD_INC
is '1' by default), so if IF_ADD_INC = '1' the SUB (sub-address) will be automatically
increased to allow multiple data read/write.
The slave address is completed with a Read/Write bit. If the bit is ‘1’ (Read), a repeated
START (SR) condition must be issued after the two sub-address bytes; if the bit is ‘0’ (Write)
the master will transmit to the slave with direction unchanged. Table 11 explains how the
SAD+read/write bit pattern is composed, listing all the possible configurations.
Table 11. SAD+Read/Write patterns
Command
SAD[6:1]
SAD[0] = SA0
R/W
SAD+R/W
Read
101110
0
1
10111001 (B9h)
Write
101110
0
0
10111000 (B8h)
Read
101110
1
1
10111011 (BBh)
Write
101110
1
0
10111010 (BAh)
Table 12. Transfer when master is writing one byte to slave
Master
Slave
26/49
ST
SAD + W
SUB
SAK
DocID027083 Rev 5
DATA
SAK
SP
SAK
LPS22HB
Digital interfaces
Table 13. Transfer when master is writing multiple bytes to slave
Master
ST
SAD + W
SUB
Slave
SAK
DATA
DATA
SAK
SAK
SP
SAK
Table 14. Transfer when master is receiving (reading) one byte of data from slave
Master
ST
SAD + W
Slave
SUB
SAK
SR
SAD + R
SAK
NMAK
SAK
SP
DATA
Table 15. Transfer when master is receiving (reading) multiple bytes of data from slave
Master
Slave
ST SAD+W
SUB
SAK
SR SAD+R
SAK
MAK
SAK
DATA
MAK
DATA
NMAK SP
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 cannot receive another complete byte of data until it has performed
some other functions, 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 does not 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 kept 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 order to read multiple bytes incrementing the register address, it is necessary to assert
the most significant bit of the sub-address field. In other words, SUB(7) must be equal to 1
while SUB(6-0) represents the address of the first register to be read.
In the presented communication format MAK is Master acknowledge and NMAK is no
master acknowledge.
DocID027083 Rev 5
27/49
49
Digital interfaces
7.3
LPS22HB
SPI bus interface
The LPS22HB SPI is a bus slave. The SPI allows writing to and reading from the registers of
the device.
The serial interface interacts with the application using 4 wires: CS, SPC, SDI and SDO.
Figure 15. Read and write protocol
&6
63&
6',
', ', ', ', ', ', ', ',
5:
$' $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
*$06(&
CS is the serial port enable and it is controlled by the SPI master. It goes low at the start of
the transmission and returns to 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
multiples of 8 in the 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 the 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 further blocks of 8 clock periods are added. When the
IF_ADD_INC bit is 0, the address used to read/write data remains the same for every block.
When the IF_ADD_INC bit is 1, the address used to read/write data is incremented at every
block.
The function and the behavior of SDI and SDO remain unchanged.
28/49
DocID027083 Rev 5
LPS22HB
7.3.1
Digital interfaces
SPI read
Figure 16. SPI read protocol
&6
63&
6',
5:
$' $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
*$06(&
The SPI read command is performed with 16 clock pulses. The 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 is read from the device (MSb first).
bit 16-...: data DO(...-8). Further data in multiple byte reads.
Figure 17. Multiple byte SPI read protocol (2-byte example)
$4
41$
4%*
4%0
*$06(&
DocID027083 Rev 5
29/49
49
Digital interfaces
7.3.2
LPS22HB
SPI write
Figure 18. SPI write protocol
&6
63&
6',
', ', ', ', ', ', ', ',
5:
$' $' $' $' $' $' $'
*$06(&
The SPI write command is performed with 16 clock pulses. The 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 in the device (MSb first).
bit 16-...: data DI(...-8). Further data in multiple byte writes.
Figure 19. Multiple byte SPI write protocol (2-byte example)
&6
63&
6',
', ', ', ', ', ', ', ', ',',',',',',', ',
5:
$' $' $' $' $' $' $'
*$06(&
30/49
DocID027083 Rev 5
LPS22HB
7.3.3
Digital interfaces
SPI read in 3-wire mode
A 3-wire mode is entered by setting bit SIM to ‘1’ (SPI serial interface mode selection) in
CTRL_REG1 (10h).
Figure 20. SPI read protocol in 3-wire mode
&6
63&
6',2
'2 '2 '2 '2 '2 '2 '2 '2
5:
06
$' $' $' $' $' $' $'
*$06(&
The SPI read command is performed with 16 clock pulses:
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 is read from the device (MSb first).
A multiple read command is also available in 3-wire mode.
DocID027083 Rev 5
31/49
49
Register mapping
8
LPS22HB
Register mapping
Table 16 provides a quick overview of the 8-bit registers embedded in the device.
Table 16. Registers address map
Register
Name
Type
Reserved
Default
Hex
Binary
00 - 0A
-
Function and
comment
Reserved
INTERRUPT_CFG
R/W
0B
00000000
THS_P_L
R/W
0C
00000000
THS_P_H
R/W
0D
00000000
0E
-
Reserved
Who am I
Reserved
WHO_AM_I
R
0F
10110001
CTRL_REG1
R/W
10
00000000
CTRL_REG2
R/W
11
00010000
CTRL_REG3
R/W
12
00000000
Interrupt control
13
-
Reserved
Reserved
FIFO_CTRL
R/W
14
00000000
REF_P_XL
R/W
15
00000000
REF_P_L
R/W
16
00000000
REF_P_H
R/W
17
00000000
RPDS_L
R/W
18
00000000
RPDS_H
R/W
19
00000000
RES_CONF
R/W
1A
00000000
1B - 24
-
Reserved
INT_SOURCE
R
25
-
FIFO_STATUS
R
26
-
STATUS
R
27
-
PRESS_OUT_XL
R
28
-
PRESS_OUT_L
R
29
-
PRESS_OUT_H
R
2A
-
TEMP_OUT_L
R
2B
-
TEMP_OUT_H
R
2C
-
2D - 32
-
33
-
Reserved
LPFP_RES
32/49
Address
R
DocID027083 Rev 5
Reserved
Reserved
LPS22HB
Register mapping
Registers marked as Reserved must not be changed. Writing to those registers may cause
permanent damage to the device.
To guarantee the proper behavior of the device, all register addresses not listed in the above
table must not be accessed and the content stored in those registers must not be changed.
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.
DocID027083 Rev 5
33/49
49
Register description
9
LPS22HB
Register description
The device contains a set of registers which are used to control its behavior and to retrieve
pressure and temperature data. The register address, made up of 7 bits, is used to identify
them and to read/write the data through the serial interface.
9.1
INTERRUPT_CFG (0Bh)
Interrupt mode for pressure acquisition configuration.
7
6
5
4
3
2
1
0
AUTORIFP
RESET_ARP
AUTOZERO
RESET_AZ
DIFF_EN
LIR
PLE
PHE
AUTORIFP
Enable AUTORIFP: function. Default value: 0
(0: normal mode; 1: AutoRifP enabled)
RESET_ARP Reset AutoRifP function. Default value: 0
(0: normal mode; 1: reset AutoRifP function)
AUTOZERO
Enable Autozero function. Default value: 0
(0: normal mode; 1: Autozero enabled)
RESET_AZ
Reset Autozero function. Default value: 0
(0: normal mode; 1: reset Autozero function)
DIFF_EN
Enable interrupt generation. Default value: 0
(0: interrupt generation disabled; 1: interrupt generation enabled)
LIR
Latch interrupt request to the INT_SOURCE (25h) register. Default value: 0
(0: interrupt request not latched; 1: interrupt request latched)
PLE
Enable interrupt generation on pressure low event. Default value: 0
(0: disable interrupt request;
1: enable interrupt request on pressure value lower than preset threshold)
PHE
Enable interrupt generation on pressure high event. Default value: 0
(0: disable interrupt request;
1: enable interrupt request on pressure value higher than preset threshold)
To generate an interrupt event based on a user-defined threshold, the DIFF_EN bit must be
set to '1' and the threshold values stored in THS_P_L (0Ch) and THS_P_H (0Dh).
When DIFF_EN = '1', the PHE bit or PLE bit (or both bits) have to be enabled.
When DIFF_EN is enabled and AUTOZERO or AUTORIFP is enabled, the defined pressure
threshold values in THS_P (0Ch, 0Dh) is compared with:
P_DIFF_IN = measured pressure - REF_P
34/49
DocID027083 Rev 5
LPS22HB
Register description
Figure 21. “Threshold based” interrupt event
7KUHVKROGSRVLWLYHYDOXH
3RVLWLYH
3B',))B,1
7KUHVKROGQHJDWLYHYDOXH
1HJDWLYH
*$06(&
If the AUTOZERO bit is set to '1', the measured pressure is used as the reference in the
register REF_P (15h, 16h and 17h). From that point on, the output pressure registers
PRESS_OUT (28h, 29h and 2Ah) are updated and the same value is also used for the
interrupt generation:
–
PRESS_OUT = measured pressure - REF_P
–
P_DIFF_IN = measured pressure - REF_P
After the first conversion, the AUTOZERO bit is automatically set to '0'. To return back to
normal mode, RESET_AZ bit has to be set to '1'. This resets also the content of the REF_P
registers.
If the AUTORIFP bit is set to '1', the measured pressure is used as the reference in the
register REF_P (15h, 16h and 17h). From that point on, the value used for the interrupt
generation is the following:
–
P_DIFF_IN = measured pressure - REF_P
The output registers PRESS_OUT (28h, 29h and 2Ah) show the difference between the
measured pressure and the content of the RPDS registers (18h and 19h):
–
PRESS_OUT = measured pressure - RPDS
After the first conversion, AUTORIFP bit is automatically set to '0'. To return back to normal
mode, the RESET_ARP bit has to be set to '1'.
DocID027083 Rev 5
35/49
49
Register description
9.2
LPS22HB
THS_P_L (0Ch)
User-defined threshold value for pressure interrupt event (Least significant bits).
7
6
5
4
3
2
1
0
THS7
THS6
THS5
THS4
THS3
THS2
THS1
THS0
THS[7:0]
This register contains the low part of threshold value for pressure interrupt generation.
The threshold value for pressure interrupt generation is a 16-bit unsigned right-justified
value composed of THS_P_H (0Dh) and THS_P_L (0Ch).The value is expressed as:
Interrupt threshold (hPa) = ±THS_P / 16
To enable the interrupt event based on this user-defined threshold, the DIFF_EN bit in
INTERRUPT_CFG (0Bh) must be set to '1', the PHE bit or PLE bit (or both bits) in
INTERRUPT_CFG (0Bh) has to be enabled.
9.3
THS_P_H (0Dh)
User-defined threshold value for pressure interrupt event (Most significant bits).
7
6
5
4
3
2
1
0
THS15
THS14
THS13
THS12
THS11
THS10
THS9
THS8
THS[15:8]
9.4
This register contains the high part of threshold value for pressure interrupt generation. Refer to THS_P_L (0Ch).
WHO_AM_I (0Fh)
Device Who am I
36/49
7
6
5
4
3
2
1
0
1
0
1
1
0
0
0
1
DocID027083 Rev 5
LPS22HB
9.5
Register description
CTRL_REG1 (10h)
Control register 1
7
6
5
4
3
2
1
0
0(1)
ODR2
ODR1
ODR0
EN_LPFP
LPFP_CFG
BDU
SIM
1. This bit must be set to ‘0’ for proper operation of the device.
ODR [2:0]
Output data rate selection. Default value: 000
Refer to Table 17.
EN_LPFP
Enable low-pass filter on pressure data when Continuous mode is used. Default
value: 0
(0: Low-pass filter disabled; 1: Low-pass filter enabled)
LPFP_CFG
LPFP_CFG: Low-pass configuration register. Default value:0
Refer to Table 18.
BDU(1)
Block data update. Default value: 0
(0: continuous update;
1: output registers not updated until MSB and LSB have been read(2))
SIM
SPI Serial Interface Mode selection.Default value: 0
(0: 4-wire interface; 1: 3-wire interface)
1. To guarantee the correct behavior of BDU feature, PRESS_OUT_H (2Ah) must be the last address read.
2. When I2C is used with BDU=1, the IF_ADD_INC bit has to be set to ‘0’ in CTRL_REG2 (11h) and only a
single-byte read of the output registers is allowed.
Table 17. Output data rate bit configurations
ODR2
ODR1
ODR0
Pressure (Hz)
Temperature (Hz)
0
0
0
0
0
1
1 Hz
1 Hz
0
1
0
10 Hz
10 Hz
0
1
1
25 Hz
25 Hz
1
0
0
50 Hz
50 Hz
1
0
1
75 Hz
75 Hz
Power down / one-shot mode enabled
When the ODR bits are set to '000', the device is in Power-down mode. When the device is
in power-down mode, almost all internal blocks of the device are switched off to minimize
power consumption. The I2C interface is still active to allow communication with the device.
The content of the configuration registers is preserved and output data registers are not
updated, therefore keeping the last data sampled in memory before going into power-down
mode.
If the ONE_SHOT bit in CTRL_REG2 (11h) is set to '1', One-shot mode is triggered and a
new acquisition starts when it is required. Enabling this mode is possible only if the device
was previously in power-down mode (ODR bits set to '000'). Once the acquisition is
completed and the output registers updated, the device automatically enters in power-down
mode. ONE_SHOT bit self-clears itself.
DocID027083 Rev 5
37/49
49
Register description
LPS22HB
When the ODR bits are set to a value different than '000', the device is in Continuous
mode and automatically acquires a set of data (pressure and temperature) at the frequency
selected through the ODR[2:0] bits.
Once the additional low-pass filter has been enabled through the EN_LPFP bit, it is possible
to configure the device bandwidth acting on the LPFP_CFG bit. See Table 18 for low-pass
filter configurations.
Table 18. Low-pass filter configurations
EN_LPFP
LPFP_CFG
Additional low-pass filter status
Device bandwidth
0
x
Disabled
ODR/2
1
0
Enabled
ODR/9
1
1
Enabled
ODR/20
The BDU bit is used to inhibit the update of the output registers between the reading of upper,
middle and lower register parts. In default mode (BDU = ‘0’), the lower and upper register parts
are updated continuously. When the BDU is activated (BDU = ‘1’), the content of the output
registers is not updated until PRESS_OUT_H (2Ah) is read, avoiding the reading of values
related to different samples.
9.6
CTRL_REG2 (11h)
Control register 2
7
BOOT
6
5
FIFO_EN
4
STOP_ON_FTH
IF_ADD_INC
3
I2C_DIS
2
SWRESET
1
(1)
0
0
ONE_SHOT
1. This bit must be set to ‘0’ for proper operation of the device
38/49
BOOT
Reboot memory content. Default value: 0
(0: normal mode; 1: reboot memory content). The bit is self-cleared when the BOOT
is completed.
FIFO_EN
FIFO enable. Default value: 0
(0: disable; 1: enable)
STOP_ON_FTH
Stop on FIFO watermark. Enable FIFO watermark level use. Default value: 0
(0: disable; 1: enable)
IF_ADD_INC
Register address automatically incremented during a multiple byte access with a
serial interface (I2C or SPI). Default value: 1
(0: disable; 1 enable)
I2C_DIS
Disable I2C interface. Default value: 0
(0: I2C enabled;1: I2C disabled)
SWRESET
Software reset. Default value: 0
(0: normal mode; 1: software reset).
The bit is self-cleared when the reset is completed.
ONE_SHOT
One-shot enable. Default value: 0
(0: idle mode; 1: a new dataset is acquired)
DocID027083 Rev 5
LPS22HB
Register description
The BOOT bit is used to refresh the content of the internal registers stored in the Flash
memory block. At device power-up, the content of the Flash memory block is transferred to
the internal registers related to the trimming functions to allow correct behavior of the device
itself. If for any reason the content of the trimming registers is modified, it is sufficient to use
this bit to restore the correct values. When the BOOT bit is set to ‘1’, the content of the
internal Flash is copied into the corresponding internal registers and is used to calibrate the
device. These values are factory trimmed and they are different for every device. They allow
the correct behavior of the device and normally they should not be changed. At the end of
the boot process the BOOT bit is set again to ‘0’ by hardware. The BOOT bit takes effect
after one ODR clock cycle.
SWRESET is the software reset bit. The following device registers (INTERRUPT_CFG
(0Bh), THS_P_L (0Ch), REF_P_H (17h), CTRL_REG1 (10h), CTRL_REG2 (11h),
CTRL_REG3 (12h), FIFO_CTRL (14h), REF_P_XL (15h), REF_P_L (16h), REF_P_H
(17h)) are reset to the default value if the SWRESET bit is set to '1'. The SWRESET bit
returns to '0' by hardware.
The ONE_SHOT bit is used to start a new conversion when the ODR[2:0] bits in
CTRL_REG1 (10h) are set to ‘000’. Writing a ‘1’ in ONE_SHOT triggers a single
measurement of pressure and temperature. Once the measurement is done, the
ONE_SHOT bit will self-clear, the new data are available in the output registers, and the
STATUS (27h) bits are updated.
9.7
CTRL_REG3 (12h)
Control register 3 - INT_DRDY pin control register
7
6
5
4
3
2
1
0
INT_H_L
PP_OD
F_FSS5
F_FTH
F_OVR
DRDY
INT_S2
INT_S1
INT_H_L
Interrupt active-high/low. Default value: 0
(0: active high; 1: active low)
PP_OD
Push-pull/open drain selection on interrupt pads. Default value: 0
(0: push-pull; 1: open drain)
F_FSS5
FIFO full flag on INT_DRDY pin. Default value: 0
(0: disable; 1: enable)
F_FTH
FIFO watermark status on INT_DRDY pin. Default value: 0
(0: disable; 1: enable)
F_OVR
FIFO overrun interrupt on INT_DRDY pin. Default value: 0
(0: disable; 1: enable)
DRDY
Data-ready signal on INT_DRDY pin. Default value: 0
(0: disable; 1: enable)
INT_S[2:1]
Data signal on INT_DRDY pin control bits. Default value: 00
Refer to Table 19.
DocID027083 Rev 5
39/49
49
Register description
LPS22HB
Table 19. Interrupt configurations
INT_S2 INT_S1
INT_DRDY pin configuration
0
0
Data signal (in order of priority: DRDY or F_FTH or F_OVR or F_FSS5
0
1
Pressure high (P_high)
1
0
Pressure low (P_low)
1
1
Pressure low OR high
Figure 22. Interrupt events on INT_DRDY pin
40/49
DocID027083 Rev 5
LPS22HB
9.8
Register description
FIFO_CTRL (14h)
FIFO control register
7
6
5
4
3
2
1
0
F_MODE2
F_MODE1
F_MODE0
WTM4
WTM3
WTM2
WTM1
WTM0
F_MODE[2:0] FIFO mode selection. Default value: 000
Refer to Table 20 and Section 5 for additional details.
WTM[4:0]
FIFO watermark level selection.
Table 20. FIFO mode selection
9.9
F_MODE2
F_MODE1
F_MODE0
FIFO mode selection
0
0
0
Bypass mode
0
0
1
FIFO mode
0
1
0
Stream mode
0
1
1
Stream-to-FIFO mode
1
0
0
Bypass-to-Stream mode
1
0
1
Reserved
1
1
0
Dynamic-Stream mode
1
1
1
Bypass-to-FIFO mode
REF_P_XL (15h)
Reference pressure (LSB data)
7
6
5
4
3
2
1
0
REFL7
REFL6
REFL5
REFL4
REFL3
REFL2
REFL1
REFL0
REFL[7:0]
This register contains the low part of the reference pressure value.
The Reference pressure value is a 24-bit data and it is composed of REF_P_H (17h),
REF_P_L (16h) and REF_P_XL (15h). The value is expressed as 2’s complement.
The reference pressure value is used when AUTOZERO or AUTORIFP function is enabled.
Please refer to INTERRUPT_CFG (0Bh) register description.
DocID027083 Rev 5
41/49
49
Register description
9.10
LPS22HB
REF_P_L (16h)
Reference pressure (middle part)
7
6
5
4
3
2
1
0
REFL15
REFL14
REFL13
REFL12
REFL11
REFL10
REFL9
REFL8
REFL[15:8]
9.11
This register contains the mid part of the reference pressure value.
Refer to REF_P_XL (15h).
REF_P_H (17h)
Reference pressure (MSB part)
7
6
5
4
3
2
1
0
REFL23
REFL22
REFL21
REFL20
REFL19
REFL18
REFL17
REFL16
REFL[23:16]
9.12
This register contains the high part of the reference pressure value.
Refer to REF_P_XL (15h).
RPDS_L (18h)
Pressure offset (LSB data)
7
6
5
4
3
2
1
0
RPDS7
RPDS6
RPDS5
RPDS4
RPDS3
RPDS2
RPDS1
RPDS0
RPDS[7:0]
This register contains the low part of the pressure offset value.
The pressure offset value is 16-bit data that can be used to implement one-point calibration
(OPC) after soldering. This value is composed of RPDS_H (19h) and RPDS_L (18h). The
value is expressed as 2’s complement.
9.13
RPDS_H (19h)
Pressure offset (MSB data)
7
6
5
4
3
2
1
0
RPDS15
RPDS14
RPDS13
RPDS12
RPDS11
RPDS10
RPDS9
RPDS8
RPDS[15:8]
42/49
This register contains the high part of the pressure offset value.
Refer to RPDS_L (18h).
DocID027083 Rev 5
LPS22HB
9.14
Register description
RES_CONF (1Ah)
Low-power mode configuration
7
6
5
4
3
2
1
0
0(1)
0(1)
0(1)
0(1)
0(1)
0(1)
reserved(2)
LC_EN
1. These bits must be set to ‘0’ for proper operation of the device.
2. The content of this bit must not be modified for proper operation of the device
LC_EN(1)
Low current mode enable. Default 0
0: Normal mode (low-noise mode); 1: Low-current mode).
1. The LC_EN bit must be changed only with the device in power down and not during operation. Once
LC_EN bit is configured, it affects both One-shot mode and Continuous mode.
9.15
INT_SOURCE (25h)
Interrupt source
7
6
5
4
3
2
1
0
BOOT_STATUS
0
0
0
0
IA
PL
PH
BOOT_STATUS
If ‘1’ indicates that the Boot (Reboot) phase is running.
IA
Interrupt active.
(0: no interrupt has been generated;
1: one or more interrupt events have been generated).
PL
Differential pressure Low.
(0: no interrupt has been generated;
1: low differential pressure event has occurred).
PH
Differential pressure High.
(0: no interrupt has been generated;
1: high differential pressure event has occurred).
DocID027083 Rev 5
43/49
49
Register description
9.16
LPS22HB
FIFO_STATUS (26h)
FIFO status
7
6
5
4
3
2
1
0
FTH_FIFO
OVR
FSS5
FSS4
FSS3
FSS2
FSS1
FSS0
FTH_FIFO
FIFO watermark status.
(0: FIFO filling is lower than treshold level;
1: FIFO filling is equal or higher than treshold level).
OVR
FIFO overrun status.
(0: FIFO is not completely full;
1: FIFO is full and at least one sample in the FIFO has been overwritten).
FSS[5:0]
FIFO stored data level.
(000000: FIFO empty, 100000: FIFO is full and has 32 unread samples).
Table 21. FIFO_STATUS example: OVR/FSS details
FTH
OVRN
FSS5
FSS4
FSS3
FSS2
FSS1
FSS0
Description
0
0
0
0
0
0
0
0
FIFO empty
--(1)
0
0
0
0
0
0
1
1 unread sample
--(1)
0
1
0
0
0
0
0
32 unread samples
1
1
1
0
0
0
0
0
At least one sample
has been written
--
1. When the number of unread samples in FIFO is greater than the threshold level set in register
FIFO_CTRL (14h), the FTH value is ‘1’.
44/49
DocID027083 Rev 5
LPS22HB
9.17
Register description
STATUS (27h)
Status register
7
6
5
4
3
2
1
0
--
--
T_OR
P_OR
--
--
T_DA
P_DA
T_OR
Temperature data overrun.
(0: no overrun has occurred;
1: a new data for temperature has overwritten the previous data)
P_OR
Pressure data overrun.
(0: no overrun has occurred;
1: new data for pressure has overwritten the previous data)
T_DA
Temperature data available.
(0: new data for temperature is not yet available;
1: a new temperature data is generated)
P_DA
Pressure data available.
(0: new data for pressure is not yet available;
1: a new pressure data is generated)
This register is updated every ODR cycle.
9.18
PRESS_OUT_XL (28h)
Pressure output value (LSB)
7
6
5
4
3
2
1
0
POUT7
POUT6
POUT5
POUT4
POUT3
POUT2
POUT1
POUT0
POUT[7:0]
This register contains the low part of the pressure output value.
The pressure output value is a 24-bit data that contains the measured pressure. It is
composed of PRESS_OUT_H (2Ah), PRESS_OUT_L (29h) and PRESS_OUT_XL (28h).
The value is expressed as 2’s complement.
The output pressure register PRESS_OUT is provided as the difference between the
measured pressure and the content of the register RPDS (18h, 19h)*.
Please refer to Section 4.4: Interpreting pressure readings for additional info.
*DIFF_EN = '0', AUTOZERO = '0', AUTORIFP = '0'
DocID027083 Rev 5
45/49
49
Register description
9.19
LPS22HB
PRESS_OUT_L (29h)
Pressure output value (mid part)
7
6
5
4
3
2
1
0
POUT15
POUT14
POUT13
POUT12
POUT11
POUT10
POUT9
POUT8
POUT[15:8]
9.20
This register contains the mid part of the pressure output value. Refer to
PRESS_OUT_XL (28h)
PRESS_OUT_H (2Ah)
Pressure output value (MSB)
7
6
5
4
3
2
1
0
POUT23
POUT22
POUT21
POUT20
POUT19
POUT18
POUT17
POUT16
POUT[23:16]
9.21
This register contains the high part of the pressure output value.
Refer to PRESS_OUT_XL (28h)
TEMP_OUT_L (2Bh)
Temperature output value (LSB)
7
6
5
4
3
2
1
0
TOUT7
TOUT6
TOUT5
TOUT4
TOUT3
TOUT2
TOUT1
TOUT0
TOUT[7:0]
This register contains the low part of the temperature output value.
The temperature output value is 16-bit data that contains the measured temperature. It is
composed of TEMP_OUT_H (2Ch), and TEMP_OUT_L (2Bh). The value is expressed as
2’s complement.
9.22
TEMP_OUT_H (2Ch)
Temperature output value (MSB)
7
6
5
4
3
2
1
0
TOUT15
TOUT14
TOUT13
TOUT12
TOUT11
TOUT10
TOUT9
TOUT8
TOUT[15:8]
9.23
This register contains the high part of the temperature output value.
LPFP_RES (33h)
Low-pass filter reset register. If the LPFP is active, in order to avoid the transitory phase, the
filter can be reset by reading this register before generating pressure measurements.
46/49
DocID027083 Rev 5
LPS22HB
10
Package mechanical data
Package mechanical data
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.
10.1
HLGA-10L package information
Figure 23. HLGA-10L (2.0 x 2.0 x 0.76 mm typ.) package outline
and mechanical dimensions
'LPHQVLRQVDUHLQPLOOLPHWHUXQOHVVRWKHUZLVHVSHFLILHG *HQHUDO7ROHUDQFHLVPPXQOHVVRWKHUZLVHVSHFLILHG 287(5',0(16,216
,7(0
',0(16,21>PP@
72/(5$1&(>PP@
/HQJWK>/@ “
:LGWK>:@ “
+HLJKW>+@ PD[
B
DocID027083 Rev 5
47/49
49
Revision history
11
LPS22HB
Revision history
Table 22. Document revision history
Date
Revision
29-Oct-2014
1
Initial release.
2
Datasheet status promoted from “Target specification” to
“Preliminary data”.
Updated: note 2 in Table 3: Pressure and temperature
sensor characteristics, Section 4: FIFO, Table 20: FIFO
mode selection and the following registers:
FIFO_STATUS (26h), CTRL_REG1 (10h), CTRL_REG2
(11h), Section 9: Package mechanical data.
3
Datasheet status promoted from “Preliminary data” to
“Production data”.
Updates: Table 1: Device summary, Sections: 4.2: IC
interface, 4.3: Factory calibration, 7.1: Serial interfaces,
Table 17: Output data rate bit configurations and 9.17:
STATUS (27h).
15-Dec-2015
4
Updated: Section 1: Block diagrams, Section 4.4:
Interpreting pressure readings, Table 16: Registers
address map, Figure 21.
Added: TEMP_OUT_H (2Ch) and LPFP_RES (33h).
Minor text changes.
22-Nov-2016
5
Added footnote 2 to CTRL_REG1 (10h)
Minor textual updates
05-May-2015
04-Sep-2015
48/49
Changes
DocID027083 Rev 5
LPS22HB
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.
© 2016 STMicroelectronics – All rights reserved
DocID027083 Rev 5
49/49
49
Similar pages