
II BUS MODULES: INTELLIGENT DMA (IDMA)
S1C33E07 TECHNICAL MANUAL
EPSON
II-2-3
II
IDMA
II.2.2 Programming Control Information
The intelligent DMA operates according to the control information prepared in RAM. Note that the control
information must be placed in DST RAM (area 3) or an external RAM. A0RAM (area 0) cannot be used to store
control information.
The control information is 4 words (16 bytes) per channel in size, and must be located at continuous addresses
beginning with the base address that is set in the software application as the starting address of channel 0.
Consequently, an area of 512 words (2,048 bytes) in RAM is required in order for all of 128 channels to be used.
Note that the last 132 bytes in DST RAM (area 3) are reserved for the debug circuits. Therefore, up to 119 channels
are available when using the on-chip debug functions.
The following explains how to set the base address and the contents of control information. Before using IDMA,
make each the settings described below.
II.2.2.1 Setting the Base Address
Set the starting address of control information (starting address of channel 0) to DBASEL[15:0] (D[15:0]/0x301100)
for 16 low-order bits and DBASEH[15:0] (D[15:0]/0x301102) for 16 high-order address bits.
DBASEL[15:0]: IDMA Low-order Base Address Bits in the IDMA Base Address Register 0 (D[15:0]/0x301100)
DBASEH[15:0]: IDMA High-order Base Address Bits in the IDMA Base Address Register 1 (D[15:0]/0x301102)
When initially reset, the base address is set to 0x200003A0.
Notes: The control information must be placed in DST RAM (area 3) or an external RAM. A0RAM (area
0) cannot be used to store control information.
The address you set in the IDMA base address register must always be 4-word units boundary
address.
Be sure to disable DMA transfers (IDMAEN (D0/0x301105) = 0) before setting the base
address. Writing to the IDMA base address register is ignored when the DMA transfer
is enabled (IDMAEN (D0/0x301105) = 1). When the register is read, the read data is
indeterminate.
IDMAEN: IDMA Enable Bit in the IDMA Enable Register (D0/0x301105)
II.2.2.2 Control Information
Write the control information for the IDMA channels used to RAM.
The addresses at which the control information of each channel is placed are determined by the base address and a
channel number.
Starting address of channel = base address + (channel number
× 16 [bytes])
Note: The control information must be written only when the channel to be set does not start a DMA
transfer. If a DMA transfer starts when the control information is being written to the RAM, proper
transfer cannot be performed. Reading the control information can always be done.