
iiBusModuLes:inteLLigentdMa(idMa)
ii-2-8
ePson
s1C33L17teChniCaLManuaL
ii.2.3idMainvocation
The triggers by which IDMA is invoked have the following three causes:
1. Cause of interrupt in internal peripheral circuits (hardware trigger)
2. Trigger in the software application
3. Link setting
enabling/disablingdMatransfer
The IDMA controller is enabled by writing 1 to the IDMA enable bit IDMAEN (D0/0x301105), 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 (D0/0x301105) is set to 0, no
IDMA invocation request is accepted.
idMaen:IDMAEnableBitintheIDMAEnableRegister(D0/0x301105)
idMainvocationbyacauseofinterruptininternalperipheralcircuits
Some internal peripheral circuits that have an interrupt generating function can invoke IDMA by a cause
of interrupt in that circuit. The IDMA channel numbers corresponding to such IDMA invocation are
predetermined. The relationship between the causes of interrupt that have this function and the IDMA channels
is shown in Table II.2.3.1.
TableII.2.3.1InterruptCausesUsedtoInvokeIDMA
Peripheralcircuit
I/Oports
High-speedDMA
16-bittimers0–3
Serialinterface
Ch.0–Ch.1
A/Dconverter
I/Oports
LCDC
Serialinterface
Ch.2
SPI
I/Oports
orportMUXinterrupt
I/Oports
I2S
Causeofinterrupt
Portinput0
Portinput1
Portinput2
Portinput3
Ch.0,endoftransfer
Ch.1,endoftransfer
Timer0comparisonB
Timer0comparisonA
Timer1comparisonB
Timer1comparisonA
Timer2comparisonB
Timer2comparisonA
Timer3comparisonB
Timer3comparisonA
Ch.0receivebufferfull
Ch.0transmitbufferempty
Ch.1receivebufferfull
Ch.1transmitbufferempty
EndofA/Dconversion
Portinput4
Portinput5
Portinput6
Portinput7
Endofframe
Ch.2receivebufferfull
Ch.2transmitbufferempty
ReceiveDMArequest
TransmitDMArequest
Portinput8/SPI
Portinput9/USBPDREQ
Portinput10/USBINT
Portinput11
Portinput12
Portinput13
Portinput14
Portinput15
I2SOutputCh.
I2SInputCh.
idMaenablebit
DEP0(D0/0x300294)
DEP1(D1/0x300294)
DEP2(D2/0x300294)
DEP3(D3/0x300294)
DEHDM0(D4/0x300294)
DEHDM1(D5/0x300294)
DE16TU0(D6/0x300294)
DE16TC0(D7/0x300294)
DE16TU1(D0/0x300295)
DE16TC1(D1/0x300295)
DE16TU2(D2/0x300295)
DE16TC2(D3/0x300295)
DE16TU3(D4/0x300295)
DE16TC3(D5/0x300295)
DESRX0(D6/0x300296)
DESTX0(D7/0x300296)
DESRX1(D0/0x300297)
DESTX1(D1/0x300297)
DEADE(D2/0x300297)
DEP4(D4/0x300297)
DEP5(D5/0x300297)
DEP6(D6/0x300297)
DEP7(D7/0x300297)
DELCDC(D1/0x30029C)
DESRX2(D2/0x30029C)
DESTX2(D3/0x30029C)
DESPIRX(D4/0x30029C)
DESPITX(D5/0x30029C)
DEP8(D0/0x3002AE)
DEP9(D1/0x3002AE)
DEP10(D2/0x3002AE)
DEP11(D3/0x3002AE)
DEP12(D4/0x3002AE)
DEP13(D5/0x3002AE)
DEP14(D6/0x3002AE)
DEP15(D7/0x3002AE)
DEI2S0(D0/0x3002AF)
DEI2S1(D2/0x3002AF)
idMarequestbit
RP0(D0/0x300290)
RP1(D1/0x300290)
RP2(D2/0x300290)
RP3(D3/0x300290)
RHDM0(D4/0x300290)
RHDM1(D5/0x300290)
R16TU0(D6/0x300290)
R16TC0(D7/0x300290)
R16TU1(D0/0x300291)
R16TC1(D1/0x300291)
R16TU2(D2/0x300291)
R16TC2(D3/0x300291)
R16TU3(D4/0x300291)
R16TC3(D5/0x300291)
RSRX0(D6/0x300292)
RSTX0(D7/0x300292)
RSRX1(D0/0x300293)
RSTX1(D1/0x300293)
RADE(D2/0x300293)
RP4(D4/0x300293)
RP5(D5/0x300293)
RP6(D6/0x300293)
RP7(D7/0x300293)
RLCDC(D1/0x30029B)
RSRX2(D2/0x30029B)
RSTX2(D3/0x30029B)
RSPIRX(D4/0x30029B)
RSPITX(D5/0x30029B)
RP8(D0/0x3002AC)
RP9(D1/0x3002AC)
RP10(D2/0x3002AC)
RP11(D3/0x3002AC)
RP12(D4/0x3002AC)
RP13(D5/0x3002AC)
RP14(D6/0x3002AC)
RP15(D7/0x3002AC)
RI2S0(D0/0x3002AD)
RI2S1(D2/0x3002AD)
idMaCh.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
23
24
25
26
27
28
29
30
31
33
34
35
36
37
38
39
40
41
42
43
44
45
46
48