Direct Memory Access Controller (DMAC)
User Manual All information provided in this document is subject to legal disclaimers. © REALTEK 2019. All rights reserved.
119
CFG
x
.SRC_PER = 0
Source assigned handshaking interface 0
CFG
x
.DEST_PER = 1
Destination assigned handshaking interface 1
CFG
x
.MAX_ABRST = 8
–
Consider the case where the destination block is made up of a burst transaction, followed by one single transaction:
blk_size_bytes_dst =
(8 * 4) + 4 = 36 bytes
src_single_size_bytes
= 8
dst_single_size_bytes
= 4
src_burst_size
_
bytes =
4 * 8 = 32
dst_burst_size
_
bytes =
8 * 4 = 32
As illustrated in Fig 9-36, the source requests a burst transaction at time T2, and completes the burst transaction at time T3. The destination
requests a burst transaction at time T1 and completes this burst request at time T4. The destination requests a last single transaction at time
T5. The channel FIFO is empty at this time.
Fig 9-36 Data loss when data pre-fetching is disabled
The amount of data left to complete a source block transfer, 4 bytes, is less than
src_burst_size
_
bytes
(32 bytes). Therefore, the source enters
the Single Transaction Region. At time T7, the DMAC samples that dma_single[0] is asserted and initiates a single transaction from the source.
The DMAC fetches a single source data item from the source peripheral and stores the eight bytes in the channel FIFO. This single transaction
completes at time T8; the source block also completes at time T8. However, the destination requires only four of these eight bytes to complete
the block transfer to the destination (the block transfer to destination completes at time T9). The remaining four bytes are lost. Thus, when the
destination is the flow controller, data loss occurs when CFG
x
.FCMODE = 1 if both of the following are true:
SRC_TR_WITDT > CTLx.DST_TR_WIDTH
blk_size_bytes_dst/src_single_size_bytes != integer
The amount of data lost is:
src_single_size_bytes - dst_single_size_bytes
[refer to equations (2) and (3)]
.
Observation
: Data loss can occur when the destination is the flow controller, even if data pre-fetching is disabled, CFG
x
.FCMODE = 1.
9.2.8.2
Peripheral Interrupt Request Interface
The interface illustrated in Fig 9-37 is a simplified version of the hardware handshaking interface. In this mode:
The interrupt line from the peripheral is tied to the dma_req input.
The dma_single input is tied low.
All other interface signals are ignored.
This interface can be used where the slave peripheral does not have hardware handshaking signals.
Realtek confidential files
The document authorized to
SZ99iot
2019-05-15 10:08:03