
V DMA BLOCK: IDMA (Intelligent DMA)
B-V-3-6
EPSON
S1C33T01 FUNCTION PART
Table 3.2
Interrupt Factors Used to Invoke IDMA (continue)
Peripheral circuit
Interrupt factor
IDMA Ch.
IDMA request bit
IDMA enable bit
8-bit programmable
Timer 4 underflow
32
RP0 (D0/0x40290)
DEP0 (D0/0x40294)
timer
Timer 5 underflow
33
RP1 (D1/0x40290)
DEP1 (D1/0x40294)
Serial interface
Ch.2 receive buffer full
34
RP2 (D2/0x40290)
DEP2 (D2/0x40294)
Ch.2 transmit buffer empty
35
RP3 (D3/0x40290)
DEP3 (D3/0x40294)
Ch.3 receive buffer full
36
RHDM0 (D4/0x40290)
DEHDM0 (D4/0x40294)
Ch.3 transmit buffer empty
37
RHDM1 (D5/0x40290)
DEHDM1 (D5/0x40294)
Ports
Port input 8
38
R16TU0 (D6/0x40290)
DE16TU0 (D6/0x40294)
Port input 9
39
R16TC0 (D7/0x40290)
DE16TC0 (D7/0x40294)
Port input 10
40
R16TU1 (D0/0x40291)
DE16TU1 (D0/0x40295)
Port input 11
41
R16TC1 (D1/0x40291)
DE16TC1 (D1/0x40295)
Port input 12
42
R16TU2 (D2/0x40291)
DE16TU2 (D2/0x40295)
Port input 13
43
R16TC2 (D3/0x40291)
DE16TC2 (D3/0x40295)
Port input 14
44
R16TU3 (D4/0x40291)
DE16TU3 (D4/0x40295)
Port input 15
45
R16TC3 (D5/0x40291)
DE16TC3 (D5/0x40295)
16-bit programmable Timer 6 comparison B
46
R16TC4 (D7/0x40291)
DE16TC4 (D7/0x40295)
timer
Timer 6 comparison A
47
R16TU5 (D0/0x40292)
DE16TU5 (D0/0x40296)
Timer 7 comparison B
48
R16TC5 (D1/0x40292)
DE16TC5 (D1/0x40296)
Timer 7 comparison A
49
R8TU0 (D2/0x40292)
DE8TU0 (D2/0x40296)
Timer 8 comparison B
50
R8TU1 (D3/0x40292)
DE8TU1 (D3/0x40296)
Timer 8 comparison A
51
R8TU2 (D4/0x40292)
DE8TU2 (D4/0x40296)
Timer 9 comparison B
52
R8TU3 (D5/0x40292)
DE8TU3 (D5/0x40296)
Timer 9 comparison A
53
RSRX0 (D6/0x40292)
DESRX0 (D6/0x40296)
Single master 12C-
bus
I2CSMST Ch.0 read DMA
request
54
RI2CR0 (D0/0x402B3)
DEI2CR0 (D0/0x402B4)
I2CSMST Ch.0 write DMA
request
55
RI2CW0 (D1/0x402B3)
DE12CW0 (D1/0x402B4)
I2CSMST Ch.1 read DMA
request
56
RI2CR1 (D2/0x402B3)
DE12CR1 (D2/0x402B4)
I2CSMST Ch.1 write DMA
request
57
RI2CW1 (D3/0x402B3)
DE12CW1 (D3/0x402B4)
These interrupt factors are used in common for interrupt requests and IDMA invocation requests.
To invoke IDMA upon the occurrence of an interrupt factor, set the corresponding bits of the IDMA request
and IDMA enable registers shown in the table by writing "1". Then when an interrupt factor occurs, an interrupt
request to the CPU is kept pending and the corresponding IDMA channel is invoked.
The interrupt factor flag that has been set to "1" remains set until the DMA transfer invoked by it is completed.
If the following two conditions are met when one DMA transfer is completed, an interrupt request is generated
without resetting the interrupt factor flag.
The transfer counter has reached 0.
DINTEN in control information is set to "1" (interrupt enabled).
In this case, the IDMA request register is cleared to "0". Therefore, if IDMA needs to be invoked when an
interrupt factor occurs next time, this register must be set up again. To prevent unwanted IDMA requests from
being generated, this setting must be performed before enabling interrupts and after resetting the interrupt
factor flag. The IDMA enable bit is not cleared and remains set to "1".
If the transfer counter is not 0, the interrupt factor flag is reset when the DMA transfer is completed, so that no
interrupt is generated. In this case, the IDMA request bit and IDMA enable bit are not cleared and remain set
to "1".
When DINTEN in control information has been set to "0", the interrupt factor flag is reset even if the transfer
counter reaches 0, so that no interrupt is generated. In this case, the IDMA request bit is not cleared but the
IDMA enable bit is cleared.
If the IDMA request register bit is left reset to "0", the relevant interrupt factor generates an interrupt request
and not a IDMA request.