English
Language : 

PXN20RM Datasheet, PDF (559/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Enhanced Direct Memory Access Controller (eDMA)
24.5.4.2 Round-Robin Group Arbitration, Fixed-Channel Arbitration
When one or more DMA requests arrive from one or more groups, the channel with the highest priority
from a specific group is serviced first. Groups are serviced starting with the highest group number with a
service request and rotating through to the lowest group number containing a service request.
After the channel request is serviced, the group round robin algorithm selects 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 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
is always serviced before lower priority channels in the same group, and the lower priority channels are
never serviced. The advantage of this scenario is that no one group can consume all the eDMA 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.
24.5.4.3 Round-Robin Group Arbitration, Round-Robin Channel Arbitration
Groups are serviced as described in Section 24.5.4.2, Round-Robin Group Arbitration, Fixed-Channel
Arbitration, but this time channels are serviced in channel number order. One channel only 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 does
not prevent the servicing of other channels in its group. Any DMA requests that are not serviced are simply
lost, but at least one channel gets serviced.
This scenario ensures that all channels are guaranteed service at some point, regardless of the request rates.
However, the potential latency could be high. All channels are treated equally. Priority levels are not used
in round-robin/round-robin mode.
24.5.4.4 Fixed-Group Arbitration, Round-Robin Channel Arbitration
The highest priority group with a request is serviced. Lower priority groups are serviced if no pending
requests exist in the higher priority groups.
Within each group, channels are serviced starting with the highest channel number and rotating through to
the lowest channel number without regard to the channel priority levels assigned within the group.
This scenario could cause the same bandwidth consumption problem as indicated in Section 24.5.4.1,
Fixed-Group Arbitration, Fixed-Channel Arbitration, but all the channels in the highest priority group get
serviced. Service latency is short on the highest priority group, but could potentially get longer and longer
as the group priority decreases.
Freescale Semiconductor
PXN20 Microcontroller Reference Manual, Rev. 1
24-39