cancel
Showing results for 
Search instead for 
Did you mean: 

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

Mr_M_from_G
Senior II

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

1 ACCEPTED SOLUTION

Accepted Solutions

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

View solution in original post

2 REPLIES 2

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

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