Generic Channels
5-11
System DMA Controller
5.3.1.3
Transfer Start
There are two ways to start a DMA transfer:
-
Software start (software request): After setting up the configuration regis-
ters of a DMA channel, the processor activates the transfer in this channel
by writing the DMA_CCR.en bit of this channel. The transfer immediately
starts.
-
Hardware start (hardware request): The processor sets up a DMA channel
and sets the transfer in this channel as a synchronized transfer (demand-
driven by DMA request signal lines from the outside world). The channel
then waits for a DMA request to start transferring data.
Note:
Be sure to enable the channel before sending in the DMA request.
Each time a DMA request is made for this channel, an amount of data is
transferred. This amount of data can be:
J
An element
A complete element is transferred in response to a DMA request.
J
An entire frame
A complete frame of several elements is transferred in response to a
DMA request.
All the transfers can be synchronized on DMA requests, regardless of their
sources and destinations. DMA requests can come from DMA ports. Each
channel can be triggered by one DMA request among 31. One DMA request
can trigger several channels at the same time. The relevant bits are extracted
from the DMA_CCR register.
5.3.1.4
Transfer Suspension
A synchronized channel enters a suspended state when a DMA request is
served, and it waits for a new DMA request.
All the DMA channels enter a suspended state if:
-
The DMA idle input is active. The DMA suspends all its transfers and its
clock can be externally cut off for power-saving purposes.
-
The DMA suspend input is active, and the FREE bit in the DMA_GCR reg-
ister is equal to zero. The processor asserts this input, then it is halted by
a breakpoint. When this occurs, the DMA suspends or continues its trans-
fers, according to the value of the FREE bit. The DMA clock must be on
when the DMA is suspended.