2.4.2 QDMA Channels
2.4.2.1
Autotriggered and Link-Triggered Transfer Request
2.4.3 Comparison Between DMA and QDMA Channels
www.ti.com
Initiating a DMA Transfer
QDMA-based transfer requests are issued when a QDMA event gets latched in the QDMA event register
(QER.E
n
= 1). A bit corresponding to a QDMA channel is set in the QDMA event register (QER) when the
following occurs:
•
A CPU (or any EDMA3 programmer) write occurs to a PaRAM address that is defined as a QDMA
channel trigger word (programmed in the QDMA channel mapping register (QCHMAP
n
)) for the
particular QDMA channel and the QDMA channel is enabled via the QDMA event enable register
(QEER.E
n
= 1).
•
EDMA3CC performs a link update on a PaRAM set address that is configured as a QDMA channel
(matches QCHMAP
n
settings) and the corresponding channel is enabled via the QDMA event enable
register (QEER.E
n
= 1).
Once a bit is set in QER, the EDMA3CC prioritizes and queues the event in the appropriate event queue.
When the event reaches the head of the queue, it is evaluated for submission as a transfer request to the
transfer controller.
As in the event-triggered transfers, if the PaRAM set associated with the channel is valid (it is not a null
set) then the TR is submitted to the associated EDMA3TC and the channel can be triggered again.
If a bit is already set in QER (QER.E
n
= 1) and a second QDMA event for the same QDMA channel
occurs prior to the original being cleared, the second QDMA event gets captured in the QDMA event miss
register (QEMR.E
n
= 1).
The primary difference between DMA and QDMA channels is the event/channel synchronization. QDMA
events are either autotriggered or link triggered. Autotriggering allows QDMA channels to be triggered by
CPU(s) with a minimum number of linear writes to PaRAM. Link triggering allows a linked list of transfers
to be executed, using a single QDMA PaRAM set and multiple link PaRAM sets.
A QDMA transfer is triggered when a CPU (or other EDMA3 programmer) writes to the trigger word of the
QDMA channel parameter set (autotriggered) 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 retrigger
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.
SPRUG34 – November 2008
EDMA3 Architecture
41
Содержание TMS320DM357
Страница 2: ...2 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 12: ...List of Tables 12 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 16: ...Read This First 16 SPRUG34 November 2008 Submit Documentation Feedback ...
Страница 64: ...EDMA3 Architecture 64 SPRUG34 November 2008 Submit Documentation Feedback ...