
BAT32G1x9 user manual | Chapter 24 Enhanced DMA
1036 / 1149
Rev.1.02
24.4.4
Chain transfer
When the DMACRj (j=0~39) register has a CHNE bit of "1 (allow chain transfer), multiple data can be
transferred continuously through one start source.
Once the DMA is started, the control data is selected by reading the data from the corresponding vector
address of the startup source, and the control data is allocated in the DMA control data area. If the CHNE bit
of the read control data is "1" (allow chain transfer), the next assigned control data is read at the end of the
transfer and the transfer continues. Repeat until the control data transfer with the CHNE bit "0" (disable chain
transfer) has ended.
When using multiple control data for chain transfer, the number of transfers of the first control data setting
is valid, while the number of transmissions of control data processed later by the second is invalid.
The flowchart of the chain transfer is shown in Figure 24-23.
Figure 24-23
chain transmission
DMDAR2 register
DMSAR2 register
DMRLD2 register
DMACT2 register
DMBLS2 register
DMACR2 register
DMDAR1 register
DMSAR1 register
DMRLD1 register
DMACT1 register
DMBLS1 register
DMACR1 register
higher address bits
lower address bits
00000000H
FFFFFFFFH
control data 2
(CHNE bit is "0")
control data 1
(CHNE bit is "1")
DMA trigger source occurs
read vector
read control data 1
transmit data
write back control data 1
read control data 2
transmit data
write back control data 2
DMA transfer completes
Note 1
The
DMACR39
register
must be placed
at chne
position
"0"
(chain transfer is prohibited).
2.
DMAENi0~DMAENi7 of the DMAENi
(i=0~4) register
after
the second
data transmission of
the chain
transmission
The bit does not change to
"0"
(disables
DMA
startup) and does not generate interrupt requests.