Rev. 5.00, 09/03, page 345 of 760
11.3 Operation
When there is a DMA transfer request, the DMAC starts the transfer according to the
predetermined channel priority order; when the transfer end conditions are satisfied, it ends the
transfer. Transfers can be requested in three modes: auto-request, external request, and on-chip
module request. The dual address mode has direct address transfer mode and indirect address
transfer mode. Burst mode or cycle-steal mode can be selected as the bus mode.
11.3.1 DMA Transfer Flow
After the DMA source address register (SAR), DMA destination address register (DAR), DMA
transfer count register (DMATCR), DMA channel control register (CHCR), and DMA operation
register (DMAOR) are set, the DMAC transfers data according to the following procedure:
1. Checks to see if transfer is enabled (DE = 1, DME = 1, TE = 0, AE = 0, NMIF = 0)
2. When a transfer request comes and transfer is enabled, the DMAC transfers 1 transfer unit of
data (according to the TS0 and TS1 settings). For an auto-request, the transfer begins
automatically when the DE bit and DME bit are set to 1. The DMATCR value will be
decremented for each transfer. The actual transfer flows vary by address mode and bus mode.
3. When the specified number of transfers have been completed (when DMATCR reaches 0), the
transfer ends normally. If the IE bit in CHCR is set to 1 at this time, a DEI interrupt is sent to
the CPU.
4. When an address error occurs by the DMAC or an NMI interrupt is generated, the transfer is
aborted.
Figure 11.2 is a flowchart of this procedure.