2021-04-14 03:04 AM
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
Solved! Go to Solution.
2021-04-14 02:29 PM
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
2021-04-14 02:29 PM
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
2021-04-15 12:27 AM
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