![GigaDevice Semiconductor GD32E23 Series User Manual Download Page 139](http://html.mh-extra.com/html/gigadevice-semiconductor/gd32e23-series/gd32e23-series_user-manual_2225794139.webp)
GD32E23x User Manual
139
8.3.
Block diagram
Figure 8-1. Block diagram of DMA
Arbiter
AHB
Master
Port
DMA
Configuration
C
o
n
tr
o
l
&
d
a
ta
M
U
X
Channel 0
Channel 1
Channel 2
Channel 4
Memory control
state & counter
management
Peripheral control
state & counter
management
AHB slave
interface
AHB master
interface
…
…
…
…
peri_req
peri_req
peri_req
peri_req
Transfer
request
Figure 8-1. Block diagram of DMA
, a DMA controller consists of four main
parts:
–
DMA configuration through AHB slave interface
–
Data transmission through two AHB master interfaces for memory access and
peripheral access
–
An arbiter inside to manage multiple peripheral requests coming at the same time
–
Channel management to control address/data selection and data counting
8.4.
Function overview
8.4.1.
DMA operation
Each DMA transfer consists of two operations, including the loading of data from the source
and the storage of the loaded data to the destination. The source and destination addresses
are computed by the DMA controller based on the programmed values in the
DMA_CHxPADDR, DMA_CHxMADDR, and DMA_CHxCTL registers. The DMA_CHxCNT
register controls how many transfers to be transmitted on the channel. The PWIDTH and
MWIDTH bits in the DMA_CHxCTL register determine how many bytes to be transmitted in a
transfer.