How to sample ADC with a constant timing?
Posted: Thu Feb 27, 2020 5:08 pm
I am wondering what the best way is of sampling with constant intervals on the ESP32.
I have some experience with TI C2000 microprocessors where you need to set timers to generate interrupts to sample a certain ADC. I always found it quite a lot of work and when I read about the FreeRTOS scheduler it seemed to be a very interesting solution to get around programming the timers and interrupts and just make a function that reads out a pin and set the desired frequency with freertos. However, I noticed in this post https://www.toptal.com/embedded/esp32-audio-sampling that they still seem to use the timers and interrupts, which seems weird to me as it's much more convenient to do it with freertos. So, is there somehow a limit on the use of freertos when high sampling frequencies are required? I would like to sample at 10 kHz or higher and on multiple channels and I am thinking to use the MCP 3909, which has an SPI interface. Thanks in advance for your input!
I have some experience with TI C2000 microprocessors where you need to set timers to generate interrupts to sample a certain ADC. I always found it quite a lot of work and when I read about the FreeRTOS scheduler it seemed to be a very interesting solution to get around programming the timers and interrupts and just make a function that reads out a pin and set the desired frequency with freertos. However, I noticed in this post https://www.toptal.com/embedded/esp32-audio-sampling that they still seem to use the timers and interrupts, which seems weird to me as it's much more convenient to do it with freertos. So, is there somehow a limit on the use of freertos when high sampling frequencies are required? I would like to sample at 10 kHz or higher and on multiple channels and I am thinking to use the MCP 3909, which has an SPI interface. Thanks in advance for your input!