1180 0800h
A4i
A12i
A3i
A2i
A1i
A9i
A10i
A11i
A7i
A6i
A5i
A13i
...
...
A8i
B6i
B9i
B10i
B11i
B12i
B13i
...
B1i
B2i
B3i
B4i
B5i
...
B8i
B7i
..B5..A5..B4..A4..B3..A3..B2..A2..B1..A1
1180 0880h
B6o
A6o
B2o
B1o
B9o B10o
A9i
A10i
B5o
B4o
B3o
B11o B12o B13o
...
A11i
A12i
A13i
...
A1o
A2o
A3o
A4o
A5o
B7o
B8o
...
...
A8o
A7o
1180 1800h
1180 1880h
A1..B1..A2..B2..A3..B3..A4..B4..A5..B5
Pong
DRR
RBR
RSR
A11i
B3o
B11o
B9o B10o
B1o
A9i
B2o
A10i
B13o
B12o
...
A13i
B5o
B4o
A12i
B6o
...
B11i
B3i
A3o
A1o
A2o
B9i
B1i
B10i
B2i
A5o
A4o
A6o
B13i
B5i
B12i
B4i
...
B6i
...
B8o
B7o
...
A8o
A7o
...
B7i
B8i
A3i
A11i
A9i
A1i
A10i
A2i
A5i
A13i
A12i
A4i
...
A6i
Ping
...
A7i
A8i
REVT
01D0 0000h
DXR
XEVT
XSR
01D0 0004h
1180 0000h
1180 0080h
1180 1000h
1180 1080h
Transfer Examples
635
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Enhanced Direct Memory Access (EDMA3) Controller
17.3.4.4.1 Synchronization with the CPU
In order to utilize the ping-pong buffering technique, the system must signal the CPU when to begin to
access the new data set. After the CPU finishes processing an input buffer (ping), it waits for the EDMA3
to complete before switching to the alternate (pong) buffer. In this example, both channels provide their
channel numbers as their report word and set the TCINTEN bit to 1 to generate an interrupt after
completion. When channel 3 fills an input buffer, the E3 bit in the interrupt pending register (IPR) is set to
1; when channel 2 empties an output buffer, the E2 bit in IPR is set to 1. The CPU must manually clear
these bits. With the channel parameters set, the CPU polls IPR to determine when to switch. The EDMA3
and CPU could alternatively be configured such that the channel completion interrupts the CPU. By doing
this, the CPU could service a background task while waiting for the EDMA3 to complete.
Figure 17-28. Ping-Pong Buffering for McBSP Data Example