I'm trying to build a system that can output as fast as possible some given bits to an ESP32 digital pin.
These bits are pseudo random, they can be generated earlier and stored in a memory (internal or external). The number of bits can range up to several thousands, if necessary it can be a power of two.
I've been told that one good solution would be to store the bits in an external flash memory and use an SPI bus to transfer them to the digital pin. So I have several questions before I begin to write the code.
- What highest bitrate can I achieve?
- Should I work in assembly code or will C be suited?
- Would this memory module or this one work? If not, any suggestion?
- I'm quite new to SPI and ESP32 so I would need some explanation and help on how to program my application.
What best site / ebook should I begin to read (Kolban's, ESP32 TRM, other)?
- Can anyone explain the notion of Quad SPI? Is it basically a way of multiplying the speed by 4, and if yes how can I use it?
- What are the SPI related traps that I should be aware of for this application?