Priority-weighted Round-robin Scheduler

Multiple channels compete to get access to the main memory transfer. Therefore, you can program the priority register to ensure that data stream with higher priority is served accordingly. This scheduler is disabled by default. You can enable it in the IP manager parameter to get the multiple data streams managed by the scheduler. Set the priority-weighted round-robin scheduler in the DMASG_CHANNEL_PRIORITY register.

The scheduler prioritizes channel with a higher priority value. Additionally, the weight value guarantees the higher priority data stream is served uninterruptedly correlated to the byte_per_burst. For example, if the channel's byte_per_burst is 256 bytes, and the programmed weight is 3, the channel can transfer 1024 ((weight+1) * byte_per_burst) bytes without interruption from another channel.