Hi expert, recently i am working on our BLE application platform with BMA425 on broad for motion tracking. At the first i configed MCU I2C as standard mode (100kbps) to connect BMA425 and you know 425 is set as header and powersave mode with FIFO enabled (No irq and watermark used). MCU app will read FIFO data when each time my timer handler is serviced per 10 seconds (BMA425 ODR is 6.25Hz).
So my logic is when timer handler is running, i disable powersave mode firstly plus a minor delay (1ms), after that i issue the brust read of FIFO data. When 10S FIFO data is ate up, i enable the powersave mode again. The code is working fine under I2C standard mode. So I change the I2C as fast mode (a.k.a. 400Kbps), the issue is coming then, you know, i still can read FIFO data but I find more time is consumed for completion of FIFO read comparing with standard mode. Typically 50ms in standard mode but 125ms in fast mode. That's weird ryt? Fast mode I2C will consume FIFO date faster than the standard. Could you give me some clues about this issue? Thanks.