DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
V1.3
Description
The DPS422 is a miniaturized digital barometric air pressure sensor with high accuracy and low current
consumption, capable of measuring both pressure and temperature. Pressure sensing is carried out using a
capacitive sensor element, guaranteeing high accuracy over temperature. The small 2.0 x 2.5 x 0.73 mm
package makes the DPS422 ideal for mobile applications and wearable devices.
The pressure and temperature sensor elements are measured by a 24-bit ΣΔ ADC. Measurement results can be
accessed over I2C or SPI, with an optional configurable interrupt and a result FIFO capable of holding 32
pressure and/or temperature measurements.
Individual calibration coefficients are generated for each unit during testing, and stored in the fuse registers.
These coefficients are used in the application to convert the measurement results to high accuracy pressure
and temperature values.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Operation range: Pressure: 300 –1200 hPa. Temperature: -40°C – +85 °C.
Pressure sensor precision: ± 0.005 hPa (or ±5 cm) (high precision mode).
Relative accuracy: ± 0.06 hPa (or ±50 cm)
Absolute accuracy: ± 1 hPa (or ±8 m)
Temperature accuracy: ± 0.4°C.
Pressure temperature sensitivity: < 0.5Pa/K
Measurement time: Typical: 27.6 ms for standard mode (16x). Minimum: 3.6 ms for
low precision mode.
Average current consumption: 1.7 µA for pressure measurement, 2µA for
temperature measurement @1Hz sampling rate, Standby: 1.2V & VDDIO > 0.6V or full soft reset.
I2C Clock.
fI2C
3.4
MHz
SPI Clock
fSPI
10
MHz
Datasheet
9
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
4
Functional description
The DPS422 is a versatile sensor, capable of providing fast, accurate pressure and temperature measurements
at low current. In order to best support a wide range of applications there are a small number of configurable
features which can be easily and quickly set on device start up.
The DPS422 configurable features are:
•
Operating mode:
- Command Mode (single-shot)
- Background Mode (periodic)
- Standby Mode
•
Pressure measurement precision and rate
•
Temperature measurement precision and rate
•
FIFO settings:
- FIFO on/off
- FIFO behaviour: stop-on-full/ streaming
- FIFO depth
- FIFO watermark level
•
Interrupt behaviour:
- New measurement result available
- FIFO full to watermark level
- FIFO full
- No interrupt
The precision and measurement rate of the pressure and temperature measurements can be set independently
by writing to the PSR_CFG and TEMP_CFG registers. The precision and measurement rates used are dictated by
the requirements of the application, and a balance must be found between high precision and low power
consumption.
4.1
Operating modes
The DPS422 supports 3 different modes of operation:
•
Standby Mode:
- Default mode after power on or reset. No measurements are performed.
- All registers and compensation coefficients are accessible.
• Command Mode:
- One pressure and/or temperature measurement is performed according to the selected precision.
- The sensor will return to Standby Mode when the measurement is finished, and the measurement
result will be available in the dedicated result registers or FIFO output registers.
- The FIFO can be used when the DPS422 is in Command mode. Several measurements can be requested
before reading data back from the FIFO.
• Background Mode:
- Pressure and/or temperature measurements are performed continuously according to the selected
measurement precision and rate. If enabled, the temperature measurement is performed immediately
after the pressure measurement.
- After each measurement is completed, the result will be available in the dedicated result registers if the
FIFO is disabled. If the FIFO is enabled it will be added to the FIFO.
- The FIFO can be used to store up to 32 measurement results and minimize the number of times the
sensor must be accessed to read out the results. Using background mode and FIFO streaming mode,
the DPS422 measures continuously and the most recent 32 measurements can be read at any time.
Datasheet
10
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
-
The FIFO behaviour can be configured to either stop-on-full mode, which stops recording data once the
FIFO is full, or to streaming mode, which will continue recording data once the FIFO is full, deleting the
oldest data each time a new measurement is recorded.
Attention: Switching power mode from Background Mode to Standby Mode is initiated by setting the
measurement control bits [2:0] in MEAS_CFG to 0. If a measurement is taking place when these
bits are set, the DPS422 will complete the measurement before switching power modes. The
value of the Continuous Mode Flag, bit [6] in MEAS_CFG, will update to 0 once this measurement
has been completed and the DPS422 has returned to Standby Mode. This bit can be monitored
after initiating a power mode change if confirmation of the mode change is required.
4.2
Mode transition diagram
The mode transition diagram is shown below.
POR/Soft Reset
Standby Mode:
No measurements
Lowest power setting
Measurement
Control [2:0]:
0b101
0b110
0b111
Background Mode:
Periodic measurements
according to rate and
accuracy configuration
Figure 3
Datasheet
Measurement
Control [2:0]:
0b000
0b100
Measurement Control Command:
· Read coefficients & result
· Configure
Automatic return
to Standby.
Measurement
Control [2:0] retains
previous value.
Measurement Control Command:
· Read result
Measurement
Control [2:0]:
0b001
0b010
0b011
Manual Mode:
Single measurements
triggered by I2C/SPI,
according to accuracy
configuration.
DPS422 mode transition diagram.
11
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
4.3
Measurement precision and rate
When the DPS422 is in Background mode, the measurement precision and rate can be configured to match the
requirements of the application. This reduces current consumption of the sensor and the system.
In order to achieve a higher precision, the DPS422 will read the sensor multiple times ( oversampling ), and
combine the readings into one result. This increases the current consumption and also the measurement time,
reducing the maximum possible measurement rate. It is necessary to balance the accuracy and data rate
required for each application with the allowable current consumption.
The measurement precision, rate and time are set in the PSR_CFG and TEMP_CFG. The register descriptions
contain information about the current consumption and the possible combinations of measurement precision,
time, and rate.
Temperature measurements must be enabled for the DPS422 to compensate for temperature drift in the
pressure measurement. The rates of these measurements can be set independently, but temperature
compensation is more accurate when temperature and pressure measurements are taken together. This
reduces the maximum pressure measurement rate:
Ratetemperature*Timetemperature + Ratepressure*Timepressure< 1 second.
Measurement settings and use case examples contains a table with examples of combinations of pressure and
temperature precision and rates for different use cases.
The figure below show the temperature and pressure measurement sequence in Background mode.
Figure 4
4.3.1
Background mode temperature and pressure measurements sequence
Oversampling rate: kP
Increasing the pressure or temperature oversampling rate increases the number of times the ΣΔ ADC will
sample and average the input before generating an output value.
Increasing the oversampling rate improves the measurement accuracy by reducing noise, but it also extends the
length of time required to carry out a measurement. Increasing the measurement time increases average
current consumption, as the DPS422 will spend longer in full power mode, and less time in standby mode. A
balance must be found between current consumption and measurement accuracy, depending on the
application requirements.
Increasing the OSR is a good way to remove high frequency noise, but if the measurement time is too long,
there will also be a filtering effect on transient pressure events such as spikes caused by doors or windows
opening. If the application requires the DPS422 to detect these events, the oversampling rate should not be set
too long. The oversampling rate will also have no effect on low frequency fluctuations caused by unstable
ambient pressure.
When calculating the pressure measurement from the output register value, it is necessary to include a
calculation factor called kP. The value of kP changes depending on the oversampling rate selected for the
measurement. The table below lists the oversampling rates and the respective kP values.
Datasheet
12
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
Table 9
kP values associated with each oversampling rate
Bit Field Value
No. Samples
kP
000
256
524288
001
512
1572864
010
1024
3670016
011
2048
7864320
100
4096
253952
101
8192
516096
110
16384
1040384
111
32768
2088960
The kP values are used in the pressure calculation in the sections:
• Calibration coefficients
4.4
FIFO operation
The DPS422 FIFO can store up to the last 32 measurements of pressure and/or temperature. This reduces the
overall system power consumption as the host processor does not need to continuously poll data from the
sensor but can go into standby mode for longer periods of time.
The FIFO can store any combination of pressure and temperature results, according to the background mode
measurement rate settings.
The least significant bit of the FIFO measurement result register PSR_B0 is used to indicate whether the
measurement is a pressure or temperature result. The least significant bit is set to:
•
'1' if the result is a pressure measurement.
•
'0' if it is a temperature measurement.
Note:
The sensor uses 24 bits to store the measurement result, which is more than is necessary to cover the
full dynamic range of the pressure sensor. Using the least significant bit to label the measurement
type does not affect the precision of the result.
The FIFO can be enabled in the CFG_REG. The data from the FIFO is read out from PSR_B2, PSR_B1 and PSR_B0
regardless of whether the result in the FIFO is a temperature or a pressure measurement.
When a measurement has been read, the FIFO will automatically increment and place the next result in the data
register. The FIFO empty bit is set in FIFO_STS when the FIFO is empty, in this case all FIFO reads return
0x800000.
If the FIFO is full, the FIFO interrupt Full/WM bit in the FIFO_STS register is set. If the Interrupt select [3:0] bits in
the CFG_REG register are set to 0x08, an interrupt will also be generated when the FIFO is full.
If the FIFO watermark interrupt is configured by setting the Interrupt select [3:0] bits in the CFG_REG register to
0x04, the FIFO will generate an interrupt when the number of pressure and temperature results stored in the
FIFO equals the configured watermark level.
The FIFO can be configured to one of two behaviours when full:
•
FIFO stops recording new measurement results when full.
•
FIFO continues recording new measurement results when full, overwriting the oldest measurement.
This behaviour can be configured by setting the FIFO Stop on full bit in the CFG_REG register. Setting this bit to 0
will enable streaming mode, setting to 1 will enable stop-on-full mode.
Datasheet
13
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
Attention: It is recommended not to poll the FIFO full flag bit in register INT STS faster once every 375 µs, as
it is not updated immediately. Similarly the FIFO full status bit in register FIFO_STS should only
be polled once every 250 µs.
4.5
Interrupt
The DPS422 has a user configurable interrupt, which is generated on the SDO output.
The DPS422 can be configured to generate an interrupt on the following events:
•
New measurement result available
•
FIFO full to configured watermark level
•
FIFO full
The sensor uses the SDO output for the interrupt signal. The interrupt is not supported if the interface is 4-wire
SPI.
The interrupt is enabled and configured in the CFG_REG register. In I2C mode SDO serves as both interrupt and
as the least significant bit in the device address. SDO has an internal pull up resistor, which defaults the address
selection functionality to 0x77.
The SDO output has a push-pull output stage so there is no need to use an external pull down resistor if the
default I2C address is suitable for the application. Active high or active low interrupt operation can be selected
using the Interrupt polarity bit, bit [3] in the CFG_REG register.
Note:
An external pull up resistor is never required on SDO and should not be used.
The interrupt status can be read from the INT STS register.
4.6
Start-up sequence
The DPS422 start-up sequence is shown below. This diagram shows when the registers are accessible for read/
write operations and also when the pressure/temperature measurements can start.
Init. complete bit
POR
VDDIO
VDD
8ms
Startup Phase
Figure 5
4.7
Measurements Possible
DPS422 start-up sequence.
Sensor interface
The DPS422 can be accessed as a slave device through mode '11' SPI 3-wire, SPI 4-wire, or I2C serial interface.
• I2C interface
- The sensor's default interface.
- The sensor's address is 0x77 (default) or 0x76 (if the SDO pin is pulled-down to GND).
•
SPI interface
Datasheet
14
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Functional description
-
The sensor will switch to SPI configuration if it detects an active low on the CSB pin. SPI 4-wire is the
default SPI interface.
- To enable SPI 3-wire configuration, a bit must be set in the CFG_REG register after start up.
More details about digital interfaces are available in the Digital interfaces section.
Datasheet
15
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Pressure measurement
5
Pressure measurement
The DPS422 is a single die MEMS pressure sensor which makes use of a capacitive measurement principle.
The DPS422 sensor element consists of a number of sealed vacuum cells. Each cell consists of a hollow,
evacuated cavity with a flexible membrane sealing the top. The top membrane and the bottom of the cell are
electrodes, which form a capacitor. Due to the pressure difference between the interior of the cell and the
ambient environment, the top membrane is deflected towards the bottom of the cell.
The vacuum cells are combined in a parallel measurement configuration, to increase the sensitivity and noise
performance of the DPS422.
Increasing ambient pressure causes greater deflection towards the bottom of the cell and hence and increase in
the capacitance between the membrane and the bottom of the cell. Decreasing ambient pressure reduces the
deflection of the membrane and reduces the capacitance between the membrane and the bottom of the cell.
Pressure measurement is carried out by measuring the capacitance between the top and bottom of the cells
and applying a calculation to the capacitance result to determine the pressure in Pa. It is also required to
include a temperature correction in this calculation to eliminate temperature drift from the output.
5.1
Pressure measurement results
After starting the measurements, the latest pressure and temperature raw data will be available as 24-bit 2's
complement numbers in their respective result registers if the FIFO is disabled: PSR_B2 to PSR_B0, and TMP_B2
to TMP_B0.
If the FIFO is enabled, all measurement results will be stored in registers PSR_B2 to PSR_B0. In this case, the
register value will update to the next result stored in the FIFO after each read. The least significant bit of PSR_B0
will read "1" if the measurement is a pressure reading, or "0" if the measurement is a temperature reading.
When all of the FIFO values have been read, the result register will be set to 0x800000.
When the FIFO is disabled, reading the result register will not affect the register value, it will only be updated
when a new measurement is completed.
All measurement data can be read in a single command using auto-increment read.
5.1.1
Calculating pressure reading
To calculate the DPS422 pressure reading, it is necessary to first read and parse the calibration coefficient
registers from addresses 0x26 to 0x39. These values only need to be read and parsed once for each device, they
are fused in memory and will not change during operation. The method to generate the Calibration Coefficient
values is described in the Calibration coefficients section of this document.
The pressure values stored in the result registers must be scaled according to the oversampling rate. The
numbers in the registers must be divided by kP before they are used in the pressure reading calculation
formula. The kP values for each oversampling option can be found in Oversampling rate: kP.
PresSCALED = PresRAW / kP
TempX = TempRAW / 1048576
TempSCALED = (8.5 x TempX) / (1 + 8.8 x TempX)
Where:
• PresRAW is the 24 bit, 2's complement number read from the pressure output registers or FIFO
•
TempRAW is the 24 bit, 2's complement number read from the pressure output registers or FIFO
Equation 1
Datasheet
Deriving the scaled pressure and temperature values
16
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Pressure measurement
Once the calibration coefficients have been read, and pressure and temperature register values have been read
and scaled, the pressure reading can be calculated using the following formula:
PresCALIBRATED= C00 + [C10 x PresSCALED] + [C01 x TempSCALED] + [C20 x PresSCALED2] + [C02 x TempSCALED2] + [C30
x PresSCALED3] + [C11 x PresSCALED x TempSCALED] + [C12 x PresSCALED x TempSCALED2] + [C21 x PresSCALED2 x
TempSCALED]
Where:
•
C00, C10, C01, C20, C02, C30, C11, C12 and C21 are the calibration coefficients read from registers 0x26 to
0x39.
Equation 2
Datasheet
DPS422 pressure output calculation
17
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Temperature measurement
6
Temperature measurement
The DPS422 temperature measurement uses a silicon bandgap temperature sensor, measuring the base-emitter
voltage (Vbe) of two BJT transistors, biased at different currents (IC1 and IC2). This measurement is used at a
system level in the pressure output calculation to correct any temperature related measurement drift.
The temperature of the transistors can be accurately determined by measuring the difference in voltage
between both and applying the formula: ΔVBE = ((K*T)/ q) * (ln(IC1 / IC2)
Where T is the temperature in Kelvin, K is Boltzmann's constant and q is the charge of a single electron.
The measurement rate and precision (oversampling) can be modified by writing to the TEMP_CFG register, as
described in the Measurement precision and rate section.
Note:
6.1
For ambient temperature sensing, full system modeling should be carried out across temperature.
This will account for internal heating effects of the system when calculating the ambient temperature
value.
One time calculation of A' and B' coefficients
In order to calculate temperature output values in °C, it is first necessary to calculate two coefficients, A' and B'.
These coefficients are calculated from values stored in the DPS422 calibration coefficients registers, and do not
change. These two coefficients can be calculated once on device start up and then stored in memory to be used
in all future high accuracy temperature measurements.
The steps required to calculate A' and B' are below, calculation constants can be found in Table 10.
1. Read T_Vbe, T_dVbe and T_gain:
These parameters are read directly from the calibration coefficient registers 0x20 to 0x22. These three
values are in 2's complement.
2. Calculate VBE, ΔVBE and AADC:
These values are calculated directly from the calibration coefficient values:
•
VBE = T_Vbe × 1.05031E-4 + 0.463232422
•
ΔVBE = T_dVbe × 1.25885E-5 + 0.04027621
• AADC = T_gain × 8.4375E-5 + 0.675
3. Calculate VBE_CAL and ΔVBE_CAL:
•
VBE_CAL = VBE / AADC
• ΔVBE_CAL= ΔVBE / AADC
4. Calculate calibration Temperature TCALIB:
•
TCALIB = A0 × ΔVBE_CAL - 273.15
5. Calculate VBE_CAL(TREF), the VBE value at reference temperature TREF:
•
VBE_CAL(TREF) = VBE_CAL- (TCALIB - TREF) × (TC_VBE)
6. Calculate PTAT correction coefficient:
• kPTAT = [VBE_TARGET(TREF) - VBE_CAL(TREF) ] × kPTAT_CORNER + kPTAT_CURVATURE
7. Calculate A' and B' coefficients:
•
A' = A0 × (VBE_CAL + α × ΔVBE_CAL) × (1 +kPTAT)
•
B' = -273.15 × (1 + kPTAT) - kPTAT × TCALIB
Datasheet
18
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Temperature measurement
6.2
Calculating temperature output using A' and B'
Once the A' and B' coefficients have been calculated once, they can be stored in the host system and used for all
future high accuracy temperature calculations for that DPS422 unit.
The calculation of high accuracy temperature readings using A' and B' is a four step process, shown below.
1. Read out temperature result TRAW from registers TMP_B2 to TMP_B0 or FIFO, if enabled.
2. Scale the temperature measurement:
•
TCAL = TRAW / 1048576
3. Calculate µ coefficient:
•
μ = TCAL / (1 + α × TCAL)
4. Calculate TOUT:
• TOUT =( A' × μ) + B'
6.3
A' and B' calculation constants
The following table lists all of the coefficients required to calculate the A' and B' coefficients, as described in the
One time calculation of A' and B' coefficients section.
Table 10
A' and B' calculation constants
Name
Unit
Value
TREF
°C
27
VBE_TARGET(TREF)
V
0.687027
α
-
9.45
TC_VBE
V
-1.735E-3
kPTAT_CORNER
-
-0.8
kPTAT_CURVATURE
-
0.039
A0
K
5030
Datasheet
19
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Applications
7
Applications
7.1
Measurement settings and use case examples
The DPS422 provides versatile pressure measurements for a wide range of applications. The requirements of
these applications can be very different, and so the DPS422 can be quickly configured with a couple of register
writes to ensure the speed, accuracy and current consumption are in line with the application priorities.
Table 11
Measurement settings and use case examples
Use Case
Performance
Pressure
Register
Configuration
Address: 0x06
Temperature
Register
Configuration
Address: 0x07
FIFO
Enabled?
Address:
0x09
Other
Weather Station (Low
power)
5 Pa precision.
1 pr sec.
3 µA
FIFO disabled
0x01
0x00
Bit 1 = 0
Start
background
measurements
(addr 0x08)
Indoor navigation
(Standard precision,
background mode)
10 cm precision. 0x14
2 pr sec.
35 µA
FIFO enabled
0x93
Bit 1 = 1
Start
background
measurements
(addr 0x08)
Sports (High precision,
high rate, background
mode)
5 cm precision
4 pr sec.
175 µA
FIFO enabled
0xA3
Bit 1 = 1
Start
background
measurements
(addr 0x08)
7.2
0x26
Application circuit examples
The example application circuits below demonstrate the connection of the I2C and SPI serial interfaces.
•
In I2C mode, the SDO pin can be used for interrupt output and/or to set the least significant bit of the device
address.
•
In 3-wire SPI mode, the SDO pin can be used for interrupt output.
•
In 4-wire SPI mode, the SDO pin can only be used as the serial data output.
The DPS422 analog core supply voltage is internally regulated, guaranteeing robustness to external VDD supply
variations within the specified range. The simplest voltage supply solution is to connect VDD and VDDIO to 1.8V
supply and add a suitable decoupling capacitor to reduce VDD ripple below 50mVpp.
Datasheet
20
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Applications
Processor
I2C Serial
Interface
DPS422
VDDIO
SDA
SCL
INT
R1
SDI
VDDIO
R2
1.2V to 3.6V
VDD
1.7V to 3.6V
C1
SCK
VDDIO
Interrupt (optional)
C2
SDO
R3 (I²C Addr. LSB only)
N.C.
Figure 6
CSB
GND
Application circuit example using the I2C serial interface.
Processor
SPI Serial
Interface
DPS422
MISO
SDO
MOSI
SDI
SCL
SCK
SS
CSB
1.2V to 3.6V
VDD
C1
VDDIO
Figure 7
SPI Serial
Interface
GND
DPS422
IO
SDI
SCL
SCK
1.2V to 3.6V
VDD
VDDIO
SS
INT
Datasheet
C2
Application circuit example using the SPI 4-wires serial interface
Processor
Figure 8
1.7V to 3.6V
CSB
Interrupt (optional)
SDO
1.7V to 3.6V
C1
C2
GND
Application circuit example using the SPI 3-wire serial interface
21
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Applications
Table 12
Component values
Component
Symbol
Values
Unit
Min.
Pull-up/down Resistor
Supply Blocking Capacitor
Datasheet
Typ.
Note / Test Condition
Max.
R1, R2
10
kΩ
R3
100
kΩ
R3 is optional and will set
the address to 0x76 instead
of 0x77.
nF
The blocking capacitors
should be placed as close
to the package pins as
possible.
C1, C2
100
100
22
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
8
Digital interfaces
The DPS422 measurement data, calibration coefficients, Product ID and configuration registers can be accessed
through both the I2C and SPI serial interfaces.
The SPI interface can be configured to operate in 3-wire or 4-wire mode.
In I2C and SPI 3-wire, an interrupt output can be implemented on the SDO pin.
The SPI interface only supports mode '11' ( CPOL=CPHA='1' ) in 4-wire and 3-wire configuration.
The following commands are supported by the I2C interface:
•
Single byte read
•
Single byte write
•
Multi-byte read, with automatic register increment
•
Multi-byte write, with automatic register increment
The following commands are supported by the SPI interface:
•
Single byte read
•
Single byte write
•
Multi-byte read, with automatic register increment
Note:
Multi-byte write is not supported by the SPI interface.
The communication interface is selected using the CSB pin:
•
If CSB is connected to VDDIO, the I2C interface is active.
•
If CSB is connected to ground, the SPI interface is active.
Once CSB has been pulled down, the I2C interface is disabled until the next power-on-reset.
If CSB is high, the I2C interface is selected by addressing the DPS422 over the I2C bus. After this, the I2C interface
is locked, and pulling down CSB will not activate the SPI interface. The SPI interface can only be selected by
pulling CSB low after the next power-on-reset, before the DPS422 is addressed over I2C .
8.1
I2C interface
The I2C slave interface is compatible with Philips I2C Specification version 2.1. The I2C interface supports
standard, fast and high speed mode.
The sensor's address is 0x77 if the SDO pin is left floating or pulled-up to VDDIO, or 0x76 if the SDO pin is pulleddown to GND. The I2C interface uses the pins described in the Pin configuration section.
The basic timing is shown in the diagram below:
P
SDA
SCL
S or Sr
1
2
START or repeated
START condition
Figure 9
Acknowledgement
signal from receiver
Acknowledgment
signal from slave
MSB
7
8
9
1
2
3 to 8
Byte complete,
interrupt within slave
9
ACK
ACK
Clock line held LOW while
interrupts are serviced
Sr
Sr or P
STOP or repeated
START condition
I2C timing diagram
In one access, without a stop command, incremental read (address is auto increment) and auto-incremental
write are supported. The read and write access is shown below:
Datasheet
23
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
I2C Write Command
Srt
Slave Addr.
Wr Ack
Register Addr.
Ack
Register Data
Wr Ack
Register Addr.
Ack
Register Data 0
Wr Ack
Register Addr.
Ack rSrt
Master
Slave
Ack Stp
I2C Multibyte Write Command
Srt
Slave Addr.
Srt – Start
Stp – Stop
rSrt – Repeated Start
Wr – Write
Rd – Read
Ack – Acknowledge
Nack – Not Acknowledge
Register Data n
Ack Stp
I2C Read Command
Srt
Slave Addr.
Slave Addr.
Rd Ack
Register Data
Nack Stp
I2C Multibyte Read Command
Srt
Slave Addr.
Wr Ack
Register Addr.
Ack
rSrt
Slave Addr.
Rd Ack
Register Data 0
Ack
Figure 10
8.2
Register Data n
Nack Stp
I2C write and read commands
SPI interface
The SPI interface is compatible with SPI mode '11' ( CPOL = CPHA = '1'. The SPI interface has two modes: 4-wire
and 3-wire.
The protocol for 3-wire and 4-wire SPI is similar. The 3-wire SPI protocol uses a single shared data line, the 4wire SPI protocol uses separate Serial Data Out (SDO) and Serial Data In (SDI) data lines. The naming of these
data lines refers to the direction of data respective to the slave device.
3-wire SPI mode is selected by setting bit[0] in the CFG_REG register to '1'.
The SPI interface uses the pins described in the Pin configuration section. Refer to Application circuit examples
for connection instructions. The SPI protocol is shown in the diagram below:
Figure 11
SPI protocol, 4-wire without interrupt
An SPI write is carried out by setting CSB low and sending a control byte followed by register data. The control
byte consist of the SPI register address (full register address without bit 7) and the write command (bit 7 = RW =
'0').
Setting CSB high ends the transaction. The SPI write24protocol is described in the diagram below.
Datasheet
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
An SPI read is initiated by setting CSB low and sending a single control byte. The control byte consist of the SPI
register address (full register address without bit 7) and the read command (bit 7 = RW = '1'). After writing the
control byte, data is sent out of the SDO pin ( SDI in 3-wire mode); the register address is automatically
incremented. Setting CSB high ends the SPI read transaction. The SPI read protocol is shown in the diagram
below:
3 Wire SPI Read or Write Command
CSB
CSB Hi
CSB Low
CSB Hi
SCL
SCL Hi
SCL
SCL Hi
SDI
R/W
Reg. Address
4 Wire SPI Read or Write Command
CSB CSB Hi
SCL
Data in/out
CSB Low
CSB Hi
SCL
SCL Hi
SCL Hi
SDI
R/W
Reg. Address
SDO
Data in
Data out
3 Wire SPI Multibyte Read Command
CSB CSB Hi
CSB Low
CSB Hi
SCL SCL Hi
SCL
SCL Hi
SDI
R/W
Reg. Address
Data out 0
Data out n
4 Wire SPI Multibyte Read Command
CSB
CSB Hi
CSB Low
CSB Hi
SCL
SCL Hi
SCL
SCL Hi
SDI
R/W
Reg. Address
SDO
Figure 12
Data out 0
Data out n
SPI write, read protocol diagrams
8.3
Interface parameter specification
8.3.1
General interface parameters
The general interface parameters are given in the table below:
Table 13
Interface parameters
Parameter
Symbol
Values
Min.
Input voltage for low logic
level at input pins
Vlow_in
Input voltage for high logic
level at input pins
Vhigh_in
Datasheet
Typ.
25
Note or Test
Condition
V
VDDIO=1.2V to 3.6V
V
VDDIO=1.2V to 3.6V
Max.
0.3 *
VDDIO
0.7 *
VDDIO
Unit
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
Table 13
Interface parameters (continued)
Parameter
Symbol
Values
Min.
Typ.
Unit
Note or Test
Condition
Max.
Output - low level for I2C
Vlow_SDI
0.1 *
VDDIO
V
VDDIO=1.8V,
iol=2mA
Output voltage for low level
at pin SDI for I2C
Vlow_SDI_1.2
0.2*
VDDIO
V
VDDIO=1.20V,
iol=1.3mA
Output voltage for high level
at pins SDO, SDI
Vhigh_out
0.8 *
VDDIO
V
VDDIO=1.8V,
iol=1mA (SDO,
SDI)
Output voltage for high level
at pins SDO, SDI
Vhigh_out_1.2
0.6 *
VDDIO
V
VDDIO=1.2V,
iol=1mA (SDO,
SDI)
Pull-up resistor
Rpull
60
I2C bus load capacitor
Cb
Datasheet
26
120
180
kohm Internal pull-up
resistance to VDDIO
400
pF
On SDI and SCK
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
8.3.2
I2C timing parameters
The I2C timing is shown in the diagram below and corresponding values are given in the table below. The
naming refers to I2C Specification version 2.1, the abbreviations used "S&F mode" = standard and fast mode,
"HS mode" = high speed mode, Cb = bus capacitance on SDA line.
P
SDA
SCL
S or Sr
Acknowledgement
signal from receiver
Acknowledgment
signal from slave
MSB
1
7
2
8
9
1
2
9
3 to 8
ACK
START or repeated
START condition
ACK
Byte complete,
interrupt within slave
Sr
Clock line held LOW while
interrupts are serviced
Sr or P
STOP or repeated
START condition
Data transfer on the I2C-bus
Clock
tHold
SCL
Duty Cycle
SDA
tSetup
Figure 13
I2C timing diagram
Table 14
I2C timings
Parameter
Symbol
Values
Unit
Note or Test
Condition
20
ns
S&F mode
5
ns
HS mode
0
ns
S&F&HSmode,
70
%
S&F mode,
55
%
HS mode,
Min.
Data setup time on SDI pin
tSetup
Data hold time on SDI pin
tHold
Duty Cycle
DC
Datasheet
27
Typ.
Max.
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Digital interfaces
8.3.3
SPI timing parameters
The SPI timing diagram is shown in the figure below and the corresponding values are given in the table below.
All timings apply both to 4-wire and 3-wire SPI.
Figure 14
SPI timing diagram
Table 15
SPI timings
Parameter
Symbol
Values
Unit
Note or Test
Condition
30
%
VDDIO = 1.2V
20
%
VDDIO = 1.8V/3.6V
Min.
Duty Cycle (Thigh%)
SPI_DC
Typ.
Max.
SDI setup time
T_setup_sdi
2
ns
SDI hold time
T_hold_sdi
2
ns
Clock
SPI_CLK
CSB setup time
T_setup_csb
10
CSB hold time
Datasheet
28
MHz
15
ns
15
ns
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register map
9
Register map
The DPS422 user registers are listed and described below. The calibration coefficient registers can be found in
the Calibration coefficients section.
Table 16
DPS422 Register Map
Register
Name
Addr. Bit 7
Bit 6
PSR_B2
0x00
Pressure measurement MSB
0x80
PSR_B1
0x01
Pressure measurement LSB
0x00
PSR_B0
0x02
Pressure measurement XLSB
0x00
TMP_B2
0x03
Temperature measurement MSB
0x80
TMP_B1
0x04
Temperature measurement LSB
0x00
TMP_B0
0x05
Temperature measurement XLSB
0x00
PSR_CFG
0x06
-
Pressure measurement rate
[2:0]
-
Pressure measurement
resolution [3:0]
0x00
TEMP_CFG
0x07
Must be
set to 1
Temperature measurement
rate [2:0]
-
Temperature measurement
resolution [3:0]
0x80
MEAS_CFG
0x08
Init.
Cont.
complete mode
flag
-
Measurement control [2:0]
0x00
CFG_REG
0x09
Interrupt select [3:0]
INT STS
0x0A
-
-
-
-
WM_CFG
0x0B
-
-
-
Watermark level[4:0]
FIFO_STS
0x0C
FIFO fill level[5:0]
RESET
0x0D
FIFO
flush
PROD_ID
0x1D
Revision ID[3:0]
-
Bit 5
Temp.
data
ready
Bit 4
Press.
data
ready
Bit 3
Bit 2
Interrupt FIFO
polarity Stop on
full
-
Bit 1
FIFO
enable
Bit 0
SPI
mode
-
0x00
FIFO
Temp.
Press.
0x00
interrupt interrupt interrupt
Full / WM
0x1F
FIFO
FIFO
Full / WM empty
-
Reset
Value
0x00
Soft reset[3:0]
0x00
Product ID[3:0]
0x1A
Attention: To ensure correct functionality, registers not listed in this register map must not be accessed.
Datasheet
29
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10
Register descriptions
10.1
PSR_B2
Register containing most significant byte of the pressure measurement result.
Address: 0x00
Reset Value: 0x80
Table 17
PSR_B2 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PSR23
PSR22
PSR21
PSR20
PSR19
PSR18
PSR17
PSR16
Table 18
PSR_B2 bit fields
Bit Name
Bits
Pressure
measurement MSB
10.2
Type
Description
R
Pressure measurement result bits 23 to 16.
PSR_B1
Register containing middle byte of the pressure measurement result.
Address: 0x01
Reset Value: 0x00
Table 19
PSR_B1 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PSR15
PSR14
PSR13
PSR12
PSR11
PSR10
PSR9
PSR8
Table 20
PSR_B1 bit fields
Bit Name
Bits
Pressure
measurement LSB
10.3
Type
Description
R
Pressure measurement result bits 15 to 8.
PSR_B0
Register containing least significant byte of the pressure measurement result.
Address: 0x02
Reset Value: 0x00
Table 21
PSR_B0 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PSR7
PSR6
PSR5
PSR4
PSR3
PSR2
PSR1
PSR0
Datasheet
30
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
Table 22
PSR_B0 bit fields
Bit Name
Bits
Type
Description
Pressure
measurement
XLSB
R
Pressure measurement result bits 7 to 0.
10.4
TMP_B2
Register containing most significant byte of the temperature measurement result.
Address: 0x03
Reset Value: 0x80
Table 23
TMP_B2 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TMP23
TMP22
TMP21
TMP20
TMP19
TMP18
TMP17
TMP16
Table 24
TMP_B2 bit fields
Bit Name
Bits
Temperature
measurement MSB
10.5
Type
Description
R
Temperature measurement result bits 23 to 16.
TMP_B1
Register containing middle byte of the temperature measurement result.
Address: 0x04
Reset Value: 0x00
Table 25
TMP_B1 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TMP15
TMP14
TMP13
TMP12
TMP11
TMP10
TMP9
TMP8
Table 26
Bit Name
TMP_B1 bit fields
Bits
Temperature
measurement LSB
10.6
Type
Description
R
Temperature measurement result bits 15 to 8.
TMP_B0
Register containing least significant byte of the temperature measurement result.
Address: 0x05
Reset Value: 0x00
Datasheet
31
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
Table 27
TMP_B0 register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TMP7
TMP6
TMP5
TMP4
TMP3
TMP2
TMP1
TMP0
Table 28
TMP_B0 bit fields
Bit Name
Bits
Type
Description
Temperature
measurement
XLSB
R
Temperature measurement result bits 7 to 0.
Datasheet
32
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.7
PSR_CFG
Configuration register for pressure measurement. Pressure or stress measurements can be enabled. Pressure
measurement rate and resolution can be modified.
Address: 0x06
Reset Value: 0x00
Table 29
PSR_CFG register
Bit 7
Bit 6
Bit 5
Bit 4
-
Pressure measurement rate[2:0]
Bit 3
Bit 2
Bit 1
-
Pressure measurement resolution[2:0]
Table 30
PSR_CFG bit fields
Bit Name
Bits
Type
Description
Pressure
measurement
rate[2:0]
RW
Pressure measurement rate:
•
000 - 1 sample/sec
•
001 - 2 samples/sec
•
010 - 4 samples/sec
•
011 - 8 samples/sec
•
100 - 16 samples/sec
•
101 - 32 samples/sec
•
110 - 64 samples/sec
•
111 - 128 samples/sec
Pressure
measurement
resolution[2:0]
RW
Pressure measurement resolution:
•
000 - 256 samples - 1x decimation
•
001 - 512 samples - 2x decimation
•
010 - 1024 samples - 4x decimation
•
011 - 2048 samples - 8x decimation
•
100 - 4096 samples - 16x decimation
•
101 - 8192 samples - 32x decimation
•
110 - 16384 samples - 64x decimation
•
111 - 32768 samples - 128x decimation
Datasheet
33
Bit 0
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
Table 31
Precision (PaRMS) and pressure measurement time (ms) versus oversampling rate
Oversampling
(PSR_CFG[3:0])
1x
(0000)
Measurement time 3.6
(ms)
Precision (PaRMS)
Table 32
2x
(0001)
4x
(0010)
8x
(0011)
16x
(0100)
32x
(0101)
64x
(0110)
128x
(0111)
5.2
8.4
14.8
27.6
53.2
104.4
206.8
1.2
0.9
0.5
5
2.5
Estimated current consumption (µA)
Oversampling
(PSR_CFG[3:0])
1x
(0000)
2x
(0001)
4x
(0010)
8x
(0011)
16x
(0100)
32x
(0101)
64x
(0110)
128x
(0111)
2.1
2.7
3.8
6.1
11
20
38
75
Measurements pr
sec.
(PM_RATE([2:0])
1 (000)
2 (001)
4 (010)
8 (011)
Note: The current consumption can be calculated as the Measurement Rate *
Current Consumption of 1 measurement per. sec.
16 (100)
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
32 (101)
64 (110)
128 (111)
n.a.
n.a.
n.a.
Note: The table shows the possible combinations of Pressure Measurement Rate and oversampling when no
temperature measurements are performed. When temperature measurements are performed the possible
combinations are limited to Ratetemperature x Measurement Timetemperature + Ratepressure x Measurement
Timepressure < 1 second.
Temperature measurement time versus temperature oversampling rate is similar to pressure measurement
time versus pressure oversampling rate.
Datasheet
34
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.8
TEMP_CFG
Configuration register for temperature measurements. Temperature measurement rate and resolution can be
modified.
Address: 0x07
Reset Value: 0x00
Table 33
TEMP_CFG register
Bit 7
Bit 6
Bit 5
Bit 4
Must be set
to 1
Temperature measurement rate [2:0]
Table 34
TEMP_CFG bit fields
Bit Name
Bits
Type
Must be set to 1
RW
Bit 3
Bit 2
Bit 1
-
Temperature measurement resolution
[2:0]
Description
Warning:
This bit must be set to '1' to configur the temperature
measurement correctly. If this bit is not set, the
temperature and pressure measurements will not
function correctly.
Temperature
measurement rate
[2:0]
RW
Temperature measurement rate:
•
000 - 1 sample/sec
•
001 - 2 samples/sec
•
010 - 4 samples/sec
•
011 - 8 samples/sec
•
100 - 16 samples/sec
•
101 - 32 samples/sec
•
110 - 64 samples/sec
Temperature
measurement
resolution [2:0]
RW
Temperature measurement resolution:
•
000 - 256 samples - 1x decimation
•
001 - 512 samples - 2x decimation
•
010 - 1024 samples - 4x decimation
•
011 - 2048 samples - 8x decimation
•
100 - 4096 samples - 16x decimation
•
101 - 8192 samples - 32x decimation
•
110 - 16384 samples - 64x decimation
•
111 - 32768 samples - 128x decimation
Table 35
Bit 0
Temperature measurement time (ms) versus oversampling rate
Oversampling
(TEMP_CFG[2:0])
Single
(000)
2 times
(001)
4 times
(010)
8 times
(011)
16 times
(100)
32 times
(101)
64 times
(110)
Measurement time
(ms)
5.2
8.4
14.8
27.6
53.2
104.4
206.8
Datasheet
35
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.9
MEAS_CFG
Configuration register for general measurement settings.
Address: 0x08
Reset Value: 0x00
Table 36
MEAS_CFG register
Bit 7
Bit 6
Bit 5
Init.
complete
Cont. mode Temp. data
flag
ready
Bit 4
Bit 3
Bit 2
Bit 1
Press. data
ready
-
Measurement control [2:0]
Bit 0
Table 37
MEAS_CFG bit fields
Bit Name
Bits
Type
Description
Init. complete
R
Status bit set when initialisation procedure is complete.
Cont. mode flag
R
Status bit set when DPS422 is in continuous measurement
mode.
Temp. data ready
R
Status bit set when new temperature measurement data is
available. Cleared when register 0x05 is read.
Press. data ready
R
Status bit set when new pressure measurement data is
available. Cleared when register 0x02 is read.
Measurement
control [2:0]
RW
Configuration register controlling measurement mode:
•
000 - Idle / Stop Background
•
001 - Pressure Measurement
•
010 - Temperature Measurement
•
011 - Pressure and Temperature Measurement one shot
•
100 - Idle / Stop Background
•
101 - Continuous Pressure Measurement
•
110 - Continuous Temperature Measurement
•
111 - Continuous Pressure and Temperature Measurement
Datasheet
36
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.10
CFG_REG
Interrupt, SPI mode and FIFO configuration register.
Address: 0x09
Reset Value: 0x00
Table 38
Bit 7
CFG_REG register
Bit 6
Bit 5
Bit 4
Interrupt select[3:0]
Bit 3
Bit 2
Bit 1
Bit 0
Interrupt
polarity
FIFO Stop
on full
FIFO enable SPI mode
Table 39
CFG_REG bit fields
Bit Name
Bits
Type
Description
Interrupt
select[3:0]
RW
Select interrupt source:
•
0000 - no interrupt enabled
•
0001 - Pressure Interrupt enabled
•
0010 - Temperature Interrupt enabled
•
0011 - Pressure & Temperature Interrupt enabled
•
0100- FIFO Watermark Interrupt enabled
•
1000- FIFO FULL Interrupt enabled
All other settings are invalid. Interrupt pin(SDO pin) is cleared
when the Interrupt Status Register (0x0A) is read.
Interrupt polarity
RW
Interrupt active polarity:
•
0 - Active low
•
1 - Active high
Note:
Interrupt can only be output when the DPS422 is in
I2C or 3-wire SPI modes.
FIFO Stop on full
RW
Configures FIFO behaviour when full:
•
0 - FIFO in streaming mode. When full, oldest data is
overwritten as new data is available.
•
1 - FIFO in stop on full mode. When full, old data is retained,
new data is not stored.
FIFO enable
RW
Enables pressure and temperature result FIFO:
•
0 - FIFO is disabled. Old results are not stored. Pressure and
temperature results stored in respective results registers.
•
1 - FIFO is enabled. Results are read from result registers
0x00 - 0x02. Up to 32 results can be stored.
SPI mode
RW
Configures the SPI protocol used:
•
0 - 4-wire SPI interface.
•
1 - 3-wire SPI interface
Datasheet
37
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.11
INT STS
Register reflecting the current status of the DPS422 interrupt sources. All bits are clear on read.
Address: 0x0A
Reset Value: 0x00
Table 40
INT STS register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
-
-
-
-
-
FIFO
interrupt
Full / WM
Temp.
interrupt
Press.
interrupt
Note:
The interrupt pin, and this register itself are cleared when this register is read.
Table 41
INT STS bit fields
Bit Name
Bits
Type
Description
FIFO interrupt
Full / WM
R
This bit is set when FIFO is full or when FIFO reaches watermark
level. Source depends on setting inCFG_REG register.
Note:
This bit should not be polled faster than once per 375
µs.
Temp. interrupt
R
This bit is set when new temperature data is available.
Press. interrupt
R
This bit is set when new pressure data is available.
Datasheet
38
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.12
WM_CFG
FIFO watermark level configuration register.
Address: 0x0B
Reset Value: 0x1F
Table 42
WM_CFG register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
-
-
-
Watermark level[4:0]
Bit 2
Bit 1
Bit 0
Table 43
WM_CFG bit fields
Bit Name
Bits
Type
Description
Watermark
level[4:0]
RW
Configures number of measurement results which must be in
the FIFO to trigger the FIFO watermark interrupt.
•
0x00 - Interrupt generated when FIFO contains 1 unread
measurement result.
•
0x1F - Interrupt generated when FIFO contains 32 unread
measurement results.
Datasheet
39
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.13
FIFO_STS
FIFO status register, reflecting FIFO fill and watermark status.
Address: 0x0C
Reset Value: 0x00
Table 44
FIFO_STS register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
FIFO fill level[5:0]
Bit 2
Bit 1
Bit 0
FIFO Full /
WM
FIFO empty
Table 45
FIFO_STS bit fields
Bit Name
Bits
Type
Description
FIFO fill level[5:0]
R
This bit field contains the number of pressure and/or
temperature measurements currently stored in the
measurement results FIFO.
FIFO Full / WM
R
This bit is set when FIFO is full or when FIFO reaches watermark
level. Source depends on setting in WM_CFG register.
Note:
FIFO empty
R
This bit is updated every 250 µs
This bit is set when the FIFO is empty.
•
0 - FIFO currently contains data
•
1 - FIFO does not currently contain data
Note:
Datasheet
This bit is updated every 250 µs
40
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Register descriptions
10.14
RESET
Reset register allows soft reset of the DPS422, and flushing of the measurement results FIFO.
Address: 0x0D
Reset Value: 0x00
Table 46
RESET register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
FIFO flush
-
-
-
Soft reset[3:0]
Table 47
Bit 2
Bit 1
Bit 0
RESET bit fields
Bit Name
Bits
Type
Description
FIFO flush
W
Setting this bit to 1 clears all data in the measurement results
FIFO.
Soft reset[3:0]
W
Two soft reset options are available, depending on the value
sent to this bit field.
•
0b1000: Reset configuration registers without eFuse refresh.
Duration ~0.7ms.
•
0b1001: Full reset. Similar to power-on-reset, all registers
are reset and eFuses refresh is carried out. Duration ~3ms.
Note:
10.15
Only the listed values should be written to the soft
reset bit field. Writing incorrect values may result in
unexpected behaviour.
PROD_ID
Product ID register storing product and revision information.
Address: 0x1D
Reset Value: 0x1A
Table 48
Bit 7
PROD_ID register
Bit 6
Bit 5
Bit 4
Revision ID[3:0]
Bit 3
Bit 2
Bit 1
Bit 0
Product ID[3:0]
Table 49
PROD_ID bit fields
Bit Name
Bits
Type
Description
Revision ID[3:0]
R
DPS422 revision number, incremented on metal and silicon
revisions.
Product ID[3:0]
R
DPS422 product ID number. Always set to 0xA.
Datasheet
41
2018-08-02
DPS422
Digital barometric pressure & temp sensor for portable and IOT devices
Calibration coefficients
11
Calibration coefficients
The DPS422 register map contains a number of fused coefficients which are used in the calculation of pressure
and temperature measurements.
The three temperature measurement coefficients are stored across three registers at addresses 0x20 to 0x22.
These coefficients are individually calculated and fused in each DPS422, they must be used to accurately
convert the temperature measurement value stored in the results registers TMP_B0 to TMP_B2 into a
temperature value in °C.
Pressure calibration coefficients are stored in register addresses 0x26 to 0x39. These coefficients are also
individually measured and fused for each DPS422 unit and must be used in the calculation of pressure
measurement results to eliminate any measurement non-linearities caused by temperature shift.
The following tables shows the register layout of the calibration coefficients. It is recommended to block read
these coefficient registers and then parse according to the bit labellings in the table.
Table 50
DPS422 Temperature Calculation Coefficients
Register Name
Addr. Bit 7
T_GAIN_COEFF
0x20
T_gain
T_dVBE_COEFF
0x21
T_dVbe
T_VBE_COEFF
0x22
T_Vbe
Table 51
Bit 6
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T_Vbe<
0>
DPS422 Pressure Measurement Calibration Coefficients
Register Name
Addr. Bit 7
COEFF_REG_1
0x26
C00
COEFF_REG_2
0x27
C00
COEFF_REG_3
0x28
C00
COEFF_REG_4
0x29
C10
COEFF_REG_5
0x2A
C10
COEFF_REG_6
0x2B
C01