![ARTERY AT32F435 Series Скачать руководство пользователя страница 678](http://html1.mh-extra.com/html/artery/at32f435-series/at32f435-series_reference-manual_2977592678.webp)
AT32F435/437
Series Reference Manual
2022.11.11
Page 678
Rev 2.03
Figure 29-3 Re-arbitrate after Request/Acknowledge
dma_req
dma_ack
One single/ burst
transfer
Antother single/ burst
transfer
Re-arbitrate
Re-arbitrate
In non-incrementing mode (PINCM = 0 or MINCM = 0), burst transfers of 4, 8 or 16 beats are translated
into 4, 8 or 16 single transfers. In this case, the main controller will transfer all data before re-arbitration.
29.3.5 Programmable data transfer width
Transfer width of the source data and destination data is programmable through the PWIDTH and
MWIDTH bits in the DMA_CxCTRL register. When PWIDTH is not equal to MWIDTH, a packing and
unpacking mechanism is performed. When the transfer size of the source data is less than that of the
destination data, the data is packed in FIFO before sending to the destination. On the contrary, if the
transfer size of the source data is greater than that of the destination data, the data is unpacked before
sending to the destination.
PW IDTH, MW IDTH and CNT must be configured correctly to ensure complete data transfer.
CNT = (MWIDTH/ PWIDTH)
×
N
MWIDTH and PWIDTH stand for data transfer size
= 1 (byte), 2 (half-words) or 4 (words)
CNT and N are positive integers.
Figure 29-4 Example of packing mechanism
B7
B3
B6
B2
B5
B1
B4
B0
4-word FIFO
word3
word2
word1
word0
7
th
6
th
2
nd
1
st
B7 B6
B1 B0
2
nd
1
st
W1 W0
AHB Read Sequence
AHB Write Sequence