cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 + FMC + MDMA transmits only the first halfword

ABouk.1
Associate III

Hello everybody,

Im am currently trying to connect a STM32H753 to a AD7606B using the parallel interface (FMC) and got it working at some point where the CPU can read/write the data from/to the FMC but it needs a __DSB() before starting to use the read data or the ensure that the data have been sent to the device.

That may still be tolerable given that a full 16 halfwords read takes about 3µs to complete but I want to read these data using the MDMA directly and raise a IRQ after performing X reads and, for now, the MDMA encounters the exact same problem than the CPU but it has no __DSB( ) to ensure that the first data have been read before requesting for the next one from the FMC.

Any ideas how I can sync the MDMA with the FMC ?

Additionnally, i would like to start the MDMA transfert from FMC to DTCM with a GPIO Pin that goes low when the 16 halfwords are ready to be read. For now i am trying to start a timer with the GPIO configured as external event, the timer would then start a dummy (and fast) DMA transfert, one completed it shall trigger the MDMA to read the 16 halfwords from the FMC, all that without CPU intervention until a number of blocks have been transferred by the MDMA this way.

Any ideas pls ?

Thanks,

0 REPLIES 0