393
CHAPTER 16 DMAC (DMA Controller)
●
Overriding DMA
•
On the FR family, if an interrupt with a higher priority occurs during DMA transfer, DMA transfer halts
and control branches to the interrupt routine. This mechanism remains active while the interrupt request
is present. The DMA halt is not operated as soon as the interrupt is cleared, and so the DMA transfer
restarts from inside the interrupt handler routine. Accordingly, in handler routines for interrupts with a
level that causes DMA transfer to be halted, use the DMA halt function if you wish to prevent DMA
from restarting as soon as the interrupt is cleared. The DMA halt function is invoked by writing a non-
zero value to the DMAH3 to DMAH0 bits in the DMA overall control register. The override is cleared
by setting the bits back to zero.
•
This function is primarily used in interrupt handler routines. Increment the DMA halt register by one in
the interrupt handler routine before clearing the interrupt. This prevents any subsequent DMA transfer.
When interrupt processing is completed, decrement the DMAH3 to DMAH0 bits by one before exiting
the routine. If multiple interrupts have occurred, DMA transfer continues to be suppressed since the
DMAH3 to DMAH0 bits are not "0" yet. If a single interrupt has occurred, the DMAH3 to DMAH0 bits
become "0". DMA requests are then enabled immediately.
Notes:
•
Since the register has only four bits, this function cannot be used for multiple interrupts exceeding
15 levels.
•
Be sure to assign the priority of the DMA tasks at a level that is at least 15 levels higher than
other interrupt levels.
■
Operation Start
Starting of DMA transfer is controlled independently for each channel, but before transfer starts, the
operation of all channels needs to be enabled.
●
Operation enable of all channels
Before activating each DMAC channel, operation for all channels needs to be enabled in advance with the
DMA operation enable bit (DMAE of DMACR). All start settings and transfer requests that occurred
before operation is enabled are invalid.
●
Transfer starting
The transfer operation can be started by the operation enable bit of the control register for each channel. If a
transfer request to an activated channel is accepted, the DMA transfer operation is started in the specified
mode.
●
Starting from a temporary stop
If a temporary stop occurs before starting with channel-by-channel or all-channel control, the temporary
stopped state is maintained even though the transfer operation is started. If transfer requests occur in the
meantime, they are accepted and retained. When temporary stopping is released, transfer is started.
Summary of Contents for FR60Lite
Page 3: ......
Page 5: ......
Page 115: ...100 CHAPTER 3 CPU AND CONTROL UNITS ...
Page 127: ...112 CHAPTER 4 I O PORTS ...
Page 143: ...128 CHAPTER 5 INTERRUPT CONTROLLER ...
Page 155: ...140 CHAPTER 6 EXTERNAL INTERRUPT AND NMI CONTROLLER ...
Page 197: ...182 CHAPTER 9 PPG Programmable Pulse Generator ...
Page 337: ...322 CHAPTER 13 UART ...
Page 417: ...402 CHAPTER 16 DMAC DMA Controller ...
Page 445: ...430 CHAPTER 17 FLASH MEMORY ...
Page 451: ...436 CHAPTER 18 SERIAL PROGRAMMING CONNECTION ...
Page 493: ...478 APPENDIX F Precautions on Handling ...
Page 494: ...479 INDEX INDEX The index follows on the next page This is listed in alphabetic order ...
Page 507: ...492 INDEX ...
Page 509: ......