2023-11-09 07:43 AM
Hi All,
I am using an Nucleo-144 STM32H723ZG.
Here I try to use ADC3 to sample data, and save it to a buffer (SRC_Buf) using DMA, which works fine. Then I want to move the data from the SRC_Buf to A bigger buffer using MDMA. I have some callback functions for the MDMA and DMA to see when they finish transfers. However it seems like the DMA always fills half the buffer before the MDMA have managed to transfer the other half, and I would potentially loose data. If I increase the MDMA interrupt priority, I get the callback function triggered, but not otherwise. Is there some settings or methods I can configure to make those processes happen faster? Maybe a hardware trigger etc. Better data transfer speeds, memory management...?
Thanks for all answers!
This is the code:
Solved! Go to Solution.
2023-11-10 06:53 AM
Hello @elso
Indeed, MDMA has direct connection with DMA1 and DMA2. It can be configured to be hardware triggered. This can help to achieve high speed data transfer. To do this, check section 1.2 in AN5001.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-11-10 06:53 AM
Hello @elso
Indeed, MDMA has direct connection with DMA1 and DMA2. It can be configured to be hardware triggered. This can help to achieve high speed data transfer. To do this, check section 1.2 in AN5001.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-11-15 01:41 AM
Hi @FBL
Is it possible to trigger MDMA on the DMA buffer half complete interrupt too?
2023-11-15 05:01 AM
Hello @elso
According to the block interconnect, table 97 section 13.3.1, in the reference manual, only DMA transfer complete can trigger MDMA by HW.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.