RM0440
DMA requests in dual ADC mode
In all dual ADC modes, it is possible to use two DMA channels (one for the master, one for
the slave) to transfer the data, like in single mode (refer to
regular simultaneous mode when
Figure 147. DMA Requests in regular simultaneous mode when MDMA=0b00
In simultaneous regular and interleaved modes, it is also possible to save one DMA channel
and transfer both data using a single DMA channel. For this MDMA bits must be configured
in the ADCx_CCR register:
•
MDMA=0b10: A single DMA request is generated each time both master and slave
EOC events have occurred. At that time, two data items are available and the 32-bit
register ADCx_CDR contains the two half-words representing two ADC-converted data
items. The slave ADC data take the upper half-word and the master ADC data take the
lower half-word.
This mode is used in interleaved mode and in regular simultaneous mode when
resolution is 10-bit or 12-bit.
Example:
ADC Master regular
ADC Master EOC
ADC Slave regular
ADC Slave EOC
DMA request from ADC Master
DMA request from ADC Slave
Configuration where each sequence contains only one conversion
Interleaved dual mode: a DMA request is generated each time 2 data items are
available:
1st DMA request: ADCx_CDR[31:0] = SLV_ADC_DR[15:0] | MST_ADC_DR[15:0]
2nd DMA request: ADCx_CDR[31:0] = SLV_ADC_DR[15:0] |
MST_ADC_DR[15:0]
MDMA=0b00).
Trigger
Trigger
CH1
CH2
DMA reads Master
ADC_DR
DMA reads Slave
ADC_DR
RM0440 Rev 1
Analog-to-digital converters (ADC)
Figure 147: DMA Requests in
CH1
CH2
DMA reads Mater
ADC_DR
DMA reads Slave
ADC_DR
MSv31032V2
639/3748
683
Need help?
Do you have a question about the STM32G4 Series and is the answer not in the manual?