
iiBusModuLes:inteLLigentdMa(idMa)
ii-2-14
ePson
s1C33L17teChniCaLManuaL
ii.2.4.4Cause-of-interruptProcessingbytriggertype
Wheninvokedbyacauseofinterrupt
The cause-of-interrupt flag by which IDMA has been invoked remains set even during a DMA transfer.
If the transfer counter is decremented to 0 and DINTEN = 1 (interrupt enabled) when one DMA transfer is
completed, the cause of interrupt that has invoked IDMA is not reset and an interrupt request is generated. At
the same time, the IDMA request bit is cleared to 0. The IDMA enable bit is not cleared and remains set to 1.
If the transfer counter is not 0, the cause-of-interrupt 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 has been set to 0 (interrupt disabled), the cause-of-interrupt 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.
2
1
0
Triggerbycauseofinterrupt
Datatransfer
Transfercounter
DINTEN
IDMArequestbit
IDMAenablebit
Cause-of-interruptflag
Interruptrequest
1
0
FigureII.2.4.4.1OperationwhenInvokedbyCauseofInterrupt
When IDMA is invoked by a cause of interrupt, the IDMA cause-of-interrupt flag FIDMA (D4/0x300281) will
not be set.
FidMa:IDMACause-of-InterruptFlagintheDMAInterruptCauseFlagRegister(D4/0x300281)
Wheninvokedbyasoftwaretrigger
If the transfer counter is decremented to 0 and DINTEN = 1 (interrupt enabled) when one DMA transfer is
completed, FIDMA (D4/0x300281) is set, thereby generating an interrupt request.
If the transfer counter is not 0 or DINTEN = 0 (interrupt disabled), FIDMA (D4/0x300281) is not set.
If the cause-of-interrupt flag for the same channel is set during a software-triggered transfer, the IDMA
invocation request by that cause-of-interrupt flag is kept pending. However, the cause-of-interrupt flag will be
reset when the current execution is completed, so there will be no DMA transfer by the cause-of-interrupt flag.
2
1
0
Softwaretrigger
Datatransfer
Transfercounter
DINTEN
FIDMA(D4/0x300281)
Interruptrequest
1
0
FigureII.2.4.4.2OperationwhenInvokedbySoftwareTrigger