
II BUS MODULES: INTELLIGENT DMA (IDMA)
II-2-10
EPSON
S1C33E07 TECHNICAL MANUAL
IDMA invocation by a trigger in the software application
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]: IDMA Channel Number Set-up Bits in the IDMA Start Register (D[6:0]/0x301104)
DSTART: IDMA Start Control Bit in the IDMA Start Register (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.
IDMA invocation by link setting
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 generated after transfers in all linked channels are completed if the
interrupt conditions are met.
To generate an interrupt at the end of an IDMA transfer, the DINTEN (end-of-transfer interrupt enable) bits in
the IDMA control information for the first IDMA channel to be invoked and all the channels to be linked must
be set to 1.
IDMA invocation request during a DMA transfer
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.
IDMA invocation request when DMA transfer is disabled
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.
Simultaneous generation of a software trigger and a hardware trigger
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.