AD ADSP-21MSP58BST-104

a
FEATURES
38 ns Instruction Cycle Time (26 MIPS) from 13.00 MHz
Crystal
ADSP-2100 Family Code and Function Compatible with
New Instruction Set Enhanced for Bit Manipulation
Instructions, Multiplication Instructions, Biased
Rounding, and Global Interrupt Masking
2K 3 24 Words of On-Chip Program Memory RAM
2K 3 16 Words of On-Chip Data Memory RAM
4K 3 24 Words of On-Chip Program Memory ROM
(ADSP-21msp59 Only)
8-Bit Parallel Host Interface Port
Analog Interface Provides:
16-Bit Sigma-Delta ADC and DAC
Programmable Gain Stages
On-Chip Anti-Aliasing & Anti-Imaging Filters
8 kHz Sampling Frequency
65 dB ADC, SNR and THD
72 dB DAC, SNR and THD
425 mW Typical Power Dissipation @ 5.0 V @ 38 ns
<1 mW Powerdown Mode with 100 Cycle Recovery
Dual Purpose Program Memory for Both Instruction
and Data Storage
Independent ALU, Multiplier/Accumulator, and Barrel
Shifter Computational Units
Two Independent Data Address Generators
Powerful Program Sequencer Provides:
Zero Overhead Looping
Conditional Instruction Execution
Two Double-Buffered Serial Ports with Companding
Hardware, One Serial Port (SPORT0) has Automatic
Data Buffering
Programmable 16-Bit Interval Timer with Prescaler
Programmable Wait State Generation
Automatic Booting of Internal Program Memory from
Byte-Wide External Memory, e.g., EPROM, or
Through Host Interface Port
Stand-Alone ROM Execution (ADSP-21msp59 Only)
Single-Cycle Instruction Execution
Single-Cycle Context Switch
Multifunction Instructions
Three Edge- or Level-Sensitive External Interrupts
Low Power Dissipation in Standby Mode
100-Lead TQFP
DSP Microcomputers
ADSP-21msp58/59
FUNCTIONAL BLOCK DIAGRAM
POWERDOWN
CONTROL
LOGIC
MEMORY
ADSP-21msp59
DATA
ADDRESS
GENERATORS
DAG 1
PROGRAM
SEQUENCER
DAG 2
PROGRAM
MEMORY
4K x 24
(ROM)
ADSP-21msp58/59
PROGRAM
MEMORY
2K x 24
DATA
MEMORY
2K x 16
FLAG
ANALOG
INTERFACE
PROGRAM MEMORY ADDRESS
DATA MEMORY ADDRESS
EXTERNAL
ADDRESS
BUS
PROGRAM MEMORY DATA
DATA MEMORY DATA
EXTERNAL
DATA
BUS
ARITHMETIC UNITS
ALU
MAC
TIMER
SHIFTER
SERIAL PORTS
ADSP-2100 BASE
ARCHITECTURE
SPORT 0
SPORT 1
HOST
INTERFACE
PORT
GENERAL DESCRIPTION
The ADSP-21msp58 and ADSP-21msp59 Mixed-Signal Processors (MSProcessor® DSPs) are fully integrated, single-chip
DSPs complete with a high performance analog front end. The
ADSP-21msp58/59 Family is optimized for voice band applications such as Speech Compression, Speech Processing, Speech
Recognition, Text-to Speech, and Speech-to-Text conversion.
The ADSP-21msp58/59 combines the ADSP-2100 base architecture (three computation units, data address generators, and
program sequencer) with two serial ports, a host interface port,
an analog front end, a programmable timer, extensive interrupt
capability, and on-chip program and data memory.
The ADSP-21msp58 provides 2K words (24-bit) of program
RAM and 2K words (16-bit) of data memory. The ADSP21msp59 provides an additional 4K words (24-bit) of program
ROM. The ADSP-21msp58/59 integrates a high performance
analog codec based on a single chip, voice band codec, the
AD28msp02. Powerdown circuitry is also provided to meet the
low power needs of battery operated portable equipment. The
ADSP-21msp58/59 is available in a 100-pin TQFP package
(thin quad flat package).
In addition, the ADSP-21msp58/59 supports new instructions,
which include bit manipulations–bit set, bit clear, bit toggle,
bit test–new ALU constants, new multiplication instruction
(x squared), biased rounding, and global interrupt masking.
MSProcessor is a registered trademark of Analog Devices, Inc.
REV. 0
Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties
which may result from its use. No license is granted by implication or
otherwise under any patent or patent rights of Analog Devices.
© Analog Devices, Inc., 1995
One Technology Way, P.O. Box 9106, Norwood. MA 02062-9106, U.S.A.
Tel: 617/329-4700
Fax: 617/326-8703
ADSP-21msp58/59
DIGITAL ARCHITECTURE OVERVIEW
The two address buses (PMA, DMA) share a single external address bus, allowing memory to be expanded off chip, and the
two data buses (PMD, DMD) share a single external data bus.
The BMS, DMS, and PMS signals indicate which memory
space the external buses are being used for.
Figure 1 is an overall block diagram of the ADSP-21msp58/59.
The processors contain three independent computational units:
the ALU, the multiplier/accumulator (MAC), and the shifter.
The computational units process 16-bit data directly and have
provisions to support multiprecision computations. The ALU
performs a standard set of arithmetic and logic operations; division primitives are also supported. The MAC performs singlecycle multiply, multiply/add, and multiply/subtract operations.
The shifter performs logical and arithmetic shifts, normalization,
denormalization, and derive exponent operations. The shifter
can be used to efficiently implement numeric format control including multiword floating-point representations.
Program memory can store both instructions and data, permitting the ADSP-21msp58/59 to fetch two operands in a single
cycle, one from program memory and one from data memory.
The ADSP-21msp58/59 can fetch an operand from on-chip
program memory and the next instruction in the same cycle.
The memory interface supports slow memories and memorymapped peripherals with programmable wait state generation.
External devices can gain control of the processors’ buses with
the use of the bus request/grant signals (BR and BG). Bus grant
has two modes of operation. If GoMode is enabled in the MSTAT
register, instruction execution continues from internal memory.
If GoMode is disabled, the processor stops instruction execution
and waits for deassertion of BR.
The internal result (R) bus directly connects the computational
units so that the output of any unit may be the input of any unit
on the next cycle.
A powerful program sequencer and two dedicated data address
generators ensure efficient use of these computational units.
The sequencer supports conditional jumps, subroutine calls,
and returns in a single cycle. With internal loop counters and
loop stacks, the ADSP-21msp58/59 executes looped code with
zero overhead—no explicit jump instructions are required to
maintain the loop.
In addition to the address and data bus for external memory
connection, the ADSP-21msp58/59 has a host interface port
(HIP) for easy connection to a host processor. The HIP is made
up of 8 data/address pins and 10 control pins. The HIP is extremely flexible and provides a simple interface to a variety of
host processors. For example, the Motorola 68000 series, the
Intel 80C51 series, and the Analog Devices ADSP-2101 can be
easily connected to the HIP. The host processor can boot the
ADSP-21msp58/59 on-chip memory through the HIP.
Two data address generators (DAGs) provide addresses for simultaneous dual operand fetches (from data memory and program memory). Each DAG maintains and updates four address
pointers. Whenever the pointer is used to access data (indirect
addressing), it is post-modified by the value of one of four
modify registers. A length value may be associated with each
pointer to implement automatic modulo addressing for circular
buffers. The circular buffering feature is also used by the serial
ports for automatic data transfers to (and from) on-chip
memory.
The ADSP-21msp58/59 can respond to eleven interrupts. There
can be up to three external interrupts, configured as edge- or
level-sensitive, and seven internal interrupts generated by the
Timer, the Serial Ports (SPORTs), the HIP, the powerdown circuitry, and the analog interface. There is also a master RESET
signal.
Efficient data transfer is achieved with the use of five internal
buses:
• Program Memory Address (PMA) Bus
• Program Memory Data (PMD) Bus
• Data Memory Address (DMA) Bus
• Data Memory Data (DMD) Bus
• Result (R) Bus
DATA
ADDRESS
GENERATOR
#1
DATA
ADDRESS
GENERATOR
#2
The two serial ports provide a complete synchronous serial interface with optional companding in hardware and a wide variety of framed or frameless data transmit and receive modes of
operation. Each port can generate an internal programmable serial clock or accept an external serial clock.
Booting circuitry provides for loading on-chip program memory
automatically from byte-wide external memory. After reset,
INSTRUCTION
REGISTER
PROGRAM
SRAM
2K x 24
PROGRAM
SEQUENCER
PROGRAM
ROM
4K x 24
(ADSP-21msp59)
14
PMA BUS
14
DMA BUS
24
PMD BUS
16
DMD BUS
1
FLAG
DATA
SRAM
2K x 16
BOOT
ADDRESS
GENERATOR
7
ADC, DAC
AND
FILTERS
14
EXTERNAL
ADDRESS
BUS
24
EXTERNAL
DATA
BUS
MUX
MUX
COMPANDING
CIRCUITRY
INPUT REGS
ALU
OUTPUT REGS
INPUT REGS
INPUT REGS
MAC
SHIFTER
OUTPUT REGS
16
OUTPUT REGS
CONTROL
LOGIC
TRANSMIT REG
TRANSMIT REG
RECEIVE REG
RECEIVE REG
SERIAL
PORT 0
SERIAL
PORT 1
5
5
R BUS
HIP
CONTROL
10
TIMER
HIP
REGISTER
POWER
DOWN
CONTROL
LOGIC
8
HIP
DATA
BUS
1
Figure 1. ADSP-21msp58/59 Block Diagram
–2–
REV. 0
ADSP-21msp58/59
seven wait states are automatically generated. This allows, for
example, a 38 ns ADSP-21msp58/59 to use a 250 ns EPROM
as external boot memory. Multiple programs can be selected
and loaded from the EPROM with no additional hardware. The
on-chip program memory can also be initialized through the
HIP.
Pin Descriptions
The ADSP-21msp58 and ADSP-21msp59 are available in a
100-lead TQFP package. Table I contains the pin descriptions.
Table I. ADSP-21msp58/59 Pin List
The ADSP-21msp58/59 features a general purpose flag output
whose state is controlled through software. You can use this
output to signal an event to an external device. In addition, the
data input and output pins on SPORT1 can be alternatively
configured as an input and an output flag.
A programmable interval timer can generate periodic interrupts.
A 16-bit count register (TCOUNT) is decremented every n
cycles, where n–1 is a scaling value stored in an 8-bit register
(TSCALE). When the value of the count register reaches zero,
an interrupt is generated and the count register is reloaded from
a 16-bit period register (TPERIOD).
The ADSP-21msp58/59 instruction set provides flexible data
moves and multifunction (one or two data moves with a computation) instructions. Every instruction can be executed in a
single processor cycle. The ADSP-21msp58/59 uses an algebraic syntax for ease of coding and readability. A comprehensive
set of development tools supports program development.
Serial Ports
The ADSP-21msp58/59 processors include two synchronous serial ports (SPORT0 and SPORT1) for serial communications
and multiprocessor communication.
Here is a brief list of the capabilities of the ADSP-21msp58/59
SPORTs. Refer to the ADSP-2100 Family User’s Manual for further details.
• SPORTs are bidirectional with a separate, double-buffered
transmit and receive section.
• SPORTs can use an external serial clock or generate their own
clock internally.
• SPORTs have independent framing for the transmit and
receive sections. Sections run in a frameless mode or with
frame synchronization signals internally or externally generated. Frame sync signals are programmed to be active high or
low, with either of two pulse widths and timings.
• SPORTs support serial data word lengths from 3 to 16 bits
and provide optional A-law and µ-law companding according
to CCITT recommendation G.711.
• SPORTs receive and transmit sections generate separate
interrupts when the SPORTs are ready to read or write new
data.
• SPORTs can receive and transmit an entire circular buffer of
data with only one overhead cycle per data word (Autobuffering
Mode). An interrupt is generated after a complete data buffer
transfer.
• SPORT0 has a multichannel interface to selectively receive
and transmit a 24- or 32-word, time-division multiplexed
serial bit stream.
• SPORT1 can be reconfigured as two external interrupt inputs
(IRQ0 and IRQ1) and the Flag In and Flag Out signals (FI,
FO). The internally generated serial clock may still be used in
this configuration.
REV. 0
Pin
Group
Name
#
of
Input/
Pins Output Function
Digital Pins
Address
14
O
Data
24
I/O
RESET
IRQ2
BR
BG
PMS
DMS
BMS
RD
WR
MMAP
CLKIN,
XTAL
1
1
1
1
1
1
1
1
1
1
I
I
I
O
O
O
O
O
O
I
2
I
CLKOUT
HACK
HSEL
BMODE
1
1
1
1
O
O
I
I
HMD0
1
I
HMD1
1
I
HRD/HRW
1
I
HWR/HDS
1
I
HD7–0/
HAD7–0
8
I/O
HA2/ALE
1
I
HA1–0/
(unused)
SPORT0
2
5
I
I/O
SPORT1
5
I/O
or
–3–
Address output for program,
data and boot memory spaces
Data I/O pins for program
and data memories. Input
only for boot memory space,
with two MSBs used as boot
space addresses.
Processor reset input
External interrupt request #2
External bus request input
External bus grant output
External program memory select
External data memory select
Boot memory select
External memory read enable
External memory write enable
Memory map select
External clock or quartz crystal
input
Processor clock output
HIP acknowledge output
HIP select input
Boot mode select (0 = Standard
EPROM Booting, 1 = HIP
Booting)
Bus strobe select (0 = RD/WR,
1 = RW/DS)
HIP address/data mode select
(0 = Separate, 1 = Multiplexed)
HIP read strobe or read/write
select
HIP write strobe or host data
strobe select
HIP data or HIP data and
address
Host address 2 or address latch
enable
Host address 1 and 0 inputs
Serial port 0 pins (TFS0, RFS0,
DT0, DR0, SCLK0)
Serial port 1 pins (TFS1, RFS1,
DT1, DR1, SCLK1)
ADSP-21msp58/59
Pin
Group
Name
#
of
Input/
Pins Output Function
IRQ0 (RFS1)
IRQ1 (TFS1)
SCLK1
FI (DR1)
FO (DT1)
FL0
VDD
GND
PWD
Analog Pins
VINNORM
1
1
1
1
1
1
4
5
1
I
I
O
I
O
O
1
I
VINAUX
1
I
Decouple
1
I
VOUTP
1
O
VOUTN
1
O
VREF
REF_
FILTER
1
O
1
O
VCC
GNDA
1
2
I
Tying these pins to appropriate values configures the ADSP21msp58/59 for straight-wire interface to a variety of industrystandard microprocessors and microcomputers.
When the host processor writes an 8-bit value to the HIP, the
upper eight bits of the HIP registers are all zeros. For additional
information, refer to the ADSP-2100 Family User’s Manual,
Chapter 7, for information about 8-bit configuration.
External interrupt request #0
External interrupt request #1
Programmable clock output
Flag input pin
Flag output pin
General purpose flag output pin
Digital power supply pins
Ground pins
Powerdown pin
HIP Operation
The HIP contains six data registers (HDR5-0) and two status
registers (HSR7-6) with an associated HMASK register for
masking interrupts from individual HIP data registers. The HIP
data registers are memory-mapped in the internal data memory
of the ADSP-21msp58/59. HIP transfers can be managed using
either interrupts or polling. These registers are shown in the section “ADSP-21msp58/59 Registers.” The two status registers
provide status information to both the ADSP-21msp58/59 and
the host processor. HSR7 contains a software reset bit that can
be set by the ADSP-21msp58/59 and the host.
Input terminal of the NORM
amplifier for the encoder section
(ADC)
Input terminal of the AUX
amplifier for the encoder section
(ADC)
Ground reference of the NORM
and AUX amplifiers for the
encoder section (ADC)
Noninverting output terminal of
the differential amplifier from
the decoder section (DAC)
Inverting output terminal of the
differential amplifier from the
decoder section (DAC)
Output voltage reference
The HIP allows a software reset to be performed by the host
processor. The internal software reset signal is asserted for five
ADSP-21msp58/59 cycles.
The HIP generates an interrupt whenever an HDR register receives data from a host processor write. It also generates an interrupt when the host processor has performed a successful read
of any HDR. The read/write status of the HDRs is also stored in
the HSR registers.
The HMASK register bits can be used to mask the generation of
read or write interrupts from individual HDR registers. Bits in
the IMASK register enable and disable all HIP read interrupts
or all HIP write interrupts. So, for example, a write to HDR4
will cause an interrupt only if both the HDR4 Write bit in
HMASK and the HIP Write interrupt enable bit in IMASK are
set.
Voltage reference external bypass filter node
Analog power supply
Analog ground
The HIP provides a second method of booting the ADSP21msp58/59 in which the host processor loads instructions into
the HIP. The ADSP-21msp58/59 automatically transfers the
data, in this case opcodes, to internal program memory. The
BMODE pin determines whether the ADSP-21msp58/59 boots
from the host processor through the HIP or from external
EPROM over the data bus.
Host Interface Port
The ADSP-21msp58/59 host interface port (HIP) is a parallel
I/O port that allows for an easy connection to a host processor.
Through the HIP, the ADSP-21msp58/59 can be used as a
memory-mapped peripheral to a host computer. The HIP can
be thought of as an area of dual-ported memory, or mailbox registers, that allows communication between the computational
core of the ADSP-21msp58/59 and the host computer.
Interrupts
The interrupt controller lets the processor respond to interrupts
and reset with a minimum of overhead. The ADSP-21msp58/59
provides up to three external interrupt input pins, IRQ0, IRQ1,
and IRQ2. IRQ2 is always available as a dedicated pin;
SPORT1 may be reconfigured for IRQ1 and IRQ0 and the flag.
The ADSP-21msp58/59 also supports internal interrupts from
the timer, the host interface port, the serial ports, the analog interface, and the powerdown control circuit. The interrupts are
internally prioritized and individually maskable (except for
powerdown and RESET). The input pins can be programmed
for either level- or edge-sensitivity. The priorities and vector addresses for the interrupts are shown in Table II; the interrupt
registers are shown in Figure 2.
The host interface port is completely asynchronous. The host
processor can write data into the HIP while the ADSP21msp58/59 is operating at full speed.
The HIP can be configured with the following pins:
• BMODE (when MMAP = 0) determines whether the ADSP21msp58/59 boots from the host processor (through the HIP)
or external EPROM (through the data bus).
• HMD0 configures the bus strobes as separate read and write
strobes, or a single read/write select and a host data strobe.
• HMD1 selects separate address (3-bit) and data (8-bit) buses,
or a multiplexed 8-bit address/data bus with address latch
enable.
–4–
REV. 0
ADSP-21msp58/59
IMASK
ICNTL
4
3
2
1
0
0
IRQ0 Sensitivity
IRQ1 Sensitivity
IRQ2 Sensitivity
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
Timer
IRQ0 or SPORT1 Receive
IRQ1 or SPORT1 Transmit
Analog Receive
Analog Transmit
1 = enable, 0 = disable
IRQ2
HIP Write
HIP Read
SPORT0 Transmit
SPORT0 Receive
1 = edge
0 = level
Interrupt Nesting
1 = enable, 0 = disable
IFC
15 14 13 12 11 10
0
0
0
0
0
0
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
INTERRUPT FORCE
INTERRUPT CLEAR
IRQ2
SPORT0 Transmit
Timer
SPORT1 Receive or IRQ0
SPORT0 Receive
Analog Transmit
SPORT1 Transmit or IRQ1
Analog Receive
Analog Receive
SPORT1 Transmit or IRQ1
SPORT1 Receive or IRQ0
Timer
Analog Transmit
SPORT0 Receive
SPORT0 Transmit
IRQ2
1 = enable, 0 = disable
Figure 2. Interrupt Registers
The following instructions allow global enable or disable servicing of the interrupts (including powerdown), regardless of the
state of IMASK. Disabling the interrupts does not affect
autobuffering.
Table II. Interrupt Priority & Interrupt Vector Addresses
Source of Interrupt
Reset (or Power-Up with PUCR = 1)
Powerdown (Nonmaskable)
IRQ2
HIP Write
HIP Read
SPORT0 Transmit
SPORT0 Receive
Analog Interface Transmit
Analog Interface Receive
SPORT1 Transmit or (IRQ1)
SPORT1 Receive or (IRQ0)
Timer
Interrupt Vector
Address (Hex)
ENA INTS;
DIS INTS;
0000 (Highest Priority)
002C
0004
0008
000C
0010
0014
0018
001C
0020
0024
0028 (Lowest Priority)
Interrupt servicing is enabled on processor reset.
System Interface
Figure 3 shows a basic system configuration with the ADSP21msp58/59, two serial devices, a host processor, a boot
EPROM, optional external program and data memories, and an
analog interface. Up to 15K words of data memory and 16K
words of program memory can be supported. Programmable
wait state generation allows the processor to interface easily to
slow memories. The ADSP-21msp58/59 also provides one external interrupt and two serial ports or three external interrupts
and one serial port.
Interrupts can be masked or unmasked with the IMASK register. Individual interrupt requests are logically ANDed with the
bits in IMASK; the highest priority unmasked interrupt is then
selected. The powerdown interrupt is non-maskable.
Clock Signals
The ADSP-21msp58/59 CLKIN input may be driven by a crystal or by a TTL-compatible external clock signal.
The interrupt control register, ICNTL, allows the external interrupts to be set as either edge- or level-sensitive. Interrupt service routines can either be nested (with higher priority interrupts
taking precedence) or be processed sequentially (with only one
interrupt service active at a time).
The CLKIN input may not be halted, changed in frequency
during operation, or operated at any frequency other the one
specified. Operating the ADSP-21msp58/59 at any other frequency changes the analog performance, which is not tested or
supported.
The interrupt force and clear register, IFC, is a write-only register used to force an interrupt or clear a pending edge-sensitive
interrupt.
If an external clock is used, it should be a TTL-compatible signal running at half the instruction rate. The signal should be
connected to the processor’s CLKIN input; in this case, the
XTAL input must be left unconnected.
On-chip stacks preserve the processor status and are automatically maintained during interrupt handling. The stack is twelve
levels deep to allow interrupt nesting.
The ADSP-21msp58/59 uses an input clock with a frequency
equal to half the instruction rate; a 13 MHz input clock yields a
38.46 ns processor cycle (which is equivalent to 26 MHz). Normally, instructions are executed in a single processor cycle.
Register bit values shown in Figure 2 are the default bit values
after reset. If no values are shown, the bits are indeterminate at
reset. Reserved bits are shown in gray; these bits should always
be written with zeros.
REV. 0
All device timing is relative to the internal instruction clock rate,
which is indicated by the CLKOUT signal when enabled. The
–5–
ADSP-21msp58/59
ANALOG
INPUT
ANALOG
OUTPUT
HIP CONTROL
CLOCK OR
CRYSTAL
HOST
PROCESSOR
HIP DATA/ADDR
1
2
3
4
4
CLKIN XTAL VCC GNDA
3
5
HOST
MODE
VDD GND
CLKOUT
7
HIP
SCLK
RFS
SERIAL
PORT 0
RESET
(OPTIONAL)
8
TFS
SERIAL DEVICE
DT
(OPTIONAL)
DR
IRQ2
ADSP-21msp58/59
BR
SCLK
BG
RFS OR IRQ0
MMAP
TFS OR IRQ1
SERIAL
PORT 1
FL0
PMS
RD
WR
ADDRESS
DATA DMS
14
SERIAL DEVICE
DT OR FO
(OPTIONAL)
DR OR FI
BMS
24
D 23-22
D 23-8
14
24
2
D 15-8
8
16
A
D
A
CS
PROGRAM
MEMORY
OE
OE
WE
WE
(OPTIONAL)
D
CS
A
OE
DATA
MEMORY &
PERIPHERALS
D
CS
BOOT
MEMORY
e.g., EPROM
27C64
27C128
27C256
27C512
(OPTIONAL)
NOTE: The two MSBs of the Boot EPROM Address are also the two MSBs of the Data Bus.
This is only for the 27C256 and 27C512.
Figure 3. ADSP-21msp58/59 Basic System Configuration
2000 CLKIN cycles will ensure that the PLL has locked (this
does not, however, include the crystal oscillator start-up time).
During this power-up sequence, the RESET signal should be
held low. On any subsequent resets, the RESET signal must
meet the minimum pulse width specification, tRSP.
CLKOUT signal is enabled and disabled by the CLKODIS bit
in the SPORT0 Autobuffer Control Register, DM[0x3FF3].
Because the ADSP-21msp58/59 includes an on-chip oscillator
circuit, an external crystal may also be used. The crystal should
be connected across the CLKIN and XTAL pins, with two capacitors connected as shown in Figure 4. A parallel-resonant,
fundamental frequency, microprocessor-grade crystal should be
used.
CLKIN
XTAL
The RESET input contains some hysteresis; however, if you use
an RC circuit to generate your RESET signal, the use of an external Schmidt trigger is recommended.
The master RESET sets all internal stack pointers to the empty
stack condition, masks all interrupts, and clears the MSTAT
register. When RESET is released, if there is no pending bus request and the chip is configured for booting (MMAP = 0), the
boot loading sequence is performed. Then the first instruction is
fetched from internal program memory location 0x0000 and execution begins.
CLKOUT
ADSP-21msp58/59
Program Memory Interface
Figure 4. External Crystal Connections
The on-chip program memory address bus (PMA) and on-chip
program memory data bus (PMD) are multiplexed with the onchip data memory buses (DMA, DMD), creating a single external data bus and a single external address bus. The data and
address busses are three-stated when the DSP runs from internal memory. Refer to the ADSP-2100 Family User’s Manual,
Chapter 10, “Memory Interface” for a detailed explanation. The
14-bit address bus directly addresses up to 16K words. See
“Program Memory Maps” for details on program memory
addressing.
Reset
The RESET signal initiates a master reset of the ADSP21msp58/59. The RESET signal must be asserted during the
power-up sequence to assure proper initialization. RESET during initial power-up must be held long enough to allow the
processor’s internal clock to stabilize. If RESET is asserted at
any time after power-up, the clock continues to run and does
not require stabilization time.
The power-up sequence is defined as the total time required for
the crystal oscillator circuit to stabilize after a valid VDD is applied to the processor and for the internal phase-locked loop
(PLL) to lock onto the specific crystal frequency. A minimum of
The program memory data lines are bidirectional. The program
memory select (PMS) signal indicates access to program
memory and can be used as a chip select signal. The write (WR)
signal indicates a write operation and is used as a write strobe.
–6–
REV. 0
ADSP-21msp58/59
The read (RD) signal indicates a read operation and is used as a
read strobe or output enable signal. An external program
memory access should always be qualified with the PMS signal.
When MMAP = 1, 14K words of external program memory begin at address 0x0000 and internal RAM is located in the upper
2K words, beginning at address 0x3800. In this configuration,
the boot loading sequence does not take place; execution begins
immediately after RESET.
The ADSP-21msp58/59 writes data from its 16-bit registers to
24-bit program memory using the PX register to provide the
lower eight bits. When the processor reads data (not instructions) from 24-bit program memory to a 16-bit data register, the
lower eight bits are placed in the PX register. The program
memory interface can generate zero to seven wait states for external memory devices; the default is seven wait states after
RESET.
ADSP-21msp59
The ADSP-21msp59 is functionally identical to the ADSP21msp58. The ADSP-21msp59 includes an additional 4K by
24-bit mask programmable ROM (see Figure 6). The ROM
can be used to hold program instructions or data and can be
accessed twice in one instruction cycle if necessary. The ROM
always resides at locations PM[0x0800] through PM[0x17FF]
regardless of the state of the MMAP pin. Sixteen addresses at
the end of ROM (0x17F0–0x17FF) are reserved for Analog
Devices’ use. The ROM is enabled by setting the ROMENABLE
bit in the Data Memory Wait State control register, DM[0x3FFE].
When the ROMENABLE bit is set to 1, addressing program
memory in this range will access the on-chip ROM. When set
to 0, addressing program memory in this range will access external program memory. The ROMENABLE bit is set to 0 on
chip reset.
Program Memory Maps
ADSP-21msp58
ADSP-21msp58 Program memory can be mapped in two ways,
depending on the state of the MMAP pin. Figure 5 shows the
two configurations. When MMAP = 0, internal RAM occupies
2K words beginning at address 0x0000; external program
memory uses the remaining 14K words beginning at address
0x0800. In this configuration, the boot loading sequence (described in “Boot Memory Interface”) is automatically initiated
when RESET is released.
0000
Data Memory Interface
0000
The data memory address bus (DMA) is 14 bits wide. The bidirectional external data bus is 24 bits wide, with the upper 16
bits used for data memory data (DMD) transfers.
INTERNAL
RAM
LOADED FROM
EXTERNAL
BOOT
MEMORY
EXTERNAL
The data memory select (DMS) signal indicates access to data
memory and can be used as a chip select signal. The write (WR)
signal indicates a write operation and can be used as a write
strobe. The read (RD) signal indicates a read operation and can
be used as a read strobe or output enable signal.
07FF
0800
EXTERNAL
The ADSP-21msp58/59 supports memory-mapped I/O, with
the peripherals memory mapped into the data or program
memory address spaces and accessed by the processor in the
same manner.
37FF
3800
INTERNAL
RAM
NOT LOADED
3FFF
MMAP=0
Data Memory Map
The on-chip data memory RAM resides in the 2K words beginning at address 0x3000, as shown in Figure 7. In addition, data
memory locations from 0x3800 to the end of data memory at
0x3FFF are reserved. Control registers for the system, timer,
3FFF
MMAP=1
Figure 5. ADSP-21msp58 Program Memory Maps
0000
INTERNAL
MASK
PROGRAMMED
ROM
17F0 – 17FF
RESERVED
0000
INTERNAL
RAM
LOADED FROM
EXTERNAL
BOOT
MEMORY
INTERNAL
RAM
LOADED FROM
EXTERNAL
BOOT
MEMORY
07FF
0800
17FF
1800
0000
0000
EXTERNAL
07FF
0800
INTERNAL
MASK
PROGRAMMED
ROM
17F0 – 17FF
RESERVED
EXTERNAL
EXTERNAL
07FF
0800
17FF
1800
37FF
3800
EXTERNAL
EXTERNAL
INTERNAL
RAM
NOT LOADED
ROM ENABLE = 1
MMAP = 0
3FFF
INTERNAL
RAM
NOT LOADED
3FFF
3FFF
ROM ENABLE = 0
MMAP = 0
37FF
3800
ROM ENABLE = 1
MMAP = 1
3FFF
ROM ENABLE = 0
MMAP = 1
Figure 6. ADSP-21msp59 Program Memory Maps
REV. 0
–7–
ADSP-21msp58/59
HIP Booting
wait-state configuration, host interface port, codec, and serial
port operations are located in this region of memory.
The ADSP-21msp58/59 can also boot programs through the
Host Interface Port. If BMODE = 1 and MMAP = 0, the
ADSP-21msp58/59 boots from the HIP. If BMODE = 0, the
ADSP-21msp58/59 boots through the data bus (in the same
way as the ADSP-2101), as described above in “Boot Memory
Interface.” For additional information about HIP booting, refer
to the ADSP-2100 Family User’s Manual, Chapter 7, “Host Interface Port.”
The remaining 12K of data memory is external. External data
memory is divided into three zones, each associated with its own
wait-state generator. By mapping peripherals into different
zones, you can accommodate peripherals with different waitstate requirements. All zones default to seven wait states after
RESET.
For compatibility with other ADSP-2100 Family processors, bit
definitions for DWAIT3 and DWAIT4 are shown in the Data
Memory Wait State Control register, but they are not used by
the ADSP-21msp58/59.
0000
0000
DWAIT0
(1K EXTERNAL)
DWAIT1
(1K EXTERNAL)
The ADSP-2100 Family Development Software includes a
utility program called the HIP Splitter. This utility allows the
creation of programs that can be booted through the ADSP21msp58/59 HIP, in a similar fashion as EPROM-bootable
programs generated by the PROM Splitter utility.
Bus Request and Bus Grant
03FF
0400
07FF
0800
The ADSP-21msp58/59 can relinquish control of the data and
address buses to an external device. When the external device
requires access to memory, it asserts the bus request signal
(BR). If the ADSP-21msp58/59 is not performing an external
memory access, it responds to the active BR input in the following processor cycle by
• three-stating the data and address buses and the PMS, DMS,
BMS, RD, and WR output drivers,
• asserting the bus grant (BG) signal, and
• halting program execution.
12K
EXTERNAL
DWAIT2
(10K EXTERNAL)
2FFF
3000
2FFF
3000
2K
INTERNAL
NO WAIT STATES
1K
RESERVED
MEMORY MAPPED
REGISTERS
AND RESERVED
3BFF
3C00
If GoMode is enabled, the ADSP-21msp58/59 will not halt program execution until it encounters an instruction that requires
an external memory access.
3FFF
3FFF
WAIT STATES
37FF
3800
DATA MEMORY
If the ADSP-21msp58/59 is performing an external memory access when the external device asserts the BR signal, then it will
not three-state the memory interfaces or assert the BG signal
until the cycle after the access is completed, which can be up to
eight cycles later depending on the number of wait states. The
instruction does not need to be completed when the bus is
granted. If a single instruction requires two external memory
accesses, the bus will be granted between the two accesses.
Figure 7. ADSP-21msp58/59 Data Memory Maps
Boot Memory Interface
The ADSP-21msp58/59 can load on-chip memory from external boot memory space. The boot memory space consists of
64K by 8-bit space, divided into eight separate 8K by 8-bit
pages. Three bits in the System Control Register select which
page is loaded by the boot memory interface. Another bit in the
System Control Register allows the user to force a boot loading
sequence under software control. Boot loading from Page 0 after
RESET is initiated automatically if MMAP = 0.
When the BR signal is released, the processor releases the BG
signal, which reenables the output drivers, and continues program execution from the point where it stopped.
The bus request feature operates at all times, including when
the processor is booting and when RESET is active.
The boot memory interface can generate zero to seven wait
states; it defaults to seven wait states after RESET. This allows
the ADSP-21msp58/59 to boot from a single low cost EPROM
such as a 27C256. Program memory is booted one byte at a
time and converted to 24-bit program memory words.
LOW POWER OPERATION
The ADSP-21msp58/59 has three low power modes that significantly reduce the power dissipation when the device operates
under standby conditions. These modes are:
The BMS and RD signals are used to select and to strobe the
boot memory interface. Only 8-bit data is read over the data
bus, on pins D8–D15. To accommodate addressing up to eight
pages of boot memory, the two MSBs of the data bus are used
in the boot memory interface as the two MSBs of the boot
memory address.
• Powerdown
• Idle
• Slow Idle
The CLKOUT pin may also be disabled to reduce external
power dissipation. The CLKOUT pin is controlled by Bit 14 of
SPORT0 Autobuffer Control Register, DM[0x3FF3].
The ADSP-2100 Family Assembler and Linker support the creation of programs and data structures requiring multiple boot
pages during execution.
Powerdown
RD and WR must always be qualified by PMS, DMS, or BMS
to ensure the correct program, data, or boot memory accessing.
The ADSP-21msp58/59 has a low power feature that lets the
processors enter a very low power dormant state through hardware or software control. Here is a brief list of powerdown features. Refer to the ADSP-2100 Family User’s Manual, Chapter 9,
–8–
REV. 0
ADSP-21msp58/59
“System Interface” for detailed information about the powerdown feature.
When the IDLE (n) instruction is used in systems that have an
externally generated serial clock (SCLK), the serial clock rate
may be faster than the processor’s reduced internal clock rate.
Under these conditions, interrupts must not be generated at a
faster rate than can be serviced, due to the additional time the
processor takes to come out of the idle state (a maximum of n
processor cycles).
• Powerdown mode holds the processor in CMOS standby with
a maximum current of less than 100 µA in some modes.
• Quick recovery from powerdown. In some modes, the processor can begin executing instructions in less than 100 CLKIN
cycles.
Standalone ROM Execution (ADSP-21msp59 Only)
• Support for an externally generated TTL or CMOS processor
clock. The external clock can continue running during
powerdown without affecting the lowest power rating and 100
CLKIN cycle recovery.
When the MMAP and BMODE pins both are set to 1, the
ROM is automatically enabled and execution commences from
program memory location 0x0800 at the start of ROM. This
feature lets an embedded design operate without external
memory components. To operate in this mode, the ROM coded
program must copy an interrupt vector table to the appropriate
locations in program memory RAM. In this mode, the ROM
enable bit defaults to 1 during reset.
• Support for crystal operation includes disabling the oscillator
to save power (the processor automatically waits 4096 CLKIN
cycles for the crystal oscillator to start and stabilize), and
letting the oscillator run to allow 100 CLKIN cycle start-up.
• Powerdown is initiated by either the powerdown pin (PWD)
or the software powerdown force bit.
Table III. Boot Summary Table
• Interrupt support allows an unlimited number of instructions
to be executed before optionally powering down. The powerdown interrupt also can be used as a non-maskable, edgesensitive interrupt.
• Context clear/save control lets the processor continue where it
left off or start with a clean context when leaving the powerdown state.
• The RESET pin also can be used to terminate powerdown,
and the host software reset feature can be used to terminate
powerdown under certain conditions.
BMODE = 0
BMODE = 1
MMAP = 0
Boot from EPROM,
then execution starts
at internal RAM
location 0x0000
Boot from HIP, then
execution starts at
internal RAM location
0x0000
MMAP = 1
No booting, execution
Stand Alone Mode,
starts at external memory execution starts at
location 0x0000
internal ROM location
0x0800
• Setting the CLKODIS bit (Bit 14 of the SPORT0 Autobuffer
Control Register [0x3FF3]) disables the CLKOUT pin during
powerdown.
Ordering Procedure For ADSP-21msp59 ROM Processors
Idle
1. Complete the following forms contained in the ADSP ROM
Ordering Package, available from your Analog Devices sales
representative:
To place an order for a custom ROM-coded ADSP-21msp59
processor, you must:
When the ADSP-21msp58/59 is in the Idle Mode, the processor
waits indefinitely in a low power state until an interrupt occurs.
When an unmasked interrupt occurs, it is serviced; execution
then continues with the instruction following the IDLE instruction.
ADSP-21msp59 ROM Specification Form
ROM Release Agreement
ROM NRE Agreement & Minimum Quantity Order (MQO)
Acceptance Agreement for Preproduction ROM Products
Slow Idle
The IDLE instruction is enhanced on the ADSP-21msp58/59 to
let the processor’s internal clock signal be slowed, further reducing power consumption. The reduced clock frequency, a programmable fraction of the normal clock rate, is specified by a
selectable divisor given in the IDLE instruction. The format of
the instruction is
2. Return the forms to Analog Devices along with two copies of
the Memory Image File (.EXE file) of your ROM code. The
files must be supplied on two 3.5" or 5.25" floppy disks for
the IBM PC (DOS 2.01 or higher).
3. Place a purchase order with Analog Devices for nonrecurring
engineering changes (NRE) associated with ROM product
development.
IDLE (n);
where n = 16, 32, 64, or 128. This instruction keeps the processor fully functional, but operating at the slower clock rate. While
it is in this state, the processor’s other internal clock signals,
such as SCLK, and timer clock, are reduced by the same ratio.
CLKOUT remains at the normal rate; it is not reduced. The default form of the instruction, when no clock divisor is given, is
the standard IDLE instruction.
After this information is received, it is entered into Analog
Devices’ ROM Manager System that assigns a custom ROM
model number to the product. This model number will be
branded on all prototype and production units manufactured to
these specifications.
To minimize the risk of code being altered during this process,
Analog Devices verifies that the .EXE files on both floppy disks
are identical, and recalculates the checksums for the .EXE file
entered into the ROM Manager System. The checksum data, in
the form of a ROM Memory Map, a hard copy of the .EXE file,
and a ROM Data Verification form are returned to you for
inspection.
When the IDLE (n) instruction is used, it effectively slows down
the processor’s internal clock and thus its response time to incoming interrupts––the 1-cycle response time of the standard
idle state is increased by n, the clock divisor. When an enabled
interrupt is received, the ADSP-21msp58/59 remains in the idle
state for up to a maximum of n processor cycles (n = 16, 32, 64,
or 128) before resuming normal operation.
REV. 0
–9–
ADSP-21msp58/59
Bit 10 of the Analog Control Register (0x3FEE) may be set to
add an offset to the input of the ADC sigma-delta converter.
This offset moves ADC sigma-delta idle tones out of the 4.0
kHz speech band range. This added offset must be removed by
the ADC high-pass filter. Therefore, the high-pass filter must be
inserted when you use the offset feature.
A signed ROM Verification Form and a purchase order for production units are required prior to any product being manufactured. Prototype units may be applied toward the minimum
order quantity.
Upon completion of prototype manufacture, Analog Devices
will ship prototype units and a delivery schedule update for production units. An invoice against your purchase order for the
NRE charges is issued at this time.
D/A Conversion
The D/A conversion circuitry of the analog interface consists of
a sigma-delta digital-to-analog converter (DAC), an analog
smoothing filter, a programmable gain amplifier (DAC PGA),
and a differential output amplifier.
There is a charge for each ROM mask generated and a minimum order quantity. Consult your sales representative for details. A separate order must be placed for parts of a specific
package type, temperature range, and speed grade.
Digital-to-Analog Converter
ANALOG INTERFACE
The analog interface contains encoding circuitry (ADC), decoding circuitry (DAC), and processor interface logic. A block diagram of the ADSP-21msp58/59 analog section is shown in
Figure 8.
The analog interface is configured through the Analog Control
Register and the Analog Autobuffer/Powerdown Register (refer
to “ADSP-21msp58/59 Registers”). The Analog Control Register DM[0x3FEE] configures the programmable gain stages, the
analog input multiplexer, and the analog interface powerdown
state. Note that the unused bits must be cleared to zero.
VIN NORM
MUX
ADC
PGA
VINAUX
Analog Smoothing Filter and Programmable Gain Amplifier
The analog smoothing filter consists of a 3rd-order switched capacitor filter with a 3 dB point at approximately 25 kHz.
The DAC’s programmable gain amplifier (DAC PGA) can be
used to adjust the output signal level by –15 dB to +6 dB in
3 dB increments. This gain is selected by bits 2–4 (OG0, OG1,
OG2) of the analog control register.
16-BIT
SIGMADELTA
ADC
Differential Output Amplifier
The analog output signal (VOUTP, VOUTN) is produced by a
differential amplifier. The differential amplifier meets specifications for loads greater than 2 kΩ and has a maximum differential output swing of ± 3.156 V peak-to-peak (3.17 dBm0). The
DAC will drive loads smaller than 2 kΩ, but with degraded
performance.
DECOUPLE
VOLTAGE
REFERENCE
REF_FILTER
VREF
VOUTP
VOUTN
PROCESSOR
INTERFACE
BUF
DAC
PGA
ANALOG
SMOOTHING
FILTER
The digital-to-analog converter consists of an optional digital
high-pass filter, an anti-imaging interpolation filter, and a
sigma-delta modulator. The digital filters and the sigma-delta
modulator have the same characteristics as the filters and
modulator of the ADC. For detailed description of the DAC
components, refer to the ADSP-2100 Family User’s Manual,
Chapter 8, “Analog Interface.”
16
16-BIT
SIGMADELTA
DAC
The output signal is dc-biased to the on-chip voltage reference
(VREF) and can be ac-coupled directly to a load or dc-coupled to
an external amplifier.
OUTPUT
DIFFERENTIAL AMP
Figure 8. Analog Interface Block Diagram
The VOUTP, VOUTN output must be used as a differential signal otherwise performance will be severely compromised. Do
not use either pin as a single-ended output.
A/D Conversion
The A/D conversion circuitry of the analog interface consists of
an analog multiplexer, a programmable gain amplifier (ADC
PGA), and a 16-bit sigma-delta analog-to-digital converter
(ADC).
OPERATING THE ANALOG INTERFACE
Analog Input Multiplexer and Amplifiers
The analog multiplexer selects either the NORM or AUX input
to the ADC’s sigma-delta modulator. The inputs should be ac
coupled.
The ADC PGA may be used to additionally increase the signal
level by +6 dB, +20 dB, or +26 dB. This gain is selected by bit
9 and bit 0 (IG0, IG1) of the analog control register. Input signal level to the sigma-delta ADC should not exceed the VINMAX
specification.
Analog-To-Digital Converter
The analog interface’s analog-to-digital converter consists of a
4th-order analog sigma-delta modulator, an anti-aliasing decimation filter, and an optional digital high-pass filter. For a detailed
description of the ADC components, refer to the ADSP-2100
Family User’s Manual, Chapter 8, “Analog Interface.”
The analog interface is operated with several memory-mapped
control and data registers. The ADC and DAC I/O data is received and transmitted through two memory-mapped data registers. The data can also be autobuffered directly into (or from)
on-chip memory. In both cases, the I/O processing is interrupt
driven; two interrupts are dedicated to the analog interface, one
for the ADC receive data and one for the DAC transmit data.
The ADSP-21msp58/59 must have an input clock frequency of
13 MHz. At this frequency, analog-to-digital and digital-to-analog converted data is transmitted at an 8 kHz rate with a single
16-bit word transmitted every 125 µs.
For detailed information about the analog interface, refer to the
ADSP-2100 Family User’s Manual, Chapter 8, “Analog Interface.”
–10–
REV. 0
ADSP-21msp58/59
Autobuffering
APWD bits (Bits 5 and 6) to one in the analog control register.
Because both interrupts occur simultaneously, only one should
be enabled (in IMASK) to vector to a single service routine that
handles transmit and receive data. However, when using
autobuffer transfers, both interrupts should be enabled.
In some applications, it is advantageous to perform block data
transfers between the analog converters and processor memory.
Analog interface autobuffering enables the automatic transfer of
data blocks directly from the ADC to on-chip processor data
memory or from on-chip processor data memory directly to the
DAC.
ADSP-21msp58/59 REGISTERS
Figure 9 summarizes the ADSP-21msp58/59 registers. Some
registers store values. For example, AX0 stores an ALU operand; I4 stores a DAG2 pointer. Other registers consist of control
bits and fields, or status flags. For example ASTAT contains
status flags from arithmetic operations, and fields in DWAIT
control the number of wait states for different zones of data
memory.
ADC and DAC Interrupts
The analog interface generates two interrupts that signal either:
(1) a 16-bit, 8 kHz analog-to-digital or digital-to-analog conversion has been completed, or (2) an autobuffer block transfer
has been completed (i.e., the data buffer contents have been
received or transferred).
When an analog interrupt occurs, the processor vectors to the
addresses listed in Table II, Interrupt Priority & Interrupt Vector
Addresses.
A secondary set of registers in all computational units allows a
single-cycle context switch.
The ADC receive and DAC transmit interrupts occur at an
8 kHz rate, indicating when the data registers should be accessed. On the receive side, the ADC interrupt is generated each
time an A/D conversion cycle is completed and the 16-bit data
word is available in the ADC receive register. On the transmit
side, the DAC interrupt is generated each time an D/A conversion cycle is completed and the DAC transmit register is ready
for the next 16-bit data word.
Both interrupts are generated simultaneously at an 8 kHz rate,
occurring every 3250 instruction cycles with a 13 MHz internal
processor clock. The interrupts are generated continuously,
starting when the analog interface is powered up by setting the
The bit and field definitions for control and status registers are
given in the rest of this section, except IMASK, ICNTL, and
IFC, which are defined earlier in this data sheet. The system
control register, DWAIT register, timer registers, HIP control
registers, HIP data registers, and SPORT control registers are
all mapped into data memory locations; that is, you access these
registers by reading and writing data memory locations rather
than register names. The particular data memory address is
shown with each memory-mapped register.
Register bit values shown on the following pages are the default
bit values after reset. If no values are shown, the bits are indeterminate at reset. Reserved bits are shown in gray; these bits
should always be written with zeros.
PROGRAM SEQUENCER
ICNTL
IFC
SSTAT
DAG 1
I0
I1
I2
I3
M0
M1
M2
M3
L0
L1
L2
L3
DAG 2
I4
I5
I6
I7
M4
M5
M6
M7
OWRCNTR
MSTAT
ASTAT
COUNT
STACK
4 x 14
STATUS
STACK
12 x 25
CNTR
L4
L5
L6
L7
LOOP
STACK
4 x 18
IMASK
PC
STACK
16 x 14
AX0 AX1 AY0 AY1
MX0 MX1 MY0 MY1
ALU
MAC
SHIFTER
MR0 MR1 MR2 MF
SR0 SR1
AR
AF
SI
SE
SB
PROGRAM
SRAM
2K x 24
0x3FFF SYSTEM CONTROL
0x3FFE DM WAIT CONTROL
14
PMA BUS
14
DMA BUS
24
PMD BUS
16
DMD BUS
0x3FEC
0x3FED
ADC
DAC
0x3FEE-0x3FEF
CONTROL REGISTERS
ANALOG INTERFACE
PROGRAM
ROM
4K x 24
ADSP-21msp59
ONLY
HOST
INTERFACE
PORT
0x3FE0-0x3FE5 DATA
0x3FE6-0x3FE7 STATUS
0x3FE8
HMASK
PX
RX0 TX0
RX1 TX1
TIMER
0x3FFA-0x3FF3
CONTROL REGISTERS
0x3FF2-0x3FEF
CONTROL REGISTERS
SPORT 0
SPORT 1
0x3FFD TPERIOD
0x3FFC TCOUNT
0x3FFB TSCALE
Figure 9. ADSP-21msp58/59 Registers
REV. 0
DATA
SRAM
2K x 16
–11–
FLAG
POWERDOWN
CONTROL
LOGIC
ADSP-21msp58/59
SSTAT (Read -Only)
ASTAT
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
AZ ALU Result Zero
AN ALU Result Negative
AV ALU Overflow
AC ALU Carry
AS ALU X Input Sign
AQ ALU Quotient
MV MAC Overflow
SS Shifter Input Sign
PC Stack Empty
PC Stack Overflow
Count Stack Empty
Count Stack Overflow
Status Stack Empty
Status Stack Overflow
Loop Stack Empty
Loop Stack Overflow
MSTAT
6
5
4
3
2
1
0
0
0
0
0
0
0
0
Data Register Bank Select
0 = primary, 1 = secondary
Bit Reverse Mode Enable (DAG1)
ALU Overflow Latch Mode Enable
AR Saturation Mode Enable
MAC Result Placement
0 = fractional, 1 = integer
Timer Enable
Go Mode Enable
System Control Register
0x3FFF
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
SPORT0 Enable
1 = enabled, 0 = disabled
PWAIT
Program Memory
Wait States
SPORT1 Enable
1 = enabled, 0 = disabled
BWAIT
Boot Wait States
SPORT1 Configure
1 = serial port
0 = FI, FO, IRQ0, IRQ1, SCLK
BPAGE
Boot Page Select
BFORCE
Boot Force Bit
Timer Registers
15
0
14
0
13
0
12
0
11
0
10
9
8
7
6
5
4
3
2
1
0
TPERIOD Period Register
0x3FFD
TCOUNT Counter Register
0x3FFC
0
0
0
TCOUNT Scaling Register
0x3FFB
Control Registers
–12–
REV. 0
ADSP-21msp58/59
ROM Enable/Data Memory Wait State
Control Register
0x3FFE
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
DWAIT3
DWAIT4
DWAIT2
DWAIT1
DWAIT0
ROM enable (ADSP-21msp59)
1 = enable
0 = disable
SPORT0 Multichannel Receive Word Enable Registers
SPORT0 Multichannel Transmit Word Enable Registers
1 = Channel Enabled
0 = Channel Ignored
1 = Channel Enabled
0 = Channel Ignored
0x3FF8
0x3FFA
31 30
29 28 27
15 14
13 12
26 25
24 23
22 21
20 19
6
4
18 17 16
31 30
29 28 27
26 25
15 14
13 12 11 10
9
8
7
22 21
20 19
18 17 16
0x3FF7
0x3FF9
11 10
24 23
5
3
2
1
0
9
8
7
6
5
4
3
2
1
0
SPORT0 Control Register
0x3FF6
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SLEN Serial Word Length
Multichannel Enable MCE
DTYPE Data Format
Internal Serial Clock Generation ISCLK
00 = right justify, zero-fill unused MSBs
01 = right justify, sign extend into unused MSBs
10 = compand using µ-law
11 = compand using A-law
Receive Frame Sync Required RFSR
Receive Frame Sync Width RFSW
INVRFS Invert Receive Frame Sync
Multichannel Frame Delay MFD
Only If Multichannel Mode Enabled
INVTFS Invert Transmit Frame Sync
(or INVTDV Invert Transmit Data Valid
Only If Multichannel Mode Enabled )
Transmit Frame Sync Required TFSR
Transmit Frame Sync Width TFSW
IRFS Internal Receive Frame Sync Enable
ITFS Internal Transmit Frame Sync Enable
(or MCL Multichannel Length; 1 = 32 words, 0 = 24 words
Only If Multichannel Mode Enabled )
Control Registers
REV. 0
–13–
ADSP-21msp58/59
SPORT0 SCLKDIV
Serial Clock Divide Modulus
0x3FF5
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
2
1
0
2
1
0
0
0
SPORT0 RFSDIV
Receive Frame Sync Divide Modulus
0x3FF4
15
14
13
12
11
10
9
8
7
6
5
4
3
SPORT0 Autobuffer Control Register
0x3FF3
15
14
13
12
0
0
0
0
11
10
9
8
7
6
5
4
3
RBUF
Receive Autobuffering Enable
CLKODIS
CLKOUT Disable Control Bit
TBUF
Transmit Autobuffering Enable
BIASRND
MAC Biased Rounding Control Bit
RMREG
Receive Autobuffer M Register
TIREG
Transmit Autobuffer I Register
RIREG
Receive Autobuffer I Register
TMREG
Transmit Autobuffer M Register
SPORT1 Control Register
0x3FF2
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Flag Out (Read Only)
SLEN Serial Word Length
DTYPE Data Format
Internal Serial Clock Generation ISCLK
00 = right justify, zero-fill unused MSBs
01 = right justify, sign extend into unused MSBs
10 = compand using µ-law
11 = compand using A-law
Receive Frame Sync Required RFSR
Receive Frame Sync Width RFSW
INVRFS Invert Receive Frame Sync
Transmit Frame Sync Required TFSR
INVTFS Invert Transmit Frame Sync
Transmit Frame Sync Width TFSW
IRFS Internal Receive Frame Sync Enable
ITFS Internal Transmit Frame Sync Enable
Control Registers
–14–
REV. 0
ADSP-21msp58/59
SPORT1 SCLKDIV
Serial Clock Divide Modulus
0x3FF1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
2
1
0
1
0
0
0
SPORT1 RFSDIV
Receive Frame Sync Divide Modulus
0x3FF0
15
14
13
12
11
10
9
8
7
6
5
4
3
Analog Autobuffer/Powerdown Control Register
0x3FEF
15
14
13
12
0
0
0
0
11
10
9
8
7
6
5
4
3
2
ARBUF
ADC Receive Autobuffer Enable
XTALDIS
XTAL Pin Disable During Powerdown
1 = disabled, 0 = enabled
(XTAL pin should be disabled when
no external crystal is connected)
ATBUF
DAC Transmit Autobuffer Enable
ARMREG
Receive M Register
XTALDELAY
Delay Startup From Powerdown 4096 Cycles
1 = delay, 0 = no delay
(use delay to let internal phase locked
loop or external oscillator stabilize)
ARIREG
Receive I Register
ATMREG
Transmit M Register
PDFORCE
Powerdown Force
1 = force processor to vector to
powerdown interrupt
ATIREG
Transmit I Register
PUCR
Powerup Context Reset
1 = soft reset, 0 = resume execution
HMASK Register
0x3FE8
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Host HDR5 Read
Host HDR0 Write
Host HDR4 Read
Host HDR1 Write
Host HDR3 Read
Host HDR2 Write
Host HDR2 Read
Host HDR3 Write
Host HDR1 Read
Host HDR4 Write
Host HDR5 Write
Host HDR0 Read
Interrupt Enables
1 = Enable
0 = Disable
Control Registers
REV. 0
–15–
ADSP-21msp58/59
Analog Control Register
0x3FEE
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
OG2
OG1
OG0
ADC Offset
IG0
ADC Input Gain
IG0, IG1
ADC Input Gain (for PGA)
Gain
0dB
+6dB
+20dB
+26dB
IG1 IG0
0
0
0
1
1
0
1
1
IG1
ADC Input Gain
DABY
DAC High Pass Filter Bypass
1 = bypass, 0 = insert
IMS
ADC Input Multiplexer Select
1 = AUX input, 0 = NORM input
ADBY
ADC High Pass Filter Bypass
1 = bypass, 0 = insert
OG2, OG1, OG0
DAC Output Gain (for PGA)
APWD
Analog Interface Powerdown
0 = powerdown, 1 = enable
(set both bits to 1
to enable analog interface)
Gain
+6dB
+3dB
0dB
–3dB
–6dB
–9dB
–12dB
–15dB
All bits are set to 0 at processor reset.
(Reserved bits 11–15 must always be set to 0)
IG2 IG1 IG1
0
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
ADC Receive
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DM(0x3FED)
DAC Transmit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DM(0x3FEC)
HIP Data Registers
HDR5
15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
0x3FE5
HDR4
0x3FE4
HDR3
0x3FE3
HDR2
0x3FE2
HDR1
0x3FE1
HDR0
0x3FE0
Control Registers
–16–
REV. 0
ADSP-21msp58/59
HSR6
0x3FE6
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ADSP-21msp58/59 HDR5 Write
Host HDR0 Write
ADSP-21msp58/59 HDR4 Write
Host HDR1 Write
ADSP-21msp58/59 HDR3 Write
Host HDR2 Write
ADSP-21msp58/59 HDR2 Write
Host HDR3 Write
ADSP-21msp58/59 HDR1 Write
Host HDR4 Write
ADSP-21msp58/59 HDR0 Write
Host HDR5 Write
HSR7
0x3FE7
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
ADSP-21msp58/59 HDR0 Write
ADSP-21msp58/59 HDR1 Write
ADSP-21msp58/59 HDR2 Write
ADSP-21msp58/59 HDR3 Write
ADSP-21msp58/59 HDR4 Write
ADSP-21msp58/59 HDR5 Write
Overwrite Mode
Software Reset
Control Registers
INSTRUCTION SET DESCRIPTION
ADSP-21msp58/59 EXTENDED INSTRUCTION SET
The ADSP-21msp58/59 assembly language instruction set has
an algebraic syntax that was designed for ease of coding and
readability. The assembly language, which takes full advantage
of the processor’s unique architecture, offers the following
benefits:
The ADSP-21msp58/59 has a number of additional instructions beyond the standard ADSP-2100 Family instruction set.
These additional instructions and mathematical operations are
described below.
• The algebraic syntax eliminates the need to remember cryptic
assembler mnemonics. For example, a typical arithmetic add
instruction, such as AR = AX0 + AY0, resembles a simple
equation.
Slow IDLE allows slowing the processor’s internal clock by a
factor of 16, 32, 64, or 128 during IDLE. The instruction
source code is specified as follows:
Syntax:
IDLE (n);
Permissible Values for n
16, 32, 64, 128
Examples:
IDLE;
IDLE (16);
Description: The IDLE instruction causes the processor to
wait indefinitely in a low power state until an interrupt occurs. When an unmasked interrupt occurs, it is serviced; execution then continues with
the instruction following the IDLE instruction.
The optional value provides a “slow idle” feature; slowing the clock down by the factor set
with the value.
• Every instruction assembles into a single 24-bit word and
executes in a single cycle.
•The syntax is a superset of the ADSP-2100 Family assembly
language and is completely source and object code compatible
with other family members. Programs may, however, need to
be relocated to utilize internal memory and conform to the
ADSP-21msp58/59 interrupt vector and reset vector map.
• Sixteen condition codes are available. For conditional jump,
call, return, or arithmetic instructions, the condition can be
checked and the operation executed in the same instruction
cycle.
• Multifunction instructions allow parallel execution of an
arithmetic instruction with up to two fetches and one write to
processor memory space during a single instruction cycle.
Consult the ADSP-2100 Family User’s Manual for a complete
description of the syntax and an instruction set reference.
REV. 0
Slow IDLE
Interrupt Enable and Disable Instructions
The ADSP-21msp58/59 supports an interrupt enable instruction and interrupt disable instruction. Interrupts are enabled by
default at reset. The interrupt enable instruction source code is
specified as follows:
–17–
ADSP-21msp58/59
1024, 1025, 2047, 2048, 2049, 4095, 4096, 4097, 8191, 8192,
8193, 16383, 16384, 16385, 32766, 32767, –1, –2, –3, –4, –5,
–6, –8, –9, –10, –16, –17, –18, –32, –33, –34, –64, –65, –66, –128,
–129, –130, –256, –257, –258, –512, –513, –514, –1024, –1025,
–1026, –2048, –2049, –2050, –4096, –4097, –4098, –8192, –8193,
–8194, –16384, –16385, –16386, –32767, –32768
Syntax:
ENA INTS;
Description: Executing the ENA INTS instruction allows all
unmasked interrupts to be serviced again.
The interrupt disable instruction source code is specified as
follows:
Syntax:
DIS INTS;
Examples:
Description: Reset enables interrupt servicing. Executing the
DIS INTS instruction causes all interrupts to be
masked without changing the contents of the
IMASK register. Disabling interrupts does not
affect the autobuffer circuitry, which will operate
normally whether or not interrupts are enabled.
The disable interrupt instruction masks all user
interrupts including the powerdown interrupt.
Extended ALU and Multiplier Operations
The following extended computation operations are available
only on the ADSP-21msp58/59 processor. The term “base instruction set” refers to the computations and instructions available on all ADSP-21xx processors.
Additional Constants for ALU Operations
A new set of numerical constants may be used in all nonmultifunction ALU operations (except DIVS and DIVQ) using both
X and Y operands. The instruction source code is specified as
follows:
Syntax: [IF condition]  AR  = xop function  yop

 AF 
 constant 
