
GD32L23x User Manual
182
be routed to the DMAMUX multiplexer channel output until a synchronization input event
occurs again.
Channel event generation
Each DMA request line multiplexer channel has an event output called Evtx_out, which is the
DMA request multiplexer counter underrun event. Signals Evt0_out ~ Evt3_out can be used
for DMA request chaining. If event generation bit EVGEN in the DMAMUX_RM_CHxCFG
register is enabled on the channel x output, when its DMA request multiplexer counter is
automatically reloaded with the value of the programmed NBR[4:0] field, the multiplexer
channel generates a channel event, as a pulse of one AHB clock cycle.
shows an example when NBR[4:0]=4, SYNCEN=0,
EVGEN=1.
Figure 11-3.
Event generation
The selected Reqx_in
Reqx_out
Evtx_out
4
3
2
1
SYNCEN
DMAMUX request
multiplexer counter
Pending DMA request
4
3
2
0
4
3
1
0
1
2
0
EVGEN
Counter underrun event occurs
Note:
If EVGEN = 1 and NBR[4:0] = 0, an event is generated after each served DMA request.
Synchronization overrun
If a new synchronization event occurs before the built-in DMAMUX request multiplexer
counter underrun, the synchronization overrun flag bit SOIFx is set in the
DMAMUX_RM_INTF register.
Note:
The synchronization mode of request multiplexer channel x shall be disabled by
resetting SYNCEN bit in DMAMUX_RM_CHxCFG register at the completion of the use of the
related channel of the DMA controller. Otherwise, when a new synchronization event occurs,
there will be a synchronization overrun due to the absence of a DMA acknowledge (that is,
no served request) received from the DMA controller.