CHAPTER 12 DMA FUNCTIONS
User’s Manual U13850EJ6V0UD
463
Figure 12-7. Processing When Transfer Requests DMA0 to DMA5 Are Generated Simultaneously
CPU
processing
DAM0
processing
CPU
processing
DAM1
processing
CPU
processing
DAM2
processing
CPU
processing
DAM3
processing
CPU
processing
DAM4
processing
CPU
processing
CPU
processing
DAM5
processing
Transfer requests DMA0 to DMA5
are generated simultaneously
DMA operation stops only in the IDLE/STOP mode. In the HALT mode, DMA operation continues. DMA also
operates during the bus hold period and after access to the external memory.
12.6 Cautions
When using the DMA function, if all the following conditions are met during the EI state (interrupt enable state),
two interrupts occur when only one interrupt would occur normally.
[Occurrence conditions]
(i)
A bit manipulation instruction (SET1, CLR1, NOT1, TST1) was executed to the interrupt request flag
(xxIFn) of the interrupt control register (xxICn).
(ii)
An interrupt was processed by hardware at the same register as the register used in (i).
Remark
xx: Identifying name of peripheral unit (see
Table 5-2
)
n: Peripheral unit number (see
Table 5-2
)
For example, when using the DMA function, if an unmasked INTCSI0 interrupt occurs during bit manipulation of
the interrupt request flag (CSIF0) of the CSIC0 register by the CLR1 instruction, INTCSI0 interrupt servicing occurs
twice.
Under such conditions, because the interrupt request flag (xxIF) is not cleared (0) by hardware when the interrupt
servicing is acknowledged, the interrupt servicing is executed again after RETI instruction execution (interrupt
servicing restoration).
Therefore, use the DMA function under either of the following conditions.
[Use conditions]
(i)
When bit manipulation is executed for the interrupt control register (xxICn), the DI instruction must be
executed before the manipulation and the EI instruction must be executed after the manipulation.
(ii)
The interrupt request flag (xxIFn) must be cleared (0) at the start of the interrupt routine.
Caution
When the DMA function is not used, execution of (i) or (ii) is not necessary.
Remark
xx: Identification name of each peripheral unit (see
Table 5-2
)
n: Peripheral unit number (see
Table 5-2
)