Permissible xops
AX0, AX1, AR, MR0, MR1, MR2, SR0, SR1
Permissible functions
ADD/ADD with CARRY, SUBTRACT X–Y/SUBTRACT X–
Y with BORROW, SUBTRACT Y–X/SUBTRACT Y–X with
BORROW, AND, OR, XOR
Permissible yops (base instruction set)
AY0, AY1, AF
Permissible yops and constants (extended instruction set)
AY0, AY1, AF, 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024,
2048, 4096, 8192, 16384, 32767, –2, –3, –5, –9, –17, –33, –65,
–129, –257, –513, –1025, –2049, –4097, –8193, –16385, –32768
Examples:
AR = AR+1;
AR = MR1 - 33;
IF GT AF = AX1 OR 16;
Description: Test the optional condition and, if true, perform
the specified function. If false then perform a nooperation. Omitting the condition performs the
function unconditionally. The operands are contained in the data registers specified in the instruction or optionally a constant may be used.
Additional Constants for ALU PASS Operation
A new set of numerical constants may be used in the PASS instruction. The instruction source code is specified as follows:
Syntax: [IF condition]  AR  = pass  yop

 AF 
 constant 
Permissible yops (base instruction set)
AY0, AY1, AF
Permissible yops and constants (extended instruction set)
AY0, AY1, AF, 0, 1, 2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33,
63, 64, 65, 127, 128, 129, 255, 256, 257, 511, 512, 513, 1023,
IF GE AR = PASS AY0;
IF EQ AF = PASS –1025;
Description: Test the optional condition and, if true, pass the
source operand unmodified through the ALU
block and store in the destination location. If the
condition is not true, perform a no-operation.
Omitting the condition performs the pass unconditionally. The source operand is contained in
the data registers specified in the instruction or
optional constant.
The PASS instruction performs the transfer to the
AR register and affect the status flag; this instruction is different from a register move operation
which does not affect any status flags. PASS 0 is
one method of clearing AR. PASS 0 can also be
combined in a multifunction instruction in conjunction with memory reads and writes to clear AR.
Note:
The ALU status flags (in the ASTAT register)
are not defined for the execution of this instruction when using the constant values other than 0,
1, and –1.
ALU Bit Operations
The additional constants for ALU operations allow you to code
bit test, set, clear, and toggle operations through careful choice
of the constant and ALU function. For streamlined programming,
the source code for these operations can also be specified as:
Syntax: [IF condition]  AR 
 AF 
