Page 1 of 1

ESP32 parallel bus readout

Posted: Fri Dec 22, 2017 10:05 pm
by jean.passepartout
Hi everybody!

I'm trying to tie the ESP32 to a very specific peripheral. This peripheral outputs a 4 bit data word clocked at 25 MHz on the two clock edges.
I'm trying to crack a way to retrieve such high data stream on the ESP, preferentially using DMA. Any ideas on how to do this without additional hardware? For the records, the 25 MHz clock may be derived from the ESP32 internal clock.

Cheers!
Jean

Re: ESP32 parallel bus readout

Posted: Sat Dec 23, 2017 5:27 am
by ESP_Sprite
Hmm, the ESP32 can generate the clock? In that case, I'd use the SPI master peripheral, it has a 4-bit parallel mode. The 'on both clock edges' may be an issue however... if it's acceptable to run the thing at a lower speed (20MHz), you could run the SPI peripheral at 40MHz and use an external flipflop to divide that by two.

If speed is an issue, you could maybe use an I2S peripheral in 8-bit mode combined with the APLL to generate 50MHz and divide that by two... or maybe the I2S could actually be set up to output half the clockrate somewhere, I don't know. Disadvantage is that you'd be wasting half of your memory that way because you're capturing a 4-bit signal on an 8-bit bus.

Can I ask what specific device you're trying to interface with?