Datasheet

Page 31 /
Confidential
BST-BMA400-DS000-00 | Version 0.1 | November 2017 Bosch Sensortec
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing on to third parties.
BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.
4.4. FIFO
FIFO description
Acceleration data are stored in a 1024Bytes FIFO. The FIFO is written only in normal mode.
When FIFO_CONFIG0.fifo_stop_on_full = 0, the device is in stream mode.
When FIFO_CONFIG0.fifo_stop_on_full = 1, the device is in FIFO mode.
Stream mode: overwrites oldest data on FIFO full condition
FIFO full mode: discards newest data on FIFO full condition
The FIFO depth is 1024 byte and supports the following interrupts:
FIFO full interrupt
FIFO watermark interrupt
The data to be collected is defined through fifo_data_src, fifo_x_en, fifo_y_en and fifo_z_en bits.
FIFO is disabled when no writing is defined; FIFO is therefore disabled when fifo_x_en=’0’,
fifo_y_en=’0’ and fifo_z_en=’0’.
If the FIFO is disabled when FIFO byte count is greater than 0, no new frame is written to the FIFO,
but FIFO is operational:
Frames already written in the FIFO remain stored and can be read out
FIFO interrupts and their corresponding statuses are still evaluated
after all bytes are read out, sensortime (if enabled) and empty frames are generated
FIFO can be flushed
FIFO input data
Storing of acceleration measurement results is enabled by setting respectively fifo_x_en = ’1’ and/or
fifo_y_en = ’1’ and/or fifo_z_en = ’1’. Storing of data can be enabled or disabled on a per-axis basis
in any combination.
acc_filt1 or acc_flit2 data are stored in the FIFO depending on fifo_data_src bit.
Thus, the data rate with which data is stored in the FIFO equals the data rate with which the filter
serving as data source is configured.
The number of bytes available in the FIFO is readable through fifo_bytes_cnt<10:0>.
The FIFO byte count registers FIFO_LENGTH0 and FIFO_LENGTH1 are updated only when a full
frame has been written to the FIFO and is available for read-out. FIFO byte count registers are also
updated after each fullframe read from the FIFO.
FIFO byte count registers increment or decrement is equal to the frame length; intermediate
increments (corresponding to a partial frame) are not readable.
The FIFO shall support two modes for acceleration data storage in FIFO: 12 bits stored as two bytes
into FIFO and 8-bit mode stored as single byte into FIFO per acceleration axis. The 8-bit mode
activation shall be performed by setting FIFO_CONFIG0.fifo_8bit_en = ‘1’.
Confidential and under NDA
Seeed Studio
Confidential and under NDA
Seeed Studio
Confidential and under NDA