Hi All,
I develop a custom pcb with nrf52832 mcu. It reads acceleration data from the sensor's FIFO via i2c (TWIM). I use the nRF5_SDK_16.0.0 and FreeRTOS. I tried to decrease the power consumption, so I used the TWIM in non blocking mode while the CPU was sleeping.
But the difference (in power cunsumption) is not as big as I expected, because the transmission is much slower with EasyDMA than with CPU.
I tried to read 192 byte from the sensor's FIFO at a time. It took 4.8ms (@400kHz) with CPU (blocking mode) and 7.4ms with EasyDMA (non-blocking mode).The scope pictures shows that there is ~16 us delay between each byte with DMA. (SDA yellow, SCL red):
This gap is not present in the blocking mode:
What is the reason of this gap between of the bytes?
Can I avoid this with some setting of DMA or TWIM driver?
Cheers and thanks in advance for your help,
nevi