ADXL313 Data Sheet
Rev. C | Page 16 of 28
FIFO Mode
In FIFO mode, data from measurements of the x-, y-, and z-axes
are stored in the FIFO. When the number of samples in the FIFO
equals the level specified in the samples bits of the FIFO_CTL
register (Address 0x38), the watermark interrupt is set. The
FIFO continues accumulating samples until it is full (32 samples
from measurements of the x-, y-, and z-axes) and then stops
collecting data. After the FIFO stops collecting data, the device
continues to operate; therefore, features such as activity detection
can be used after the FIFO is full. The watermark interrupt contin-
ues to occur until the number of samples in the FIFO is less
than the value stored in the samples bits of the FIFO_CTL
register.
Stream Mode
In stream mode, data from measurements of the x-, y-, and z-
axes is stored in FIFO. When the number of samples in the FIFO
equals the level specified in the samples bits of the FIFO_CTL
register (Address 0x38), the watermark interrupt is set. FIFO
continues accumulating samples and holds the latest 32 samples
from measurements of the x-, y-, and z-axes, discarding older
data as new data arrives. The watermark interrupt continues
occurring until the number of samples in FIFO is less than the
value stored in the samples bits of the FIFO_CTL register.
Trigger Mode
In trigger mode, the FIFO accumulates samples, holding the
latest 32 samples from measurements of the x-, y-, and z-axes.
After a trigger event occurs and an interrupt is sent to the INT1
or INT2 pin (determined by the trigger bit in the FIFO_CTL
register), FIFO keeps the last n samples (where n is the value
specified by the samples bits in the FIFO_CTL register) and
then operates in FIFO mode, collecting new samples only when
the FIFO is not full. A delay of at least 5 μs must be present between
the trigger event occurring and the start of reading data from
the FIFO to allow the FIFO to discard and retain the necessary
samples. Additional trigger events cannot be recognized until
the trigger mode is reset. To reset the trigger mode, set the device
to bypass mode and then set the device back to trigger mode. Note
that the FIFO data must be read first because placing the device
into bypass mode clears FIFO.
Retrieving Data from FIFO
The FIFO data is read through the DATA_Xx, DATA_Yx, and
DATA_Zx registers (Address 0x32 to Address 0x37). When the
FIFO is in FIFO, stream, or trigger mode, reads to the DATA_Xx,
DATA_xY, and DATA_Zx registers read data stored in the
FIFO. Each time data is read from the FIFO, the oldest x-, y-,
and z-axes data is placed into the DATA_Xx, DATA_Yx, and
DATA_Zx registers.
If a single-byte read operation is performed, the remaining
bytes of data for the current FIFO sample are lost. Therefore, all
axes of interest must be read in a burst (or multiple-byte) read
operation. To ensure that the FIFO has completely popped (that
is, that new data has completely moved into the DATA_Xx,
DATA_Yx, and DATA_Zx registers), there must be at least 5 μs
between the end of reading the data registers and the start of a
new read of the FIFO or a read of the FIFO_STATUS register
(Address 0x39). The end of reading a data register is signified by
the transition from Register 0x37 to Register 0x38 or by the CS pin
going high.
For SPI operation at 1.6 MHz or less, the register addressing
portion of the transmission is a sufficient delay to ensure that
the FIFO has completely popped. For SPI operation greater than
1.6 MHz, it is necessary to deassert the CS pin to ensure a total
delay of 5 μs; otherwise, the delay is not sufficient. The total delay
necessary for 5 MHz operation is at most 3.4 μs. This is not a
concern when using I2C mode because the communication rate is
low enough to ensure a sufficient delay between FIFO reads.
SELF TEST
The ADXL313 incorporates a self test feature that effectively
tests its mechanical and electronic systems simultaneously.
When the self test function is enabled (via the SELF_TEST bit
in the DATA_FORMAT register, Address 0x31), an electrostatic
force is exerted on the mechanical sensor. This electrostatic force
moves the mechanical sensing element in the same manner as
acceleration, and it is additive to the acceleration experienced
by the device. This added electrostatic force results in an output
change in the x-, y-, and z-axes. Because the electrostatic force
is proportional to VS2, the output change varies with VS. The self
test feature of the ADXL313 also exhibits a bimodal behavior.
However, the limits shown in Table 1 and Table 13 are valid for
all potential self test values across the entire allowable voltage
range. Use of the self test feature at data rates of less than 100 Hz or
at 1600 Hz may yield values outside these limits. Therefore, the
part must be in normal power operation (LOW_POWER bit = 0
in the BW_RATE register, Address 0x2C) and be placed into a
data rate of 100 Hz through 800 Hz or 3200 Hz for the self test
function to operate correctly.
Table 13. Self Test Output (TA = 25°C, 2.0 V ≤ VS ≤ 3.6 V)
Axis Min (g) Max (g)
X 0.20 2.36
Y −2.36 +0.20
Z 0.30 3.70