Skip to main content
Ervins
Visitor II
March 25, 2021
Question

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

  • March 25, 2021
  • 2 replies
  • 910 views

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.

This topic has been closed for replies.

2 replies

Piranha
Principal III
March 25, 2021

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.

waclawek.jan
Super User
March 25, 2021

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