OnCE, DigitalDNA, and the DigitalDNA logo are trademarks of Motorola, Inc.
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty,
representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation
consequential or incidental damages. “Typical” parameters which may be provided in Motorola data sheets and/or specifications can
and do vary in different applications and actual per formance may vary over time. All operating parameters, including “Typicals” must
be validated for each customer application by customer’s technical experts. Motorola does not co nvey any license under its patent
rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended
for surgical implant into the body, or other applications intended to support life, or for any other application in which the failure of the
Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products
for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees,
subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees
arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if
such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and are registered
trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.
How to reach us:
USA/EUROPE
Motorola Literature Distribution
P.O. Box 5405
Denver, Co lorado 80217
1-303-675-2140
1-800-441-2447
Technical Information Center
1-800-521-6274
JAPAN
Motorola Japan Ltd.
SPS, Technical Information Center
3-20-1, Minami-Azabu, Minato-ku
Tokyo 106-8573 Japan
81-3-3440-3569
ASIA/PACIFIC
Motorola Semiconductors H.K. Ltd.
Silicon Harbour Centre
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
852-26668334
B-4Interrupt Source Priorities Within an IPL................................................................B-11
xviDSP56301 User’s Manual
Chapter 1
Overview
This manual describes the DSP56301 24-bit digital signal processor (DSP), its memory,
operating modes, and peripheral modules. The DSP56301 is an implementation of the
DSP56300 core with a unique configuration of on-chip memory, cache, and peripherals.
Use this manual in conjunction with the DSP56300 Family Manual (DSP56300FM/AD),
which describes the CPU, core programming models, and instruction set details. DSP56301
Technical Data (DSP56301/D)—referred to as the data sheet—provides electrical
specifications, timing, pinout, and packaging descriptions of the DSP56301. You can obtain
these documents, as well as Motorola’s DSP development tools, through a local Motorola
Semiconductor Sales Office or authorized distributor. To receive the latest information on this
DSP, access the Motorola DSP home page at the address given on the back cover of this
document.
1.1 Manual Organization
This manual contains the following chapters and appendices:
nChapter 1,Overview Features list and block diagram, related documentation,
organization of this manual, and the notational conventions used.
nChapter 2,Signals/Connections DSP56301 signals and their functional groupings.
nChapter 3, Memory Maps DSP56301 memory spaces, RAM configuration, memory
configuration bit settings, memory sizes, and memory locations.
nChapter 4, Core Configuration Registers for configuring the DSP56300 core when
programming the DSP56301—in particular, the interrupt vector locations and the
operation of the interrupt priority registers; operating modes and how they affect the
processor’s program and data memories.
nChapter 5, Programming the Peripherals Guidelines on initializing the DSP56301
peripherals, including mapping control registers, specifying a method of transferring
data, and configuring for General-Purpose Input/Output (GPIO).
model, reset, interrupts, external host programming model, initialization, and a quick
reference to the HI32 programming model.
nChapter 7, Enhanced Synchronous Serial Interface (ESSI) Enhancements, data and
control signals, programming model, operating modes, initialization, exceptions, and
GPIO.
nChapter 8, Serial Communication Interface (SCI) Signals, programming model,
operating modes, reset, initialization, and GPIO.
nChapter 9, Triple Timer Module Architecture, programming model, and operating
modes of three identical timer devices available for use as internals or event counters.
nAppendix A, Bootstrap Program Bootstrap code for the DSP56301.
nAppendix B, Programming Reference Peripheral addresses, interrupt addresses, and
interrupt priorities for the DSP56301; programming sheets list the contents of the
major DSP56301 registers for programmer’s reference.
1.2 Manual Conventions
This manual uses the following conventions:
nBits within registers are always listed from most significant bit (MSB) to least
significant bit (LSB).
nBits within a register are indicated AA[n–m], n > m, when more than one bit is
involved in a description. For purposes of description, the bits are presented as if they
are contiguous within a register. However, this is not always the case. Refer to the
programming model diagrams or to the programming sheets to see the exact location
of bits within a register.
nWhen a bit is described as “set,” its value is 1. When a bit is described as “cleared,” its
value is 0.
nThe word “assert” means that a high true (active high) signal is pulled high to V
that a low true (active low) signal is pulled low to ground. The word “deassert” means
that a high true signal is pulled low to ground or that a low true signal is pulled high to
V
. See Table 1-1.
CC
Table 1-1. High True/Low True Signal Conventions
CC
or
Signal/SymbolLogic StateSignal StateVoltage
1
PIN
PINFalseDeasserted
1-2DSP56301 User’s Manual
TrueAsserted
Ground
V
CC
2
3
Manual Conventions
Table 1-1. High True/Low True Signal Conventions
Signal/SymbolLogic StateSignal StateVoltage
PINTrueAsserted
PINFalseDeasserted
1.PIN is a generic term for any pin on the chip.
2.Ground is an acceptable low voltage level. See the appropriate data sheet for the range of acceptable low
voltage levels (typically a TTL logic low).
3.V
nPins or signals that are asserted low (made active when pulled to ground) are indicated
is an acceptable high voltage level. See the appropriate data sheet for the range of acceptable high
CC
voltage levels (typically a TTL logic high).
V
CC
Ground
3
2
like this:
— In text, they have an overbar: for example,
RESET is asserted low.
— In code examples, they have a tilde in front of their names. In Example 1-1, line 3
refers to the
nSets of signals are indicated by the first and last signals in the set, for instance HA[0–2].
n“Input/Output” indicates a bidirectional signal. “Input or Output” indicates a signal
SS0 signal (shown as ~SS0).
that is exclusively one or the other.
nCode examples are displayed in a monospaced font, as shown in Example 1-1.
Example 1-1. Sample Code Listing
BFSET#$0007,X:PC C ; Con figure :line 1
; MISO0, MOSI0, SCK0 for SPI masterline 2
; ~SS0 as PC3 for GPIOline 3
nHexadecimal values are indicated with a dollar sign ($) preceding the value. For
example, $FFFFFF is the X memory address for the core interrupt priority register.
nThe word “reset” appears in four different contexts in this manual:
— the reset signal, written as
RESET
— the reset instruction, written as RESET
— the reset operating state, written as Reset
— the reset function, written as reset
Overview1-3
DSP56300 Core Features
1.3 DSP56300 Core Features
All DSP56300 core family members contain the DSP56300 core and additional modules. The
modules are chosen from a library of standard predesigned elements, such as memories and
peripherals. New modules can be added to the library to meet customer specifications. A
standard interface between the DSP56300 core and the on-chip memory and peripherals
supports a wide variety of memory and peripheral configurations. In particular, the DSP56301
includes Motorola’s JTAG port and OnCE module. Core features are fully described in the
DSP56300 Family Manual. This manual, in contrast, documents pinout, memory, and
peripheral features. Core features are as follows:
n80/100 Million Instructions per Second (MIPS) using an internal 80/100 MHz clock at
3.0–3.6 V, depending on the revision of the DSP56301
nObject code compatible with the DSP56000 core
nHighly parallel instruction set
nData Arithmetic Logic Unit (Data ALU)
— Fully pipelined 24 x 24-bit parallel multiplier-accumulator (MAC)
— 56-bit parallel barrel shifter (fast shift and normalization; bit stream generation and
parsing)
— Conditional ALU instructions
— 24-bit or 16-bit arithmetic support under software control
nProgram Control Unit (PCU)
— Position Independent Code (PIC) support
— Addressing modes optimized for DSP applications (including immediate offsets)
— On-chip instruction cache controller
— On-chip memory-expandable hardware stack
— Nested hardware DO loops
— Fast auto-return interrupts
nDirect Memory Access (DMA) Controller
— Six DMA channels supporting internal and external accesses
— One-, two-, and three- dimensional transfers (including circular buffering)
— End-of-block-transfer interrupts
— Triggering from interrupt lines and all peripherals
1-4DSP56301 User’s Manual
DSP56300 Core Features
nPhase Lock Loop (PLL)—Allows change of low power Divide Factor (DF) without
loss of lock
nOutput clock with skew elimination
nHardware debugging support
— On-Chip Emulation (OnCE) module
— Joint Action Test Group (JTAG) Test Access Port (TAP) port
— Address Trace mode reflects internal Program RAM accesses at the external port
nOn-chip memories:
— Program RAM, instruction cache, X data RAM, and Y data RAM sizes are
glueless interface to other DSP563xx buses
— ISA interface requires only 74LS45-style buffer
— Two Enhanced Synchronous Serial Interfaces (ESSI0 and ESSI1)
Overview1-5
DSP56300 Core Functional Blocks
— Serial Communications Interface (SCI) with baud rate generator
— Triple timer module
— Up to forty-two programmable General Purpose Input/Output (GPIO) pins,
depending on which peripherals are enabled
nReduced power dissipation
— Very low power CMOS design
— Wait and Stop low-power standby modes
— Fully-static logic
— Optimized power management circuitry (instruction-dependent,
peripheral-dependent, and mode-dependent)
1.4 DSP56300 Core Functional Blocks
The functional blocks of the DSP56300 core are as follows:
nData arithmetic logic unit (ALU)
nAddress generation unit
nProgram control unit
nPLL and clock oscillator
nJTAG TAP and OnCE module
In addition, the DSP56301 provides a set of on-chip peripherals, discussed in Section 1.7,
Peripherals, on page 1-12.
1.4.1 Data ALU
The data ALU performs all the arithmetic and logical operations on data operands in the
DSP56300 core. These are the components of the data ALU:
nFully pipelined 24 × 24-bit parallel multiplier-accumulator
nBit field unit, comprising a 56-bit parallel barrel shifter (fast shift and normalization;
bit stream generation and parsing)
nConditional ALU instructions
nSoftware-controllable 24-bit or 16-bit arithmetic support
nFour 24-bit input general-purpose registers: X1, X0, Y1, and Y0
nSix data ALU registers (A2, A1, A0, B2, B1, and B0) that are concatenated into two
general-purpose, 56-bit accumulators, A and B, accumulator shifters
nTwo data bus shifter/limiter circuits
1-6DSP56301 User’s Manual
DSP56300 Core Functional Blocks
1.4.1.1 Data ALU Registers
The data ALU registers are read or written over the X data bus and the Y data bus as 16- or
24-bit operands. The source operands for the data ALU can be 24, 48, or 56 bits in 24-bit
mode or 16, 32, or 40 bits in 16-bit mode. They always originate from data ALU registers.
The results of all data ALU operations are stored in an accumulator. Data ALU operations are
performed in two clock cycles in a pipeline so that a new instruction can be initiated in every
clock cycle, yielding an effective execution rate of one instruction per clock cycle.
1.4.1.2 Multiplier-Accumulator (MAC)
The MAC unit comprises the main arithmetic processing unit of the DSP56300 core and
performs all of the calculations on data operands. For arithmetic instructions, the unit accepts
as many as three input operands and outputs one 56-bit result of the following form:
extension:most significant product:least significant product (EXT:MSP:LSP).
The multiplier executes 24-bit × 24-bit parallel, fractional multiplies between
twos-complement signed, unsigned, or mixed operands. The 48-bit product is right-justified
and added to the 56-bit contents of either the A or B accumulator. A 56-bit result can be
stored as a 24-bit operand. The LSP is either truncated or rounded into the MSP. Rounding is
performed if specified.
1.4.2 Address Generation Unit (AGU)
The AGU performs the effective address calculations using integer arithmetic necessary to
address data operands in memory and contains the registers that generate the addresses. It
implements four types of arithmetic: linear, modulo, multiple wrap-around modulo, and
reverse-carry. The AGU operates in parallel with other chip resources to minimize
address-generation overhead.
The AGU is divided into halves, each with its own identical address ALU. Each address ALU
has four sets of register triplets, and each register triplet includes an address register, offset
register, and modifier register. Each contains a 24-bit full adder (called an offset adder). A
second full adder (called a modulo adder) adds the summed result of the first full adder to a
modulo value that is stored in its respective modifier register. A third full adder (called a
reverse-carry adder) is also provided. The offset adder and the reverse-carry adder work in
parallel and share common inputs. The only difference between them is that the carry
operation propagates in opposite directions. Test logic determines which of the three summed
results of the full adders is output.
Each address ALU can update one address register from its own address register file during
one instruction cycle. The contents of the associated modifier register specify the type of
Overview1-7
DSP56300 Core Functional Blocks
arithmetic used in the address register update calculation. The modifier value is decoded in
the address ALU.
1.4.3 Program Control Unit (PCU)
The PCU prefetches and decodes instructions, controls hardware DO loops, and processes
exceptions. Its seven-stage pipeline controls the different processing states of the DSP56300
core. The PCU consists of three hardware blocks:
nProgram decode controller — decodes the 24-bit instruction loaded into the instruction
latch and generates all signals necessary for pipeline control.
nProgram address generator — contains all the hardware needed for program address
generation, system stack, and loop control.
nProgram interrupt controller — arbitrates among all interrupt requests (internal
interrupts, as well as the five external requests
generates the appropriate interrupt vector address.
IRQA, IRQB, IRQC, IRQD, and NMI), and
PCU features include the following:
nPosition-independent code support
nAddressing modes optimized for DSP applications (including immediate offsets)
nOn-chip instruction cache controller
nOn-chip memory-expandable hardware stack
nNested hardware DO loops
nFast auto-return interrupts
nHardware system stack
The clock generator in the DSP56300 core comprises two main blocks: the PLL, which
performs clock input division, frequency multiplication, and skew elimination; and the clock
generator, which performs low-power division and clock pulse generation. These features
allow you to:
nChange the low-power divide factor without losing the lock
nOutput a clock with skew elimination
The PLL allows the processor to operate at a high internal clock frequency using a
low-frequency clock input, a feature that offers two immediate benefits:
nA lower-frequency clock input reduces the overall electromagnetic interference
generated by a system.
nThe ability to oscillate at different frequencies reduces costs by eliminating the need to
add additional oscillators to a system.
1.4.5 JTAG TAP and OnCE Module
In the DSP56300 core is a dedicated user-accessible TAP that is fully compatible with the
.
IEEE 1149.1 Standard Test Access Port and Boundary Scan Architecture
testing high-density circuit boards led to the development of this standard under the
sponsorship of the Test Technology Committee of IEEE and the JTAG. The DSP56300 core
implementation supports circuit-board test strategies based on this standard. The test logic
includes a TAP with four dedicated signals, a 16-state controller, and three test data registers.
A boundary scan register links all device signals into a single shift register. The test logic,
implemented utilizing static logic design, is independent of the device system logic. For
details on the JTAG port, consult the DSP56300 Family Manual.
The OnCE module interacts with the DSP56300 core and its peripherals nonintrusively so that
you can examine registers, memory, or on-chip peripherals. This facilitates hardware and
software development on the DSP56300 core processor. OnCE module functions are
provided through the JTAG TAP signals. For details on the OnCE module, consult the
DSP56300 Family Manual.
Problems with
Overview1-9
Internal Buses
1.4.6 On-Chip Memory
The memory space of the DSP56300 core is partitioned into program, X data, and Y data
memory space. The data memory space is divided into X and Y data memory in order to work
with the two address ALUs and to feed two operands simultaneously to the data ALU.
Memory space includes internal RAM and ROM and can be expanded off-chip under
software control. There is an on-chip 192/3K x 24-bit bootstrap ROM. For details on internal
memory, see Chapter 3,Memory Configuration. Program RAM, instruction cache, X data
RAM, and Y data RAM size are programmable, as Table 1-2 shows.
1.Controlled by the Cache Enable (CE) bit in the Status Register (SR)
2.Controlled by the Memory Select (MS) bit in the Operating Mode Register (OMR)
Instruction
Cache Size
X Data RAM
Size
Y Data RAM
Size
Instruction Cache
1
Switch Mode
1.5 Internal Buses
All internal buses on the DSP56300 devices are 24-bit buses. To provide data exchange
between the blocks, the DSP56301 implements the following buses:
nPeripheral I/O expansion bus to peripherals
nX memory expansion bus to X memory
nY memory expansion bus to Y memory
nProgram data bus for carrying program data throughout the core
2
nX memory data bus for carrying X data throughout the core
nY memory data bus for carrying Y data throughout the core
nProgram address bus for carrying program memory addresses throughout the core
nX memory address bus for carrying X memory addresses throughout the core
nY memory address bus for carrying Y memory addresses throughout the core.
1-10DSP56301 User’s Manual
The block diagram in Figure 1-1 illustrates these buses among other components.
652
EXTAL
XTAL
Triple
Timer
Address
Generation
Unit
Six Channel
DMA Unit
Boot-
strap
ROM
Internal
Data
Bus
Switch
Clock
Generator
PLL
Host
Interface
(HI32)
Program
Interrupt
Controller
6
ESSI
Peripheral
Expansion Area
PIO_EB
3
SCI
Program
Decode
Controller
Memory Expansion Area
Program RAM
4096
(Default)
DSP56300
DDB
YDB
XDB
PDB
GDB
Program
Address
Generator
X Data
× 24
RAM
2048
× 24
(Default)
PM_EB
YAB
XM_EB
XAB
PAB
DAB
24-Bit
Core
Data ALU
× 24
+
MAC
24
Two 56-bit Accumulators
56-bit Barrel Shifter
Y Data
RAM
× 24
2048
(Default)
YM_EB
56 → 56-bit
External
Address
Bus
Switch
External
Bus
Interface
and
I - Cache
Control
External
Data Bus
Switch
Power
Management
JTAG
OnCE™
DMA
24
ADDRESS
14
CONTROL
24
DA T A
5
DE
2
RESET
PINIT/NMI
MODD/IRQA
MODC/
IRQB
MODB/IRQC
MODA/IRQD
Figure 1-1. DSP56301 Block Diagram
1.6 DMA
The DMA block has the following features:
nSix DMA channels supporting internal and external accesses
nOne-, two-, and three-dimensional transfers (including circular buffering)
nEnd-of-block-transfer interrupts
nTriggering from interrupt lines and all peripherals
Overview1-11
Peripherals
1.7 Peripherals
In addition to the core features, the DSP56301 provides the following peripherals:
nAs many as 42 user-configurable General-Purpose Input/Output (GPIO) signals
nHost Interface (HI32)
nDual Enhanced Synchronous Serial Interfaces (ESSI0 and ESSI1)
nSerial Communications Interface (SCI)
nTriple timer module
The GPIO port consists of as many as 42 programmable signals, all of which are also used by
the peripherals (HI32, ESSI, SCI, and timer). There are no dedicated GPIO signals. After a
reset, the signals are automatically configured as GPIO. Three memory-mapped registers per
peripheral control GPIO functionality. Programming techniques for these registers to control
GPIO functionality are detailed in Chapter 5,Programming the Peripherals.
1.7.2 Host Interface (HI32)
The Host Interface (HI32) is a fast parallel host port up to 32 bits wide that can directly
connect to the host bus. The HI32 supports a variety of standard buses and provides glueless
connection with a number of industry-standard microcomputers, microprocessors, DSPs, and
DMA controllers. In one of its modes of operation, PCI mode, the HI32 is a dedicated
bidirectional target (slave) / initiator (master) parallel port with a 32-bit wide data path up to
eight words deep. The HI32 can connect directly to the PCI bus.
1.7.3 Enhance Synchronous Serial Interface (ESSI)
The DSP56301 provides two independent and identical ESSIs. Each ESSI has a full-duplex
serial port for communication with a variety of serial devices, including one or more
industry-standard CODECs, other DSPs, microprocessors, and peripherals that implement the
Motorola Serial Peripheral Interface (SPI). The ESSI consists of independent transmitter and
receiver sections and a common ESSI clock generator. ESSI capabilities include:
nIndependent (asynchronous) or shared (synchronous) transmit and receive sections
with separate or shared internal/external clocks and frame syncs
nNormal mode operation using frame sync
nNetwork mode operation with as many as 32 time slots
nProgrammable word length (8, 12, 16, 24, or 32 bits)
nProgram options for frame synchronization and clock generation
nOne receiver and three transmitters per ESSI
1-12DSP56301 User’s Manual
Peripherals
1.7.4 Serial Communications Interface (SCI)
The SCI provides a full-duplex port for serial communications with other DSPs,
microprocessors, or peripherals such as modems. The SCI interfaces without additional logic
to peripherals that use TTL-level signals. With a small amount of additional logic, the SCI can
connect to peripheral interfaces that have non-TTL level signals, such as the RS-232C,
RS-422, and so forth. This interface uses three dedicated signals: transmit data, receive data,
and SCI serial clock. It supports industry-standard asynchronous bit rates and protocols, as
well as high-speed synchronous data transmission (up to 12.5 Mbps for a 100 MHz clock).
SCI asynchronous protocols include a multidrop mode for master/slave operation with
wakeup on idle line and wakeup on address bit capability. This mode allows the DSP56301 to
share a single serial line efficiently with other peripherals.
Separate SCI transmit and receive sections can operate asynchronously with respect to each
other. A programmable baud-rate generator provides the transmit and receive clocks. An
enable vector and an interrupt vector allow the baud-rate generator to function as a
general-purpose timer when the SCI is not using it or when the interrupt timing is the same as
that used by the SCI.
1.7.5 Triple Timer Module
The triple timer module is composed of a common 21-bit prescaler and three independent and
identical general-purpose 24-bit timer/event counters, each with its own memory-mapped
register set. Each timer has the following properties:
nA single signal that can function as a GPIO signal or as a timer signal
nUses internal or external clocking and can interrupt the DSP after a specified number
of events (clocks) or signal an external device after counting internal events
nConnects to the external world through one bidirectional signal. When this signal is
configured as an input, the timer functions as an external event counter or measures the
external pulse width/signal period. When the signal is used as an output, the timer
functions as either a timer, a watchdog, or a pulse width modulator.
Overview1-13
Related Documents and Web Sites
1.8 Related Documents and Web Sites
The documents listed in Table 1-3 are required for a complete description of the DSP56301
and are necessary to design properly with the part. Documentation is available from the
following sources (see back cover for detailed information):
nA local Motorola distributor
nA Motorola semiconductor sales office
nA Motorola Literature Distribution Center
nThe World Wide Web (WWW)
Table 1-3. DSP 56301 Documentation
NameDescriptionOrder Number
DSP56300 Family
Manual
DSP56301 User’s
Manual
(this manual)
DSP56301
Technical Data
Detailed description of the DSP56300 family processor core and
instruction set
Detailed functional description of the DSP56301 memory
configuration, operation, and register programming
DSP56301 features list and physical, electrical, timing, and package
specifications
DSP56300FM/AD
DSP56301UM/AD
DSP56301/D
You can download these documents and other related documentation (all in pdf format)
referenced by the product page at:
http://www.mot.com/SPS/DSP/
For printed copies, contact the Literature Distribution Center at the number(s) provided on the
back cover of this manual.
1-14DSP56301 User’s Manual
Loading...
+ 342 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.