Functional Description
A QDMA transfer is triggered when a CPU (or other EDMA3 programmer) writes to the trigger word of the
QDMA channel parameter set (auto-triggered) or when the EDMA3CC performs a link update on a
PaRAM set that has been mapped to a QDMA channel (link triggered). Note that for CPU triggered
(manually triggered) DMA channels, in addition to writing to the PaRAM set, it is required to write to the
event set register (ESR) to kick-off the transfer.
QDMA channels are typically for cases where a single event will accomplish a complete transfer since the
CPU (or EDMA3 programmer) must reprogram some portion of the QDMA PaRAM set in order to re-
trigger the channel. In other words, QDMA transfers are programmed with BCNT = CCNT = 1 for A-
synchronized transfers, and CCNT = 1 for AB-synchronized transfers.
Additionally, since linking is also supported (if STATIC = 0 in OPT) for QDMA transfers, it allows you to
initiate a linked list of QDMAs, so when EDMA3CC copies over a link PaRAM set (including the write to
the trigger word), the current PaRAM set mapped to the QDMA channel will automatically be recognized
as a valid QDMA event and initiate another set of transfers as specified by the linked set.
11.3.5 Completion of a DMA Transfer
A parameter set for a given channel is complete when the required number of transfer requests is
submitted (based on receiving the number of synchronization events). The expected number of TRs for a
non-null/non-dummy transfer is shown in
for both synchronization types along with state of
the PaRAM set prior to the final TR being submitted. When the counts (BCNT and/or CCNT) are this
value, the next TR results in a:
•
Final chaining or interrupt codes to be sent by the transfer controllers (instead of intermediate).
•
Link updates (linking to either null or another valid link set).
Table 11-10. Expected Number of Transfers for Non-Null Transfer
Sync Mode
Counts at time 0
Total # Transfers
Counts prior to final TR
A-synchronized
ACNT
(BCNT × CCNT ) TRs of ACNT bytes each
BCNT == 1 && CCNT == 1
BCNT
CCNT
AB-synchronized
ACNT
CCNT TRs for ACNT × BCNT bytes each
CCNT == 1
BCNT
CCNT
You must program the PaRAM OPT field with a specific transfer completion code (TCC) along with the
other OPT fields (TCCHEN, TCINTEN, ITCCHEN, and ITCINTEN bits) to indicate whether the completion
code is to be used for generating a chained event or/and for generating an interrupt upon completion of a
transfer.
The specific TCC value (6-bit binary value) programmed dictates which of the 64-bits in the chain event
register (CER[TCC]) and/or interrupt pending register (IPR[TCC]) is set.
You can also selectively program whether the transfer controller sends back completion codes on
completion of the final transfer request (TR) of a parameter set (TCCHEN or TCINTEN), for all but the
final transfer request (TR) of a parameter set (ITCCHEN or ITCINTEN), or for all TRs of a parameter set
(both). See
for details on chaining (intermediate/final chaining) and
for
details on intermediate/final interrupt completion.
A completion detection interface exists between the EDMA3 channel controller and transfer controller(s).
This interface sends back information from the transfer controller to the channel controller to indicate that
a specific transfer is completed. Completion of a transfer is used for generating chained events and/or
generating interrupts to the CPU(s).
All DMA/QDMA PaRAM sets must also specify a link address value. For repetitive transfers such as ping-
pong buffers, the link address value should point to another predefined PaRAM set. Alternatively, a non-
repetitive transfer should set the link address value to the null link value. The null link value is defined as
FFFFh. See
for more details.
896
Enhanced Direct Memory Access (EDMA)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated