![](http://datasheet.mmic.net.cn/120000/MB-91110PMT2_datasheet_3559008/MB-91110PMT2_352.png)
328
CHAPTER 13 DMA CONTROLLER (DMAC)
Figure 13.4-5 Block Transfer Sequence
[Features of block transfer]
The transfer sequence is exactly the same as that for step transfer, except that a single unit
of transfer consists of several transfer cycles. Even when the data width is set to that other
than word, transfer is repeated a specified number of times with the specified block size.
If a function to stop processing at a boundary between units of transfer (e.g compare match
function) is enabled, large-block transfer may require more time because the processing
continues until a block boundary.
Only reset stops block transfer at once but the data contents cannot be guaranteed.
s Explanations of Terms and Operations Related to the Transfer Sequences
r Block size
A unit of transfer is the amount of data (multiplied by the data width) specified in the block size
specification register in all operations unless specified directly in the DMAC register.
Since the amount of data transferred in a cycle depends on the data width, the unit of transfer
will be the number of block-size transfer cycles.
Block transfer does not stop until the end of a unit of transfer even if a transfer request of a
higher priority is received from another channel or a transfer halt request is received during
transfer. This protects data in a block not to be divided or suspended. If the block size is great,
however, response efficiency may deteriorate.
r Reload functions
This module accepts the following three types of reload functions:
Transfer count register reload function
Source address register reload function
CPU
SA
DA
SA
DA
CPU
SA
DA
SA
DA
04
03
02
Transfer request
Bus operation
Transfer count
Transfer end
–
After the specified number of transfer repetitions, this function sets the initial value to
the transfer count register again for reactivation. This value is set for repeating the
full transfer sequence.
If reload is not specified, the count register value after the series of transfer remains 0
and no more transfer is executed.
–
After the specified number of transfers, this function sets the initial value to the
source address register again. This value is set for repetitive transfer from a fixed
area in the source address area.
If the reload function is not specified, the source address register value after the
series of transfer becomes the next address. This function is used when the address
area is not fixed.