2.4.1.2
Manually-Triggered Transfer Request
2.4.1.3
Chain-Triggered Transfer Request
Initiating a DMA Transfer
www.ti.com
A DMA transfer is initiated by a write to the event set register (ESR) by the CPU (or any EDMA
programmer). Writing a 1 to an event bit in the ESR results in the event being prioritized/queued in the
appropriate event queue, regardless of the state of the EER.E
n
bit. 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 the PaRAM set associated with the channel is a NULL set (see
), then no transfer request
(TR) is submitted and the corresponding E
n
bit in ER is cleared and simultaneously the corresponding
channel bit is set in the event miss register (EMR.E
n
= 1) to indicate that the event was discarded due to
a null TR being serviced. Good programming practices should include clearing the event missed error
before retriggering the DMA channel.
If an event is being processed (prioritized or is in the event queue) and the same channel is manually set
by a write to the corresponding channel bit of the event set register (ESR.E
n
= 1) prior to the original
being cleared (ESR.E
n
= 0), then the second event is registered as a missed event in the corresponding
bit of the event missed register (EMR.E
n
= 1).
Chaining is a mechanism by which the completion of one transfer automatically sets the event for another
channel. When a chained completion code is detected, the value of which is dictated by the transfer
completion code (TCC[5:0] in OPT of the PaRAM set associated with the channel), it results in the
corresponding bit in the chained event register (CER) to be set (CER.E[TCC] = 1).
Once a bit is set in CER, 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 the PaRAM set associated with the channel is a NULL set (see
), then no transfer request
(TR) is submitted and the corresponding E
n
bit in CER is cleared and simultaneously the corresponding
channel bit is set in the event miss register (EMR.E
n
= 1) to indicate that the event was discarded due to
a null TR being serviced. In this case, the error condition must be cleared by you before the DMA channel
can be retriggered. Good programming practices might include clearing the event missed error before
retriggering the DMA channel.
If a chaining event is being processed (prioritized or queued) and another chained event is received for
the same channel prior to the original being cleared (CER.E
n
!= 0), then the second chained event is
registered as a missed event in the corresponding channel bit of the event missed register (EMR.E
n
= 1).
Note:
Chained event registers, event registers, and event set registers operate independently. An
event (E
n
) can be triggered by any of the trigger sources (event-triggered,
manually-triggered, or chain-triggered).
40
EDMA3 Architecture
SPRUG34 – November 2008
Содержание 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 ...