Datasheet
LIS2DH Digital main blocks
Doc ID 022516 Rev 1 21/49
4 Digital main blocks
4.1 FIFO
The LIS2DH embeds a 32-slot data FIFO for each of the three output channels, X, Y and Z.
This allows a consistent power saving for the system, since the host processor does not
need to continuously poll data from the sensor, but it can wakeup only when needed and
burst the significant data out from the FIFO. This buffer can work accordingly to four different
modes: Bypass mode, FIFO mode, Stream mode and Stream-to-FIFO mode. Each mode is
selected by the FIFO_MODE bits into the FIFO_CTRL_REG (2E). Programmable
Watermark level, FIFO_empty or FIFO_Full events can be enabled to generate dedicated
interrupts on INT1/2 pin (configuration through FIFO_CFG_REG).
4.1.1 Bypass mode
In bypass mode, the FIFO is not operational and for this reason it remains empty. As
described in the next figure, for each channel only the first address is used. The remaining
FIFO slots are empty.
4.1.2 FIFO mode
In FIFO mode, data from X, Y and Z channels are stored into the FIFO. A watermark
interrupt can be enabled (FIFO_WTMK_EN bit into FIFO_CTRL_REG (2E) in order to be
raised when the FIFO is filled to the level specified into the FIFO_WTMK_LEVEL bits of
FIFO_CTRL_REG (2E). The FIFO continues filling until it is full (32 slots of data for X, Y and
Z). When full, the FIFO stops collecting data from the input channels.
4.1.3 Stream mode
In the stream mode, data from X, Y and Z measurement are stored into the FIFO. A
watermark interrupt can be enabled and set as in the FIFO mode.The FIFO continues filling
until it’s full (32 slots of data for X, Y and Z). When full, the FIFO discards the older data as
the new arrive.
4.1.4 Stream-to-FIFO mode
In Stream-to_FIFO mode, data from X, Y and Z measurement are stored into the FIFO. A
watermark interrupt can be enabled (FIFO_WTMK_EN bit into FIFO_CTRL_REG) in order
to be raised when the FIFO is filled to the level specified into the FIFO_WTMK_LEVEL bits
of FIFO_CTRL_REG. The FIFO continues filling until it’s full (32 slots of 10 bit for for X, Y
and Z). When full, the FIFO discards the older data as the new arrive. Once trigger event
occurs, the FIFO starts operating in FIFO mode.
4.1.5 Retrieve data from FIFO
FIFO data is read through OUT_X (Addr reg 29h), OUT_Y (Addr reg 2Bh) and OUT_Z (Addr
reg 2Dh). When the FIFO is in stream, Trigger or FIFO mode, a read operation to the
OUT_X, OUT_Y or OUT_Z regiters provides the data stored into the FIFO. Each time data
is read from the FIFO, the oldest X, Y and Z data are placed into the OUT_X, OUT_Y and
OUT_Z registers and both single read and read_burst operations can be used.










