![Texas Instruments AM1808 Technical Reference Manual Download Page 620](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_1094558620.webp)
Architecture
620
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
17.2.13.2 Trigger Source Priority
If a DMA channel is associated with more than one trigger source (event trigger, manual trigger, and chain
trigger), and if multiple events are set simultaneously for the same channel (ER.E
n
= 1, ESR.E
n
= 1,
CER.E
n
= 1), then the EDMA3CC always services these events in the following priority order: event
trigger (via ER) is higher priority than chain trigger (via CER) and chain trigger is higher priority than
manual trigger (via ESR).
This implies that if for channel 0, both ER.E0 = 1 and CER.E0 = 1 at the same time, then the ER.E0 event
is always queued before the CER.E0 event.
17.2.13.3 Dequeue Priority
The priority of the associated transfer request (TR) is further mitigated by which event queue is being used
for event submission (dictated by DMAQNUM
n
and QDMAQNUM). For submission of a TR to the transfer
controller, events need to be dequeued from the event queues. A lower numbered queue has a higher
dequeuing priority then a higher numbered queue. For example, if there are events in Q0 and Q1 and the
respective transfer controllers (TC0 and TC1) are ready to receive the next TR from the EDMA3CC, then
the transfer requests associated with events in Q0 will get submitted to TC0 prior to any transfer requests
associated with events in Q1 getting submitted to TC1.
NOTE:
At any given time, if there are outstanding events in multiple queues, when the transfer
controller associated with the lower numbered (higher priority) queue is busy processing
earlier transfer requests and the transfer controller associated with the higher numbered
(lower priority) queue is idle, then the event in the higher numbered (lower priority) queue will
dequeue first.
17.2.13.4
Master (Transfer Controller) Priority
All master peripherals on the device have a programmable priority level. When multiple masters are trying
to access common shared resources (slave memory or peripherals), this priority value allows the system
interconnect to arbitrate requests from different masters based on their priority. This priority assignment is
determined in the Master Priority Registers (MSTPRI0-MSTPRI2) in the System Configuration Module
(see the
System Configuration (SYSCFG) Module
chapter), where each master has an allocated priority
value (power on reset default value), which can be re programmed based on the applications prioritization
requirements. The priority value can be configured between 0 to 7, with 0 being the highest priority and 7
being the lowest priority.
Each transfer controller on the device is also a master peripheral. The priority of the transfer requests
(read/write commands) issued by the individual EDMA3TC read/write ports in the system can be
programmed via these registers.
The dequeue priority has a relatively secondary effect as compared to this Master priority; therefore, it is
important to program the priority of each transfer controller with respect to each other and also with
respect to other masters in the system.
NOTE:
On previous architectures, the EDMA3TC priority was controlled by the QUEPRI register in
the EDMA3CC memory-map. However for this device, the priority control for the transfer
controllers is controlled by the chip-level registers in the System Configuration Module.