Transfer data from SD Card (with SD/MMC host) to SPI Output in real time
Posted: Mon Jan 06, 2020 5:38 pm
Hi,
I'm wonder if there is a better way to transfer data as fast as possible continually from a SD Card to a SPI output ?
Currently the only way I have found is to have 2 large buffers in the RAM using the 2 cores.
I'm using DMA for SPI (and also for the SD I think ? )
While I'm writing data into buf1 on core 0 there is a SPI transaction that output buf2 on core 1.
And then, there is another SPI transaction for buf1 on core 1 while writing data into buf2 on core 0.
The problem is the amount of RAM that it uses.
Is there a way to use DMA buffers directly from SD Card peripheral to SPI peripheral without using so much RAM ?
For me currently, it does :
SD CARD -> DMA-> RAM -> DMA -> SPI and It could be : SD CARD -> DMA-> SPI
I have tried using the external PSRAM of a WROVER B module but the speed is 10 times slower
I'm wonder if there is a better way to transfer data as fast as possible continually from a SD Card to a SPI output ?
Currently the only way I have found is to have 2 large buffers in the RAM using the 2 cores.
I'm using DMA for SPI (and also for the SD I think ? )
While I'm writing data into buf1 on core 0 there is a SPI transaction that output buf2 on core 1.
And then, there is another SPI transaction for buf1 on core 1 while writing data into buf2 on core 0.
The problem is the amount of RAM that it uses.
Is there a way to use DMA buffers directly from SD Card peripheral to SPI peripheral without using so much RAM ?
For me currently, it does :
SD CARD -> DMA-> RAM -> DMA -> SPI and It could be : SD CARD -> DMA-> SPI
I have tried using the external PSRAM of a WROVER B module but the speed is 10 times slower