
V DMA BLOCK: IDMA (Intelligent DMA)
S1C33T01 FUNCTION PART
EPSON
B-V-3-7
The control registers (interrupt enable register and interrupt priority register) corresponding to the interrupt
factor do not affect IDMA invocation. IDMA can be invoked even if the interrupt enable bit in ITC is set to "0"
(interrupt disabled). However, these register must be set to enable the interrupt when generating the interrupt
after completing the DMA transfer.
IDMA invocation by a trigger in the software application
All IDMA channels for which control information is set, including those corresponding to interrupt factors
described above, can be invoked by a trigger in the software application.
The following bits are used for this control:
IDMA channel number set-up: DCHN[6:0] (D[6:0]) / IDMA start register (0x48204)
IDMA start control:
DSTART (D7) / IDMA start register (0x48204)
When the IDMA channel number to be invoked (0 to 127) is written to DCHN and DSTART is set to "1", the
specified IDMA channel starts a DMA transfer.
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), an interrupt factor 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 interrupt factor 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 is "0" (DMA transfer disabled) is kept pending until
IDMAEN 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 not executed since the
interrupt factor is reset when the DMA transfer is completed. However, an operation like this cannot be
recommended.