Channel Transfer; Channel Priority; Figure 185. Pdma Channel Arbitration And Scheduling Example - Holtek HT32F52342 User Manual

32-bit microcontroller with arm cortex-m0+ core
Table of Contents

Advertisement

32-Bit Arm
®
Cortex
®
-M0+ MCU
HT32F52342/HT32F52352

Channel transfer

A PDMA channel transfer is split into multiple block transactions with PDMA arbitration occurring
at the end of each block transaction. Although these channel transfers can all be activated, there
is only one block transaction being transferred through the bus at a time. The channel transfer
sequence depends upon the channel priority setting of each PDMA channel. The total transfer size
is calculated from the block transaction count and block size. The block size is equal to the product
of the block length and data bit width. For an efficient transfer, it is recommended that the block
length is set as a multiple of 4.
The total transfer data size calculation is shown as below equation:
A PDMA channel total transfer data size = Block transaction count x (Block length x Data width)

Channel Priority

The PDMA provides four priority levels, known as very high, high, medium and low, which can
be configured by the application software. The PDMA also provides two methods to determine
the channel priority. One is determined by application software configuration and the other is
determined by the fixed hardware channel number. The PDMA arbitration processor will first
check the software configuring channel priority level used to request the PDMA to provide the
data transfer services. If more than one channel has the same priority, the channel with a smaller
channel number will have priority over one with a larger channel number after arbitration.
Note that the highest priority channel will not occupy the PDMA service all the time when other
lower priority channel requests are pending. The highest priority channel will be skipped for one
block transaction time duration after one block transaction is complete. Then a block transaction
requested by the second priority channel will be performed. After a block transaction of the second
priority channel is complete, the PDMA arbitration processor will re-check all of the requested
channel priority with the exception of the second priority channel since the second priority
channel will be excluded after the end of a block transaction. Therefore, a block data transaction
of the higher priority channel will be serviced and this channel will be excluded from the priority
arbitration at the end of the block transaction. The PDMA will keep transferring the data using the
method described above until all of the requested channel data transfer is complete. Refer to the
accompanying figure for an example which shows the PDMA channel arbitration and scheduling.
Channel 0: priority=very high,
Channel 1: priority=high,
Channel 2: priority=low,
Priority : CH0 > CH1 > CH2
Priority: CH1 > CH2
Skip: CH0
CH0
CH1
Block 0
Block 0
Priority: CH0 > CH1 > CH2
Skip: n/a

Figure 185. PDMA Channel Arbitration and Scheduling Example

Rev. 1.30
block count=2, block length=2
block count=3, block length=4
block count=3, block length=6
Priority: CH1 > CH2
Skip: CH0
CH0
CH1
CH2
Block 1
Block 1
Block 0
Priority: CH0 > CH2
Priority: CH2
Skip: CH1
Skip: CH1
596 of 656
Priority: CH1
Priority: CH2
Skip: CH2
Skip: n/a
CH1
CH2
Block 2
Block 1
Priority: CH2
Skip: n/a
September 28, 2018
CH2
Block 2
Time

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the HT32F52342 and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Ht32f52352

Table of Contents