
iiBusModuLes:inteLLigentdMa(idMa)
ii-2-10
ePson
s1C33L17teChniCaLManuaL
idMainvocationbyatriggerinthesoftwareapplication
All IDMA channels for which control information is set, including those corresponding to causes of interrupt
described above, can be invoked by a trigger in the software application.
When the IDMA channel number to be invoked (0 to 127) is written to DCHN[6:0] (D[6:0]/0x301104) and
DSTART (D7/0x301104) is set to 1 after setting IDMAEN (D0/0x301105) to 1, the specified IDMA channel
starts a DMA transfer.
dChn[6:0]:IDMAChannelNumberSet-upBitsintheIDMAStartRegister(D[6:0]/0x301104)
dstaRt:IDMAStartControlBitintheIDMAStartRegister(D7/0x301104)
DSTART remains set (= 1) during a DMA transfer and is reset to 0 in hardware when one DMA transfer
operation is completed.
Do not modify these bits during a DMA transfer.
If DINTEN is set to 1 (interrupt enabled), a cause of interrupt for the completion of IDMA transfer is generated
when one DMA transfer is completed.
idMainvocationbylinksetting
If LNKEN in the control information is set to 1 (link enabled), the IDMA channel that is set in the IDMA link
field “LNKCHN” is invoked successively after a DMA transfer in the link-enabled channel is completed.
The interrupt request by the first channel is not generated after transfers in all linked channels are completed
even if the interrupt conditions are met.
Only the IDMA End of Transfer Interrupt can be generated in Link mode. To generate this interrupt at the end
of an IDMA transfer (i.e., when the last linked channel’s transfer counter becomes 0), the DINTEN (end-of-
transfer interrupt enable) bit in the last linked IDMA control information must be set to 1.
idMainvocationrequestduringadMatransfer
An IDMA invocation request to another channel that is generated during a DMA transfer is kept pending until
the DMA transfer that was being executed at the time is completed. Since an invocation request is not cleared,
new requests will be accepted when the DMA transfer under execution is completed.
An IDMA invocation request to the same channel cannot be accepted while the channel is executing a DMA
transfer because the same cause of interrupt is used. Therefore, an interval longer than the DMA transfer period
is required when invoking the same channel.
However, in Link mode, more than one IDMA chain may not exist concurrently on a single system. Multiple
IDMA chains will result in malfunction.
idMainvocationrequestwhendMatransferisdisabled
An IDMA invocation request generated when IDMAEN (D0/0x301105) is 0 (DMA transfer disabled) is kept
pending until IDMAEN (D0/0x301105) is set to 1. Since an invocation request is not cleared, it is accepted
when DMA transfer is enabled.
simultaneousgenerationofasoftwaretriggerandahardwaretrigger
When a software trigger and the hardware trigger for the same channel are generated simultaneously, the
software trigger starts IDMA transfer. The IDMA transfer by the hardware trigger is executed after the DMA
transfer by the software trigger is completed.