Functional Description
NOTE:
Any incoming events that are mapped to a null PaRAM set results in an error condition. The
error condition should be cleared before the corresponding channel is used again. See
.
There are three ways the EDMA3CC gets updated/informed about a transfer completion: normal
completion, early completion, and dummy/null completion. This applies to both chained events and
completion interrupt generation.
11.3.5.1 Normal Completion
In normal completion mode (TCCMODE = 0 in OPT), the transfer or sub-transfer is considered to be
complete when the EDMA3 channel controller receives the completion codes from the EDMA3 transfer
controller. In this mode, the completion code to the channel controller is posted by the transfer controller
after it receives a signal from the destination peripheral. Normal completion is typically used to generate
an interrupt to inform the CPU that a set of data is ready for processing.
11.3.5.2 Early Completion
In early completion mode (TCCMODE = 1 in OPT), the transfer is considered to be complete when the
EDMA3 channel controller submits the transfer request (TR) to the EDMA3 transfer controller. In this
mode, the channel controller generates the completion code internally. Early completion is typically useful
for chaining, as it allows subsequent transfers to be chained-triggered while the previous transfer is still in
progress within the transfer controller, maximizing the overall throughput of the set of the transfers.
11.3.5.3 Dummy or Null Completion
This is a variation of early completion. Dummy or null completion is associated with a dummy set
(
). In both cases, the EDMA3 channel controller does not
submit the associated transfer request to the EDMA3 transfer controller(s). However, if the set
(dummy/null) has the OPT field programmed to return completion code (intermediate/final
interrupt/chaining completion), then it will set the appropriate bits in the interrupt pending registers
(IPR/IPRH) or chained event register (CER/CERH). The internal early completion path is used by the
channel controller to return the completion codes internally (that is, EDMA3CC generates the completion
code).
11.3.6 Event, Channel, and PaRAM Mapping
Several of the 64 DMA channels are tied to a specific hardware event, thus allowing events from device
peripherals or external hardware to trigger transfers. A DMA channel typically requests a data transfer
when it receives its event (apart from manually-triggered, chain-triggered, and other transfers). The
amount of data transferred per synchronization event depends on the channel’s configuration (ACNT,
BCNT, CCNT, etc.) and the synchronization type (A-synchronized or AB-synchronized).
The association of an event to a channel is fixed, each DMA channel has one specific event associated
with it. See
, EDMA Event Multiplexing, for a description of how DMA events map to the
EDMA event crossbar. See
, EDMA Events, for a table of direct and crossbar mapped
EDMA events.
In an application, if a channel does not use the associated synchronization event or if it does not have an
associated synchronization event (unused), that channel can be used for manually-triggered or chained-
triggered transfers, for linking/reloading, or as a QDMA channel.
11.3.6.1 DMA Channel to PaRAM Mapping
The mapping between the DMA channel numbers and the PaRAM sets is programmable (see
). The DMA channel mapping registers (DCHMAPn) in the EDMA3CC provide programmability that
allows the DMA channels to be mapped to any of the PaRAM sets in the PaRAM memory map.
illustrates the use of DCHMAP. There is one DCHMAP register per channel.
897
SPRUH73H – October 2011 – Revised April 2013
Enhanced Direct Memory Access (EDMA)
Copyright © 2011–2013, Texas Instruments Incorporated