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
ESP32 parallel bus readout
-
- Posts: 9769
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32 parallel bus readout
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?
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?
Who is online
Users browsing this forum: mikl604 and 60 guests