Data Sheet
June 2001
DSP16410B Digital Signal Processor
82
Agere Systems—Proprietary
Use pursuant to Company instructions
Agere Systems Inc.
4 Hardware Architecture
(continued)
4.13 Direct Memory Access Unit (DMAU)
(continued)
4.13.3 Data Structures
The DMAU moves data in one-dimensional array, two-dimensional array, and block transfer patterns. The following
sections outline these three types of data structures and the methods for programming the DMAU registers to
establish them.
4.13.3.1 One-Dimensional Data Structure (SWT Channels)
Figure 20
illustrates the structure of a one-dimensional array for an SWT channel. The array consists of ncolumns
(buffers), each containing rrows (elements). The columns must be contiguous (back-to-back) in memory. See
Section 4.13.5
for more information about SWT channels. See
Section 4.13.9.2
for an example of a transfer using
a one-dimensional array.
A One-Dimensional Data Structure for Buffering n Input Channels
Figure 20. One-Dimensional Data Structure for Buffering nChannels
One-dimensional data structures for data transfers use
the address, base, limit, counter, and control registers
associated with the SWT channel carrying the data
between an SIU and memory.
CTL
0—3
The user software must initialize the cor-
responding control register with the POSTMOD[1:0]
field programmed to 0x2 to enable one-dimensional
array accesses, the SIGCON[2:0] field programmed to
a value that defines when interrupts are generated, and
the AUTOLOAD field set to one so that no further core
interaction is needed.
DADD
0—3
and
SADD
0—3
must initialize the corresponding destination and
source address registers to the top of the input (desti-
nation) and output (source) arrays located in memory.
The DMAU automatically increments these registers as
the transfer proceeds.
DBAS
0—3
and
SBAS
0—3
must also initialize the corresponding destination and
source base registers to the top of the input (destina-
tion) and output (source) arrays located in
The user software
The user software
memory. These registers are used with the autoload
feature of the associated SWT channel.
LIM
0—3
The user software must initialize the corre-
sponding limit register with the dimensions of the array.
The number of rows (or elements) is r; therefore, the
LASTROW[12:0] field is programmed to r– 1. The
number of columns, n
,
is the same as the number of
buffers; therefore, LASTCOL[6:0] field is programmed
to n – 1.
DCNT
0—3
and
SCNT
0—3
destination and source count registers contain the row
and column counters for one-dimensional array
accesses. The user software must initially clear these
registers. The DMAU automatically clears these regis-
ters upon the completion of an SWT transfer, and incre-
ments the row and column counter fields of these
registers as the transfer proceeds.
The corresponding
DMCON0
sponding SRUN[3:0] and DRUN[3:0] fields in
DMCON0
to enable source and destination transfers.
The user software must set the corre-
SOURCE
BUFFER
COMPLETE
SBAS
0—3
A
OUTPUT SOURCE ARRAY
INPUT DESTINATION ARRAY
ROW=0
ROW=1
ROW=r–1
ROW=0
ROW=1
ROW=r–1
C
C
SOURCE
BUFFER
COMPLETE
DESTINATION
BUFFER
COMPLETE
DBAS
0—3
A
ROW=0
ROW=1
ROW=r–1
ROW=0
ROW=1
ROW=r–1
C
C
DESTINATION
BUFFER
COMPLETE