14-16
MCF5249UM
MOTOROLA
Data Transfer Modes
A limited rate can be achieved by programming the BWC field to any value other than 000. The DMA
performs the specified number of transfers, then relinquishes control of the bus. The DMA negates its
internal bus request on the last transfer before the BCR reaches a multiple of the boundary specified in the
BWC field. On transfer completion, the DMA asserts its bus request again to regain bus ownership at the
earliest opportunity, as determined by the internal bus arbiter. The minimum time that the DMA loses bus
control is one bus cycle.
14.6
DATA TRANSFER MODES
Each DMA channel supports dual-address transfers. The dual-address transfer mode consists of a source
operand read and a destination operand write.
14.6.1
DUAL-ADDRESS TRANSACTION
The DMA controller module begins a dual-address transfer sequence when the DAA bit (DCR[24]) is
cleared during a DMA request. If no error condition exists, the REQ bit (DSR[2]) is set.
14.6.1.1
Dual-Address Read
The DMA controller module will drive the value in the source address register (SAR) onto the internal
address bus. If the SINC bit (DCR[22]) is set, then the SAR increments by the appropriate number of bytes
upon a successful read cycle. When the appropriate number of read cycles completes successfully, the
DMA initiates the write portion of the transfer.
In the event of a termination error, the BES (DSR[5]) and DONE bit (DSR[0]) are set and no further DMA
transactions take place.
14.6.1.2
Dual-Address Write
The DMA controller module drives the value in the destination address register (DAR) onto the address
bus. If the DINC bit (DCR[19]) is set, then the DAR increments by the appropriate number of bytes at the
completion of a successful write cycle. The byte count register (BCR) decrements by the appropriate
number of bytes. The DONE bit (DSR[0]) is set when the BCR reaches zero. If the BCR is greater than
zero, then another read/write transfer is initiated. If the byte count register (BCR) is a multiple of the
programmed bandwidth control (BWC), then the DMA request signal is negated until termination of the bus
cycle to allow the internal arbiter to switch masters.
In the event of a termination error, the BES (DSR[5]) and DONE bit (DSR[0]) are set and no further DMA
transactions takes place.
14.7
DMA TRANSFER FUNCTIONAL DESCRIPTION
In the following section, the term DMA request implies that the START bit (DCR[16]) is set or the EEXT bit
(DCR[30]) is set, followed by assertion of REQUEST. The START bit is cleared when the channel begins
an internal access.
Before initiating a transfer, the DMA controller module verifies that the source size (SSIZE = DSC[21:20])
and destination size (DSIZE = DSR[18:17]) for dual-address access are consistent with the source
address and destination address. The CE bit is also set if inconsistency is found between the destination
size and the source size in the BCR for dual-address access. If a misalignment is detected, no transfer
occurs and the configuration error bit (CE = DSR[6]) is set. Depending on the configuration of the DCR, an
interrupt event may be issued when the CE bit is set.
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
..
.