
iiBusModuLes:inteLLigentdMa(idMa)
s1C33L17teChniCaLManuaL
ePson
ii-2-1
II
IDMA
II.2 Intelligent DMA (IDMA)
ii.2.1FunctionaloutlineofidMa
The S1C33L17 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.
intelligentdMatransfer
Memory,
I/O
(1)ThecontrolinformationstoredinthememoryisloadedintotheIDMAtemporaryregister.
(2)TransferdataisreadfromthesourcememoryorI/Odevice.
(3)TransferdataiswrittentothedestinationmemoryorI/Odevice.
(4)TheupdatedcontrolinformationintheIDMAtemporaryregisteriswrittenbacktothememory.
(3)
Destination
Memory,
I/O
(2)
(4)
(1)
Source
DSTRAMor
external
RAM
Controlinformation
Controlinformationtransfer
Datatransfer
IDMA
ITC
DMArequest
#DMAREQx
SRAMC
Load/store
(Software
trigger)
Addressbus
CPU_AHBbus
DMAcontrolinformation
databus
DMAdatatransfer
requestsignal
DMAdatatransfer
acknowledgesignal
DMAcontrolinformation
transferrequestsignal
DMAcontrolinformation
transferacknowledgesignal
Hardwaretrigger
IDMACh.number
Databus
FigureII.2.1.1DataandControlInformationFlowinIntelligentDMATransfer
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.