Functional Description
11.3.3.7 Linking Transfers
The EDMA3CC provides a mechanism known as linking, which allows the entire PaRAM set to be
reloaded from a location within the PaRAM memory map (for both DMA and QDMA channels). Linking is
especially useful for maintaining ping-pong buffers, circular buffering, and repetitive/continuous transfers
with no CPU intervention. Upon completion of a transfer, the current transfer parameters are reloaded with
the parameter set pointed that the 16-bit link address field of the current parameter set points to. Linking
only occurs when the STATIC bit in OPT is cleared.
NOTE:
You should always link a transfer (EDMA3 or QDMA) to another useful transfer. If you must
terminate a transfer, then you should link the transfer to a NULL parameter set. See
.
The link update occurs after the current PaRAM set event parameters have been exhausted. An event's
parameters are exhausted when the EDMA3 channel controller has submitted all of the transfers that are
associated with the PaRAM set.
A link update occurs for null and dummy transfers depending on the state of the STATIC bit in OPT and
the LINK field. In both cases (null or dummy), if the value of LINK is FFFFh, then a null PaRAM set (with
all 0s and LINK set to FFFFh) is written to the current PaRAM set. Similarly, if LINK is set to a value other
than FFFFh, then the appropriate PaRAM location that LINK points to is copied to the current PaRAM set.
Once the channel completion conditions are met for an event, the transfer parameters that are located at
the link address are loaded into the current DMA or QDMA channel’s associated parameter set. This
indicates that the EDMA3CC reads the entire set (eight words) from the PaRAM set specified by LINK and
writes all eight words to the PaRAM set that is associated with the current channel.
shows
an example of a linked transfer.
Any PaRAM set in the PaRAM can be used as a link/reload parameter set. The PaRAM sets associated
with peripheral synchronization events (see
) should only be used for linking if the
corresponding events are disabled.
If a PaRAM set location is defined as a QDMA channel PaRAM set (by QCHMAPn), then copying the link
PaRAM set into the current QDMA channel PaRAM set is recognized as a trigger event. It is latched in
QER because a write to the trigger word was performed. You can use this feature to create a linked list of
transfers using a single QDMA channel and multiple PaRAM sets. See
Linking to itself replicates the behavior of auto-initialization, thus facilitating the use of circular buffering
and repetitive transfers. After an EDMA3 channel exhausts its current PaRAM set, it reloads all of the
parameter set entries from another PaRAM set, which is initialized with values that are identical to the
original PaRAM set.
shows an example of a linked to self transfer. Here, the PaRAM set 255
has the link field pointing to the address of parameter set 255 (linked to self).
NOTE:
If the STATIC bit in OPT is set for a PaRAM set, then link updates are not performed.
11.3.3.8 Constant Addressing Mode Transfers/Alignment Issues
If either SAM or DAM is set (constant addressing mode), then the source or destination address must be
aligned to a 256-bit aligned address, respectively, and the corresponding BIDX should be an even multiple
of 32 bytes (256 bits). The EDMA3CC does not recognize errors here, but the EDMA3TC asserts an error
if this is not true. See
.
NOTE:
The constant addressing (CONST) mode has limited applicability. The EDMA3 should be
configured for the constant addressing mode (SAM/DAM = 1) only if the transfer source or
destination (on-chip memory, off-chip memory controllers, slave peripherals) support the
constant addressing mode. See the device-specific data manual and/or peripheral user`s
guide to verify if the constant addressing mode is supported. If the constant addressing
mode is not supported, the similar logical transfer can be achieved using the increment
(INCR) mode (SAM/DAM =0) by appropriately programming the count and indices values.
891
SPRUH73H – October 2011 – Revised April 2013
Enhanced Direct Memory Access (EDMA)
Copyright © 2011–2013, Texas Instruments Incorporated