12-14-2022 01:25 PM
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)?
12-22-2022 03:04 AM
Hi Hoerz,
I setup example code on STM32 with bma456_an sensor API. Haven't reproduce your feedback missing 4 samples.
In addition, you have to use the configuration in the power configuration table.
01-09-2023 04:11 PM
Hello BSTRobin!
Thank you for trying to reproduce the problem.
I am currently wondering why you receive data ready interrupts before the initialization has been completed.
At which point of time do you write to register (0x58) INT_MAP_DATA?
Why is there such a long delay (more than 20ms) between writing to register 0x58 and init complete?
Thank you very much in advance!
Julian
01-11-2023 03:26 AM