CH2
CH4
CH5
CH7
CH1
CH3
CH6
C
H
1
CH
3
CH
7
CH
9
C
H
1
3
CH
15
C
H
2
C
H
4
C
H
6
C
H
8
C
H
1
0
CH14
in qu eue
i
n u se
Pendin g trigg ere d
Start/S top se rv in g
CH2
CH4
CH5
CH7
CH1
CH3
CH6
C
H
1
CH
3
CH
7
CH
9
C
H
1
3
CH
15
C
H
2
C
H
4
C
H
6
C
H
8
C
H
1
0
CH14
in qu eue
i
n u se
CH2
CH4
CH5
CH7
CH1
CH3
CH6
C
H
1
CH
3
CH
7
CH
9
C
H
1
3
CH
15
C
H
2
C
H
4
C
H
6
C
H
8
C
H
1
0
CH14
High
queue
Low
queue
Fixed
Rotation
in queue
in use
in queue
in use
Module Operation
706
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Direct Memory Access Controller (DMA) Module
Table 20-2. Arbitration According to Priority Queues and Priority Schemes
Queue
Priority Scheme
Remark
High priority
Fixed
Channels are serviced in an ascending order according to the channel number. The
lower the channel number, the higher the priority. A channel will be arbitrated out
whenever there is a higher pending channel. Otherwise a channel is completely
serviced until its transfer count reaches zero before the next highest pending channel is
serviced. When there is no pending channels left in high queue then the DMA switches
to service low queue channels.
Rotating
Channels are arbitrated by using the round-robin scheme. Arbitration is performed
when the FIFO is empty. When there are no pending channels left in high queue then
the DMA switches to service low queue channels.
Low priority
Fixed
Channels are serviced in an ascending order according to the channel number. The
lower the channel number the higher the priority. A channel will be arbitrated out
whenever there is a higher-priority pending channel. Otherwise a channel is completely
serviced until its transfer count reaches zero, before the next highest pending channel
is serviced. If there is a pending channel in the high-priority queue while DMA is
servicing a low queue channel then DMA will switch back to service high queue
channel after an arbitration boundary.
Rotating
Channels are arbitrated by using round-robin scheme. Arbitration is performed when
the FIFO is empty.
A Simple Priority Queues example in both Fixed and Rotation Scheme is shown in
.
Figure 20-10. Example of Priority Queues
For optimal system performance, the high priority channels should be put in fixed arbitration scheme and
low priority channels in the rotating priority scheme as illustrated in