Download Print this page

Renesas M16C/50 Series User Manual page 249

Advertisement

M16C/5L Group, M16C/56 Group
14. DMAC
14.1
Introduction
The direct memory access controller (DMAC) allows data to be transferred without CPU intervention.
There are four DMAC channels. Each time a DMA request occurs, the DMAC transfers one (8- or 16-bit)
unit of data from the source address to the destination address. The DMAC uses the same data bus used
by the CPU. Because the DMAC has higher priority for bus control than the CPU, and because it makes
use of a cycle steal method, it can transfer 1 word (16 bits) or 1 byte (8 bits) of data within a very short
time after a DMA request is generated. Table 14.1 lists DMAC Specifications, and Figure 14.1 shows the
DMAC Block Diagram.
Table 14.1
DMAC Specifications
Item
Number of channels
Transfer memory spaces
Maximum number of bytes
transferred
DMA request sources
Channel priority
Transfers
Transfer address direction
Single transfer
Transfer
mode
Repeat transfer
DMA interrupt request
generation timing
DMA transfer start
DMA
Single transfer
transfer
stop
Repeat transfer When the DMAE bit is set to 0 (disabled)
Reload timing for forward
address pointer and DMAi
transfer counter
DMA transfer cycles
i = 0 to 3
Note:
1.
The selectable sources of DMA requests differ for each channel.
R01UH0127EJ0110 Rev.1.10
Sep 01, 2011
4 (cycle steal method)
From a given address in a 1 MB space to a fixed address
From a fixed address to a given address in a 1 MB space
From a fixed address to a fixed address
128 KB (with 16-bit transfers) or 64 KB (with 8-bit transfers)
41 sources
Falling edge of INT0 to INT5 (6)
Both edge of INT0 to INT5 (6)
Timer A0 to timer A4 interrupt request (5)
Timer B0 to timer B2 interrupt request (3)
UART0 to UART4 transmission interrupt request (5)
UART0, UART1, UART3, UART4 reception interrupt request (4)
UART2 reception/ACK interrupt request (1)
IC/OC base timer interrupt request (1)
IC/OC channel 0 to IC/OC channel 7 interrupt (8)
A/D conversion interrupt request (1)
Software trigger (1)
DMA0 > DMA1 > DMA2 > DMA3 (DMA0 takes precedence)
8 bits or 16 bits
Forward or fixed (The source and destination addresses cannot both be in the forward
direction.)
Transfer is completed when the DMAi transfer counter underflows.
When the DMAi transfer counter underflows, it is reloaded with the value of the DMAi
transfer counter reload register, and DMA transfer continues.
When the DMAi transfer counter underflows
Data transfer is initiated each time a DMA request is generated when the DMAE bit in
the DMiCON register is 1 (enabled).
When the DMAE bit is set to 0 (disabled)
After the DMAi transfer counter underflows
When a data transfer is started after setting the DMAE bit to 1 (enabled), the forward
address pointer is reloaded with the value of the SARi or DARi register (whichever is
specified to be in the forward direction), and the DMAi transfer counter is reloaded with
the value of the DMAi transfer counter reload register.
Minimum 3 cycles between SFR and internal RAM
Specification
14. DMAC
Page 212 of 803

Advertisement

loading