RX610 Group
12. DMA Controller (DMAC)
R01UH0032EJ0120 Rev.1.20
Page 330 of 1006
Feb 20, 2013
12.3.8
Channel Arbitration
When multiple DMA transfer requests are present, the DMAC determines the priority of channels that have DMA
transfer requests. The channel priority is fixed as channel 0 > channel 1 > channel 2 > channel 3 (channel 0: highest).
When a DMA transfer request is generated during data transfer, channel arbitration is started at the beginning of final
data write access. Therefore, when another DMA transfer request of higher-priority channel is generated during the data
transfer, DMA transfer of the higher-priority channel starts after the current data transfer is completed.
12.3.9
Reload Function
The reload function reloads values of the reload registers (DMRSA, DMRDA, and DMRBC of DMACm) to the current
registers (DMCSA, DMCDA, and DMCBC of DMACm) respectively at the end of DMA transfer, and is available for
reloading transfer source addresses, transfer destination addresses, and transfer byte counts. The reload function allows
continuous transfer of separately allocated blocks. That is, multiple transfer blocks with different transfer area and/or data
size can be transferred continuously in the same channel. Furthermore, by writing a value to a reload register before the
data transfer ends, the next transfer can be prepared without affecting the current register engaged in DMA transfer.
To use the reload function, write data to the corresponding reload registers and current registers. Set reload registers to be
used before the final data transfer starts. If they are set after the final data transfer starts, the settings may not be reflected
in the reload operation after the DMA transfer ends.
When the reload function is not used, set the ECLR bit in DMCRC of DMACm to 1 (the DEN bit is cleared to 0 at the
end of DMA transfer) to clear the DEN bit in DMCRE of DMACm.
Block B
Byte count
Bn
AAAA
Address
<Memory>
Undefined
AAAA
Transfer destination
address register
Undefined
An
Reload
Current
Transfer byte count
register
(1) Block A settings
BBBB
AAAA
Bn
An
DMA transfer start
BBBB
BBBB
Bn
Bn
Block B settings auto-loading
CCCC
BBBB
Cn
Bn
End
End
Start
End
<Status of DMAC registers>
Block A
Byte count
An
Block C
Byte count
Cn
Start
<Software processing>
(2) Block B settings
Reload
Current
(3) Use reload function
(4) Enable DMA transfer
Reload
Current
BBBB
Reload
Current
(5) Block C settings
CCCC
CCCC
Cn
Cn
Block C settings auto-loading
Reload
Current
CCCC
Blocks A, B, and C transfer end
Block A
Transfer end interrupt
Block B
Transfer end interrupt
(6) Does not use
reload function
Blocks allocated separately
Start
Figure 12.6 Example of DMA Transfer Using the Reload Function
Summary of Contents for RX600 Series
Page 1006: ...RX610 Group R01UH0032EJ0120 ...