Read multiple channels concurrently
Posted: Fri Jun 30, 2023 6:13 pm
Hi, is ESP32 able to read data from several other ESP32 modules concurrently? (Low latency, <1ms, so wifi is not an option)
Lets assume 8 channels and 3 Mbit/s bitrate per channel. That would be 24 Mbit/s in total.
There can be significant distance (about 1-2 meters), that's why I would like to avoid using high frequency (24 MHz) SPI with CS pins, but rather use a lower frequency (3 MHz) and collect data at each CLK from all channels in parallel - that means I will have to restore each channel's data words by a lot of bit-shifting, which will be a time consuming task, so, maybe I will have to use 2 ESP32 modules - one will receive data from multiple channels, reconstructs data words and sends them over SPI (this time a fast one, since both ESP32 can be close to each other) to second ESP32, which actually processes data.
Is ESP32 able to use Octal SPI in slave mode with DMA? Or is there another peripheral, that is more suitable for this task?
Before I buy 10 ESP32s, I wanted to ask here, if there is a chance it could work
Lets assume 8 channels and 3 Mbit/s bitrate per channel. That would be 24 Mbit/s in total.
There can be significant distance (about 1-2 meters), that's why I would like to avoid using high frequency (24 MHz) SPI with CS pins, but rather use a lower frequency (3 MHz) and collect data at each CLK from all channels in parallel - that means I will have to restore each channel's data words by a lot of bit-shifting, which will be a time consuming task, so, maybe I will have to use 2 ESP32 modules - one will receive data from multiple channels, reconstructs data words and sends them over SPI (this time a fast one, since both ESP32 can be close to each other) to second ESP32, which actually processes data.
Is ESP32 able to use Octal SPI in slave mode with DMA? Or is there another peripheral, that is more suitable for this task?
Before I buy 10 ESP32s, I wanted to ask here, if there is a chance it could work