Datasheet

Table Of Contents
channel number as shown in Static Priority Scheduling. When using the static scheme, there is a risk of
high channel numbers never being granted access as the active channel. This can be avoided using a
dynamic arbitration scheme.
Figure 22-5. Static Priority Scheduling
Highest Channel
Lowest Channel
Highest Priority
Lowest Priority
Channel N
Channel 0
Channel x+1
Channel x
.
.
.
.
.
.
The dynamic arbitration scheme in the DMAC is round-robin. Round-robin arbitration is enabled by writing
PRICTRL0.RRLVLEN to '1', for a given priority level x. With the round-robin scheme, the channel number
of the last channel being granted access will have the lowest priority the next time the arbiter has to grant
access to a channel within the same priority level, as shown in Figure 22-6. The channel number of the
last channel being granted access as the active channel is stored in the Level x Channel Priority Number
bit group in the Priority Control 0 register (PRICTRL0.LVLPRIx) for the corresponding priority level.
Figure 22-6. Dynamic (Round-Robin) Priority Scheduling
Channel N
Channel N
Channel 0
Channel x
Channel x+1
Channel x last acknowledge request
Channel (x+1) last acknowledge request
Channel 0
Channel x
Channel x+1
Channel x+2
Lowest Priority
Highest Priority
Highest Priority
Lowest Priority
.
.
.
.
.
.
SAM D5x/E5x Family Data Sheet
DMAC – Direct Memory Access Controller
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 383