![](http://datasheet.mmic.net.cn/110000/M32186F8VFP_datasheet_3496152/M32186F8VFP_295.png)
DMAC
9
9-49
32185/32186 Group Hardware Manual
Rev.1.10 REJ09B0235-0110 May 15, 07
9.4 Notes on DMAC
About writing to the DMAC related registers
Because DMA transfer involves exchanging data via the internal bus, the DMAC related registers basically
can only be accessed for write upon exiting the reset state or when transfer is disabled (transfer enable bit
= "0"). When transfer is enabled, do not write to the DMAC related registers, except the DMA transfer
enable bit, the transfer request flag and the DMA Transfer Count Register that is protected in hardware.
This is a precaution necessary to ensure stable DMA operation.
The table below lists the registers that can or cannot be accessed for write.
Table 9.4.1 DMAC Related Registers That Can or Cannot Be Accessed for Write
Status
DMA transfer
DMAC interrupt
Other DMAC related
enable bit
request flag bit
related registers
registers
Transfer enabled
Can be accessed
Cannot be accessed
Transfer disabled
Can be accessed
Even for registers that can exceptionally be written to while transfer is enabled, the following conditions
must be observed:
(1) DMA Channel Control Register 0 transfer enable bit and transfer request flag
For all bits other than transfer enable bit and transfer request flag in this register, be sure to write the
same data that those bits had before the write. Note, however, that only writing "0" is effective for the
transfer request flag.
(2) DMA Transfer Count Register
When transfer is enabled, this register is protected in hardware, so that any data rewritten to it is ignored.
(3) Rewriting the DMA source and DMA destination addresses on different channels by DMA transfer
Although this operation means accessing the DMAC related registers while DMA is enabled, there is
no problem. Note, however, that no data can be transferred by DMA to the DMAC related registers on
the currently active channel itself.
Manipulating the DMAC related registers by DMA transfer
When manipulating the DMAC related registers by means of DMA transfer (e.g., reloading the DMAC related
registers with the initial values by DMA transfer), do not write to the DMAC related registers on the currently
active channel through that channel. (If this precaution is neglected, device operation cannot be guaranteed.)
It is only the DMAC related registers on other channels that can be rewritten by means of DMA transfer.
(For example, the DMAn Source Address and DMAn Destination Address Registers on channel 1 can be
rewritten by DMA transfer through channel 0.)
About the DMA Interrupt Request Status Register
When clearing the DMA Interrupt Request Status Register, be sure to write "1" to all bits, except those to be
cleared. Writing "1" to any bits in this register has no effect, so that they retain the data they had before the write.
About the stable operation of DMA transfer
To ensure the stable operation of DMA transfer, never rewrite the DMAC related registers, except transfer
enable bits of the DMA channel control register 0, unless transfer is disabled. One exception is that even
when transfer is enabled, the DMA Source Address and DMA Destination Address Registers can be rewrit-
ten by DMA transfer from one channel to another.
9.4 Notes on DMAC