Page 1 of 1

I2S parallel access to external RAM

Posted: Mon Apr 26, 2021 3:01 am
by ffrige
The technical manual says that I2S supports an "LCD" parallel mode to write data and a "Camera" parallel mode to read data. But what if I want to interface to an external memory and do read/write operations? Do I have to switch modes in between? Or should I configure one I2S controller as LCD and the other as Camera and then connect them to the same pins?

The ESP32-S2 docs mention something about an EDMA but not detailed enough for me to understand how to configure it.

Re: I2S parallel access to external RAM

Posted: Sun May 09, 2021 11:16 am
by ffrige
Is there any way to find an answer to this? I would like to use the ESP32 in this new product we are developing, but if I can't use the parallel stream then I will have to choose a different microcontroller.

Re: I2S parallel access to external RAM

Posted: Mon May 10, 2021 3:31 am
by ESP_Sprite
I think you should switch modes if you want that, but to be honest, that peripheral is not exactly intended to interface with parallel ram. That does not mean you cannot do it, but you may need to write your own driver and read between the lines in the TRM a bit.

Re: I2S parallel access to external RAM

Posted: Mon May 10, 2021 3:48 am
by ffrige
Ok, thank you, I understand. The mention of "EDMA" in the manual got me a bit excited, but from what you say I have to guess that the feature is not really fully implemented yet.

Re: I2S parallel access to external RAM

Posted: Tue May 11, 2021 4:58 am
by ESP_Sprite
FWIW, EDMA specifically is used to use either external SPI flash or PSRAM as a DMA source or destination (normally you'd be restricted to internal RAM). That flash and PSRAM need to be already supported by the chip and esp-idf (as in: you should already be able to read from it by dereferencing a pointer in C); it doesn't work for any random RAM component.