Skip to main content
Mr_M_from_G
Senior II
Apr 14, 2021 10:04 AM UTC
Solved

What happens to a DMA trigger while DMA is not enabled?

Hello,

I couldn't find anything about this in reference manual:

I have configured TIM8 to generate a DMA request on update. When I set TIM8, register EGR, bit UG to force an update while both the timer and DMA are not enabled, what happens to the generated update pulse that goes to the DMAMUX and from there further to the DMA? Will it be processed or cleared when DMA is enabled?

Thanks for any information

kind regards

Martin

This topic has been closed for replies.
waclawek.jan
waclawek.janBest answer
Super User
Apr 14, 2021 9:29 PM UTC

Which STM32?

In STM32 without DMAMUX, the timer contains a latch, which "remembers" the DMA trigger, as long as respective TIMx_DIER.xxDE is set.

https://community.st.com/s/question/0D50X00009XkaAtSAJ/how-to-clear-pending-dma-request

I don't know how exactly this is in mcus with DMAMUX, but I wouldn't be surprised if it would be the same.

JW

2 replies

waclawek.jan
waclawek.janBest answer
Super User
Apr 14, 2021 9:29 PM UTC

Which STM32?

In STM32 without DMAMUX, the timer contains a latch, which "remembers" the DMA trigger, as long as respective TIMx_DIER.xxDE is set.

https://community.st.com/s/question/0D50X00009XkaAtSAJ/how-to-clear-pending-dma-request

I don't know how exactly this is in mcus with DMAMUX, but I wouldn't be surprised if it would be the same.

JW

Mr_M_from_G
Senior II
Apr 15, 2021 7:27 AM UTC

Hi Jan,

first of all thanks for your great work published in the post linked above, I know that this is a lot of careful work.

I found this hint that there is a flipflop somewhere in STM32H7xx RefMan RM0433:

************

in 15.3.4 DMA transactions:

After an event, the peripheral sends a request signal to the DMA controller. The DMA

controller serves the request depending on the channel priorities. As soon as the DMA

controller accesses the peripheral, an Acknowledge signal is sent to the peripheral by the

DMA controller. The peripheral releases its request as soon as it gets the Acknowledge

signal from the DMA controller.

************

So this means to me the request is stored until it is acknowleded by DMA.

Now I also know where it is stored and how to get rid of it.

Thanks again

Martin