External
peripheral
9001 0000h
...1_2..1_1..0_2..0_1
EVTx
479_640
478_640
477_640
478_639
479_639
479_638
...
...
...
...
...
...
2_640
...
...
1_639
1_640
0_640
0_639
0_638
...
...
...
...
...
...
...
...
0_3
0_2
1_2
1_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
630
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
17.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.
shows this example.
To transfer data from an external peripheral to an external buffer one array at a time based on EVT
n
,
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.
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 17-23. Servicing Peripheral Burst Example
Figure 17-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