13 DMA CONTROLLER (DMAC)
13-8
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
Operation of DMAC
13.5
The DMAC has two transfer modes (single and successive transfer modes), in each of which data transfer operates
differently. The following describes the operation in each transfer mode.
Single Transfer Mode
13.5.1
The channels for which TM (D2/1st word) in control information is set to 0 operate in single transfer mode. In this
mode, a transfer operation invoked by one trigger is completed after transferring one data unit of the size set in
UNIT[2:0]. If data transfer needs to be performed a number of times as set by the transfer counter, an equal number
of triggers are required. The operation in the single transfer mode is shown by the flow chart in Figure 13.5.1.1.
START
END
Load control information
Clear trigger flag
to accept next trigger
Transfer data
(8 bits, 16 bits, or 32 bits)
Increment address
Transfer counter - 1
Store control information
DMAC interrupt request
Read source data pointer
(8 bits or 16 bits)
ST = 1?
No (data)
Yes (pointer)
SRINC/DSINC[1:0]
0x0 (address fixed)
0x1 (address increment)
Transfer counter = 0?
No
Yes
CHEN = 1?
No (channel disabled)
Yes (channel enabled)
5.1.1
Figure 13.
Operation Flow in Single Transfer Mode
(1) When the DMAC accepts a trigger, it loads the control information of the channel into the DMAC module.
(2) To allow the next trigger, the DMAC clears the trigger flag (TRG
x
/DMAC_TRG_FLG register).
(3) The DMAC checks to see if CHEN is set to 1 (DMA transfer enabled). It abort data transfer if CHEN is set to 0.
(4) If the source type specified in the control information is pointer (ST = 1), the DMAC read the contents of the
specified source address to determine the pointer to the source data.
(5) The DMAC reads the specified data unit from the source address into a buffer and then write it to the destina-
tion address.
The transfer status flag (RUN
x
/DMAC_RUN_STAT register) is set and retains 1 while data is being transferred.