Epson S1C33L03 User Manual

Page of 631
V DMA BLOCK: IDMA (Intelligent DMA)
S1C33L03 FUNCTION PART
EPSON
B-V-3-5
A-1
B-V
IDMA
IDMA Invocation
The triggers by which IDMA is invoked have the following three causes:
1. Interrupt factor in an internal peripheral circuit
2. Trigger in the software application
3. Link setting
Enabling/disabling DMA transfer
The IDMA controller is enabled by writing "1" to the IDMA enable bit IDMAEN (D0) / IDMA enable
register (0x48205), and is ready to accept the triggers described above. However, before enabling a DMA
transfer, be sure to set the base address and the control information for the channel to be invoked correctly. If
IDMAEN is set to "0", no IDMA invocation request is accepted.
IDMA invocation by an interrupt factor in internal peripheral circuits
Some internal peripheral circuits that have an interrupt generating function can invoke IDMA by an interrupt
factor in that circuit. The IDMA channel numbers corresponding to such IDMA invocation are predetermined.
The relationship between the interrupt factors that have this function and the IDMA channels is shown in
Table 3.2.
Table 3.2  Interrupt Factors Used to Invoke IDMA
Peripheral circuit
Interrupt factor
IDMA Ch.
IDMA request bit
IDMA enable bit
Ports
Port input 0
1
RP0 (D0/0x40290)
DEP0 (D0/0x40294)
Port input 1
2
RP1 (D1/0x40290)
DEP1 (D1/0x40294)
Port input 2
3
RP2 (D2/0x40290)
DEP2 (D2/0x40294)
Port input 3
4
RP3 (D3/0x40290)
DEP3 (D3/0x40294)
High-speed DMA
Ch.0, end of transfer
5
RHDM0 (D4/0x40290)
DEHDM0 (D4/0x40294)
Ch.1, end of transfer
6
RHDM1 (D5/0x40290)
DEHDM1 (D5/0x40294)
16-bit programmable Timer 0 comparison B
7
R16TU0 (D6/0x40290)
DE16TU0 (D6/0x40294)
timer
Timer 0 comparison A
8
R16TC0 (D7/0x40290)
DE16TC0 (D7/0x40294)
Timer 1 comparison B
9
R16TU1 (D0/0x40291)
DE16TU1 (D0/0x40295)
Timer 1 comparison A
10
R16TC1 (D1/0x40291)
DE16TC1 (D1/0x40295)
Timer 2 comparison B
11
R16TU2 (D2/0x40291)
DE16TU2 (D2/0x40295)
Timer 2 comparison A
12
R16TC2 (D3/0x40291)
DE16TC2 (D3/0x40295)
Timer 3 comparison B
13
R16TU3 (D4/0x40291)
DE16TU3 (D4/0x40295)
Timer 3 comparison A
14
R16TC3 (D5/0x40291)
DE16TC3 (D5/0x40295)
Timer 4 comparison B
15
R16TU4 (D6/0x40291)
DE16TU4 (D6/0x40295)
Timer 4 comparison A
16
R16TC4 (D7/0x40291)
DE16TC4 (D7/0x40295)
Timer 5 comparison B
17
R16TU5 (D0/0x40292)
DE16TU5 (D0/0x40296)
Timer 5 comparison A
18
R16TC5 (D1/0x40292)
DE16TC5 (D1/0x40296)
8-bit programmable
Timer 0 underflow
19
R8TU0 (D2/0x40292)
DE8TU0 (D2/0x40296)
timer
Timer 1 underflow
20
R8TU1 (D3/0x40292)
DE8TU1 (D3/0x40296)
Timer 2 underflow
21
R8TU2 (D4/0x40292)
DE8TU2 (D4/0x40296)
Timer 3 underflow
22
R8TU3 (D5/0x40292)
DE8TU3 (D5/0x40296)
Serial interface
Ch.0 receive buffer full
23
RSRX0 (D6/0x40292)
DESRX0 (D6/0x40296)
Ch.0 transmit buffer empty
24
RSTX0 (D7/0x40292)
DESTX0 (D7/0x40296)
Ch.1 receive buffer full
25
RSRX1 (D0/0x40293)
DESRX1 (D0/0x40297)
Ch.1 transmit buffer empty
26
RSTX1 (D1/0x40293)
DESTX1 (D1/0x40297)
A/D converter
End of A/D conversion
27
RADE (D2/0x40293)
DEADE (D2/0x40297)
Ports
Port input 4
28
RP4 (D4/0x40293)
DEP4 (D4/0x40297)
Port input 5
29
RP5 (D5/0x40293)
DEP5 (D5/0x40297)
Port input 6
30
RP4 (D6/0x40293)
DEP4 (D6/0x40297)
Port input 7
31
RP7 (D7/0x40293)
DEP7 (D7/0x40297)