cancel
Showing results for 
Search instead for 
Did you mean: 

How to know inner connections of DMA channels to peripherals on stm32g4 series mcu?

Ervins
Associate

I have worked with f3 series and in user manual there is shown what peripherals are connected to each DMA channel. For example 4 peripherals are connected to one channel, that means I have to configure only one peripheral to use that DMA channel to serve this specific event, because channel configuration includes from which address to which move the data..

In g4 series I found DMAMUX router, it has 115 inputs from all peripherals and 16 outputs to DMA channels. And the question I have is - how to know which DMAMUX output will be triggered on specific input? (for example ADC1 and ADC2, what other inputs will trigger the same DMA channel?)

This is my first question on forum, plz don't be too judgemental.

2 REPLIES 2
Piranha
Chief II

For each channel there is a DMAMUX_CxCR register with a field DMAREQ_ID, with which you have to assign a specific input request to that channel.

As Piranha said above, for each DMAMUX thus DMA channel you select, which peripheral will trigger it, in the DMAMUX_CxCR.DMAREQ_ID. That's all you need to do with DMAMUX, unless you want to use some of its fancy advanced features.

0693W000008xxsqQAA.pngThe inputs mapping is in DMAMUX: assignment of multiplexer inputs to resources table. Zero is reserved, it means that the given channel is switched off.

The mismatch between DMAMUX channels numbering (starting at 0) and DMA channels numbering (starting at 1) is, ehm...

JW