ADSP21992YST ,Mixed Signal DSP Controller With CANspecifications are subject to change without notice. Analog2 REV. PrADevices assumes no obligation ..
ADSP21MOD870 ,16-Bit, First Complete Digital Modem on a Single Chipspecifications of the EZ-ICE targetThe modem software is available as object code.board connector.D ..
ADSP-21MOD870 ,16-Bit, First Complete Digital Modem on a Single Chipoverview of ADSP-21mod870rect addressing), it is post-modified by the value of one of fourfunctiona ..
ADSP-21MOD870-000 ,Internet Gateway Processorspecifications of the EZ-ICE targetThe modem software is available as object code.board connector.D ..
ADSP21MOD870-000 ,Internet Gateway Processoroverview of ADSP-21mod870rect addressing), it is post-modified by the value of one of fourfunctiona ..
ADSP-21MOD870-110 ,16-Bit, First Complete Digital Modem on a Single ChipGENERAL DESCRIPTIONOn-Chip Program Memory RAM and 32K Words On-The ADSP-21mod870 is a single-chip I ..
AM26C31CDR ,Quadruple Differential Line DriverMaximum Ratings . 49.2 Typical Application .... 126.2 ESD Ratings........ 410 Power Supply Recommen ..
AM26C31CDRG4 ,Quadruple Differential Line Driver 16-SOIC 0 to 70 SLLS103O–DECEMBER 1990–REVISED JUNE 20165 Pin Configuration and FunctionsJ, W, D, DB, NS, N, or PW ..
AM26C31CN ,Quadruple Differential Line DriverMaximum Ratings(1)over operating free-air temperature range (unless otherwise noted)MIN MAX UNIT(2) ..
AM26C31CNSR ,Quadruple Differential Line DriverMaximum Ratings(1)over operating free-air temperature range (unless otherwise noted)MIN MAX UNIT(2) ..
AM26C31CNSRG4 ,Quadruple Differential Line Driver 16-SO 0 to 70Features section and added the Applications section, the Device Information table, ESD Ratings tabl ..
AM26C31I , QUADRUPLE DIFFERENTIAL LINE DRIVERS
ADSP21992YST
Mixed Signal DSP Controller With CAN
Mixed Signal DSP Controller With CANREV. PrA
PRELIMINARY TECHNICAL DATA
MIXED SIGNAL DSP CONTROLLER FEATURES
ADSP-219x, 16-bit, Fixed Point DSP Core with up to 160
MIPS sustained performance
48K Words of On chip RAM, Configured as 32K Words
On chip 24-bit Program RAM and 16K Words On chip
16-bit Data RAM
External Memory Interface
Dedicated Memory DMA Controller for Data/Instruction
Transfer between Internal/External Memory
Programmable PLL and Flexible Clock Generation
Circuitry Enables Full speed Operation from Low
speed Input Clocks
IEEE JTAG Standard 1149.1 Test Access Port Supports
On chip Emulation and System Debugging
8-Channel, 20 MSPS, 14-bit Analog to Digital Converter
System
Three Phase 16-bit Center Based PWM Generation Unit
with 12.5 ns resolution
Dedicated 32-bit Encoder Interface Unit with
Companion Encoder Event Timer
Dual 16-bit Auxiliary PWM Outputs
16 General Purpose Flag I/O Pins
Three Programmable 32-bit Interval Timers
SPI Communications Port with Master or Slave
Operation
Synchronous Serial Communications Port (SPORT)
Capable of Software UART Emulation
Controller Area Network (CAN) Module Fully Compliant
with V2.0B Standard
FUNCTIONAL BLOCK DIAGRAM
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATA
Integrated Watchdog Timer
Dedicated Peripheral Interrupt Controller with Software
Priority Control
Multiple Boot Modes
Precision 1.0V Voltage Reference
Integrated Power-On-Reset (POR) Generator
Flexible Power Management with Selectable Powerdown
and Idle Modes
2.5V Internal Operation with 3.3V I/O
Operating Temperature Range of –40ºC to +115ºC
176 pin LQFP package
TARGET APPLICATIONS
Industrial Motor Drives
Un-Interruptible Power Supplies
Optical Networking Control
Data Acquisition Systems
Test and Measurement Systems
Portable Instrumentation
GENERAL NOTEThis data sheet provides preliminary information for the
ADSP-21992 Mixed Signal Digital Signal Processor.
GENERAL DESCRIPTIONThe ADSP-21992 is a mixed signal DSP controller based
on the ADSP-219x DSP Core, suitable for a variety of high
performance Industrial Motor Control and Signal Process-
ing applications that require the combination of a high
performance DSP and the mixed signal integration of
embedded control peripherals such as analog to digital con-
version with communications interfaces such as CAN.
The ADSP-21992 integrates the 160 MIPS, fixed point
ADSP-219x family base architecture with a serial port, an
SPI compatible port, a DMA controller, three programma-
ble timers, general purpose Programmable Flag pins,
extensive interrupt capabilities, on chip program and data
memory spaces, and a complete set of embedded control
peripherals that permits fast motor control and signal pro-
cessing in a highly integrated environment.
The ADSP-21992 architecture is code compatible with
previous ADSP-217x based ADMCxxx products. Although
the architectures are compatible, the ADSP-21992, with
ADSP-219x architecture, has a number of enhancements
over earlier architectures. The enhancements to computa-
tional units, data address generators, and program
sequencer make the ADSP-21992 more flexible and easier
to program than the previous ADSP-21xx embedded DSPs.
Indirect addressing options provide addressing flexibility—
premodify with no update, pre- and post-modify by an
immediate 8-bit, two’s complement value and base address
registers for easier implementation of circular buffering.
The ADSP-21992 integrates 48K words of on chip memory
configured as 32K words (24-bit) of program RAM, and
16K words (16-bit) of data RAM.
Fabricated in a high speed, low power, CMOS process, the
ADSP-21992 operates with a 6.25ns instruction cycle time
(160MIPS). All instructions, except two multiword
instructions, execute in a single DSP cycle.
The ADSP-21992’s flexible architecture and comprehen-
sive instruction set support multiple operations in parallel.
For example, in one processor cycle, the ADSP-21992 can:Generate an address for the next instruction fetchFetch the next instructionPerform one or two data movesUpdate one or two data address pointersPerform a computational operation
These operations take place while the processor
continuesto:Receive and transmit data through the serial portReceive or transmit data over the SPI portAccess external memory through the external memory
interfaceDecrement the timers Operate the embedded control peripherals (ADC, PWM,
EIU, etc.)
DSP Core Architecture6.25 ns instruction cycle time (internal), for up to 160
MIPS sustained performanceADSP-218x family code compatible with the same easy
to use algebraic syntaxSingle cycle instruction execution Up to 1 Mwords of addressable memory space with
twenty four bits of addressing widthDual purpose program memory for both instruction and
data storageFully transparent Instruction Cache allows dual operand
fetches in every instruction cycleUnified memory space permits flexible address genera-
tion, using two independent DAG unitsIndependent ALU, Multiplier/Accumulator, and barrel
Shifter computational units with dual 40-bit
accumulatorsSingle cycle context switch between two sets of computa-
tional and DAG registersParallel execution of computation and memory
instructionsPipelined architecture supports efficient code execution
at speeds up to 160 MIPSRegister file computations with all non-conditional,
non-parallel computational instructionsPowerful Program Sequencer provides zero overhead
looping and conditional instruction execution
PRELIMINARY TECHNICAL DATAArchitectural enhancements for compiled C code
efficiencyArchitecture enhancements beyond ADSP-218x family
are supported with instruction set extensions for added
registers, ports, and peripherals.
The clock generator module of the ADSP-21992 includes
Clock Control logic that allows the user to select and change
the main clock frequency. The module generates two output
clocks; the DSP core clock, CCLK, and the peripheral
clock, HCLK. CCLK can sustain clock values of up to 160
MHz, while HCLK can be equal to CCLK or CCLK/2 for
values up to a maximum 80MHz peripheral clock.
The ADSP-21992 instruction set provides flexible data
moves and multifunction (one or two data moves with a
computation) instructions. Every single word instruction
can be executed in a single processor cycle. The
ADSP-21992 assembly language uses an algebraic syntax
for ease of coding and readability. A comprehensive set of
development tools supports program development.
The block diagram Figure1 shows the architecture of the
embedded ADSP-219x core. It contains three independent
computational units: the ALU, the multiplier/accumulator
(MAC), and the shifter. The computational units process
16-bit data from the register file 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 single
cycle multiply, multiply/add, and multiply/subtract opera-
tions. The MAC has two 40-bit accumulators, which help
with overflow. 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 and block
floating point representations.
Register usage rules influence placement of input and
results within the computational units. For most operations,
the computational units’ data registers act as a data register
file, permitting any input or result register to provide input
Figure 1.ADSP-21992 DSP Block Diagram
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAinput to any unit on the next cycle. For conditional or mul-
tifunction instructions, there are restrictions on which data
registers may provide inputs or receive results from each
computational unit. For more information, see the
ADSP-219x DSP Instruction Set Reference.
A powerful program sequencer controls the flow of instruc-
tion execution. The sequencer supports conditional jumps,
subroutine calls, and low interrupt overhead. With internal
loop counters and loop stacks, the ADSP-21992 executes
looped code with zero overhead; no explicit jump instruc-
tions are required to maintain loops.
Two data address generators (DAGs) provide addresses for
simultaneous dual operand fetches (from data memory and
program memory). Each DAG maintains and updates four
16-bit address pointers. Whenever the pointer is used to
access data (indirect addressing), it is pre- or post-modified
by the value of one of four possible modify registers. A length
value and base address may be associated with each pointer
to implement automatic modulo addressing for circular
buffers. Page registers in the DAGs allow circular addressing
within 64K word boundaries of each of the 256 memory
pages, but these buffers may not cross page boundaries.
Secondary registers duplicate all the primary registers in the
DAGs; switching between primary and secondary registers
provides a fast context switch.
Efficient data transfer in the core is achieved with the use of
internal buses:Program Memory Address (PMA) BusProgram Memory Data (PMD) BusData Memory Address (DMA) BusData Memory Data (DMD) BusDirect Memory Access Address BusDirect Memory Access Data Bus
The two address buses (PMA and DMA) share a single
external address bus, allowing memory to be expanded off
chip, and the two data buses (PMD and DMD) share a
single external data bus. Boot memory space and I/O
memory space also share the external buses.
Program memory can store both instructions and data, per-
mitting the ADSP-21992 to fetch two operands in a single
cycle, one from program memory and one from data
memory. The DSP’s dual memory buses also let the
embedded ADSP-219x core fetch an operand from data
memory and the next instruction from program memory in
a single cycle.
Memory ArchitectureThe ADSP-21992 provides 48K words of on chip SRAM
memory. This memory is divided into two blocks; a 32K x
24-bit (block 0) and a 16K x 16-bit (block 1). In addition,
the ADSP-21992 provides a 4k x 24-bit block of program
memory boot ROM (that is reserved by ADI for boot load
routines). The memory map of the ADSP-21992 is illus-
trated in Figure 2.
As shown in Figure 2, the two internal memory RAM blocks
reside in memory page 0. The entire DSP memory map
consists of 256 pages (pages 0 to 255), and each page is 64
kWords long. External memory space consists of four
memory banks (banks 0-3) and supports a wide variety of
memory devices. Each bank is selectable using unique
memory select lines (MS3 - MS0) and has configurable page
boundaries, wait states, and wait state modes. The 4K words
of on chip boot ROM populates the top of page 255, while
the remaining 254 pages are addressable off chip. I/O
memory pages differ from external memory in that they are
1K word long, and the external I/O pages have their own
select pin (IOMS). Pages 0-31 of I/O memory space reside
on chip and contain the configuration registers for the
peripherals. Both the ADSP_219x core and DMA capable
peripherals can access the DSP’s entire memory map.
NOTE: The physical external memory addresses are limited
by 20 address lines, and are determined by the external data
width and packing of the external memory space. The
Strobe signals (MS3 - 0) can be programmed to allow the
user to change starting page addresses at run time.
Internal (On chip) Memory The ADSP-21992’s unified program and data memory
space consists of 16M locations that are accessible through
two 24-bit address buses, the PMA and DMA buses. The
Figure 2.ADSP-21992 DSP Core Memory Map at Reset
PRELIMINARY TECHNICAL DATADSP uses slightly different mechanisms to generate a 24-bit
address for each bus. The DSP has three functions that
support access to the full memory map.The DAGs generate 24-bit addresses for data fetches from
the entire DSP memory address range. Because DAG
index (address) registers are 16 bits wide and hold the
lower 16bits of the address, each of the DAGs has its own
8-bit page register (DMPGx) to hold the most significant
eight address bits. Before a DAG generates an address,
the program must set the DAG’s DMPGx register to the
appropriate memory page. The DMPG1 register is also
used as a page register when accessing external memory.
The program must set DMPG1 accordingly, when
accessing data variables in external memory. A 'C'
program macro is provided for setting this register.The Program Sequencer generates the addresses for
instruction fetches. For relative addressing instructions,
the program sequencer bases addresses for relative jumps,
calls, and loops on the 24-bit Program Counter (PC). In
direct addressing instructions (two word instructions),
the instruction provides an immediate 24-bit address
value. The PC allows linear addressing of the full 24-bit
address range.For indirect jumps and calls that use a 16-bit DAG
address register for part of the branch address, the
Program Sequencer relies on an 8-bit Indirect Jump page
(IJPG) register to supply the most significant eight
address bits. Before a cross page jump or call, the program
must set the program sequencer’s IJPG register to the
appropriate memory page.
The ADSP-21992 has 4K word of on chip ROM that holds
boot routines. The DSP starts executing instructions from
the on chip boot ROM, which starts the boot process. For
more information, see Booting Modes on page14. The on
chip boot ROM is located on Page255 in the DSP’s
memory space map, starting at address 0xFF0000.
External (Off Chip) MemoryEach of the ADSP-21992’s off chip memory spaces has a
separate control register, so applications can configure
unique access parameters for each space. The access param-
eters include read and write wait counts, wait state
completion mode, I/O clock divide ratio, write hold time
extension, strobe polarity, and data bus width. The core
clock and peripheral clock ratios influence the external
memory access strobe widths. For more information, see
Clock Signals on page13. The off chip memory spacesare:External memory space (MS3–0 pins)I/O memory space (IOMS pin)Boot memory space (BMS pin)
All of these off chip memory spaces are accessible through
the External Port, which can be configured for 8-bit or
16-bit data widths.
External Memory SpaceExternal memory space consists of four memory banks.
These banks can contain a configurable number of 64 k
Word pages. At reset, the page boundaries for external
memory have Bank0 containing pages 1 to 63, Bank1 con-
taining pages 64 to 127, Bank2 containing pages 128 to 191,
and Bank3 containing pages 192 to 254. The MS3-MS0
memory bank pins select Banks 3-0, respectively. Both the
ADSP-219x core and DMA capable peripherals can access
the DSP’s external memory space.
All accesses to external memory are managed by the
External Memory Interface Unit (EMI).
I/O Memory SpaceThe ADSP-21992 supports an additional external memory
called I/O memory space. The IO space consists of 256
pages, each containing 1024 addresses. This space is
designed to support simple connections to peripherals (such
as data converters and external registers) or to bus interface
ASIC data registers. The first 32K addresses (IO pages 0 to
31) are reserved for on chip peripherals. The upper 224k
addresses (IO pages 32 to 255) are available for external
peripheral devices. External I/O pages have their own select
pin (IOMS). The DSP instruction set provides instructions
for accessing I/O space.
Boot Memory SpaceBoot memory space consists of one off chip bank with 254
pages. The BMS memory bank pin selects boot memory
space. Both the ADSP-219x core and DMA capable periph-
Figure 3.ADSP-21992 I/O Memory Map
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAerals can access the DSP’s off chip boot memory space. After
reset, the DSP always starts executing instructions from the
on chip boot ROM.
Bus Request and Bus GrantThe ADSP-21992 can relinquish control of the data and
address buses to an external device. When the external
device requires access to the bus, it asserts the bus request
(BR) signal. The (BR) signal is arbitrated with core and
peripheral requests. External Bus requests have the lowest
priority. If no other internal request is pending, the external
bus request will be granted. Due to synchronizer and arbi-
tration delays, bus grants will be provided with a minimum
of three peripheral clock delays. The ADSP-21992 will
respond to the bus grant by:Three stating the data and address buses and the MS3–0,
BMS, IOMS, RD, and WR output drivers.Asserting the bus grant (BG) signal.
The ADSP-21992 will halt program execution if the bus is
granted to an external device and an instruction fetch or
data read/write request is made to external general purpose
or peripheral memory spaces. If an instruction requires two
external memory read accesses, the bus will not be granted
between the two accesses. If an instruction requires an
external memory read and an external memory write access,
the bus may be granted between the two accesses. The
external memory interface can be configured so that the
core will have exclusive use of the interface. DMA and Bus
Requests will be granted. When the external device releases
BR, the DSP releases BG and continues program execution
from the point at which it stopped.
The bus request feature operates at all times, even while the
DSP is booting and RESET is active.
The ADSP-21992 asserts the BGH pin when it is ready to
start another external port access, but is held off because
the bus was previously granted. This mechanism can be
extended to define more complex arbitration protocols for
implementing more elaborate multimaster systems.
DMA ControllerThe ADSP-21992 has a DMA controller that supports
automated data transfers with minimal overhead for the
DSP core. Cycle stealing DMA transfers can occur between
the ADSP-21992’s internal memory and any of its DMA
capable peripherals. Additionally, DMA transfers can be
accomplished between any of the DMA capable peripherals
and external devices connected to the external memory
interface. DMA capable peripherals include the SPORT
and SPI ports, and ADC Control module. Each individual
DMA capable peripheral has a dedicated DMA channel. To
describe each DMA sequence, the DMA controller uses a
set of parameters—called a DMA descriptor. When succes-
sive DMA sequences are needed, these DMA descriptors
can be linked or chained together, so the completion of one
DMA sequence auto initiates and starts the next sequence.
DMA sequences do not contend for bus access with the DSP
core, instead DMAs “steal” cycles to access memory.
All DMA transfers use the DMA bus shown in Figure1 on
page3. Because all of the peripherals use the same bus,
arbitration for DMA bus access is needed. The arbitration
for DMA bus access appears in Table1.
DSP Peripherals ArchitectureThe ADSP-21992 contains a number of special purpose,
embedded control peripherals, which can be seen in the
Functional Block diagram on page 1. The ADSP-21992
contains a high performance, 8-channel, 14-bit ADC
system with dual channel simultaneous sampling ability
across 4 pairs of inputs. An internal precision voltage
reference is also available as part of the ADC system. In
addition, a three phase, 16-bit, center based PWM genera-
tion unit can be used to produce high accuracy PWM signals
with minimal processor overhead. The ADSP-21992 also
contains a flexible incremental encoder interface unit for
position sensor feedback; two adjustable frequency auxiliary
PWM outputs, 16 lines of digital I/O; a 16-bit watchdog
timer; three general purpose timers and an interrupt con-
troller that manages all peripheral interrupts. Finally, the
ADSP-21992 contains an integrated power-on-reset (POR)
circuit that can be used to generate the required reset signal
for the device on power-on.
The ADSP-21992 has an external memory interface that is
shared by the DSP’s core, the DMA controller, and DMA
capable peripherals, which include the ADC, SPORT, and
SPI communication ports. The external port consists of a
Figure 4.ADSP-21992 Boot Memory Map
Table 1. I/O Bus Arbitration Priority
PRELIMINARY TECHNICAL DATAThe data bus is configurable to provide an 8 or 16bit
interface to external memory. Support for word packing lets
the DSP access 16- or 24-bit words from external memory
regardless of the external data bus width.
The memory DMA controller lets the ADSP-21992 move
data and instructions from between memory spaces: inter-
nal-to-external, internal-to-internal, and external-to-
external. On chip peripherals can also use this controller for
DMA transfers.
The embedded ADSP-219x core can respond to up to
seventeen interrupts at any given time: three internal (stack,
emulator kernel, and power down), two external (emulator
and reset), and twelve user defined (peripherals) interrupts.
Programmers assign each of the 32 peripheral interrupt
requests to one of the 12 user defined interrupts. These
assignments determine the priority of each peripheral for
interrupt service.
The following sections provide a functional overview of the
ADSP-21992 peripherals.
Serial Peripheral Interface (SPI) PortThe Serial Peripheral Interface (SPI) Port provides func-
tionality for a generic configurable serial port interface
based on the SPI standard, which enables the DSP to com-
municate with multiple SPI compatible devices. Key
features of the SPI port are:Interface to host microcontroller or serial EEPROMMaster or slave operation (3 Wire Interface MISO,
MOSI, SCK) Data rates to 20 Mbaud (16-bit baud rate selector)8 or 16-bit transferProgrammable clock phase & polarityBroadcast Mode - 1 master, multiple slavesDMA capability & Dedicated interruptsPF0 can be used as Slave Select Input LinePF1-PF7 can be used as external Slave Select output
SPI is a 3 wire interface consisting of 2 data pins (MOSI
and MISO), one clock pin (SCK), and a single Slave Select
input (SPISS0) that is multiplexed with the PF0 Flag IO
line and seven Slave Select outputs (SPISEL1 to SPISEL7)
that are multiplexed with the PF1 to PF7 Flag IO lines. The
SPISS0 input is used to select the ADSP-21992 as a slave
to an external master. The SPISEL1 to SPISEL7 outputs
can be used by the ADSP-21992 (acting as a master) to
select/enable up to seven external slaves in an multi device
SPI configuration. In a multimaster or a multi device con-
figuration, all MOSI pins are tied together, all MISO pins
are tied together, and all SCK pins are tied together.
During transfers, the SPI port simultaneously transmits and
receives by serially shifting data in and out on the serial data
line. The serial clock line synchronizes the shifting and
In master mode, the DSP’s core performs the following
sequence to set up and initiate SPI transfers:Enables and configures the SPI port operation (data
size, and transfer format).Selects the target SPI slave with the SPISELx output
pin (reconfigured Programmable Flag pin).Defines one or more DMA descriptors in Page0 of I/O
memory space (optional in DMA mode only).Enables the SPI DMA engine and specifies transfer
direction (optional in DMA mode only).In non DMA mode only, reads or writes the SPI port
receive or transmit data buffer.
The SCK line generates the programmed clock pulses for
simultaneously shifting data out on MOSI and shifting
data in on MISO. In DMA mode only, transfers continue
until the SPI DMA word count transitions from1 to 0.
In slave mode, the DSP core performs the following
sequence to set up the SPI port to receive data from a master
transmitter:Enables and configures the SPI slave port to match the
operation parameters set up on the master (data size
and transfer format) SPI transmitter.Defines and generates a receive DMA descriptor in
Page0 of memory space to interrupt at the end of the
data transfer (optional in DMA mode only).Enables the SPI DMA engine for a receive access
(optional in DMA mode only).Starts receiving the data on the appropriate SCK edges
after receiving an SPI chip select on the SPISS0 input
pin (reconfigured Programmable Flag pin)
fromamaster
In DMA mode only, reception continues until the SPI
DMA word count transitions from 1 to0. The DSP core
could continue, by queuing up the next DMA descriptor.
A slave mode transmit operation is similar, except the DSP
core specifies the data buffer in memory space from which
to transmit data, generates and relinquishes control of the
transmit DMA descriptor, and begins filling the SPI port
data buffer. If the SPI controller is not ready on time to
transmit, it can transmit a “zero” word.
DSP Serial Port (SPORT)The ADSP-21992 incorporates a complete synchronous
serial port (SPORT) for serial and multiprocessor commu-
nications. The SPORT supports the following features:Bidirectional: the SPORT has independent transmit and
receive sections.Double buffered: the SPORT section (both receive and
transmit) has a data register for transferring data words
to and from other parts of the processor and a register for
shifting data in or out. The double buffering provides
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAClocking: the SPORT can use an external serial clock or
generate its own in a wide range of frequencies down to 0
Hz. Maximum clock value is 40 MHz for internally
generated clock.Word length: each SPORT section supports serial data
word lengths from three to sixteen bits that can be trans-
ferred either MSB first or LSB first.Framing: each SPORT section (receive and transmit) can
operate with or without frame synchronization signals for
each data word; with internally generated or externally
generated frame signals; with active high or active low
frame signals; with either of two pulse widths and frame
signal timing.Companding in hardware: each SPORT section can
perform A law and µ law companding according to
CCITT recommendation G.711. Direct Memory Access with single cycle overhead: using
the built in DMA master, the SPORT can automatically
receive and/or transmit multiple memory buffers of data
with an overhead of only one DSP cycle per data word.
The on chip DSP via a linked list of memory space
resident DMA descriptor blocks can configure transfers
between the SPORT and memory space. This chained list
can be dynamically allocated and updated.Interrupts: each SPORT section (receive and transmit)
generates an interrupt upon completing a data word
transfer, or after transferring an entire buffer or buffers if
DMA is used.Multi channel capability: The SPORT can receive and
transmit data selectively from channels of a serial bit
stream that is time division multiplexed into up to 128
channels. This is especially useful for T1 interfaces or as
a network communication scheme for multiple proces-
sors. The SPORTs also support T1 and E1 carrier
systems. Each SPORT channel (TX and RX) supports a DMA
buffer of up to 8, 16-bit transfers.The SPORT operates at a frequency of up to ½ the clock
frequency of the HCLKThe SPORT is capable of UART software emulation.
Controller Area Network (CAN) ModuleThe ADSP-21992 contains a Controller Area Network
(CAN) Module. Key features of the CAN Module are:Conforms to the CAN V2.0B standard.Supports both standard (11-bit) and extended (29-bit)
IdentifiersSupports Data Rates of up to 1Mbit/sec (and higher)16 Configurable Mailboxes (All receive or transmit)Dedicated Acceptance Mask for each MailboxData Filtering (first 2 bytes) can be used for Acceptance Error Status and Warning registersTransmit Priority by IdentifierUniversal Counter ModuleReadable Receive and Transmit Counters
The CAN Module is a low baud rate serial interface
intended for use in applications where baud rates are
typically under 1 Mbit/ sec. The CAN protocol incorporates
a data CRC check, message error tracking and fault node
confinement as means to improve network reliability to the
level required for control applications.
The CAN module architecture is based around a 16-entry
mailbox RAM. The mailbox is accessed sequentially by the
CAN serial interface or the host CPU. Each mailbox
consists of eight 16-bit data words. The data is divided into
fields, which includes a message identifier, a time stamp, a
byte count, up to 8 bytes of data, and several control bits.
Each node monitors the messages being passed on the
network. If the identifier in the transmitted message
matches an identifier in one of it's mailboxes, then the
module knows that the message was meant for it, passes the
data into it's appropriate mailbox, and signals the host of its
arrival with an interrupt.
The CAN network itself is a single, differential pair line. All
nodes continuously monitor this line. There is no clock wire.
Messages are passed in one of 4 standard message types or
frames. Synchronization is achieved by an elaborate sync
scheme performed in each CAN receiver. Message arbitra-
tion is accomplished 1 bit at a time. A dominant polarity is
established for the network. All nodes are allowed to start
transmitting at the same time following a frame sync pulse.
As each node transmits a bit, it checks to see if the bus is the
same state that it transmitted. If it is, it continues to
transmit. If not, then another node has transmitted a
dominant bit so the first node knows it has lost the arbitra-
tion and it stops transmitting. The arbitration continues, bit
by bit until only 1 node is left transmitting.
The electrical characteristics of each network connection
are very stringent so the CAN interface is typically divided
into 2 parts: a controller and a transceiver. This allows a
single controller to support different drivers and CAN
networks. The ADSP-21992 CAN module represents only
the controller part of the interface. This module's network
I/O is a single transmit line and a single receive line, which
communicate to a line transceiver.
Analog To Digital Conversion SystemThe ADSP-21992 contains a fast, high accuracy, multiple
input analog to digital conversion system with simultaneous
sampling capabilities. This A/D conversion system permits
PRELIMINARY TECHNICAL DATAthe fast, accurate conversion of analog signals needed in
high performance embedded systems. Key features of the
ADC system are:14-bit Pipeline (6-Stage Pipeline) Flash Analog to Digital
Converter.8 Dedicated Analog Inputs.Dual Channel Simultaneous Sampling Capability.Programmable ADC Clock Rate to Maximum of 20
MSPS.First Channel ADC Data Valid approximately 400 ns after
CONVST (at 20 MSPS).All 8 Inputs Converted in approximately 800 ns (at 20
MSPS).2.0 V peak to peak Input Voltage Range.Multiple Convert Start Sources.Internal or External Voltage Reference.Out of Range Detection.DMA capable transfers from ADC to memory.
The ADC system is based on a pipeline flash converter core,
and contains dual input Sample and Hold amplifiers so that
simultaneous sampling of two input signals is supported.
The ADC system provides an analog input voltage range of
2.0Vpp and provides 14-bit performance with a clock rate
of up to 20 MHz. The ADC system can be programmed to
operate at a clock rate that is programmable from HCLK⁄4
to HCLK⁄30, to a maximum of 20 MHz.
The ADC input structure supports 8 independent analog
inputs; 4 of which are multiplexed into one sample and hold
amplifier (A_SHA) and 4 of which are multiplexed into the
other sample and hold amplifier (B_SHA).
At the 20 MHz HCLK rate, the first data value is valid
approximately 400 ns after the Convert Start command. All
8 channels are converted in approximately 800 ns.
The core of theADSP-21992 provides 14-bit data such that
the stored data values in the ADC data registers are 14-bits
wide.
Voltage ReferenceThe ADSP-21992 contains an onboard band gap reference
that can be used to provide a precise 1.0V output for use by
the A/D system and externally on the VREF pin for biasing
and level shifting functions. Additionally, the ADSP-21992
may be configured to operate with an external reference
applied to the VREF pin, if required.
PWM Generation UnitKey features of the three phase PWM Generation Unit are:16-bit, center based PWM Generation UnitProgrammable PWM Pulsewidth, with resolutions to
12.5 ns (at 80 MHz)Programmable Dead Time and Switching FrequencyTwo's Complement Implementation permits smooth
transition into full ON and full OFF statesPossibility to synchronize the PWM Generation to an
External Synchronization Special Provisions for BDCM Operation (Crossover and
Output Enable Functions)Wide Variety of Special Switched Reluctance (SR)
Operating ModesOutput Polarity and Clock Gating ControlDedicated Asynchronous PWM Shutdown SignalMultiple shut down sources, independently for each unit
The ADSP-21992 integrates a flexible and programmable,
three phase PWM waveform generator that can be pro-
grammed to generate the required switching patterns to
drive a three phase voltage source inverter for ac induction
(ACIM) or permanent magnet synchronous (PMSM)
motor control. In addition, the PWM block contains special
functions that considerably simplify the generation of the
required PWM switching patterns for control of the elec-
tronically commutated motor (ECM) or brushless dc motor
(BDCM). Tying a dedicated pin, PWMSR, to GND,
enables a special mode, for switched reluctance motors
(SRM).
The six PWM output signals consist of three high side drive
pins (AH, BH and CH) and three low side drive signals pins
(AL, BL and CL). The polarity of the generated PWM
signals may be set via hardware by the PWMPOL input pin,
so that either active HI or active LO PWM patterns can be
produced.
The switching frequency of the generated PWM patterns is
programmable using the 16-bit PWMTM register. The
PWM generator is capable of operating in two distinct
modes, single update mode or double update mode. In
single update mode the duty cycle values are programmable
only once per PWM period, so that the resultant PWM
patterns are symmetrical about the midpoint of the PWM
period. In the double update mode, a second updating of
the PWM registers is implemented at the midpoint of the
PWM period. In this mode, it is possible to produce asym-
metrical PWM patterns. that produce lower harmonic
distortion in three phase PWM inverters.
Auxiliary PWM Generation UnitKey features of the Auxiliary PWM Generation Unit are:16-bit, programmable frequency, programmable duty
cycle PWM outputsIndependent or offset operating modesDouble buffered control of duty cycle and period registers
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATASeparate auxiliary PWM synchronization signal and asso-
ciated interrupt (can be used to trigger ADC Convert
Start).Separate Auxiliary PWM shutdown signal (AUXTRIP).
The ADSP-21992 integrates a two channel, 16-bit,
auxiliary PWM output unit that can be programmed with
variable frequency, variable duty cycle values and may
operate in two different modes, independent mode or offset
mode. In independent mode, the two auxiliary PWM gen-
erators are completely independent and separate switching
frequencies and duty cycles may be programmed for each
auxiliary PWM output. In offset mode the switching
frequency of the two signals on the AUX0 and AUX1 pins
is identical. Bit 4 of the AUXCTRL register places the
auxiliary PWM channel pair in independent or offset mode
The Auxiliary PWM Generation unit provides two chip
output pins, AUX0 and AUX1 (on which the switching
signals appear) and one chip input pin, AUXTRIP, which
can be used to shutdown the switching signals, for example
in a fault condition.
Encoder Interface UnitThe ADSP-21992 incorporates a powerful encoder
interface block to incremental shaft encoders that are often
used for position feedback in high performance motion
control systems.Quadrature rates to 53 MHz (at 80 MHz peripheral
clock).Programmable filtering of all encoder input signals32-bit encoder counterVariety of hardware and software reset modesTwo registration inputs to latch EIU count value with
corresponding registration interruptStatus of A/B signals latched with reading of EIU count
value.Alternative frequency & direction modeSingle north marker modeCount error monitor function with dedicated error
interruptDedicated 16-bit loop timer with dedicated interruptCompanion encoder event (1⁄T) timer unit.
The encoder interface unit (EIU) includes a 32-bit quadra-
ture up/down counter, programmable input noise filtering
of the encoder input signals and the zero markers, and has
four dedicated chip pins. The quadrature encoder signals
are applied at the EIA and EIB pins. Alternatively, a
frequency and direction set of inputs may be applied to the
EIA and EIB pins. In addition, two north marker/strobe
inputs are provided on pins EIZ and EIS. These inputs may
be used to latch the contents of the encoder quadrature
counter into dedicated registers, EIZLATCH and
and EIS pins. These events may be programmed to be either
rising edge only (latch event) or rising edge if the encoder is
moving in the forward direction and falling edge if the
encoder is moving in the reverse direction (software latched
north marker functionality).
The encoder interface unit incorporates programmable
noise filtering on the four encoder inputs to prevent spurious
noise pulses from adversely affecting the operation of the
quadrature counter. The encoder interface unit operates at
a clock frequency equal to the HCLK rate. The encoder
interface unit operates correctly with encoder signals at fre-
quencies of up to 13.25 MHz, corresponding to a maximum
quadrature frequency of 53 MHz (assuming an ideal
quadrature relationship between the input EIA and EIB
signals).
The EIU may be programmed to use the north marker on
EIZ to reset the quadrature encoder in hardware, if
required.
Alternatively, the north marker can be ignored, and the
encoder quadrature counter is reset according to the
contents of a maximum count register, EIUMAXCNT.
There is also a “single north marker” mode available in
which the encoder quadrature counter is reset only on the
first north marker pulse.
The encoder interface unit can also be made to implement
some error checking functions. If an encoder count error is
detected (due to a disconnected encoder line, for example), status bit in the EIUSTAT register is set, and an EIU count
error interrupt is generated.
The encoder interface unit of the ADSP-21992 contains a
16-bit loop timer that consists of a timer register, period
register and scale register so that it can be programmed to
time out and reload at appropriate intervals. When this loop
timer times out, an EIU loop timer timeout interrupt is
generated. This interrupt could be used to control the
timing of speed and position control loops in high perfor-
mance drives.
The encoder interface unit also includes a high performance
encoder event timer (EET) block that permits the accurate
timing of successive events of the encoder inputs. The EET
can be programmed to time the duration between up to 255
encoder pulses and can be used to enhance velocity estima-
tion, particularly at low speeds of rotation.
Flag I/O (FIO) Peripheral UnitThe FIO module is a generic parallel I/O interface that
supports sixteen bidirectional multifunction flags or general
purpose digital I/O signals (PF15-PF0).
All sixteen FLAG bits can be individually configured as an
input or output based on the content of the direction (DIR)
register, and can also be used as an interrupt source for one
of two FIO interrupts. When configured as input, the input
PRELIMINARY TECHNICAL DATAsignal can be programmed to set the FLAG on either a level
(level sensitive input/interrupt) or an edge (edge sensitive
input/interrupt).
The FIO module can also be used to generate an asynchro-
nous unregistered wake up signal FIO_WAKEUP for DSP
core wake up after power down.
The FIO Lines, PF7 - PF1 can also be configured as external
slave select outputs for the SPI Communications Port, while
PF0 can be configured to act as a Slave select input.
The FIO Lines can be configured to act as a PWM shutdown
source for the three phase PWM generation unit of the
ADSP-21992.
Watchdog TimerThe ADSP-21992 integrates a watchdog timer that can be
used as a protection mechanism against unintentional
software events. It can be used to cause a complete DSP and
peripheral reset in such an event. The watchdog timer
consists of a 16-bit timer that is clocked at the external clock
rate (CLKIN or crystal input frequency).
In order to prevent an unwanted timeout or reset, it is
necessary to periodically write to the watchdog timer
register. During abnormal system operation, the watchdog
count will eventually decrement to 0 and a watchdog
timeout will occur. In the system, the watchdog timeout will
cause a full reset of the DSP core and peripherals.
General Purpose TimersThe ADSP-21992 contains a general purpose timer unit
that contains three identical 32-bit timers. The three pro-
grammable interval timers (Timer0, Timer1 and Timer2)
generate periodic interrupts. Each timer can be indepen-
dently set to operate in one of three modes:Pulse Waveform Generation (PWM_OUT) modePulse Width Count/Capture (WDTH_CAP) modeExternal Event Watchdog (EXT_CLK) mode
Each Timer has one bidirectional chip pin, TMR2-TMR0.
For each timer, the associated pin is configured as an output
pin in PWM_OUT Mode and as input pin in WDTH_CAP
and EXT_CLK Modes.
InterruptsThe interrupt controller lets the DSP respond to 17 inter-
rupts with minimum overhead. The DSP core implements
an interrupt priority scheme as shown in Table2. Applica-
tions can use the unassigned slots for software and
peripheral interrupts. The Peripheral Interrupt Controller
is used to assign the various peripheral interrupts to the 12
user assignable interrupts of the DSP core.
There is no assigned priority for the peripheral interrupts
after reset. To assign the peripheral interrupts a different
priority, applications write the new priority to their corre-
sponding control bits (determined by their ID) in the
Interrupt Priority Control register.
Interrupt routines can either be nested with higher priority
interrupts taking precedence or processed sequentially.
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 emulation, power down, and
reset interrupts are nonmaskable with the IMASK register,
but software can use the DIS INT instruction to mask the
power down interrupt.
Table 2. Interrupt Priorities/Addresses
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAThe Interrupt Control (ICNTL) register controls interrupt
nesting and enables or disables interrupts globally.
The IRPTL register is used to force and clear interrupts.
On chip stacks preserve the processor status and are auto-
matically maintained during interrupt handling. To support
interrupt, loop, and subroutine nesting, the PC stack is levels deep, the loop stack is eight levels deep, and the
status stack is 16levels deep. To prevent stack overflow, the
PC stack can generate a stack level interrupt if the PC stack
falls below three locations full or rises above 28
locationsfull.
The following instructions globally enable or disable
interrupt servicing, regardless of the state of IMASK.
ENAINT;
DISINT;At reset, interrupt servicing is disabled.
For quick servicing of interrupts, a secondary set of DAG
and computational registers exist. Switching between the
primary and secondary registers lets programs quickly
service interrupts, while preserving the state of the DSP.
Peripheral Interrupt ControllerThe Peripheral Interrupt Controller is a dedicated periph-
eral unit of the ADSP-21992 (accessed via IO mapped
registers). The function of the peripheral interrupt control-
ler is to manage the connection of up to 32 peripheral
interrupt requests to the DSP core.
For each peripheral interrupt source, there is a unique 4-bit
code that allows the user to assign the particular peripheral
interrupt to any one of the 12 user assignable interrupts of
the embedded ADSP-219x core. Therefore, the peripheral
interrupt controller of the ADSP-21992 contains 8, 16-bit
Interrupt Priority Registers (Interrupt Priority Register 0
(IPR0) to Interrupt Priority Register 7 (IPR7)).
Each Interrupt Priority Register contains a four 4-bit codes;
one specifically assigned to each peripheral interrupt. The
user may write a value between 0x0 and 0xB to each 4-bit
location in order to effectively connect the particular
interrupt source to the corresponding user assignable
interrupt of the ADSP-219x core.
Writing a value of 0x0 connects the peripheral interrupt to
the USR0 user assignable interrupt of the ADSP-219x core
while writing a value of 0xB connects the peripheral
interrupt to the USR11 user assignable interrupt. The core
interrupt USR0 is the highest priority user interrupt, while
USR11 is the lowest priority. Writing a value between 0xC
and 0xF effectively disables the peripheral interrupt by not
connecting it to any ADSP-219x core interrupt input. The
user may assign more than one peripheral interrupt to any
given ADSP-219x core interrupt. In that case, the onus is
on the user software in the interrupt vector table to
determine the exact interrupt source through reading status
bits etc.
This scheme permits the user to assign the number of
specific interrupts that are unique to their application to the
interrupt scheme of the ADSP-219x core. The user can then
use the existing interrupt priority control scheme to dynam-
ically control the priorities of the 12 core interrupts.
Low Power OperationThe ADSP-21992 has four low power options that signifi-
cantly reduce the power dissipation when the device
operates under standby conditions. To enter any of these
modes, the DSP executes an IDLE instruction. The
ADSP-21992 uses the configuration of the PD, STCK, and
STALL bits in the PLLCTL register to select between the
low power modes as the DSP executes the IDLE instruction.
Depending on the mode, an IDLE shuts off clocks to
different parts of the DSP in the different modes. The low
power modes are:IdlePower Down CorePower Down Core/PeripheralsPower Down All
Idle ModeWhen the ADSP-21992 is in Idle mode, the DSP core stops
executing instructions, retains the contents of the instruc-
tion pipeline, and waits for an interrupt. The core clock and
peripheral clock continue running. o enter Idle mode, the DSP can execute the IDLE instruc-
tion anywhere in code. To exit Idle mode, the DSP responds
to an interrupt and (after two cycles of latency) resumes
executing instructions.
Power down Core ModeWhen the ADSP-21992 is in Power Down Core mode, the
DSP core clock is off, but the DSP retains the contents of
the pipeline and keeps the PLL running. The peripheral bus
keeps running, letting the peripherals receive data. o exit Power Down Core mode, the DSP responds to an
interrupt and (after two cycles of latency) resumes executing
instructions.
Power Down Core/Peripherals ModeWhen the ADSP-21992 is in Power Down Core/Peripherals
mode, the DSP core clock and peripheral bus clock are off,
but the DSP keeps the PLL running. The DSP does not
retain the contents of the instruction pipeline.The periph-
eral bus is stopped, so the peripherals cannot receive data.o exit Power Down Core/Peripherals mode, the DSP
responds to an interrupt and (after five to six cycles of
latency) resumes executing instructions.
PRELIMINARY TECHNICAL DATA
Power Down All ModeWhen the ADSP-21992 is in Power Down All mode, the
DSP core clock, the peripheral clock, and the PLL are all
stopped. The DSP does not retain the contents of the
instruction pipeline. The peripheral bus is stopped, so the
peripherals cannot receive data.o exit Power Down Core/Peripherals mode, the DSP
responds to an interrupt and (after 500 cycles to re-stabilize
the PLL) resumes executing instructions.
Clock SignalsThe ADSP-21992 can be clocked by a crystal oscillator or
a buffered, shaped clock derived from an external clock
oscillator. If a crystal oscillator is used, the crystal should be
connected across the CLKIN and XTAL pins, with two
capacitors connected as shown in Figure5. Capacitor
values are dependent on crystal type and should be specified
by the crystal manufacturer. A parallel resonant, fundamen-
tal frequency, microprocessor grade crystal should be used
for this configuration.
If a buffered, shaped clock is used, this external clock
connects to the DSP’s CLKIN pin. CLKIN input cannot
be halted, changed, or operated below the specified
frequency during normal operation. This clock signal
should be a TTL compatible signal. When an external clock
is used, the XTAL input must be left unconnected.
The DSP provides a user programmable 1� to 32� multi-
plication of the input clock, including some fractional
values, to support 128 external to internal (DSP core) clock
ratios. The BYPASS pin, and MSEL6–0 and DF bits, in the
PLL configuration register, decide the PLL multiplication
factor at reset. At runtime, the multiplication factor can be
controlled in software. To support input clocks greater that
100MHz, the PLL uses an additional bit (DF). If the input
clock is greater than 100MHz, DF must be set. If the input
clock is less than 100MHz, DF must be cleared. For clock
multiplier settings, see the ADSP-21992 DSP Hardware
Reference Manual.
The peripheral clock is supplied to the CLKOUT pin.
All on chip peripherals for the ADSP-21992 operate at the
rate set by the peripheral clock. The peripheral clock
(HCLK) is either equal to the core clock rate or one half the
DSP core clock rate (CCLK). This selection is controlled
by the IOSEL bit in the PLLCTL register. The maximum
core clock is 160 MHz, and the maximum peripheral clock 80MHz—the combination of the input clock and
core/peripheral clock ratios may not exceed these limits.
Reset and Power On Reset (POR)The RESET pin initiates a complete hardware reset of the
ADSP-21992 when pulled low. The RESET signal must be
asserted when the device is powered up to assure proper
initialization. The ADSP-21992 contains an integrated
power on reset (POR) circuit that provides an output reset
signal, POR, from the ADSP-21992 on power up and if the
power supply voltage falls below the threshold level. The
ADSP-21992 may be reset from an external source using
the RESET signal or alternatively the internal power on
reset circuit may be used by connecting the POR pin to the
RESET pin. During power up the RESET line must be
activated for long enough to allow the DSP core's internal
clock to stabilize. The power up sequence is defined as the
total time required for the crystal oscillator 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 2000 cycles will ensure that the
PLL has locked (this does not include the crystal oscillator
start up time).
The RESET input contains some hysteresis. If using an RC
circuit to generate your RESET signal, the circuit should
use an external Schmidt trigger.
The master reset sets all internal stack pointers to the empty
stack condition, masks all interrupts, and resets all registers
to their default values (where applicable). When RESET is
released, if there is no pending bus request, program control
jumps to the location of the on chip boot ROM (0xFF0000)
and the booting sequence is performed.
Power SuppliesThe ADSP-21992 has separate power supply connections
for the internal (VDDINT) and external (VDDEXT) power
supplies. The internal supply must meet the 2.5V require-
ment. The external supply must be connected to a 3.3V
Figure 5.External Crystal Connections
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATA
Booting ModesThe ADSP-21992 supports a number of different boot
modes that are controlled by the three dedicated hardware
boot mode control pins (BMODE2, BMODE1 and
BMODE0). The use of 3 boot mode control pins means
that up to 8 different boot modes are possible. Of these only
5 modes are valid on the ADSP-21992. The ADSP-21992
exposes the boot mechanism to software control by
providing a nonmaskable boot interrupt that vectors to the
start of the on chip ROM memory block (at address
0xFF0000). A boot interrupt is automatically initiated
following either a hardware initiated reset, via the RESET
pin, or a software initiated reset, via writing to the Software
Reset register Following either a hardware or a software
reset, execution always starts from the boot ROM at address
0xFF0000, irrespective of the settings of the BMODE2,
BMODE1 and BMODE0 pins. The dedicated BMODE2,
BMODE1 and BMODE0 pins are sampled during
hardware reset.
The particular boot mode for the ADSP-21992 associated
with the settings of the BMODE2, BMODE1, BMODE0
pins is defined in Table 1.
Instruction Set DescriptionThe ADSP-21992 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:ADSP-219x assembly language syntax is a superset of and
source code compatible (except for two data registers and
DAG base address registers) with ADSP-21xx family
syntax. It may be necessary to restructure ADSP-21xx
programs to accommodate the ADSP-21992’s unified
memory space and to conform to its interrupt vector map.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.Every instruction, but two, assembles into a single, 24-bit
word that can execute in a single instruction cycle. The
exceptions are two dual word instructions. One writes 16-
or 24-bit immediate data to memory, and the other is an
absolute jump/call with the 24-bit address specified in the
instruction.Multifunction instructions allow parallel execution of an
arithmetic, MAC, or shift instruction with up to two
fetches or one write to processor memory space during a
single instruction cycle.Program flow instructions support a wider variety of con-
ditional and unconditional jumps/calls and a larger set of
conditions on which to base execution of conditional
DEVELOPMENT TOOLSThe ADSP-21992 is supported with a complete set of
software and hardware development tools, including Analog
Devices’ emulators and VisualDSP® development environ-
ment. The same emulator hardware that supports other
ADSP-219x DSPs, also fully emulates the ADSP-21992.
The VisualDSP project management environment lets pro-
grammers develop and debug an application. This
environment includes an easy-to-use assembler that is based
on an algebraic syntax; an archiver (librarian/library
builder); a linker; a loader; a cycle-accurate, instruc-
tion-level simulator; a C/C++ compiler; and a C/C++
run-time library that includes DSP and mathematical func-
tions. Two key points for these tools are:Compiled ADSP-219x C/C++ code efficiency—the
compiler has been developed for efficient translation of
C/C++ code to ADSP-219x assembly. The DSP has
architectural features that improve the efficiency of
compiledC/C++code.ADSP-218x family code compatibility—The assembler
has legacy features to ease the conversion of existing
ADSP-218x applications to the ADSP-219x.
Debugging both C/C++ and assembly programs with the
VisualDSP debugger, programmers can:View mixed C/C++ and assembly code (interleaved
source and object information)Insert break pointsSet conditional breakpoints on registers, memory, and
Table 3. Summary of Boot Modes for ADSP-21992
PRELIMINARY TECHNICAL DATATrace instruction executionProfile program executionFill and dump memorySource level debuggingCreate custom debugger windows
The VisualDSP IDE lets programmers define and manage
DSP software development. Its dialog boxes and property
pages let programmers configure and manage all of the
ADSP-219x development tools, including the syntax high-
lighting in the VisualDSP editor. This capability permits:Control how the development tools process inputs and
generate outputs.Maintain a one-to-one correspondence with the tool’s
command line switches.
Analog Devices DSP emulators use the IEEE 1149.1 JTAG
test access port of the ADSP-21992 processor to monitor
and control the target board processor during emulation.
The emulator provides full-speed emulation, allowing
inspection and modification of memory, registers, and
processor stacks. Nonintrusive in-circuit emulation is
assured by the use of the processor’s JTAG interface—the
emulator does not affect target system loading or timing.
In addition to the software and hardware development tools
available from Analog Devices, third parties provide a wide
range of tools supporting the ADSP-219x processor family.
Hardware tools include ADSP-219x PC plug-in cards.
Third Party software tools include DSP libraries, real-time
operating systems, and block diagram design tools.
Designing an Emulator Compatible DSP Board (Target)The White Mountain DSP (Product Line of Analog
Devices, Inc.) family of emulators are tools that every DSP
developer needs to test and debug their hardware and
software system. Analog Devices has supplied an IEEE
1149.1 JTAG Test Access Port (TAP) on each JTAG DSP.
The emulator uses the TAP to access the internals of the
DSP, allowing the developer to load code, set breakpoints,
observe variables, observe memory, examine registers, etc.
The DSP must be halted to send data and commands, but
once an operation is completed by the emulator, the DSP
system is set running at full speed with no impact on system
timing.o use these emulators, the target’s design must include the
interface between an Analog Devices JTAG DSP and the
emulation header on a custom DSP target board. The
following sections provide the guidelines for design that help
eliminate possible JTAG emulation port problems.
Target Board ConnectorThe emulator interface to an ADI JTAG DSP is a 14-pin
header, as shown in Figure6. The customer must supply
this header on their target board in order to communicate
with a minimum post length of 0.235". Pin 3 is the key
position used to prevent the pod from being inserted back-
wards. This pin must be clipped on the target board.
Also, the clearance (length, width, and height) around the
header must be considered. Leave a clearance of at least
0.15” and 0.10” around the length and width of the header,
and reserve a height clearance to attach and detach the pod
connector. For more information, see Layout Require-
ments on page17.
As can be seen in Figure6, there are two sets of signals on
the header. There are the standard JTAG signals TMS,
TCK, TDI, TDO, TRST and , EMU used for emulation
purposes (via an emulator). There are also secondary JTAG
signals BTMS, BTCK, BTDI, and BTRST that are option-
ally used for board-level (boundary scan) testing. The "B"
signals would be connected to a separate on-board JTAG
boundary scan controller if used. Most customers will never
use the "B" signals. If they will not be used, tie all of them
to ground as shown in figure 2.
Note: BTCK can alternately be pulled up (for some older
silicon) to VDD (+5V, +3.3V, or +2.5V) using a 4.7K�
resistor, as described in previous documents. Tying the
signal to ground is universal and will work for all silicon.
When the emulator is not connected to this header, place
jumpers across BTMS, BTCK, BTRST, and BTDI as
shown in Figure7. This holds the JTAG signals in the
correct state to allow the DSP to run free. Remove all the
jumpers when connecting the emulator to the JTAG header.
Figure 6.JTAG Target Board Connector for JTAG
Equiped Analog Devices DSP (Jumpers in
Place)
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAThe state of each standard JTAG signal can be found in
Table4.
The DSP CLKIN signal is the clock signal line (typically 30
MHz or greater) that connects an oscillator to all DSPs in
multiple DSP systems requiring synchronization. For syn-
chronous DSP operations to work correctly the CLKIN
signal on all the DSPs must be the same signal and the skew
between them must be minimal (use clock drivers, or other
means) – see the DSP users guide for more details on
CLKIN.
Note that the CLKIN signal is not used by the emulator and
can cause noise problems if connected to the JTAG header.
Legacy documents show it connected to pin 4 of the JTAG
header. Pin-4 should be tied to ground on the 14-pin JTAG
header (do not connect the JTAG header pin to the DSP
CLKIN signal). If you have already connected it to the
JTAG header pin, and are experiencing noise from this
signal, simply clip this pin on the 14-pin JTAG header.
The final connections between a single DSP target and the
emulation header (within 6 inches) are shown in Figure8.
A 4.7K� pull-up resistor has been added on TCK, TDI
and TMS chain for increased noise resistance.
Should your design use more than one DSP (or other JTAG
device in the scan chain), or if your JTAG header is more
than 6 inches from the DSP, use a buffered connection
scheme as shown in Figure9 (no local boundary scan mode
shown). To keep signal skew to a minimum, be sure the
buffers are all in the same physical package (typical chips
have 6, 8, or 16 drivers). Using a buffer that has built in
series resistors such as the 74ABT2244 family can help
reduce ringing on the JTAG signal lines. For low voltage
applications (3.3V, 2.5V, and 1.8V I/O), the 74ALVT, and
74AVC logic families are a good starting point. Also, note
the position of the pull-up resistor on EMU. This is
required since the EMU line is an open drain signal.
Important: If you have more than one DSP (or JTAG
device) on your target (in the scan chain), it is imperative
that you buffer the JTAG header. This will keep the signals
clean and avoid noise problems that occur with longer signal
traces (ultimately resulting in reliable emulator operation).
Although the theoretical number of devices that can be
supported (by the software) in one JTAG scan chain is quite
large (50 devices or more) it is not recommended that you
use more than eight physical devices in one scan chain. (A
physical device could however contain many JTAG devices
such as inside a multi-chip module). The recommendation
of not more than eight physical devices is mostly due to the
transmission line effects that appear in long signal traces,
and based on some field-collected empirical data. The best
approach for large numbers of physical devices is to break
the chain into several smaller independent chains, each with
their own JTAG header and buffer. If this is not possible,
at least add some jumpers that can reduce the number of
devices in one chain for debug purposes, and pay special
attention in the layout stage for transmission line effects.
Figure 7.JTAG Target Board Connector With No Local
Boundary Scan
Table 4. State of Standard JTAG Signals1 O = Output, I = Input, o/d = Open Drain
Figure 8.Single-DSP JTAG-Connections, Unbuffered
PRELIMINARY TECHNICAL DATA
Layout RequirementsAll JTAG signals (TCK, TMS, TDI, TDO, EMU, and
TRST) should be treated as critical route signals. This
means pay special attention when routing these signals.
Specify a controlled impedance requirement for each route
(value depends on your circuit board - typically 50-75�).
Keep crosstalk and inductance to a minimum on these lines
by using a good ground plane and by routing away from
other high noise signals such as clock lines. Keep these
routes as short and clean as possible, and keep the bused
signals (TMS, TCK, TRST and, EMU) as close to the same
length as possible.
Note: The JTAG TAP relies on the state of the TMS line
and the TCK clock signal. If these signals have glitches (due
to ground bounce, crosstalk, etc.) unreliable emulator
operation will result. If you are experiencing emulator
problems, look at these signals using a high-speed digital
oscilloscope. These lines must be clean, and may require
special termination schemes. If you are buffering the JTAG
header (most customers will) you must provide signal ter-
mination appropriate for your target board (series, parallel,
R/C, etc.).
Power SequenceThe power-on sequence for your target and emulation
system is as follows: Apply power to the emulator first, then
to the target board. This ensures that the JTAG signals are
in the correct state for the DSP to run free. Upon power-on,
the emulator drives the TRST signal low, keeping the DSP
software takes control. Removal of power should be the
reverse: Turn off power to the target board then to the
emulator.
Emulator Model SpecificsThe following sections contain design details on various
emulator pod designs by White Mountain DSP. The
emulator pod is the device that connects directly to the DSP
target board 14-pin JTAG header. Check our web site for
updates to this document that will contain new emulator
design details.
White Mountain DSP JTAG Pod ConnectorThis section applies to the Mountain ICE, Summit-ICE,
Trek-ICE, Mountain-ICE/WS, Apex-ICE.
Figure10 details the dimensions of the JTAG pod connector
at the 14-pin target end. Figure11 displays the keep-out
area for a target board header. The keep-out area allows the
pod connector to properly seat onto the target board header.
This board area should contain no components (chips,
resistors, capacitors, etc.). The dimensions are referenced
to the center of the 0.25” square post pin.
White Mountain DSP 3.3V Pod LogicThis section applies to Mountain ICE, Summit-ICE,
Trek-ICE, Mountain-ICE/WS, Apex-ICE.
A portion of the White Mountain DSP 3.3V emulator pod
interface is shown in Figure12. This figure describes the
driver circuitry of the emulator pod. As can be seen, TMS,
TCK and TDI are driven with a 33� series resistor. TRST
Figure 9.Multiple-DSP JTAG-Connections, Buffered
For current information contact Analog Devices at (781) 937-1799ADSP-21992August 2002
PRELIMINARY TECHNICAL DATAterminated with an optional 91/120� parallel terminator.
EMU is pulled up with a 4.7K� resistor. The 74LVT244
chip drives the signals at 3.3V, with a maximum current
rating of ±32mA.
You can parallel terminate the TMS, TCK, TRST, and TDI
lines locally on your target board, if needed, since they are
order to use the terminators on the TDO line (CLKIN is
not used), you MUST have a buffer on your target board
JTAG header. The DSP is not capable of driving the parallel
terminator load directly with TDO. Assuming you have the
proper buffers, you may use the optional parallel termina-
tors simply by placing a jumper on J2.
White Mountain DSP 2.5V Pod LogicThis section applies to Mountain ICE, Summit-ICE,
Trek-ICE, Mountain-ICE/WS.
A portion of the White Mountain DSP 2.5V emulator pod
interface is shown in Figure13. This figure describes the
driver circuitry of the emulator pod. As can be seen, TMS,
TCK, and TDI are driven with a 33� series resistor. TRST
is driven with a 100� series resistor. TDO is pulled up with
a 4.7K� resistor and terminated with an optional parallel
terminator that can be configured by the user. EMU is
pulled up with a 4.7K� resistor.
The CLKIN signal is not used and not connected inside the
pod. The 74ALVT16244 chip drives the signals at 2.5V,
with a maximum current rating of ±8mA.
You can terminate the TMS, TCK, TRST, and TDI lines
locally on your target board, if needed, as long as the termi-
nator’s current use does not exceed the driver’s maximum
current supply (±8mA). In order to use the terminator on
the TDO line, you MUST have a buffer on your target board
JTAG header. The DSP is not capable of driving a parallel
terminator load (typically 50-75�) directly with TDO.
Assuming you have the proper buffers, you may use the
optional parallel terminator by adding the appropriate
resistors and placing a jumper on J2.
Additional InformationThis data sheet provides a general overview of the
ADSP-21992 architecture and functionality. For detailed
information on the ADSP-21992 embedded DSP core
Figure 10.JTAG Pod Connector Dimensions
Figure 11.JTAG Pod Connector Keep-Out Area
Figure 12.3.3V JTAG Pod Driver Logic
Figure 13.2.5V JTAG Pod Driver Logic
PRELIMINARY TECHNICAL DATAarchitecture, instruction set, communications ports and
embedded control peripherals, refer to the ADSP-21992
Mixed Signal DSP Controller Hardware Reference Manual.
PIN DESCRIPTIONSADSP-21992 pin definitions are listed in Table5. All
ADSP-21992 inputs are asynchronous and can be asserted
asynchronously to CLKIN (or to TCK for TRST).
Unused inputs should be tied or pulled to VDDEXT or GND,
except for ADDR21–0, DATA15–0, PF7-0, and inputs that
have internal pullup or pulldown resistors (TRST,
BMODE0, BMODE1, BMODE2, BYPASS, TCK, TMS,
TDI, PWMPOL, PWMSR, and RESET)—these pins can
be left floating. These pins have a logic level hold circuit that
prevents input from floating internally. PWMTRIP has an
internal pulldown, but should not be left floating to avoid
unnecessary PWM shutdowns.
The following symbols appear in the Type column of
Table5: G=Ground, I=Input, O=Output, P=Power
Supply, B=Bidirectional, T=Three State, D=Digital, =Analog, CKG=Clock Generation pin, PU=Internal
Pull Up, PD=Internal Pull Down, and OD=Open Drain.
Table 5. ADSP-21992 Pin Descriptions
PRELIMINARY TECHNICAL DATA
Table 5. ADSP-21992 Pin Descriptions (Continued)
PRELIMINARY TECHNICAL DATA
Table 5. ADSP-21992 Pin Descriptions (Continued)
PRELIMINARY TECHNICAL DATA
ADSP-21992—SPECIFICATIONS
RECOMMENDED OPERATING CONDITIONS 1Specifications subject to change without notice.Applies to input and bidirectional pins: DATA15–0, HAD15–0, HA16, HALE, HACK, HACK_P, BYPASS, HRD, HWR, ACK, PF7–0, HCMS,
HCIOMS, BR, TFS, TFS1, TFS2/MOSI0, RFS, RFS1, RFS2/MOSI1, BMODE2, BMODE1–0, TMS, TDI, TCK, DT2/MISO0, DR, DR1,
DR2/MISO1, TCLK, TCLK1, TCLK2/SCK0, RCLK, RCLK1, RCLK2/SCK1.
3Applies to input pins: CLKIN, RESET, TRST.
ELECTRICAL CHARACTERISTICS
PRELIMINARY TECHNICAL DATA
ABSOLUTE MAXIMUM RATINGS
ESD SENSITIVITY
TIMING SPECIFICATIONSThis section contains timing information for the DSP’s
external signals.
2Applies to output and bidirectional pins: DATA15–0, ADDR21–0, HAD15–0, MS3–0, IOMS, RD, WR, CLKOUT, HACK, PF7–0, TMR2–0, BGH,
BG, DT, DT1, DT2/MISO0, TCLK, TCLK1, TCLK2/SCK0, RCLK, RCLK1, RCLK2/SCK1, TFS, TFS1, TFS2/MOSI0, RFS, RFS1, RFS2/MOSI1,
BMS, TDO, TXD, EMU.Applies to input pins: ACK, BR, HCMS, HCIOMS, BMODE2, BMODE1–0, HA16, HALE, HRD, HWR, CLKIN, RESET, TCK, TDI, TMS, TRST,
DR, DR1, BYPASS, RXD.Applies to input pins with internal pull ups: TRST, BMODE0, BMODE1, BMODE2, BYPASS, TCK, TMS, TDI, RESET.
5Applies to three statable pins: DATA15–0, ADDR21–0, MS3–0, RD, WR, PF7–0, BMS, IOMS, TFSx, RFSx, TDO, EMU.The test program used to measure IDDINPEAK represents worst case processor operation and is not sustainable under normal application conditions. Actual
internal power measurements made using typical applications are less than specified. For more information, see Power Dissipation on page42.Applies to all signal pins.
8Guaranteed, but not tested.
VDDINTInternal (Core) Supply Voltage1,2 . . . . . .–0.3 to 3.0 V
VDDEXTExternal (I/O) Supply Voltage . . . . . . . .–0.3 to 4.6 V
VIL–VIHInput Voltage . . . . . . . . . . . . . . . . . .–0.5 to +5.5 V3
VOL–VOHOutput Voltage Swing. . . . . . . . . . .–0.5 to +5.5 V3
CLLoad Capacitance. . . . . . . . . . . . . . . . . . . . . . . . 200 pF
tCCLKCore Clock Period . . . . . . . . . . . . . . . . . . . . . . 6.25 ns
fCCLKCore Clock Frequency . . . . . . . . . . . . . . . . . 160 MHz
tHCLKPeripheral Clock Period . . . . . . . . . . . . . . . . . . . .10 ns
fHCLKPeripheral Clock Frequency . . . . . . . . . . . . . . 80 MHz
TSTOREStorage Temperature Range . . . . . . . . . .–65 to 150ºC
TLEADLead Temperature (5 seconds) . . . . . . . . . . . . .185ºCSpecifications subject to change without notice.Stresses greater than those listed above may cause permanent damage to the device.
These are stress ratings only, and functional operation of the device at these or
any other conditions greater than 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.Except CLKIN and analog pins.
CAUTION:ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000V
readily accumulate on the human body and test equipment and can discharge without
detection. Although the ADSP-21992 features proprietary ESD protection circuitry,
permanent damage may occur on devices subjected to high-energy electrostatic
discharges. Therefore, proper ESD precautions are recommended to avoid perfor-
mance degradation or loss of functionality.
PRELIMINARY TECHNICAL DATA
Clock In and Clock Out Cycle TimingTable6 and Figure14 describe clock and reset operations. Per VDDINTInternal (Core) Supply Voltage, –0.3 to 3.0 V on
page23, combinations of CLKIN and clock multipliers must not select core/peripheral clocks in excess of 160/100MHz.
Table 6. Clock In and Clock Out Cycle TimingSwitching Characteristic
1Figure14 shows a �2 ratio between CLKOUT = 2�CLKIN (or tHCLK = 2�tCCLK), but the ratio has many programmable options. For more information
see the System Design chapter of the ADSP-219x/2191 DSP Hardware Reference.
Timing RequirementsIn clock multiplier mode and MSEL6–0 set for 1:1 (or CLKIN=CCLK), tCK=tCCLK.In bypass mode, tCK=tCCLK.
Figure 14. Clock In and Clock Out Cycle Timing
PRELIMINARY TECHNICAL DATA
Programmable Flags Cycle TimingTable7 and Figure15 describe programmable flag operations.
Table 7. Programmable Flags Cycle TimingSwitching Characteristic
Timing Requirement
Figure 15. Programmable Flags Cycle Timing