BMA456 Data ready interrupt too late

Hello all!

 

I have a question (or a challenge) regarding the data ready interrupt of the BMA456.

My wish would be quite simple, to read out the unfiltered acceleration sensor values every 2,5ms.

Therefore I operate the sensor with 400Hz and configure the sensor with ACC_Conf.acc_perf_mode = 1 and ACC_Conf.acc_bwp = 0x02 (normal mode)

 

I observed that about 4 samples are missed after configuration before the first data-ready interrupt occurs. In other words: I'd expect the data ready interrupt about 2,5ms after configuration but actually the data ready interrupt is triggered 12ms after configuration. All interrupts after the first interrupt come with a frequency of 400Hz. See following image:

 

 

If I change the configuration to ACC_Conf.acc_perf_mode = 0 and ACC_Conf.acc_bwp = 0x00 the sensor delivers the data as expected, see following image.

How does the sensor behave when ACC_Conf.acc_perf_mode = 0 and PWR_CONF.adv_powersave = 0 are set at the same time?

Unfortunately, this configuration is not described in chapter 4.3 of the BMA456 datasheet.

 

I thought that the following configuration would be correct for this:

ACC_Conf.acc_perf_mode = 1

ACC_Conf.acc_bwp = 0x02 -> designated as "normal mode"

But this configuration does not work as expected (as shown above).

 

My key questions are:

- How does the sensor behave when ACC_Conf.acc_perf_mode = 0 and PWR_CONF.adv_powersave = 0 are set at the same time?

- Why are approx. 4 samples missing when I use the configuration ACC_Conf.acc_perf_mode = 1 and ACC_Conf.acc_bwp = 0x02 (normal mode)?

3 replies