= 



TSTBIT n of xop; 
SETBIT n of xop; 
CLBIT n of xop; 
TGBIT n of xop; 
Permissible xops
AX0, AX1, AR, MR0, MR1, MR2, SR0, SR1
Permissible n Values (0 = LSB)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Examples:
AF=TSTBIT 5 of AR;
IF NE JUMP SET;
/* JUMP TO SET IF BIT IS SET */
Definitions of Operations
TSTBIT is an AND operation with a 1 in the selected bit
SETBIT is an OR operation with a 1 in the selected bit
CLBIT is an AND operation with a 0 in the selected bit
TGBIT is an XOR operation with a 1 in the selected bit
Result-Free ALU Operations
The result-free ALU operations allow the generation of condition flags based on an ALU operation but discard the result.
The source code for the instruction is specified as follows:
Syntax:
NONE = <ALU>;
where <ALU> is any unconditional ALU operation of the 21xx
base instruction set (except DIVS or DIVQ). (Note that the additional constant ALU operations of the ADSP-2171/2181 extended instruction set are not allowed.)
–18–
REV. 0
ADSP-21msp58/59
be masked without changing the contents of the
IMASK register. Disabling interrupts does not affect the autobuffer circuitry, which will operate
normally whether or not interrupts are enabled.
The disable interrupt instruction masks all user
interrupts including the powerdown interrupt.
Examples:
NONE = AX0 – AY0;
NONE = PASS SR0;
Description: Perform the designated ALU operation, set the
condition flags, then discard the result value.
This allows the testing of register values without
disturbing the AR or AF register values.
MAC Operations
CIRCUIT DESIGN CONSIDERATIONS
A modified MAC operation allows additional type 9 instructions. The conditional ALU/MAC instruction has been modified to allow the X operand to be used as the Y operand as well.
This allows a single cycle X2, and also ∑X2 operations.
The new MAC instructions allow the use of any xop as both the
X and Y operands. The instructions source code is specified as
follows:
The following sections discuss interfacing analog signals to the
ADSP-21msp58/59.
Analog Signal Input
Figure 10 shows the recommended input circuit for the analog input pin (either VINNORM or VINAUX). The circuit of Figure 10
implements a first-order low-pass filter (R1C1) with a 3 dB point
less than 40 kHz. This is the only filter required external to the
processor to prevent aliasing of the sampled signal. Since the
ADSP-21msp58/59’s sigma-delta ADC uses a highly oversampled
approach that transfers the bulk of the anti-aliasing filtering into the
digital domain, the off-chip anti-aliasing need only be of low order.
Syntax: [IF condition]  MR  =  [MR +]  xop * yop (UU);
 MF 
 [MR –] 
