Functional Description
11.3.12 EDMA3 Transfer Controller (EDMA3TC)
The EDMA3 channel controller is the user-interface of the EDMA3 and the EDMA3 transfer controller
(EDMA3TC) is the data movement engine of the EDMA3. The EDMA3CC submits transfer requests (TR)
to the EDMA3TC and the EDMA3TC performs the data transfers dictated by the TR; thus, the EDMA3TC
is a slave to the EDMA3CC.
11.3.12.1 Architecture Details
11.3.12.1.1 Command Fragmentation
The TC read and write controllers in conjunction with the source and destination register sets are
responsible for issuing optimally-sized reads and writes to the slave endpoints. An optimally-sized
command is defined by the transfer controller default burst size (DBS), which is defined in
.
The EDMA3TC attempts to issue the largest possible command size as limited by the DBS value or the
ACNT/BCNT value of the TR. EDMA3TC obeys the following rules:
•
The read/write controllers always issue commands less than or equal to the DBS value.
•
The first command of a 1D transfer command always aligns the address of subsequent commands to
the DBS value.
lists the TR segmentation rules that are followed by the EDMA3TC. In summary, if the ACNT
value is larger than the DBS value, then the EDMA3TC breaks the ACNT array into DBS-sized commands
to the source/destination addresses. Each BCNT number of arrays are then serviced in succession.
For BCNT arrays of ACNT bytes (that is, a 2D transfer), if the ACNT value is less than or equal to the
DBS value, then the TR may be optimized into a 1D-transfer in order to maximize efficiency. The
optimization takes place if the EDMA3TC recognizes that the 2D-transfer is organized as a single
dimension (ACNT == BIDX) and the ACNT value is a power of 2.
lists conditions in which the optimizations are performed.
Table 11-21. Read/Write Command Optimization Rules
SAM/DAM =
ACNT
≤
DBS
ACNT is power of 2
BIDX = ACNT
BCNT
≤
1023
Increment
Description
Yes
Yes
Yes
Yes
Yes
Optimized
No
x
x
x
x
Not Optimized
x
No
x
x
x
Not Optimized
x
x
No
x
x
Not Optimized
x
x
x
No
x
Not Optimized
x
x
x
x
No
Not Optimized
11.3.12.1.2 TR Pipelining
TR pipelining refers to the ability of the source active set to proceed ahead of the destination active set.
Essentially, the reads for a given TR may already be in progress while the writes of a previous TR may
not have completed.
The number of outstanding TRs is limited by the number of destination FIFO register entries.
TR pipelining is useful for maintaining throughput on back-to-back small TRs. It minimizes the startup
overhead because reads start in the background of a previous TR writes.
914
Enhanced Direct Memory Access (EDMA)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated