Double Buffer Mode Principle
•
59
6
Double Buffer Mode Principle
The data buffer for a double-buffered DMA DI operation is logically a circular
buffer divided into two equal halves. The double-buffered DI begins when the
device starts writing data into the first half of the circular buffer (Figure 6-1a).
After device begins writing to the second half of the circular buffer, users can
copy the data from the first half into the transfer buffer (Figure 6-1b). Users
now can process the data in the transfer buffer according to application needs.
After the board has filled the second half of the circular buffer, the board
returns to the first half buffer and overwrites the old data. Users now can copy
the second half of the circular buffer to the transfer buffer (Figure 6-1c). The
data in the transfer buffer is again available for process. The process can be
repeated endlessly to provide a continuous stream of data to applications
(Figure 6-1d).
Incoming DMA
input data
Circular Buffer
Transfer Buffer
a
b
c
d
> > >
> > >> >
Empty Buffer Untransferred Data Transferred Data
> >
Figure 6-1