Could some one explain me in simple words:
1. What the FIFO buffer is?
2. What is the advantages (if any) of using the FIFO buffer
3. Is it achieved energy optimization my using the FIFO buffer?
Thanks in advance
Solved! Go to Solution.
FIFO (First Input First Output), that is, the first-in first-out queue. It is used in the sensor to cache data to prevent data loss; and can store the data in a centralized manner, which can avoid frequent communication between the main controller and the Sensor, reduce the burden on the CPU, and reduce system power consumption. A FIFO is integrated in BMX160 also to support low power application and prevent data loss in non-real0time system.
Thank you for your reply BSTRobin
Well, my application is designed to send IMU's data with a frequency of 100Hz over Bluetooth. Meaning that I have to call the bmi160_get_sensor_data() function every 10ms.
Could FIFO buffer somehow be useful for my application? I am looking for power optimization that's why I am asking.
It is depending on your used data rate from sensor.
If it is higher than 100Hz ODR and you want to keep all data available for host to calculation, then FIFO is good help to reduce the system power.
If you use exactly 100Hz ODR now, then FIFO have no benefit on system power consumpiton side