Skip to main content
YSall.1
Senior
June 29, 2022
Solved

Is there a maximum speed with DMA? (F446RE)

Hi, I am using DMA to generate an arbitrary waveform on PIN PA_8 using TIM1_CH1.

My HCLK is at 180MHZ, APB2 timer clock at 180 MHz and APB2 peripheral clocks at 90 MHZ.

Even though having this clock, when comparing the oscilloscope and the value of ARR register I have a frequency of approximately 56 MHZ.

Do you have an idea about it?

This topic has been closed for replies.
YSall.1
YSall.1Best answer
Senior
July 1, 2022

No you were wrong about this problem, I found out it was just power regulator voltage that was influencing the performance

5 replies

MM..1
Super User
June 29, 2022

Idea ??? TIM is timer generate 0 1 at defined duty and freq. Maybe you can write what you do.

DMA only changes this params. Max clock is one time set duty 1:1 and clk 90MHz.

If for example you use PWM 10bit res , then clk is max / 1024 ...

YSall.1
YSall.1AuthorBest answer
Senior
July 1, 2022

No you were wrong about this problem, I found out it was just power regulator voltage that was influencing the performance

Tesla DeLorean
Guru
June 29, 2022

>>Do you have an idea about it?

DMA transaction from memory and over the buses, still takes several cycles.

For the sake of argument say 3 or 4, and you still want to share resources with the MCU and other things you might need to do.

If you're trying to modulate something at high speeds, consider using a CPLD, or a pattern on a SPI wire, etc.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
YSall.1
YSall.1Author
Senior
June 30, 2022

Thanks for your response. I don't try to modulate a signal but just to create my own event generator with a resolution of 100 ns, I would like just to dertermine the frequency in this case so I could create a general formula to compute ARR register and corresponding delay values