cancel
Showing results for 
Search instead for 
Did you mean: 

Reducing Bus Arbitration SlowDown on Simultaneous DCMI (via DMA), LTDC (via APB2), and SDMMC (via APB2) Utilization of FMC Data

ZThat
Senior

All,

I have been utilizing the STM32F765 chip to transfer frames (RAW images) of data back and forth from a camera, to flexible memory RAM, to the screen, to/from an SD card. When I attempt to use the DMA in tandem with interrupt based transfers to and from the FMC, everything slows down significantly. Does anyone have any advice on how to reduce this slowdown? I have been considering not using the DMA to transfer the DCMI data to the FMC, just so that I wouldn't have multiple masters accessing the same peripheral. This would probably require significant rework. Thoughts?

This additional question probably deserves another post, but I will leave it here as well, just in case someone who reads this post doesn't read the other.

I also see that I get occasional glitches when moving the FMC data to the LTDC when I neglect to allow extra time to pass between each retrieval of data from the SD card. This takes the form of color inversion and dropped/overlapped frames. However, when I do allow additional time to pass (on the order to .1 seconds) I don't get these visual glitches. The time based nature of this implies to me that I am not allowing the SD card buffer to fully empty before I start moving the data to the screen, causing an overlap in memory location access. Does anyone have ideas on how to prevent this? I essentially need something akin to thread protection even though I am not multi-threading the process.

Thanks!

0 REPLIES 0