![](http://datasheet.mmic.net.cn/30000/M32196F8UFP_datasheet_2359476/M32196F8UFP_300.png)
DMAC
9-46
9
32192/32195/32196 Group Hardware Manual
Rev.1.10 REJ09B0123-0110 Apr.06.07
9.3.6 Transfer Units
Use the TSZSL (DMA transfer size select) bit to set for each channel the number of bits (8 or 16 bits) to be
transferred in one DMA transfer.
9.3.7 Transfer Counts
Use the DMA Transfer Count Register to set transfer counts for each channel. Transfer can be performed up to
65,536 times. The value of the DMA Transfer Count Register is decremented by one every time one transfer
unit is transferred. In ring buffer mode, the DMA Transfer Count Register operates in free-run mode, with the
value set in it ignored.
9.3.8 Address Space
The address space in which data can be transferred by DMA is 64 Kbytes
× 3 banks of SFR area or internal RAM
area (32192 : H’0080 0000 to H’0082 FFFF, 32195 : H’0080 0000 to H’0080 BFFF, 32196 : H’0080 0000 to H’0081
3FFF) for both source and destination. To set the source and destination addresses on each DMA channel, use the
DMA Source Address Register and DMA Destination Address Register. Note that no transfer over the bank is
carried out. Upon completion of bank transfer to the final address, the bank is to be transferred to the head
address.
9.3.9 Transfer Operation
(1) Dual-address transfer
Irrespective of the size of transfer unit, data is transferred in two bus cycles, one for source read access and
the other for destination write access. (The transfer data is taken into the DMAC’s internal temporary regis-
ter before being transferred.)
(2) Bus protocol and bus timing
Because the bus interface is shared with the CPU, DMA transfer is performed with the same bus protocol
and the same bus timing as when peripheral modules are accessed by the CPU.
(3) Transfer rate
Transfer is performed using a total of three peripheral clock cycles, one cycle to gain control of the bus and
one read and one write cycles to perform one transfer. Therefore, the maximum transfer rate is calculated
by the equation below:
Maximum transfer rate [bytes per second] = 2 bytes
×
1
1/f(BCLK)
× 3 cycles
(4) Address count direction and address changes
The direction in which the source and destination addresses are counted as transfer proceeds (“Address
fixed” or “Address incremental”) is set for each channel using the SADSL (source address direction select)
and DADSL (destination address direction select) bits.
When the transfer size is 16 bits, the address is incremented by two for each DMA transfer performed; when
the transfer size is 8 bits, the address is incremented by one.
Table 9.3.11 Address Count Direction and Address Changes
Address Count Direction
Transfer Unit
Address Change for One DMA
Address fixed
8 bits
0
16 bits
0
Address incremental8 bits
8 bits
+1
16 bits
+2
9.3 Functional Description of the DMAC