03-31-2021 05:42 PM
Hello Bosch Sensortec Community,
I have some trouble reading the FIFO. First of all, I have set the sensor range to +/- 16g and the filter bandwidth to 7.81Hz.I use the BMA 253 because of its high-g interrupt to detect shocks that my device experiences while it is switched off and then wake it up. Currently, the device with the sensor is only resting still on the table and experiences no movement or deliberately caused vibrations.
When it is on, however, I read out the FIFO about every 0.9s which corresponds to 15 values per axis and evaluate the data. Here I count how often a value occurs above certain thresholds. (+/-15g,+/-13g,+/-8g). This is where my problem occurs: the counters (0-255) continuously overflow.The one with the smallest threshold approx. every 2-3s, the one with the largest threshold approx. every 20s.
If I read out only the three data registers at the same time as I read out the FIFO and evaluate them, I get comprehensible values that are around 0g on two axes and around 1g on one axis.Therefore, I can not do much with the values from the FIFO and unfortunately I can not explain where these errors come from.
Do you have any suggestions where this could be or which settings I should check?
Many thanks in advance
With kind regards
03-31-2021 07:44 PM
In short, you got counter overflow error right when you use FIFO and high-g interrupt.
And, I think counter is for FIFO. I don't understand what "The one with the smallest threshold approx. every 2-3s, the one with the largest threshold approx. every 20s." means though.
If counter is too tight for FIFO, I suggest to expand counter or slow FIFO ODR for test.
If counter is for FIFO, this issue shall not be related to high-g.
Let's focus on FIFO.
04-01-2021 10:39 AM - edited 04-01-2021 10:41 AM
Thank you for your reply,
but unfortunately I can't do much with it. Maybe my rather long explanation is a bit confusing. Yes, the High-G interrupt can be left out for now.
Simply making the counters bigger is not a solution to my problem. The counters are only used to monitor the FIFO. With larger counters the problem that a lot of values over 15g occur although my device is just lying still and untouched would remain the same, I would just count it more often until the counter overflows.
I need a solution or an explanation why so many values over 15g occur. According to my observation about 300 times in 20s. This can not be correct... I think.
I hope it has now become a little clearer where my problem lies.
Nevertheless I would be glad about any help.
04-07-2021 06:43 PM
Sorry for late.
Could you share your code, then I will check for you.