13 DMA CONTROLLER (DMAC)
13-2
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
Programming Control Information
13.3
The DMAC operates according to the transfer conditions specified with control information. The control informa-
tion must be programmed in DSTRAM, IVRAM (Area 3) or an external RAM. The control information size is 4
words per channel. When using the auto-reload function, each channel needs additional 4 words for storing reload
data (control information resetting data). The auto-reload function resets control information, which is updated dur-
ing data transfer, with the reload data after a DMA transfer has finished. Therefore, a consecutive 256-byte space is
required for the control table to use eight DMA channels.
The following explains how to set the base address of the control table and the contents of control information.
Setting the Base Address
13.3.1
The RAM area beginning with the specified base address is allocated to the control table. The base address is the
start address of the control information for Ch.0 and can be specified using TBL_BASE[31:0]/DMAC_TBL_BASE
register. TBL_BASE[9:0] is fixed at 0 regardless of the contents written, therefore the base address is always set to
1,024-byte boundary address. The initial value of TBL_BASE[31:0] is 0x80000 (DSTRAM).
Base + 0xf0
Base + 0xe0
Base + 0xd0
Base + 0xc0
Base + 0xb0
Base + 0xa0
Base + 0x90
Base + 0x80
Base + 0x70
Base + 0x60
Base + 0x50
Base + 0x40
Base + 0x30
Base + 0x20
Base + 0x10
Base
Ch.0 control table
Ch.0 auto-reload data area
Ch.1 control table
Ch.1 auto-reload data area
Ch.2 control table
Ch.2 auto-reload data area
Ch.3 control table
Ch.3 auto-reload data area
Ch.4 control table
Ch.4 auto-reload data area
Ch.5 control table
Ch.5 auto-reload data area
Ch.6 control table
Ch.6 auto-reload data area
Ch.7 control table
Ch.7 auto-reload data area
3.1.1 Control Table Map
Figure 13.
Note: The control table must be placed on DSTRAM, IVRAM (Area 3) or an external RAM. IRAM (Area 0)
and BBRAM cannot be used to store control information.
Control Information
13.3.2
The address to store control information is determined by the base address and a channel number.
Start address of channel = base a (channel number
×
32 [bytes])
Note: The control information must be written only when the channel to be configured does not start a
DMA transfer. If a DMA transfer starts when the control information is being written, proper transfer
cannot be performed. Reading the control information can always be performed.
The contents of control information in each channel are shown in the table below.
3.2.1 Control Information
Table 13.
Word
Address
Bit
Name
Function
Setting
1st word
(32 bits)
Ch.0: Base + 0x0
Ch.1: Base + 0x20
Ch.2: Base + 0x40
Ch.3: Base + 0x60
Ch.4: Base + 0x80
Ch.5: Base + 0xa0
Ch.6: Base + 0xc0
Ch.7: Base + 0xe0
D31–24 –
reserved
–
D23–12 TC[11:0]
Transfer counter
TC[11:0]
Count
0xfff
:
0x1
0x0
4,095
:
1
4,096
D11
ST
Source type
1 Pointer
0 Data