ESP32-S3 - I2S during Light Sleep
Posted: Thu Feb 08, 2024 2:06 am
Hi,
I have an application where I am recording from stereo PDM microphones for a short duration (~10sec) then storing this on an SD card, along with values from some environmental sensors.
Everything is working nicely, but I'd like to improve the power performance for instances where the device is running on battery power.
Most of the time in the app is spent waiting on the blocking i2s_channel_read function to return when the data is available in the DMA buffer. I'd love to use light sleep if it's an option.
I've read through the datasheets, but for the life of me can't tell whether both the I2S and DMA peripherals will remain active during light sleep, and if so, how to properly configure them so that they aren't clock gated.
Any insight would be greatly appreciated!
Thanks!
-Tim
I have an application where I am recording from stereo PDM microphones for a short duration (~10sec) then storing this on an SD card, along with values from some environmental sensors.
Everything is working nicely, but I'd like to improve the power performance for instances where the device is running on battery power.
Most of the time in the app is spent waiting on the blocking i2s_channel_read function to return when the data is available in the DMA buffer. I'd love to use light sleep if it's an option.
I've read through the datasheets, but for the life of me can't tell whether both the I2S and DMA peripherals will remain active during light sleep, and if so, how to properly configure them so that they aren't clock gated.
Any insight would be greatly appreciated!
Thanks!
-Tim