Direct Memory Access Controller (DMAC)
User Manual All information provided in this document is subject to legal disclaimers. © REALTEK 2019. All rights reserved.
109
Fig 9-25 Source FIFO contents at time indicated in Fig 9-24
As shown in Fig 9-26, if the DMAC does not perform single transactions, the source FIFO contains four entries at time t1. However, the source
has no more data to send. Therefore, if the watermark level remains at 8 (at time t1, Case A in Fig 9-26), the watermark level is never reached
and a new burst request is never triggered.
Fig 9-26 Source FIFO contents where watermark level is dynamically adjusted
The source peripheral, not knowing the length of a block and only able to request burst transactions, sits and waits for the FIFO level to reach a
watermark level before requesting a new burst transaction request. This region, where the amount of data left to transfer in the source block is
less than
src_burst_size_bytes,
is known as the Single Transaction Region.
In the Single Transaction Region, the DMAC performs single transactions from the source peripheral until the source block transfer has
completed. In this example, the DMAC completes the source block transfer using four single transactions from the source.
Now consider Case B in Fig 9-26, where the source peripheral can dynamically adjust the watermark level that triggers a burst transaction
request near the end of a block. After the first source burst transaction completes, the source peripheral recognizes that it has only four data
items left to complete in the block and adjusts the FIFO watermark level that triggers a burst transaction to 4. This triggers a burst request, and
the block completes using a burst transaction. However, CTL
x
.SRC_MSIZE = 8, and there are only four data items left to transfer in the source
block. The DMAC terminates the last source burst transaction early and fetches only four of the eight data items in the last source burst
transaction. This is called an Early-Terminated Burst Transaction.
Observation
: Under certain conditions, it is possible to hardcode dma_single from the source peripheral to an inactive level (hardware
handshaking). Under the same conditions, it is possible for software to complete a source block transfer without initiating single transactions
from the source.
Realtek confidential files
The document authorized to
SZ99iot
2019-05-15 10:08:03