xop (SS) ;
(RND);
Permissible xops
AR, MR0, MR1, MR2, MX0, MX1, SR0, SR1
Example:
IF LT MR=MR+ SR0 * SR0 (SS);
Note:
Both X operators must be the same register.
Biased Rounding
A new mode has been added to allow biased rounding in addition to the normal unbiased rounding. When the BIASRND bit
is set to 0 the normal unbiased rounding operations occur.
When the BIASRND bit is set to 1, biased rounding occurs instead of the normal unbiased rounding. When operating in biased rounding mode all rounding operations with MR0 set to
0x8000 will round up, rather than only rounding odd MR1
values up. For example:
MR value before RND
00-0000-8000
00-0001-8000
00-0000-8001
00-0001-8001
00-0000-7FFF
00-0001-7FFF
biased RND result
00-0001-8000
00-0002-8000
00-0001-8001
00-0002-8001
00-0000-7FFF
00-0001-7FFF
C3
STAR
GROUND
VIN NORM
VINAUX
C1
INPUT
SOURCE
MUX
PGA
DECOUPLE
ADSP-21msp58/59
Figure 10. Recommend Analog Input Circuit
The on-chip ADC PGA can be used when there is not enough
gain in the input circuit. The PGA gain is set by bits 9 and 0
(IG1, IG0) of the processor’s analog control register. The gain
must be chosen to ensure that a full-scale input signal (at R1 in
Figure 10) produces a signal level at the input to the sigma-delta
modulator of the ADC that does not exceed VINMAX (refer to
the “Analog Interface Electrical Characteristics” specifications).
unbiased RND result
00-0000-8000
00-0002-8000
00-0001-8001
00-0002-8001
00-0000-7FFF
00-0001-7FFF
This mode only has an effect when the MR0 register contains
0x8000, all other rounding operation work normally. This mode
was added to allow more efficient implementation of bit specified algorithms which specify biased rounding such as the GSM
speech compression routines. Unbiased rounding is preferred
for most algorithms.
Note:
BIASRND bit is bit twelve of the SPORT0
Autobuffer Control register.
Interrupt Enable
The ADSP-21msp58/59 supports an interrupt enable instruction. Interrupts are enabled by default at reset. The instruction
source code is specified as follows:
Syntax:
ENA INTS;
Description:
Executing the ENA INTS instruction allows
all unmasked interrupts to be serviced again.
VINNORM and VINAUX are biased at the Internal Reference Voltage (nominal of 2.5 V) of the ADSP-21msp58/59, which lets the
analog section of the processor operate from a single supply.
The input signal should be ac-coupled with an external capacitor (C2). The value of C2 is determined by the input resistance
of the analog input (VINNORM, VINAUX) (200 kΩ) and the desired cutoff frequency. The cutoff frequency should be ≤30 Hz.
The following equation should be used to determine the values
of R1, C1, and C2; R1 should be ≤2.2 kΩ. C2 should be ≥0.027
µF; C3 should be equal to C2.
1
C2 =
2 π f1 RIN
RIN = ADSP-21msp58/59 input resistance (200 kΩ)
f1 = cutoff frequency <30 Hz
1
R1 =
2 π f2 C1
R1 ≤ 2.2 kΩ
f2 > 20 kHz < 40 kHz*
1
C1 =
2 π f2 R1
Interrupt Disable
The ADSP-21msp58/59 supports an interrupt disable instruction. The instruction source code is specified as follows:
Syntax:
DIS INTS;
Description: Reset enables interrupt servicing. Executing the
DIS INTS instruction causes all interrupts to
REV. 0
C2
R1
For optimum ADC performance, C1 should be an NPO type
capacitor.
*If minimum (<0.1 dB) rolloff at 4 kHz is desired, f2 should be set to 40 kHz.
–19–
ADSP-21msp58/59
Analog Signal Output
APPLICATION EXAMPLES
The differential analog output (VOUTP, VOUTN) is produced
by an on-chip differential amplifier which is part of the processor’s
analog interface. The differential amplifier will meet dynamic
specifications for loads greater than 2 kΩ (RL ≥ 2 kΩ) and has a
maximum differential output voltage swing of ±3.156 V peak-topeak (3.17 dBm0). The DAC will drive loads smaller than 2 kΩ,
but with degraded dynamic performance. The differential output can be ac-coupled directly to a load or dc-coupled to an external amplifier.
Figure 11 shows a simple circuit providing a differential output
with ac coupling. The capacitor of this circuit (COUT) is optional; if used, its value can be chosen as follows:
The ADSP-21msp58/59 is ideal for speech processing applications where high performance for analog and digital circuitry is
required, but board space is severely limited. The cellular radio
handset is one application. Here the ADSP-21msp58/59 can
digitize the speech, then perform compression algorithms that
sufficiently reduce the bit rate for transmission in a limited radio
bandwidth.
COUT =
1
(60 π) RL
VOUTP
ADSP-21msp58/59
COUT
Absolute gain is a measure of converter gain for a known signal.
Absolute gain is measured with a 1.0 kHz sine wave at 0 dBm0.
The absolute gain specification is used as a reference for the
gain tracking error specification.
Gain Tracking Error
COUT
RL
DEFINITION OF SPECIFICATIONS
Absolute Gain
VOUTN
Gain tracking error measures changes in converter output for
different signal levels relative to an absolute signal level. The
absolute signal level is 1.0 kHz at 0 dBm0. Gain tracking error
at 0 dBm0 is 0 dB by definition.
SNR + THD
Figure 11. Example Circuit for Differential Output with
AC Coupling
The VOUTP and VOUTN outputs must be used as differential
outputs (do not use either as a single-ended output). Figure 12
shows an example circuit which can be used to convert the differential output to a single-ended output. The circuit uses a differential-to-single-ended amplifier, the Analog Devices SSM2141.
+12V
0.1µF
ADSP-21msp58/59
7
GNDA
5
VOUT
SSM2141
VOUTP
4
GNDA
–12V
Crosstalk
Figure 12. Example Circuit for Single-Ended Output
Voltage Reference Filter Capacitance
Figure 13 shows the recommended reference filter capacitor
connections. The capacitor grounds should be connected to the
same star ground point shown in Figure 10.
VREF
REF_FILTER
10µF
With inputs consisting of sine waves at two frequencies, fa and
fb, any active device with nonlinearities will create distortion
products at sum and difference frequencies of mfa ± nfb where
m, n = 0, 1, 2, 3, etc. Intermodulation terms are those which
neither m nor n are equal to zero. The second order terms include (fa + fb) and (fa – fb), while the third order terms include
(2fa + fb), (2fa – fb), (fa + 2fb), and (fa – 2fb).
Idle channel noise is defined as the total signal energy measured
at the output of the device when the input is grounded (measured in the frequency range 300 Hz–3400 Hz).
0.1µF
GNDA
Intermodulation Distortion
Idle Channel Noise
VOUTN
1
Signal-to-noise ratio plus total harmonic distortion is defined to
be the ratio of the rms value of the measured input signal to the
rms sum of all other spectral components in the frequency range
300 Hz–3400 Hz, including harmonics but excluding dc.
BUF
VOLTAGE
REFERENCE
0.1µF
ADSP-21msp58/59
STAR
GROUND
Figure 13. Voltage Reference Filter Capacitor
Crosstalk is defined as the ratio of the rms value of a full-scale
signal appearing on one channel to the rms value of the same
signal that couples onto the adjacent channel. Crosstalk is expressed in dB.
Power Supply Rejection
Power supply rejection measures the susceptibility of a device to
a signal on the power supply. Power supply rejection is measured by modulating a signal on the power supply and measuring the signal at the output (relative to 0 dB). Power supply
rejection is defined as the ratio of the rms value of the modulation signal to the rms value of the same signal in the ADC/DAC
channel.
Group Delay
Group delay is defined as the derivative of radian phase with respect to radian frequency, ∂φ(ω)/∂ω. Group delay is a measure
of the average delay of a system as a function of frequency. A
linear system with a constant group delay has a linear phase response. The deviation of group delay away from a constant indicates the degree of nonlinear phase response of the system.
–20–
REV. 0
ADSP-21msp58/59–SPECIFICATIONS
ADSP-21msp58/59
RECOMMENDED OPERATING CONDITIONS
B Grade
Parameter
VDD
TAMB
Supply Voltage
Ambient Operating Temperature
Min
Max
Unit
4.50
–40
5.50
+85
V
°C
See “Environmental Conditions” for information on thermal specifications.
ELECTRICAL CHARACTERISTICS
Parameter
VIH
VIH
VIL
VOH
1, 2
Hi-Level Input Voltage
Hi-Level CLKIN Voltage
Lo-Level Input Voltage1, 3
Hi-Level Output Voltage1, 4, 5
VOL
Lo-Level Output Voltage1, 4, 5
IIH
Hi-Level Input Current3
IIL
Lo-Level Input Current3
IOZH
Tristate Leakage Current7
IOZL
Tristate Leakage Current7
IDD
Digital Supply Current (Idle)6, 9
IDD
Digital Supply Current (Dynamic)9, 10
IDD
Digital Supply Current (Powerdown)9
ICC
CI
Analog Supply Current (Dynamic)9
Input Pin Capacitance3, 11, 12
CO
Output Pin Capacitance7, 11, 12
Test Conditions
Min
@ VDD = max
@ VDD = max
@ VDD = min
@ VDD = min,
IOH = –0.5 mA
@ VDD = min,
IOH = –100 µA6
@ VDD = min,
IOL = 2 mA
@ VDD = max,
VIN = VDD max
@ VDD = max,
VIN = 0 V
@ VDD = max,
VIN = VDD max8
@ VDD = max,
VIN = 0 V8
@ VDD = max,
Codec Inactive
@ VDD = max,
VCC = max
@ VDD = max, See
ADSP-2100 Family User’s
Manual, Chapter 9
Codec Active
@ VIN = 2.5 V,
fIN = 1.0 MHz,
TAMB = 25°C
@ VIN = 2.5 V,
fIN = 1.0 MHz,
TAMB = 25°C
2.0
2.2
Max
Unit
0.8
V
V
V
2.4
V
VDD – 0.3
V
0.4
V
10
µA
10
µA
10
µA
10
µA
18
mA
92
mA
100
18
µA
mA
8
pF
8
pF
NOTES
1
Bidirectional pins: D0-D23, RFS0, RFS1, SCLK0, SCLK1, TFS0, TFS1, HD0-HD7/HAD0-HAD7.
2
Input only pins: RESET, IRQ2, BR, MMAP, DR0, DR1, HSEL, HSIZE, BMODE, HMD0, HMD1, HRD/HWR, HWR/HDS, PWD, HA2/ALE, HA1-0.
3
Input only pins: CLKIN, RESET, IRQ2, BR, MMAP, DR0, DR1, HSEL, HSIZE, BMODE, HMD0, HMD1, HRD/HWR, HWR/HDS, PWD, HA2/ALE, HA1-0.
4
Output pins: BG, PMS, DMS, BMS, RD, WR, A0-A13, DT0, DT1, CLKOUT, HACK, FL0.
5
Although specified for TTL outputs, all ADSP-21msp58/59 outputs are CMOS-compatible and will drive to V DD and GND, assuming no dc loads.
6
Idle refers to ADSP-21msp58/59 state of operation during IDLE instruction. Deasserted pins are driven to either V DD or GND. Refer to chart in back for lower
IDLE currents.
7
Three-statable pins: A0-A13, D0-D23, PMS, DMS, BMS, RD, WR, DT0, DT1, SCLK0, SCLK1, TFS0, TFS1, RFS0, RSF1, HD0-HD7/HAD0-HAD7.
8
0 V on BR, CLKIN Active (to force three-state condition).
9
Current reflects the digital portion of device operating with no output loads and a 2 k Ω load on the analog output (VOUT P, VOUTN).
10
tCK = 76.92 ns, CODEC active, 80% execution type 1 instructions, with random data. For typical figures for digital and analog supply currents, refer to “Power
Dissipation” section.
11
Guaranteed but not tested.
12
Output pin capacitance is the capacitive load for any three-stated output pin.
Specifications subject to change without notice.
REV. 0
–21–
ADSP-21msp58/59
ABSOLUTE MAXIMUM RATINGS *
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 V to +7 V
Input Voltage . . . . . . . . . . . . . . . . . . . . . –0.3 V to VDD + 0.3 V
Output Voltage Swing . . . . . . . . . . . . . . –0.3 V to VDD + 0.3 V
Operating Temperature Range (Ambient) . . . . –40°C to +85°C
Storage Temperature Range . . . . . . . . . . . . . –65°C to +150°C
Lead Temperature (5 sec) . . . . . . . . . . . . . . . . . . . . . . +280°C
*
Stresses above those listed under “Absolute Maximum Ratings” may cause
permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions above those indicated in the
operational sections of this specification is not implied. Exposure to absolute
maximum rating conditions for extended periods may affect device reliability.
ESD SENSITIVITY
The ADSP-21msp58/59 is an ESD (electrostatic discharge) sensitive device. Electrostatic charges
readily accumulate on the human body and equipment and can discharge without detection.
Permanent damage may occur to devices subjected to high energy electrostatic discharges.
WARNING!
The ADSP-21msp58/59 features proprietary ESD protection circuitry to dissipate high energy
discharges (Human Body Model).
Proper ESD precautions are recommended to avoid performance degradation or loss of functionality. Unused devices must be stored in conductive foam or shunts, and the foam should be
discharged to the destination before devices are removed.
ESD SENSITIVE DEVICE
TIMING PARAMETERS
GENERAL NOTES
MEMORY REQUIREMENTS
Use the exact timing information given. Do not attempt to derive parameters from the addition or subtraction of others. While
addition or subtraction would yield meaningful results for an individual device, the values given in this data sheet reflect statistical variations and worst cases. Consequently, you cannot
meaningfully add up parameters to derive longer times.
This chart links common memory device specification
names and ADSP-21msp58/59 timing parameters for your
convenience.
TIMING NOTES
tASW
Switching characteristics specify how the processor changes its
signals. You have no control over this timing; it is dependent on
the internal design. Timing requirements apply to signals that
are controlled outside the processor, such as the data input for a
read operation.
Timing requirements guarantee that the processor operates correctly with another device. Switching characteristics tell you
what the device will do under a given circumstance. Also, use the
switching characteristics to ensure any timing requirement of a
device connected to the processor (such as memory) is satisfied.
Parameter
Name
Function
tAW
tWRA
tDW
tDH
tRDD
tAA
–22–
A0-A13, DMS, PMS
Setup before WR Low
A0-A13, DMS, PMS Setup
before WR Deasserted
A0-A13, DMS, PMS
Hold after WR Deasserted
Data Setup before WR High
Data Hold after WR High
RD Low to Data Valid
A0-A13, DMS, PMS,
BMS to Data Valid
Common
Memory Device
Specification Name
Address Setup to
Write Start
Address Setup
to Write End
Address Hold Time
Data Setup Time
Data Hold Time
OE to Data Valid
Address Access Time
REV. 0
ADSP-21msp58/59
FREQUENCY RESPONSE
Frequency
(Hz)
ADC
Max
(dB)
ADC
Min
(dB)
DAC
Max
(dB)
DAC
Min
(dB)
0+
75
150
300
1000
2000
3000
3400
3700
3850
4000
–60.00
–25.00
+0.266
+0.272
+0.000
+0.050
–0.200
–0.300
–0.375
–25.00
–60.00
N/A
N/A
–0.134
–0.128
+0.000
–0.350
–0.600
–0.700
–0.775
N/A
N/A
–60.00
–25.00
+0.015
+0.030
+0.000
+0.050
–0.050
–0.090
–0.120
–25.00
–60.00
N/A
N/A
–0.185
–0.170
+0.000
–0.200
–0.300
–0.340
–0.370
N/A
N/A
NOTES
All specifications relative to absolute gain @ 1.0 kHz.
ADC and DAC high-pass filters inserted.
ADC specifications do not include RC filter attenuation and assumes an ac coupled input (see “Analog Test Conditions”
for RC filter details).
NOISE & DISTORTION
Parameter
Min
Max
Unit
Test Condition
–60
–70
m, n = 1 and 2; fa = 984; fb = 1047
m, n = 1 and 2; fa = 984; fb = 1047
–65
dB
dB
dBm0
dBm0
dB
DAC Crosstalk1
–65
dB
ADC Power Supply Rejection1
–55
dB
DAC Power Supply Rejection1
–55
dB
ADC Group Delay1
DAC Group Delay1
ADC SNR and THD
DAC SNR and THD
1
1
ms
ms
dB
dB
ADC Intermodulation Distortion
DAC Intermodulation Distortion
ADC Idle Channel Noise
DAC Idle Channel Noise
ADC Crosstalk1
65
72
65
72
ADC input signal level: 1.0 kHz, 0 dBm0
DAC input at idle.
ADC input signal level: analog ground
DAC output signal level: 1.0 kHz, 0 dBm0
Input signal level at VCC and VDD pins:
1.0 kHz, 100 mV p-p sine wave
Input signal level at VCC and VDD pins:
1.0 kHz, 100 mV p-p sine wave
300 Hz–3000 Hz
300 Hz–3000 Hz
1.0 kHz, 0 dBm0
1.0 kHz, 0 dBm0
NOTE
1
Guaranteed but not tested.
100
100
ADC SNR + THD
DAC SNR + THD
PEAK @
72dB
80
PEAK @
65dB
SNR + THD – dB
SNR + THD – dB
80
60
40
60
40
20dB
SLOPE =
20dBm0
SLOPE =
20
0
–60
–50
–40
–30
–20
VIN – dBm0
–10
0
0
–60
10
–50
3.17
Figure 14. SNR + THD vs. VIN
REV. 0
20dB
20dBm0
20
–23–
–40
–30
–20
VIN – dBm0
–10
0
10
3.17
ADSP-21msp58/59
ANALOG INTERFACE ELECTRICAL CHARACTERISTICS
Symbol
ADC
RI
VINMAX
DAC:
RO
VOOFF
VO
RL
Reference Buffer:
Voltage Reference (VREF)
Output Impedence1
Capacitive Load1
PSRR1
Parameter
Min
Input Resistance1, 2 at VINNORM, VINAUX
Maximum Input Range1, 3
Output Resistance1, 4
Output DC Offset5
Maximum Voltage Output Swing (p-p) Across RL
Single-Ended1
Differential1
Load Resistance1, 4
Typ
Max
Unit
3.156
kΩ
V p-p
400
Ω
mV
200
2.5
–400
3.156
6.312
V
V
kΩ
2.75
V
Ω
nf
dB
2
2.25
250
10
55
NOTES
Test conditions for all analog interface tests: ADC PGA bypassed, DAC PGA set to 0 dB gain, with 2 k Ω load on analog output (VOUT P, VOUTN), VCC = 5.0 V.
1
Guaranteed but not tested.
2
Varies with PGA setting.
3
At input to sigma-delta modulator of ADC.
4
At VOUT P, VOUTN.
5
Between VOUT P and VOUTN.
GAIN
Parameter
Min
Typ
Max
Unit
Test Conditions
ADC Absolute Gain
ADC Gain Tracking Error
ADC PGA Relative Gain
DAC Absolute Gain
DAC Gain Tracking Error
DAC PGA Relative Gain
–0.7
–0.1
–0.6
–0.75
–0.1
–0.6
0
0
0
0
0
0
0.7
0.1
0.6
0.75
0.1
0.6
dBm0
dBm0
dBm0
dBm0
dBm0
dBm0
1.0 kHz, 0 dBm0
1.0 kHz, +3 to –50 dBm0
1.0 kHz
1.0 kHz, 0 dBm0
1.0 kHz, +3 to –50 dBm0
1.0 kHz
–24–
REV. 0
ADSP-21msp58/59
Parameter
Min
Max
Unit
76.92
20
20
125
ns
ns
ns
Clock Signals
tCK is defined as 0.5 tCKI. The ADSP-21msp58/59 uses
an input clock with a quency equal to half the instruction
rate; a 13 MHz input clock (which is equivalent to 76.92 ns)
yields a 38.46 ns processor cycle (equivalent to 26 MHz).
tCK values within the range of 0.5 tCKI period should be
substituted for all relevant timing parameters to obtain
specification value. Example: tCKH = 0.5tCK – 7 ns
= 0.5 (38.46 ns) – 7 ns = 12.23 ns.
Timing Requirement:
tCKI
tCKIL
tCKIH
CLKIN Period
CLKIN Width Low
CLKIN Width High
Switching Characteristic:
CLKOUT Width Low
tCKL
tCKH
CLKOUT Width High
tCKOH
CLKIN High to CLKOUT High
0.5tCK – 7
0.5tCK – 7
0
Control Signals
Timing Requirement:
tRSP
5tCK1
RESET Width Low
20
ns
NOTES
1
Applies after power-up sequence is complete. Internal phase lock loop requires no more than 2000 CLKIN cycles assuming stable CLKIN (not including
crystal oscillator start-up time).
tCKI
tCKIH
CLKIN
tCKIL
tCKOH
tCKH
CLKOUT
tCKL
Figure 15. Clock Signals
REV. 0
–25–
ns
ns
ns
ADSP-21msp58/59
Parameter
Min
Max
Unit
Interrupts and Flags
Timing Requirement:
tIFS
IRQx or FI Setup before CLKOUT Low1, 2, 3
tIFH
IRQx or FI Hold after CLKOUT High1, 2, 3
0.25tCK + 15
0.25tCK
Switching Characteristics:
Flag Output Hold after CLKOUT Low4
tFOH
tFOD
Flag Output Delay from CLKOUT Low4
ns
ns
0.5tCK – 7
0.5tCK + 5
ns
ns
NOTES
1
If IRQx and FI inputs meet t IFS and tIFH setup/hold requirements, they will be recognized during the current clock cycle; otherwise the signals will be recognized on
the following cycle. (Refer to “Interrupt Controller Operation” in the Program Control chapter of the User’s Manual for further information on interrupt servicing.)
2
Edge-sensitive interrupts require pulse widths greater than 10 ns; level-sensitive interrupts must be held low until serviced.
3
IRQx = IRQ0, IRQ1, and IRQ2.
4
Flag Output = FL0 and FO.
CLKOUT
t FOD
t FOH
FLAG
OUTPUTS
t I FH
IRQ x
FI
t I FS
Figure 16. Interrupts and Flags
–26–
REV. 0
ADSP-21msp58/59
Parameter
Min
Max
Unit
Bus Request/Grant
Timing Requirement:
tBH
BR Hold after CLKOUT High1
tBS
BR Setup before CLKOUT Low1
0.25tCK + 2
0.25tCK + 17
Switching Characteristic:
tSD
CLKOUT High to DMS, PMS, BMS,
RD, WR Disable
tSDB
DMS, PMS, BMS, RD, WR
Disable to BG Low
tSE
BG High to DMS, PMS, BMS,
RD, WR Enable
tSEC
DMS, PMS, BMS, RD, WR
Enable to CLKOUT High
ns
ns
0.25tCK + 10
ns
0
ns
0
ns
0.25tCK – 7
ns
NOTES
1
BR is an asynchronous signal. If BR meets the setup/hold requirements, it will be recognized during the current clock cycle; otherwise the signal will be recognized
on the following cycle. Refer to the ADSP-2100 Family User’s Manual for BR/BG cycle relationships.
t BH
CLKOUT
BR
t BS
CLKOUT
PMS, DMS,
BMS,RD,
WR
tSEC
t SD
BG
t SDB
t SE
Figure 17. Bus Request–Bus Grant
REV. 0
–27–
ADSP-21msp58/59
Parameter
Min
Max
Unit
0.5tCK – 11 + w
0.75tCK – 12 + w
ns
ns
ns
Memory Read
Timing Requirement:
tRDD
RD Low to Data Valid
tAA
A0-A13, PMS, DMS, BMS to Data Valid
tRDH
Data Hold from RD High
0
Switching Characteristic:
tRP
RD Pulse Width
tCRD
CLKOUT High to RD Low
tASR
A0-A13, PMS, DMS, BMS Setup before RD Low
tRDA
A0-A13, PMS, DMS, BMS Hold after RD Deasserted
tRWR
RD High to RD or WR Low
0.5tCK – 5 + w
0.25tCK – 5
0.25tCK – 6
0.25tCK – 3
0.5tCK – 5
0.25tCK + 7
ns
ns
ns
ns
NOTE
w = wait states × tCK.
CLKOUT
A0 – A13
DMS, PMS,
BMS
t RDA
RD
t RP
tASR
tCRD
t RWR
D
tROD
tRDH
tAA
WR
Figure 18. Memory Read
–28–
REV. 0
ADSP-21msp58/59
Parameter
Min
Max
Unit
Memory Write
Switching Characteristic:
tDW
Data Setup before WR High
tDH
Data Hold after WR High
tWP
WR Pulse Width
tWDE
WR Low to Data Enabled
tASW
A0-A13, DMS, PMS Setup before WR Low
tDDR
Data Disable before WR or RD Low
tCWR
CLKOUT High to WR Low
tAW
A0-A13, DMS, PMS, Setup before WR Deasserted
tWRA
A0-A13, DMS, PMS Hold after WR Deasserted
tWWR
WR High to RD or WR Low
0.5tCK – 7 + w
0.25tCK – 2
0.5tCK – 5 + w
0
0.25tCK – 6
0.25tCK – 6
0.25tCK – 5
0.75tCK – 9 + w
0.25tCK – 3
0.5tCK – 5
0.25tCK + 7
NOTE
w = wait states × tCK.
CLKOUT
A0 – A13
DMS, PMS
t WRA
WR
t WWR
t WP
tASW
t AW
t DH
tCWR
D
tWDE
t DW
RD
Figure 19. Memory Write
REV. 0
–29–
t DDR
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ADSP-21msp58/59
Parameter
Min
Max
Unit
Serial Ports
Timing Requirement:
tSCK
SCLK Period
tSCS
DR/TFS/RFS Setup before SCLK Low
tSCH
DR/TFS/RFS Hold after SCLK Low
tSCP
SCLKin Width
50
4
7
20
Switching Characteristic:
CLKOUT High to SCLKout
tCC
tSCDE
SCLK High to DT Enable
tSCDV
SCLK High to DT Valid
tRH
TFS/RFSout Hold after SCLK High
tRD
TFS/RFSout Delay from SCLK High
tSCDH
DT Hold after SCLK High
tTDE
TFS(Alt) to DT Enable
tTDV
TFS(Alt) to DT Valid
tSCDD
SCLK High to DT Disable
tRDV
RFS (Multichannel, Frame Delay Zero) to DT Valid
ns
ns
ns
ns
0.25tCK
0
0.25tCK + 10
15
0
15
0
0
14
15
15
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
CLKOUT
t CC
t CC
t SCK
SCLK
t SCP
t SCS
t SCH
t SCP
DR
RFSIN
TFSIN
t RD
t RH
RFSOUT
TFSOUT
t SCDV
t SCDD
t SCDH
t SCDE
DT
t TDE
t TDV
TFS
alternate
frame mode
t RDV
RFS
multichannel
mode, frame
delay 0 (MFD = 0)
Figure 20. Serial Ports
–30–
REV. 0
ADSP-21msp58/59
Parameter
Min
Max
Unit
Host Interface Port
Separate Data and Address (HMD1 = 0)
Read Strobe and Write Strobe (HMD0 = 0)
Timing Requirement:
tHSU
HA2-0 Setup before Start of Write or Read1, 2
tHDSU
Data Setup before End of Write3
tHWDH
Data Hold after End of Write3
tHH
HA2-0 Hold after End of Write or Read3, 4
tHRWP
Read or Write Pulse Width5
5
5
3
3
20
Switching Characteristic:
HACK Low after Start of Write or Read1, 2
tHSHK
tHKH
HACK Hold after End of Write or Read3, 4
tHDE
Data Enabled after Start of Read2
tHDD
Data Valid after Start of Read2
tHRDH
Data Hold after End of Read4
tHRDD
Data Disabled after End of Read4
ns
ns
ns
ns
ns
0
0
0
15
15
18
0
7
NOTES
1
Start of Write = HWR Low and HSEL Low.
2
Start of Read = HRD Low and HSEL Low.
3
End of Write = HWR High or HSEL High.
4
End of Read = HRD High or HSEL High.
5
Read Pulse Width = HRD Low and HSEL Low, Write Pulse Width = HWR Low and HSEL Low.
HA2–0
ADDRESS
tHRWP
HSEL
tHSU
HOST WRITE CYCLE
tHH
HWR
HACK
tHKH
tHSHK
DATA
HD7–0
tHWDH
tHDSU
HA2–0
ADDRESS
tHRWP
HSEL
tHSU
HOST READ CYCLE
tHH
HRD
HACK
tHSHK
tHKH
DATA
HD7–0
tHDE
tHDD
tHRDH
t HRDD
Figure 21. Host Interface Port (HMD1 = 0, HMD0 = 0)
REV. 0
–31–
ns
ns
ns
ns
ns
ns
ADSP-21msp58/59
Parameter
Min
Max
Unit
Host Interface Port
Separate Data and Address (HMD1 = 0)
Read Strobe and Write Strobe (HMD0 = 1)
Timing Requirement:
tHSU
HA2-0, HRW Setup before Start of Write or Read1
tHDSU
Data Setup before End of Write2
tHWDH
Data Hold after End of Write2
tHH
HA2-0, HRW Hold after End of Write or Read2
tHRWP
Read or Write Pulse Width3
5
5
3
3
20
Switching Characteristic:
HACK Low after Start of Write or Read1
tHSHK
tHKH
HACK Hold after End of Write or Read2
tHDE
Data Enabled after Start of Read1
tHDD
Data Valid after Start of Read1
tHRDH
Data Hold after End of Read2
tHRDD
Data Disabled after End of Read2
ns
ns
ns
ns
ns
0
0
0
15
15
18
0
7
ns
ns
ns
ns
ns
ns
NOTES
1
Start of Write or Read = HDS Low and HSEL Low.
2
End of Write or Read = HDS High and HSEL High.
3
Read or Write Pulse Width = HDS Low and HSEL Low.
HA2–0
ADDRESS
t HRWP
HSEL
t HSU
HOST WRITE CYCLE
HRW
t HH
HDS
HACK
t HSHK
t HKH
DATA
HD7–0
t HWDH
t HDSU
HA2–0
ADDRESS
t HRWP
HSEL
t HSU
HRW
HOST READ CYCLE
t HH
HDS
HACK
t HSHK
t HKH
DATA
HD7–0
t HDE
t HDD
t HRDH
t HRDD
Figure 22. Host Interface Port (HMD1 = 0, HMD0 =1)
–32–
REV. 0
ADSP-21msp58/59
Parameter
Min
Max
Unit
Host Interface Port
Multiplexed Data and Address (HMD1 = 1)
Read Strobe and Write Strobe (HMD0 = 0)
Timing Requirement:
tHALP
ALE Pulse Width
tHASU
HAD15-0 Address Setup, before ALE Low
tHAH
HAD15-0 Address Hold after ALE Low
tHALS
Start of Write or Read after ALE Low1, 2
tHDSU
HAD15-0 Data Setup before End of Write3
tHWDH
HAD15-0 Data Hold after End of Write3
tHRWP
Read or Write Pulse Width5
10
5
2
10
5
3
20
Switching Characteristic:
tHSHK
HACK Low after Start of Write or Read1, 2
tHKH
HACK Hold after End of Write or Read3, 4
tHDE
HAD15-0 Data Enabled after Start of Read2
tHDD
HAD15-0 Data Valid after Start of Read2
tHRDH
HAD15-0 Data Hold after End of Read
tHRDD
HAD15-0 Data Disabled after End of Read4
ns
ns
ns
ns
ns
ns
ns
0
0
0
15
15
18
0
7
NOTES
1
Start of Write = HWR Low and HSEL Low.
2
Start of Read = HRD Low and HSEL Low.
3
End of Write = HWR High or HSEL High.
4
End of Read = HRD High or HSEL High.
5
Read Pulse Width = HRD Low and HSEL Low, Write Pulse Width = HWR Low and HSEL Low.
ALE
tHALP
HSEL
HOST WRITE CYCLE
t H R WP
tHALS
HWR
tHKH
tHSHK
HACK
HAD7–0
tHASU tHAH
ADDRESS
DATA
tHDSU
t H WD H
ALE
tHALP
t H R WP
HSEL
tHALS
HOST READ CYCLE
HRD
t HSHK
HACK
HAD7–0
tHASU tHAH
tHKH
t HDE
ADDRESS
t HRDH
DATA
t HDD
t HRDD
Figure 23. Host Interface Port (HMD1 = 1, HMD0 = 0)
REV. 0
–33–
ns
ns
ns
ns
ns
ns
ADSP-21msp58/59
Parameter
Min
Max
Unit
Host Interface Port
Multiplexed Data and Address (HMD1 = 1)
Read Strobe and Write Strobe (HMD0 = 1)
Timing Requirement:
tHALP
ALE Pulse Width
tHASU
HAD15-0 Address Setup before ALE Low
tHAH
HAD15-0 Address Hold after ALE Low
tHALS
Start of Write or Read after ALE Low1
tHSU
HRW Setup before Start of Write or Read1
tHDSU
HAD15-0 Data Setup before End of Write2
tHWDH
HAD15-0 Data Hold after End of Write2
tHH
HRW Hold after End of Write or Read2
tHRWP
Read or Write Pulse Width3
10
5
2
10
5
5
3
3
20
Switching Characteristic:
tHSHK
HACK Low after Start of Write or Read1
tHKH
HACK Hold after End of Write or Read2
tHDE
HAD15-0 Data Enabled after Start of Read1
tHDD
HAD15-0 Data Valid after Start of Read1
tHRDH
HAD15-0 Data Hold after End of Read2
tHRDD
HAD15-0 Data Disabled after End of Read2
ns
ns
ns
ns
ns
ns
ns
ns
ns
0
0
0
15
15
18
0
7
ns
ns
ns
ns
ns
ns
NOTES
1
Start of Write or Read = HDS Low and HSEL Low.
2
End of Write or Read = HDS High and HSEL High.
3
Read or Write Pulse Width = HDS Low and HSEL Low.
ALE
t HALP
t HRWP
HSEL
t HALS
HOST WRITE CYCLE
t HH
HRW
t HSU
HDS
t HKH
t HSHK
HACK
HAD7–0
t HASU t HAH
ADDRESS
DATA
t HDSU
t HWDH
ALE
t HALP
t HRWP
HSEL
t HALS
HRW
t HH
t HSU
HOST READ CYCLE
HDS
t HKH
t HSHK
HACK
t HASU t HAH
t HDE
HAD7–0
ADDRESS
t HRDH
DATA
t HDD
t HRDD
Figure 24. Host Interface Port (HMD1 = 1, HMD0 = 1)
–34–
REV. 0
ADSP-21msp58/59
ENVIRONMENTAL CONDITIONS
frequency, the codec performance changes and the performance
specifications cannot be guaranteed. The codec filter characteristics, however, scale approximately linearly with frequency.
Ambient Temperature Rating:
TAMB = TCASE – (PD × θ CA)
TCASE = Case Temperature in °C
PD = Power Dissipation in W
θ CA = Thermal Resistance (Case-to-Ambient)
θ JA = Thermal Resistance (Junction-to-Ambient)
θ JC = Thermal Resistance (Junction-to-Case)
Package
θJA
If the codec is disabled, then the processor can be used at any
allowed input frequency. The power consumption of the ADSP21msp58/59 at these frequencies is shown in Figure 25.
POWER, INTERNAL
θJC
θCA
550
INTERNAL
(80% NOMINAL LOADING)
CODEC INACTIVE
MAX VALUES
500
450
50°C/W
2°C/W
48°C/W
POWER (PINT) – mW
TQFP
POWER DISSIPATION
To determine total power dissipation in a specific application,
the following equation should be applied for each output:
C × VDD2 × f
C = load capacitance, f = output switching frequency.
•
•
2
6
100
10
× 26 MHz
× 13 MHz
× 13 MHz
× 26 MHz
14
18
1/tCK – MHz
22
26
30
50
100mW
IDLE 0
CODEC INACTIVE
MAX VALUES
83mW
VDD = 5.5V
.0V
70
V DD
=5
60
69mW
57mW
50
49mW
40
42mW
2
6
VDD = 4.5V
10
×f
14
18
1/tCK – MHz
22
26
30
3
=
=
=
=
52 mW
30 mW
4 mW
6 mW
92 mW
POWER, IDLE n MODES
70
IDLEs @ 5.0V
CODEC INACTIVE
TYPICAL VALUES
60
Total power dissipation for this example is PINT + 92 mW.
Typical Power Consumption
The typical power consumption can be calculated from the following data, taken at 5.0 V and +25°C. Dynamic VDD data was
taken while executing 80% type 1 multifunction instructions, on
random data.
Parameter
IDD Digital Supply Current (Idle, Codec Powered Up)
IDD Digital Supply Current (Idle)
IDD Digital Supply Current (Dynamic, Codec Powered Up)
IDD Digital Supply Current (Dynamic)
IDD Digital Supply Current (Powerdown)
Typ
19 mA
13 mA
83 mA
78 mA
10 µA
ICC Analog Supply Current (Dynamic)
15 mA
65mW
50
40
IDLE (16)
37mW IDLE (32)
35mW IDLE (64)
IDLE (128)
30
29mW
21mW
20mW
20
10
2
6
10
14
18
1/tCK – MHz
22
26
30
VALID FOR ALL TEMPERATURE GRADES.
1
2
Analog Devices recommends that the ADSP-21msp58/59
is used with a 13 MHz input clock. Below this input clock
REV. 0
150
118mW
80
30
× 52 V
× 52 V
× 52 V
× 52 V
VDD = 4.5V
90
POWER (PIDLEN) – mW
× 10 pF
× 10 pF
× 10 pF
× 10 pF
250
200
191mW
154mW
100
Total Power Dissipation = PINT + (C × VDD2 × f )
PINT = internal power dissipation from Power vs. Frequency
graph (Figure 25).
(C × VDD2 × f ) is calculated for each output:
8
9
1
1
200
300
2
The application operates at VDD = 5.0 V and tCK = 76.92 ns.
Address, DMS
Data Output, WR
RD
CLKOUT
250
350
POWER, IDLE
Each address and data pin has a 10 pF total load at the pin.
× VDD
V DD
.0
=5
110
External data memory writes occur every other cycle with
50% of the data pins switching.
2
400
310mW
V
300
50
External data memory is accessed every cycle with 50% of the
address pins switching.
# of
Pins × C
350
POWER (PIDLE) – mW
•
450
391mW
VDD = 5.5V
100
In an application where external data memory is used and no
other outputs are active, power dissipation is calculated as
follows:
Assumptions:
480mW 500
400
150
Example:
•
1
550
POWER REFLECTS DEVICE OPERATING WITH NO OUTPUT LOADS.
IDLE REFERS TO ADSP-21msp58/59 STATE OF OPERATION DURING EXECUTION OF
IDLE INSTRUCTION. DEASSERTED PINS ARE DRIVEN TO EITHER VDD OR GND.
POWER REFLECTS DEVICE OPERATING WITH CLKOUT DISABLED.
3 TYPICAL POWER DISSIPATION AT 5.0V V
DD DURING EXECUTION OF IDLE n
INSTRUCTION (CLOCK FREQUENCY REDUCTION). POWER REFLECTS DEVICE
OPERATING WITH CLKOUT DISABLED.
Figure 25. Power vs. Internal Processor Frequency
–35–
ADSP-21msp58/59
CAPACITIVE LOADING
TEST CONDITIONS
Digital
Figures 26 and 27 show the capacitive loading characteristics of
the ADSP-21msp58/59.
Figure 28 shows the voltage reference levels and Figure 29
shows the equivalent device loading for the ac measurements.
28
RISE TIME (0.4V – 2.4V) – ns
3.0V
1.5V
0.0V
INPUT
24
VDD = 4.5V
20
2.0V
1.5V
0.8V
OUTPUT
16
12
Figure 28. Voltage Reference Levels for AC Measurements (Except Output Enable/Disable)
8
4
IOL
0
25
50
75
100
CL – pF
125
150
175
TO
OUTPUT
PIN
Figure 26. Typical Output Rise Time vs. Load Capacitance,
CL (at Maximum Ambient Operating Temperature)
+1.5V
50pF
VALID OUTPUT DELAY OR HOLD – ns
+14
IOH
+12
+10
Figure 29. Equivalent Device Loading for AC Measurements (Including All Fixtures)
+8
+6
Analog
+4
Figure 30 shows the analog test conditions.
+2
2.2kΩ
1.0µF
1.0µF
2200pF
NPO
–2
–4
DECOUPLE
VINNORM
NOMINAL
25
50
75
100
CL – pF
125
150
175
2.2kΩ
1.0µF
REF_CAP
VINAUX
10µF
0.1µF
2200pF
NPO
Figure 27. Typical Output Valid Delay or Hold vs. Load
Capacitance, CL (at Maximum Ambient Operating
Temperature)
Figure 30. Analog Test Conditions
–36–
REV. 0
ADSP-21msp58/59
Output Disable Time
Output Enable Time
Output pins are considered to be disabled when they have
stopped driving and started a transition from the measured output high or low voltage to a high impedance state. The output
disable time (tDIS) is the difference of tMEASURED and tDECAY, as
shown in the Output Enable/Disable diagram. The time is the
interval from when a reference signal reaches a high or low voltage level to when the output voltages have changed by 0.5 V
from the measured output high or low voltage. The decay time,
tDECAY, is dependent on the capacitative load, CL, and the current load, iL, on the output pin. It can be approximated by the
following equation:
Output pins are considered to be enabled when that have made
a transition from a high-impedance state to when they start driving. The output enable time (tENA) is the interval from when a
reference signal reaches a high or low voltage level to when the
output has reached a specified high or low trip point, as shown
in the Output Enable/Disable diagram. If multiple pins (such as
the data bus) are enabled, the measurement value is that of the
first pin to start driving.
t DECAY
REFERENCE
SIGNAL
t M EASURED
C • 0.5V
= L
iL
tENA
tDIS
VOH (MEASURED)
from which
OUTPUT
t DIS = t MEASURED – t DECAY
VOL (MEASURED)
is calculated. If multiple pins (such as the data bus) are disabled, the measurement value is that of the last pin to stop
driving.
VOH
(MEASURED)
VOH (MEASURED) –0.5V
2.0V
VOL (MEASURED) +0.5V
1.0V
VOL
(MEASURED)
tDECAY
OUTPUT STOPS
DRIVING
OUTPUT STARTS
HERE
HIGH-IMPEDANCE STATE. TEST CONDITIONS CAUSE
THIS VOLTAGE LEVEL TO BE APPROXIMATELY 1.5V.
Figure 31. Output Enable/Disable
REV. 0
–37–
ADSP-21msp58/59
PIN CONFIGURATION
VOUTP
VREF
VCC
BR
PWD
BMODE
GNDA
VOUTN
D3
D2
D1
D0
BG
GND
D7
D6
D5
D4
D12
D11
D10
D9
D8
D14
D13
100-Lead Thin Plastic Quad Flatpack (TQFP)
100
76
1
75
D15
D16
D17
VINNORM
DECOUPLE
VINAUX
D18
D19
D20
D21
REF_FILTER
GNDA
MMAP
RESET
D22
D23
VDD
GND
PMS
DMS
BMS
RD
WR
HD7
HD6
HD5
HD4
IRQ2
HMD0
HMD1
HACK
FL0
SCLK1
DR1/FI
RFS1/IRW0
TOP VIEW
(PINS DOWN)
TFS1/IRQ1
DT1/FO
GND
SCLK0
DR0
FRS0
TFS0
DT0
VDD
HD3
HD2
HD1
HD0
HA2/ALE
A13
25
51
–38–
A10
A11
A12
A6
A7
A8
A9
A1
A2
A3
A4
A5
VDD
A0
GND
XTAL
CLKIN
GND
HSEL
HWR/HDS
HRD/HRW
CLKOUT
VDD
50
HA1
HA0
26
REV. 0
ADSP-21msp58/59
100-Lead Thin Plastic Quad Flatpack (TQFP) Pinout
TQFP
Number
Pin
Name
TQFP
Number
Pin
Name
TQFP
Number
Pin
Name
TQFP
Number
Pin
Name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
D15
D16
D17
D18
D19
D20
D21
D22
D23
VDD
GND
PMS
DMS
BMS
RD
WR
HD7
HD6
HD5
HD4
HD3
HD2
HD1
HD0
HA2/ALE
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
HA1
HA0
HSEL
HWR/HDS
HRD/HRW
CLKOUT
VDD
GND
XTAL
CLKIN
GND
VDD
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
A13
VDD
DT0
TFS0
RFS0
DR0
SCLK0
GND
DT1/FO
TFS1/IRQ1
RFS1/IRQ0
DR1/FI
SCLK1
FL0
HACK
HMD1
HMD0
IRQ2
RESET
MMAP
GNDA
REF_FILTER
VINAUX
DECOUPLE
VINNORM
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
VCC
VREF
VOUTP
VOUTN
GND
BMODE
PWD
BR
BG
D0
D1
D2
D3
D4
D5
D6
D7
GND
D8
D9
D10
D11
D12
D13
D14
REV. 0
–39–
ADSP-21msp58/59
OUTLINE DIMENSIONS
Dimensions shown in millimeters and (inches)
100-Lead Metric Thin Plastic Quad Flat Pack (TQFP)
0.75 (0.030)
0.50 (0.019)
100
1
C2030–4–4/95
16.25 (0.640)
SQ
15.75 (0.620)
14.05 (0.553)
SQ
13.95 (0.549)
1.60 (0.063)
MAX
76
75
SEATING
PLANE
TOP VIEW
(PINS DOWN)
25
0.1 (0.004)
51
50
26
0.15 (0.006)
0.05 (0.002)
0.56 (0.022)
0.44 (0.018)
0.057 (1.45)
0.053 (1.35)
0.27 (0.011)
0.17 (0.007)
12.06 (0.475) SQ
ORDERING GUIDE*
Part Number
Ambient
Temperate
Range
Instruction
Rate
(MIPS)
Package
Description
Package
Option
ADSP-21msp58BST-104
–40°C to +85°C
26
100-Lead TQFP
ST-100
PRINTED IN U.S.A.
*Refer to the section titled “Ordering Procedure for ADSP-21msp59 ROM Processors” for information about ordering ROM coded parts.
–40–
REV. 0