
II BUS MODULES: INTELLIGENT DMA (IDMA)
S1C33E07 TECHNICAL MANUAL
EPSON
II-2-1
II
IDMA
II.2 Intelligent DMA (IDMA)
II.2.1 Functional Outline of IDMA
The S1C33E07 contains an intelligent DMA (IDMA), a function that allows control information to be programmed
in RAM. Up to 128 channels can be programmed, including 41 channels that are invoked by a cause of interrupt
that occurs in some internal peripheral circuit. Although an additional overhead for loading and storing control
information in RAM may be incurred, this intelligent DMA supports such functions as successive transfers, block
transfers, and linking to another IDMA. IDMA is invoked by a cause of interrupt that occurs in some internal
peripheral circuit or a software trigger, thereby performing a data transfer according to the control information in
RAM. When the transfer is completed, IDMA can generate an interrupt or invoke another IDMA according to link
settings.
Intelligent DMA transfer
Memory,
I/O
(1) The control information stored in the memory is loaded into the IDMA temporary register.
(2) Transfer data is read from the source memory or I/O device.
(3) Transfer data is written to the destination memory or I/O device.
(4) The updated control information in the IDMA temporary register is written back to the memory.
(3)
Destination
Memory,
I/O
(2)
(4)
(1)
Source
DST RAM or
external
RAM
Control information
Control information transfer
Data transfer
IDMA
ITC
DMA request
#DMAREQx
SRAMC
Load/store
(Software
trigger)
Address bus
CPU_AHB bus
DMA control information
data bus
DMA data transfer
request signal
DMA data transfer
acknowledge signal
DMA control information
transfer request signal
DMA control information
transfer acknowledge signal
Hardware trigger
IDMA Ch. number
Data bus
Figure II.2.1.1 Data and Control Information Flow in Intelligent DMA Transfer
The features of IDMA are outlined below.
Controller
Equivalent to the HSDMA dual-address transfer controller
Number of channels
128 channels
Control information
Programmable in the RAM
The information table can be stored in DST RAM (area 3) or in the external
RAM. (A0RAM cannot be used.)
Source
External memory and internal memory except Areas 0 and 1
Destination
External memory and internal memory except Areas 0 and 1
Transfer data size
8, 16, or 32 bits
Trigger
1. Software trigger (register control)
2. Hardware trigger (causes of interrupts)
Transfer mode
1. Single transfer (one unit of data is transferred by one trigger)
2. Successive transfer (specified number of data are transferred by one trigger)
3. Block transfer (data block of the specified size is transferred by one trigger)
Transfer address control
The source and/or destination addresses can be incremented or decremented in
units of the transfer data size upon completion of transfer. In successive or block
transfers, the address can be reset to the initial value upon completion of transfer.
Programmable link function Any channel can be linked with another to perform data transfer by multiple
channels sequentially.