Enhanced Direct Memory Access (eDMA)
MPC5606S Microcontroller Reference Manual, Rev. 7
514 Freescale Semiconductor
15.5.3 DMA arbitration mode considerations
15.5.3.1 Fixed group arbitration, fixed channel arbitration
In this mode, the channel service request from the highest priority channel in the highest priority group
will be selected to execute. If the DMA is programmed so the channels within one group use “fixed”
priorities, and that group is assigned the highest “fixed” priority of all groups, it is possible for that group
to take all the bandwidth of the DMA controller — no other groups will be serviced if there is always at
least one DMA request pending on a channel in the highest priority group when the controller arbitrates
the next DMA request.
The advantage of this scenario is that latency can be small for channels that need to be serviced quickly.
Preemption is available in this scenario only.
15.5.3.2 Round-robin group arbitration, fixed channel arbitration
The occurrence of one or more DMA requests from one or more groups, the channel with the highest
priority from a specific group will be serviced first. Groups are serviced starting with the highest group
number with an service request and rotating through to the lowest group number containing a service
request.
Once the channel request is serviced, the group round robin algorithm will select the highest pending
request from the next group in the round robin sequence. Servicing continues round robin, always
servicing the highest priority channel in the next group in the sequence, or just skipping a group if it has
no pending requests.
If a channel requests service at a rate that equals or exceeds the round robin service rate, then that channel
will always be serviced before lower priority channels in the same group, and thus the lower priority
channels will never be serviced.
The advantage of this scenario is that no one group uses all the DMA bandwidth.
The highest priority channel selection latency is potentially greater than fixed/fixed arbitration.
Excessive request rates on high-priority channels can prevent the servicing of lower priority channels in
the same group.
15.5.3.3 Round-robin group arbitration, round-robin channel arbitration
Groups will be serviced as described in Section 15.5.3.2, Round-robin group arbitration, fixed channel
arbitration, but this time channels will be serviced in channel number order. Only one channel is serviced
from each requesting group for each round robin pass through the groups.
Within each group, channels are serviced starting with the highest channel number and rotating through to
the lowest channel number without regard to channel priority levels.
Because channels are serviced in round robin manner, any channel that generates DMA requests faster than
a combination of the group round robin service rate and the channel service rate for its group will not