8.2.1.4 Channel Arbiter
The channel arbiter is an arbitration algorithm used to service the channels based on the priority, as shown in Figure 8-2. By default, all channels have equal priority. To configure the PDMA channel priority, RATIO_HIGH_LOW register must be configured by the AHB bus matrix master. The RATIOHILO field in the RATIO_HIGH_LOW register indicates the ratio of high priority requests to low priority requests. For example, a RATIOHILO value of 3:1 means that a high priority DMA channel has 3 DMA access opportunities for every one access of a low priority DMA channel.
When the RATIOHILO value is set to 0, both high and low priority requests are serviced in a round robin fashion.
The following table lists the valid values for RATIOHILO. All other values are reserved.
Value | High:Low Ratio | Comments |
---|---|---|
0 | — | Round robin |
1 | 1:1 | Ping-pong between high and low priority requests |
3 | 3:1 | 3 high to 1 low |
7 | 7:1 | 7 high to 1 low |
15 | 15:1 | 15 high to 1 low |
31 | 31:1 | 31 high to 1 low |
63 | 63:1 | 63 high to 1 low |
127 | 127:1 | 127 high to 1 low |
255 | 255:1 | 255 high to 1 low |
All others | — | Reserved |
For more information on configuring the register, see 8.4 PDMA Register Map.