External
peripheral
9001 0000h
...1_2..1_1..0_2..0_1
EVTx
479_640
478_640
477_640
478_639
479_639479_638......
...
...
...
...
2_640...
... 1_639 1_640
0_6400_6390_638......
...
...
...
...
...
...
0_30_2
1_21_1
0_1
2_1
478_1
479_1
477_1
479_2
478_2
479_3
A000 0000h
A000 0500h
A000 0A00h
...
...
A009 5100h
A009 5600h
A009 5B00h
Transfer Examples
www.ti.com
490
SPRUH91D–March 2013–Revised September 2016
Submit Documentation Feedback
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
16.3.4.2 Bursting Peripherals
Higher bandwidth applications require that multiple data elements be presented to the CPU for every
synchronization event. This frame of data can either be from multiple sources that are working
simultaneously or from a single high-throughput peripheral that streams data to/from the CPU. In this
example, a port is receiving a video frame from a camera and presenting it to the CPU one array at a
time. The video image is 640 × 480 pixels, with each pixel represented by a 16-bit element. The image is
to be stored in external memory. Figure 16-23 shows this example.
To transfer data from an external peripheral to an external buffer one array at a time based on EVTn ,
channel n must be configured. Due to the nature of the data (a video frame made up of arrays of pixels)
the destination is essentially a 2D entity. Figure 16-24 shows the parameters to service the incoming data
with a 1D-to-2D transfer using AB-synchronization. The source address is set to the location of the video
framer peripheral, and the destination address is set to the start of the data buffer. Since the input address
is static, the SRCBIDX is 0 (no modification to the source address). The destination is made up of arrays
of contiguous, linear elements; therefore, the DSTBIDX is set to pixel size, 2 bytes. ANCT is equal to the
pixel size, 2 bytes. BCNT is set to the number of pixels in an array, 640. CCNT is equal to the total
number of arrays in the block, 480. SRCCIDX is 0 since the source address undergoes no increment. The
DSTCIDX is equal to the difference between the starting addresses of each array. Since a pixel is 16 bits
(2 bytes), DSTCIDX is equal to 640 × 2.
Figure 16-23. Servicing Peripheral Burst Example
Figure 16-24. Servicing Peripheral Burst Example PaRAM
(a) EDMA Parameters
Parameter Contents Parameter
0010 0004h Channel Options Parameter (OPT)
Channel Source Address Channel Source Address (SRC)
0280h 0002h Count for 2nd Dimension (BCNT) Count for 1st Dimension (ACNT)
4000 0000h Channel Destination Address (DST)
0002h 0000h Destination BCNT Index (DSTBIDX) Source BCNT Index (SRCBIDX)
0000h FFFFh BCNT Reload (BCNTRLD) Link Address (LINK)
0500h 0000h Destination CCNT Index (DSTCIDX) Source CCNT Index (SRCCIDX)
0000h 01E0h Reserved Count for 3rd Dimension (CCNT)
(b) Channel Options Parameter (OPT) Content
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 1 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM