Low Power Dissipation and Power-Down
Modes:
– 47 mA (2.35 mA/MIP) at 5 V, 40-MHz
Clock (Average)
– 23 mA (1.15 mA/MIP) at 3 V, 40-MHz
Clock (Average)
– 10 mA at 5 V, 40-MHz Clock (IDLE1 Mode)
– 3 mA at 5 V, 40-MHz Clock (IDLE2 Mode)
– 5 µA at 5 V, Clocks Off (IDLE2 Mode)
D
High-Performance Static CMOS Technology
D
IEEE Standard 1149.1† Test-Access Port
(JTAG)
description
The TMS320C5x generation of the Texas Instruments (TI) TMS320 digital signal processors (DSPs) is
fabricated with static CMOS integrated circuit technology; the architectural design is based upon that of an
earlier TI DSP, the TMS320C25. The combination of advanced Harvard architecture, on-chip peripherals,
on-chip memory , and a highly specialized instruction set is the basis of the operational flexibility and speed of
the ’C5x
The ’C5x devices offer these advantages:
DDDDDD
TI is a trademark of Texas Instruments Incorporated.
†
IEEE Standard 1149.1–1990, IEEE Standard Test-Access Port and Boundary-Scan Architecture
‡
References to ’C5x in this document include both TMS320C5x and TMS320LC5x devices unless specified otherwise.
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of Texas Instruments
standard warranty. Production processing does not necessarily include
testing of all parameters.
‡
devices. They execute up to 50 million instructions per second (MIPS).
Enhanced TMS320 architectural design for increased performance and versatility
Modular architectural design for fast development of spin-off devices
Advanced integrated-circuit processing technology for increased performance
Upward-compatible source code (source code for ’C1x and ’C2x DSPs is upward compatible with ’C5x DSPs.)
Enhanced TMS320 instruction set for faster algorithms and for optimized high-level language operation
New static-design techniques for minimizing power consumption and maximizing radiation tolerance
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
Copyright 1996, Texas Instruments Incorporated
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
1
TMS320C5x, TMS320LC5x
I/O PORTS
SUPPLY
TIME
TYPE
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
description (continued)
T able 1 provides a comparison of the devices in the ’C5x generation. It shows the capacity of on-chip RAM and
ROM memories, number of serial and parallel I/O ports, execution time of one machine cycle, and type of
package with total pin count.
IACK
NC
CLKOUT1
XF
HOLDA
TDX
DX
TFSX/TFRM
FSX
CLKMD2
V
SSI
V
SSI
TDO
V
DDC
V
DDC
X1
X2/CLKIN
CLKIN2
BR
STRB
R/W
PS
IS
DS
NC
V
SSC
V
SSC
NC
NC
NC
NC
A0A1A2A3A4A5A6A7A8
SSAVSSA
V
NOTE: NC = No connect (These pins are reserved.)
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
A9
DDIVDDI
V
TDI
SSAVSSA
V
NC
A10
CLKMD1
NC
NC
RD
A11
A12
A13
A14
A15
DDAVDDA
V
WE
3
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for Devices in the PQ Package
SIGNALTYPEDESCRIPTION
PARALLEL INTERFACE BUS
A0–A15I/O/Z16-bit external address bus (MSB: A15, LSB: A0)
D0–D15I/O/Z16-bit external data bus (MSB: D15, LSB: D0)
PS, DS, ISO/ZProgram, data, and I/O space select outputs, respectively
STRBI/O/ZTiming strobe for external cycles and external DMA
R/WI/O/ZRead/write select for external cycles and external DMA
RD, WEO/ZRead and write strobes, respectively, for external cycles
READYIExternal bus ready/wait-state control input
BRI/O/ZBus request. Arbitrates global memory and external DMA
SYSTEM INTERFACE/CONTROL SIGNALS
RSIReset. Initializes device and sets PC to zero
MP/MCIMicroprocessor/microcomputer mode select. Enables internal ROM
HOLDIPuts parallel I/F bus in high-impedance state after current cycle
HOLDAO/ZHold acknowledge. Indicates external bus in hold state
XFO/ZExternal flag output. Set/cleared through software
BIOII/O branch input. Implements conditional branches
TOUTO/ZTimer output signal. Indicates output of internal timer
IAQO/ZInstruction acquisition signal
IACKO/ZInterrupt acknowledge signal
INT1–INT4IExternal interrupt inputs
NMIINonmaskable external interrupt
SERIAL PORT INTERFACE (SPI)
DRISerial receive-data input
DXO/ZSerial transmit-data output. In high-impedance state when not transmitting
CLKRISerial receive-data clock input
CLKXI/O/ZSerial transmit-data clock. Internal or external source
FSRISerial receive-frame-synchronization input
FSXI/O/ZSerial transmit-frame-synchronization signal. Internal or external source
TDM SERIAL-PORT INTERFACE
TDRITDM serial receive-data input
TDXO/ZTDM serial transmit-data output. In high-impedance state when not transmitting
TCLKRITDM serial receive-data clock input
TCLKXI/O/ZTDM serial transmit-data clock. Internal or external source
TFSR / TADDI/O/Z
TFSX /TFRMI
LEGEND:
I = Input
O = Output
Z = High impedance
TDM serial receive-frame-synchronization input. In the TDM mode, TFSR/TADD is used to output/
input the address of the port.
TDM serial transmit-frame-synchronization signal. Internal or external source. In the TDM mode,
TFSX/TFRM becomes TFRM, the TDM frame synchronization.
4
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for Devices in the PQ Package (Continued)
EMULATION/IEEE STANDARD 1149.1 TEST ACCESS PORT (TAP)
TDIITAP scan data input
TDOO/ZTAP scan data output
TMSIT AP mode select input
TCKITAP clock input
TRSTITAP reset (with pulldown resistor). Disables TAP when low
EMU0I/O/ZEmulation control 0. Reserved for emulation use
EMU1/OFFI/O/ZEmulation control 1. Puts outputs in high-impedance state when low
Pin Functions for the TMS320LC57 in the PBK Package
SIGNALTYPEDESCRIPTION
PARALLEL INTERFACE BUS
A0–A15I/O/Z16-bit external address bus (MSB: A15, LSB: A0)
D0–D15I/O/Z16-bit external data bus (MSB: D15, LSB: D0)
PS, DS, ISO/ZProgram, data, and I/O space select outputs, respectively
STRBI/O/ZTiming strobe for external cycles and external DMA
R/WI/O/ZRead/write select for external cycles and external DMA
RD, WEO/ZRead and write strobes, respectively, for external cycles
READYIExternal bus ready/wait-state control input
BRI/O/ZBus request. Arbitrates global memory and external DMA
SYSTEM INTERFACE/CONTROL SIGNALS
RSIReset. Initializes device and sets PC to zero
MP/MCIMicroprocessor/microcomputer mode select. Enables internal ROM
HOLDIPuts parallel I/F bus in high-impedance state after current cycle
HOLDAO/ZHold acknowledge. Indicates external bus in hold state
XFO/ZExternal flag output. Set/cleared through software
BIOII/O branch input. Implements conditional branches
TOUTO/ZTimer output signal. Indicates output of internal timer
IAQO/ZInstruction acquisition signal
INT1–INT4IExternal interrupt inputs
NMIINonmaskable external interrupt
SERIAL PORT INTERFACE
DRISerial receive-data input
DXO/ZSerial transmit-data output. In high-impedance state when not transmitting
CLKRISerial receive-data clock input
CLKXI/O/ZSerial transmit-data clock. Internal or external source
FSRISerial receive-frame-synchronization input
FSXI/O/ZSerial transmit-frame-synchronization signal. Internal or external source
HOST PORT INTERFACE (HPI)
HCNTL0IHPI mode control 1
HCNTL1IHPI mode control 2
HINTO/ZHost interrupt
HDS1IHPI data strobe 1
HDS2IHPI data strobe 2
HR/WIHPI read/write strobe
HASIHPI address strobe
HRDYO/ZHPI ready signal
HCSIHPI chip select
HBILIHPI byte identification input
HD0–HD7I/O/ZHPI data bus
LEGEND:
I = Input
O = Output
Z = High impedance
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
7
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for the TMS320LC57 in the PBK Package (Continued)
SIGNALTYPEDESCRIPTION
BUFFERED SERIAL PORT
BDRIBSP receive data input
BDXO/ZBSP transmit data output; in high-impedance state when not transmitting
BCLKRIBSP receive-data clock input
BCLKXI/O/ZBSP transmit-data clock; internal or external source
BFSRIBSP receive frame-synchronization input
BFSXI/O/ZBSP transmit frame-synchronization signal; internal or external source
EMULATION/JTAG INTERFACE
TDIIJTAG-test-port scan data input
TDOO/ZJTAG-test-port scan data output
TMSIJTAG-test-port mode select input
TCKIJTAG-port clock input
TRSTIJTAG-port reset (with pull-down resistor). Disables JTAG when low
EMU0I/O/ZEmulation control 0. Reserved for emulation use
EMU1/OFFI/O/ZEmulation control 1. Puts outputs in high-impedance state when low
NOTE: NC = No connect (These pins are reserved.)
†
See Table 2 for device-specific pinouts.
Table 2. Device-Specific Pinouts for the PZ Package
PIN’C51, ’LC51’C52, ’LC52’C53S, ’LC53S’LC56
5TCLKXV
§
6
CLKXCLKXCLKX1CLKX
7TFSR/TADDV
8TCLKRV
§
46
DRDRDR1DR
47TDRV
§
48
49
§
FSRFSRFSR1FSR
CLKRCLKRCLKR1CLKR
SSI
SSI
SSI
SSI
83CLKIN2CLKIN2CLKIN2CLKMD3
§
91
92TFSX/TFRMV
§
93
FSXFSXFSX1FSX
SSI
DXDXDX1DX
94TDXNCDX2BDX
‡
Pin names beginning with “B” indicate signals on the buffered serial port (BSP).
§
No functional change
CLKX2BCLKX
FSR2BFSR
CLKR2BCLKR
DR2BDR
FSX2BFSX
‡
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
9
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for Devices in the PZ Package
SIGNALTYPEDESCRIPTION
PARALLEL INTERFACE BUS
A0–A15I/O/Z16-bit external address bus (MSB: A15, LSB: A0)
D0–D15I/O/Z16-bit external data bus (MSB: D15, LSB: D0)
PS, DS, ISO/ZProgram, data, and I/O space select outputs, respectively
STRBI/O/ZTiming strobe for external cycles and external DMA
R/WI/O/ZRead/write select for external cycles and external DMA
RD, WEO/ZRead and write strobes, respectively, for external cycles
READYIExternal bus ready/wait-state control input
BRI/O/ZBus request. Arbitrates global memory and external DMA
SYSTEM INTERFACE/CONTROL SIGNALS
RSIReset. Initializes device and sets PC to zero
MP/MCIMicroprocessor/microcomputer mode select. Enables internal ROM
HOLDIPuts parallel I/F bus in high-impedance state after current cycle
HOLDAO/ZHold acknowledge. Indicates external bus in hold state
XFO/ZExternal flag output. Set/cleared through software
BIOII/O branch input. Implements conditional branches
TOUTO/ZTimer output signal. Indicates output of internal timer
INT1–INT4IExternal interrupt inputs
NMIINonmaskable external interrupt
SERIAL PORT INTERFACE
DR, DR1, DR2ISerial receive-data input
DX, DX1, DX2O/ZSerial transmit-data output. In high-impedance state when not transmitting
CLKR, CLKR1, CLKR2ISerial receive-data clock input
CLKX, CLKX1, CLKX2I/O/ZSerial transmit-data clock. Internal or external source
FSR, FSR1, FSR2ISerial receive-frame-synchronization input
FSX, FSX1, FSX2I/O/ZSerial transmit-frame-synchronization signal. Internal or external source
BUFFERED SERIAL PORT (BSP) (SEE NOTE 1)
BDRIBSP receive data input
BDXO/ZBSP transmit data output; in high-impedance state when not transmitting
BCLKRIBSP receive-data clock input
BCLKXI/O/ZBSP transmit-data clock; internal or external source
BFSRIBSP receive frame-synchronization input
BFSXI/O/ZBSP transmit frame-synchronization signal; internal or external source
LEGEND:
I = Input
O = Output
Z = High impedance
NOTE 1: ’LC56 devices only
10
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for Devices in the PZ Package (Continued)
SIGNALTYPEDESCRIPTION
TDM SERIAL PORT INTERFACE
TDRITDM serial receive-data input
TDXO/ZTDM serial transmit-data output. In high-impedance state when not transmitting
TCLKRITDM serial receive-data clock input
TCLKXI/O/ZTDM serial transmit-data clock. Internal or external source
TFSR / TADDI/O/Z
TFSX /TFRMI
TDIIJTAG-test-port scan data input
TDOO/ZJTAG-test-port scan data output
TMSIJTAG-test-port mode select input
TCKIJTAG-port clock input
TRSTIJTAG-port reset (with pull-down resistor). Disables JTAG when low
EMU0I/O/ZEmulation control 0. Reserved for emulation use
EMU1/OFFI/O/ZEmulation control 1. Puts outputs in high-impedance state when low
Pin Functions for the TMS320C52, TMS320LC52 in the PJ Package
SIGNALTYPEDESCRIPTION
PARALLEL INTERFACE BUS
A0–A15I/O/Z16-bit external address bus (MSB: A15, LSB: A0)
D0–D15I/O/Z16-bit external data bus (MSB: D15, LSB: D0)
PS, DS, ISO/ZProgram, data, and I/O space select outputs, respectively
STRBI/O/ZTiming strobe for external cycles and external DMA
R/WI/O/ZRead/write select for external cycles and external DMA
RD, WEO/ZRead and write strobes, respectively, for external cycles
READYIExternal bus ready/wait-state control input
BRI/O/ZBus request. Arbitrates global memory and external DMA
SYSTEM INTERFACE/CONTROL SIGNALS
RSIReset. Initializes device and sets PC to zero
MP/MCIMicroprocessor/microcomputer mode select. Enables internal ROM
HOLDIPuts parallel I/F bus in high-impedance state after current cycle
HOLDAO/ZHold acknowledge. Indicates external bus in hold state
XFO/ZExternal flag output. Set/cleared through software
BIOII/O branch input. Implements conditional branches
TOUTO/ZTimer output signal. Indicates output of internal timer
INT1–INT4IExternal interrupt inputs
NMIINonmaskable external interrupt
SERIAL PORT INTERFACE
DRISerial receive-data input
DXO/ZSerial transmit-data output. In high-impedance state when not transmitting
CLKRISerial receive-data clock input
CLKXI/O/ZSerial transmit-data clock. Internal or external source
FSRISerial receive-frame-synchronization input
FSXI/O/ZSerial transmit-frame-synchronization signal. Internal or external source
EMULATION/JTAG INTERFACE
TDIIJTAG-test-port scan data input
TDOO/ZJTAG-test-port scan data output
TMSIJTAG-test-port mode select input
TCKIJTAG-port clock input
TRSTIJTAG-port reset (with pulldown resistor). Disables JTAG when low
EMU0I/O/ZEmulation control 0. Reserved for emulation use
EMU1/OFFI/O/ZEmulation control 1. Puts outputs in high-impedance state when low
LEGEND:
I = Input
O = Output
Z = High impedance
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
13
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for the TMS320C52, TMS320LC52 in the PJ Package (Continued)
Pin Functions for the TMS320C57S, TMS320LC57S in the PGE Package
SIGNALTYPEDESCRIPTION
PARALLEL INTERFACE BUS
A0–A15I/O/Z16-bit external address bus (MSB: A15, LSB: A0)
D0–D15I/O/Z16-bit external data bus (MSB: D15, LSB: D0)
PS, DS, ISO/ZProgram, data, and I/O space select outputs, respectively
STRBI/O/ZTiming strobe for external cycles and external DMA
R/WI/O/ZRead/write select for external cycles and external DMA
RD, WEO/ZRead and write strobes, respectively, for external cycles
READYIExternal bus ready/wait-state control input
BRI/O/ZBus request. Arbitrates global memory and external DMA
SYSTEM INTERFACE/CONTROL SIGNALS
RSIReset. Initializes device and sets PC to zero
MP/MCIMicroprocessor/microcomputer mode select. Enables internal ROM
HOLDIPuts parallel I/F bus in high-impedance state after current cycle
HOLDAO/ZHold acknowledge. Indicates external bus in hold state
XFO/ZExternal flag output. Set/cleared through software
BIOII/O branch input. Implements conditional branches
TOUTO/ZTimer output signal. Indicates output of internal timer
IAQO/ZInstruction acquisition signal
INT1–INT4IExternal interrupt inputs
NMIINonmaskable external interrupt
SERIAL PORT INTERFACE (SPI)
DRISerial receive-data input
DXO/ZSerial transmit-data output. In high-impedance state when not transmitting
CLKRISerial receive-data clock input
CLKXI/O/ZSerial transmit-data clock. Internal or external source
FSRISerial receive-frame-synchronization input
FSXI/O/ZSerial transmit-frame-synchronization signal. Internal or external source
HOST PORT INTERFACE (HPI)
HCNTL0IHPI mode control 1
HCNTL1IHPI mode control 2
HINTO/ZHost interrupt
HDS1IHPI data strobe 1
HDS2IHPI data strobe 2
HR/WIHPI read/write strobe
HASIHPI address strobe
HRDYO/ZHPI ready signal
HCSIHPI chip select
HBILIHPI byte identification input
HD0–HD7I/O/ZHPI data bus
LEGEND:
I = Input
O = Output
Z = High impedance
16
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
Pin Functions for the TMS320C57S, TMS320LC57S in the PGE Package (Continued)
SIGNALTYPEDESCRIPTION
BUFFERED SERIAL PORT
BDRIBSP receive data input
BDXO/ZBSP transmit data output; in high-impedance state when not transmitting
BCLKRIBSP receive-data clock input
BCLKXI/O/ZBSP transmit-data clock; internal or external source
BFSRIBSP receive frame-synchronization input
BFSXI/O/ZBSP transmit frame-synchronization signal; internal or external source
EMULATION/JTAG INTERFACE
TDIIJTAG-test-port scan data input
TDOO/ZJTAG-test-port scan data output
TMSIJTAG-test-port mode select input
TCKIJTAG-port clock input
TRSTIJTAG-port reset (with pulldown resistor). Disables JTAG when low
EMU0I/O/ZEmulation control 0. Reserved for emulation use
EMU1/OFFI/O/ZEmulation control 1. Puts outputs in high-impedance state when low
The ’C5x’s advanced Harvard-type architecture maximizes the processing power by maintaining two separate
memory bus structures, program and data, for full-speed execution. Instructions support data transfers between
the two spaces. This architecture permits coefficients stored in program memory to be read into the RAM,
eliminating the need for a separate coefficient ROM. The ’C5x architecture also makes available immediate
instructions and subroutines based on computed values. Increased throughput on the ’C5x for many DSP
applications is accomplished using single-cycle multiply/accumulate instructions with a data-move option, up
to eight auxiliary registers with a dedicated arithmetic unit, a parallel logic unit, and faster I/O necessary for
data-intensive signal processing. The architectural design emphasizes overall speed, communication, and
flexibility in processor configuration. Control signals and instructions provide floating-point support,
block-memory transfers, communication to slower off-chip devices, and multiprocessing implementations
as shown in the functional block diagram.
Table 3 explains the symbols that are used in the functional block diagram.
Table 3. Symbols Used in Functional Block Diagram
SYMBOLDESCRIPTIONSYMBOLDESCRIPTION
ABUAuto-buffering unitIFRInterrupt-flag register
ACCBAccumulator bufferIMRInterrupt-mask register
ACCHAccumulator highINDXIndirect-addressing-index register
ACCLAccumulator lowIRInstruction register
ALUArithmetic logic unitMCSMicrocall stack
ARAUAuxiliary-register arithmetic unitMUXMultiplexer
ARBAuxiliary-register pointer bufferPAERBlock-repeat-address end register
ARCRAuxiliary-register compare registerPASRBlock-repeat-address start register
ARPAuxiliary-register pointerPCProgram counter
ARRAddress-receive register (ABU)PFCPrefetch counter
AR0–AR7Auxiliary registersPLUParallel logic unit
AXRAddress-transmit register (ABU)PMSTProcessor-mode-status register
BKRReceive-buffer-size register (ABU)PRDTimer-period register
BKXTransmit-buffer-size register (ABU)PREGProduct register
BMARBlock-move-address registerRPTCRepeat-counter register
BRCRBlock-repeat-counter registerSARAMSingle-access RAM
BSPBuffered serial portSFLLeft shifter
CCarry bitSFRRight shifter
CBER1Circular buffer 1 end addressSPCSerial-port interface-control register
CBER2Circular buffer 2 end addressST0,ST1Status registers
CBSR1Circular buffer 1 start addressTCSRTDM channel-select register
CBSR2Circular buffer 2 start addressTCRTimer-control register
DARAMDual-access RAMTDMTime-division-multiplexed serial port
DBMRDynamic bit manipulation registerTDXRTDM data transmit register
DPData memory page pointerTIMTimer-count register
DRRSerial-port data receive registerTRADTDM received-address register
DXRSerial-port data transmit registerTRCVTDM data-receive register
GREGGlobal memory allocation registerTREG0Temporary register for multiplication
HPIHost port interfaceTREG1Temporary register for dynamic shift count
HPIAHHPI-address register (high bytes)TREG2T emporary register used as bit pointer in dynamic-bit test
HPIALHPI-address register (low bytes)TRTATDM receive-/transmit-address register
HPICHHPI-control register (high bytes)TSPCTDM serial-port-control register
HPICLHPI-control register (low bytes)
18
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
functional block diagram
CLKMD1
CLKMD2
IS
DS
PS
Control
MUXMUX
3
ARP(3)
3
ARB(3)
MUX
Data/Prog
SARAM
MUX
16
X1
CLKOUT1
X2/CLKIN
CLKIN2/CLKMD3
16
RD
WE
NMI
16
16
16
16
3
MUX
Data/Prog
DARAM
B0 (512x16)
MUX
MCS(16)
16
16
RW
STRB
READY
BR
XF
HOLD
HOLDA
IAQ
BO
RS
IACK
MP/MC
INT(1–4)
A15–A0
D15–D0
†
4
16
RBIT
16
Data Bus
3
’C509K
’C511K
’C533K
’C566K
’C576K
Not available on all devices (see Table 1).
NOTES: A. Signals in shaded text are not available on
HD0
HD7
HCNTL1
HCNTL0
HBIL
HCSHPIAL
HDS(1–1)
HAS
HR/W
HRDY
HINT
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
19
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
32-bit ALU/accumulator
The 32-bit ALU and accumulator implement a wide range of arithmetic and logical functions, the majority of
which execute in a single cycle. The ALU is a general-purpose arithmetic/logic unit that operates on 16-bit words
taken from data memory or derived from immediate instructions. In addition to the usual arithmetic instructions,
the ALU can perform Boolean operations, facilitating the bit manipulation ability required of a high-speed
controller. One input to the ALU always is supplied by the accumulator, and the other input can be furnished
from the product register (PREG) of the multiplier, the accumulator buf fer (ACCB), or the output of the scaling
shifter [which has been read from data memory or from the accumulator (ACC)]. After the ALU performs the
arithmetic or logical operation, the result is stored in the ACC where additional operations, such as shifting, can
be performed. Data input to the ALU can be scaled by the scaling shifter. The 32-bit ACC is split into two 16-bit
segments for storage in data memory . Shifters at the output of the ACC provide a left shift of 0 to 7 places. This
shift is performed while the data is being transferred to the data bus for storage. The contents of the ACC remain
unchanged. When the postscaling shifter is used on the high word of the ACC (bits 31–16), the most significant
bits (MSBs) are lost and the least significant bits (LSBs) are filled with bits shifted in from the low word (bits
15–0). When the postscaling shifter is used on the low word, the LSBs are filled with zeros.
The ’C5x supports floating-point operations for applications requiring a large dynamic range. By performing left
shifts, the normalization instruction (NORM) is used to normalize fixed-point numbers contained in the ACC.
The four bits of the TREG1 define a variable shift through the scaling shifter for the ADDT/LACT/SUBT
instructions (add to/load to/subtract from ACC with shift specified by TREG1). These instructions are useful
in denormalizing a number (converting from floating point to fixed point). They are also useful for executing an
automatic gain control (AGC) going into a filter.
The single-cycle 1-bit to 16-bit right shift of the ACC efficiently aligns the ACC’s contents. This, coupled with
the 32-bit temporary buffer on the ACC, enhances the effectiveness of the ALU in extended-precision arithmetic.
The ACCB provides a temporary storage place for a fast save of the ACC. The ACCB also can be used as an
input to the ALU. The minimum or maximum value in a string of numbers is found by comparing the contents
of the ACCB with the contents of the ACC. The minimum or maximum value is placed in both registers, and,
if the condition is met, the carry bit (C) is set to 1. The minimum and maximum functions are executed by the
CRLT and CRGT instructions, respectively.
scaling shifters
The ’C5x provides a scaling shifter that has a 16-bit input connected to the data bus and a 32-bit output
connected to the ALU. This scaling shifter produces a left shift of 0 to 16 bits on the input data. The shift count
is specified by a constant embedded in the instruction word or by the value in TREG1. The LSBs of the output
are filled with zeros; the MSBs may be either filled with zeros or sign extended, depending upon the value of
the sign-extension mode (SXM) bit of status register ST1.
The ’C5x also contains several other shifters that allow it to perform numerical scaling, bit extraction,
extended-precision arithmetic, and overflow prevention. These shifters are connected to the output of the
product register and the ACC.
parallel logic unit
The parallel logic unit (PLU) is a second logic unit, additional to the main ALU, that executes logic operations
on data without affecting the contents of the ACC. The PLU provides the bit-manipulation ability required of a
high-speed controller and simplifies control/status register operations. The PLU provides a direct logic
operation path to data memory space and can set, clear, test, or toggle multiple bits directly in a data memory
location, a control/status register, or any register that is mapped into data memory space.
20
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
16 × 16-bit parallel multiplier
The ’C5x uses a 16 × 16-bit hardware multiplier that is capable of computing a signed or an unsigned 32-bit
product in a single machine cycle. All multiply instructions, except the MPYU (multiply unsigned) instruction,
perform a signed multiply operation in the multiplier. That is, two numbers being multiplied are treated as
2s-complement numbers, and the result is a 32-bit 2s-complement number.
There are two registers associated with the multiplier: TREG0, a 16-bit temporary register that holds one of the
operands for the multiplier, and PREG, the 32-bit product register that holds the product. Four product shift
modes (PM) are available at the PREG’s output. These shift modes are useful for performing
multiply/accumulate operations, performing fractional arithmetic, or justifying fractional products. The PM field
of status register ST1 specifies the PM shift mode.
The product can be shifted one bit to compensate for the extra sign bit gained in multiplying two 16-bit
2s-complement numbers (MPY). A 4-bit shift is used in conjunction with the MPY instruction with a short
immediate value (13 bits or less) to eliminate the four extra sign bits gained in multiplying a 16-bit number by
a 13-bit number. Finally, the output of PREG can, instead, be right-shifted 6 bits to enable the execution of up
to 128 consecutive multiply/accumulates without the possibility of overflow.
The load-TREG0 (L T) instruction normally loads TREG0 to provide one operand (from the data bus), and the
MPY instruction provides the second operand (also from the data bus). A multiplication also can be performed
with a short or long immediate operand by using the MPY instruction with an immediate operand. A product is
obtained every two cycles except when a long immediate operand is used.
Four multiply/accumulate instructions (MAC, MACD, MADD, and MADS as defined in Table 7) fully utilize the
computational bandwidth of the multiplier, allowing both operands to be processed simultaneously. The data
for these operations is transferred to the multiplier during each cycle through the program and data buses. This
facilitates single-cycle multiply/accumulates when used with repeat ( RPT and RPTZ ) instructions. In these
instructions, the coefficient addresses are generated by the PC, while the data addresses are generated by the
ARAU. This allows the repeated instruction to access the values sequentially from the coefficient table and step
through the data in any of the indirect addressing modes. The RPTZ instruction also clears the accumulator and
the product register to initialize the multiply/accumulate operation.
The MACD and MADD instructions, when repeated, support filter constructs (weighted running averages) so
that as the sum-of-products is executed, the sample data is shifted in memory to make room for the next sample
and to eliminate the oldest sample. Circular addressing with MAC and MADS instructions also can be used to
support filter implementation.
auxiliary registers and auxiliary-register arithmetic unit (ARAU)
The ’C5x provides a register file containing eight auxiliary registers (AR0–AR7). The auxiliary registers are used
for indirect addressing of the data memory or for temporary data storage. Indirect auxiliary-register addressing
allows placement of the data memory address of an instruction operand into one of the auxiliary registers. These
registers are referenced with a 3-bit auxiliary register pointer (ARP) that is loaded with a value from 0 through
7, designated AR0 through AR7, respectively. The auxiliary registers and the ARP can be loaded from data
memory , the ACC, the product register , or by an immediate operand defined in the instruction. The contents of
these registers can be stored in data memory or used as inputs to the central arithmetic logic unit (CALU). These
registers are accessible as memory-mapped locations within the ’C5x data-memory space.
The auxiliary register file (AR0–AR7) is connected to the auxiliary register arithmetic unit (ARAU). The ARAU
can autoindex the current auxiliary register while the data memory location is being addressed. Indexing can
be performed either by ±1 or by the contents of the INDX register. As a result, accessing tables of information
does not require the CALU for address manipulation; thus, the CALU is free for other operations in parallel.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
21
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
memory
The ’C5x implements three separate address spaces for program memory , data memory , and I/O. Each space
accommodates a total of 64K 16-bit words (see Figures 1 through 7). Within the 64K words of data space, the
256 to 32K words at the top of the address range can be defined to be external global memory in increments
of powers of two, as specified by the contents of the global memory allocation register (GREG). Access to global
memory is arbitrated using the global memory bus request (BR
The ’C5x devices include a considerable amount of on-chip memory to aid in system performance and
integration including ROM, single-access RAM (SARAM), and dual-access RAM (DARAM). The amount and
types of memory available on each device are shown in Table 1.
On the ’C5x, the first 96 (0 – 5Fh) data-memory locations are allocated for memory-mapped registers. This
memory-mapped register space contains various control and status registers including those for the CPU, serial
port, timer, and software wait-state generators. Additionally, the first 16 I/O port locations are mapped into this
data-memory space, allowing them to be accessed either as data memory using single-word instructions or as
I/O locations with two-word instructions. Two-word instructions allow access to the full 64K words of I/O space.
The mask-programmable ROM is located in program memory space. Customers can arrange to have this ROM
programmed with contents unique to to any particular application. The ROM is enabled or disabled by the state
of the MP/MC
control input upon resetting the device or by manipulating the MP/MC bit in the PMST status
register after reset. The ROM occupies the lowest block of program memory when enabled. When disabled,
these addresses are located in the device’s external program-memory space.
) signal.
The ’C5x also has a mask-programmable option that provides security protection for the contents of on-chip
ROM. When this internal option bit is programmed, no externally-originating instruction can access the on-chip
ROM. This feature can be used to provide security for proprietary algorithms.
An optional boot loader is available in the device’s on-chip ROM. This boot loader can be used to transfer a
program automatically from data memory or the serial port to anywhere in program memory . In data memory,
the program can be located on any 1K-word boundary and can be in either byte-wide or 16-bit word format. Once
the code is transferred, the boot loader releases control to the program for execution.
The ’C5x devices provide two types of RAM: single-access RAM (SARAM) and dual-access RAM (DARAM).
The single-access RAM requires a full machine cycle to perform a read or a write; however, this is not one large
RAM block in which only one access per cycle is allowed. It is made up of 2K-word size-independent RAM blocks
and each one allows one CPU access per cycle. The CPU can read or write one block while accessing another
block at the same time. All ’C5x processors support multiple accesses to its SARAM in one cycle as long as they
go to different RAM blocks. If the total SARAM size is not a multiple of two, one block is made smaller than 2K
words. With an understanding of this structure, programmers can arrange code and data appropriately to
improve code performance. Table 4 shows the sizes of available SARAM on the applicable ’C5x devices.
Table 4. SARAM Block Sizes
DEVICENUMBER OF SARAM BLOCKS
’C50/’LC50Four 2K blocks and one 1K block
’C51/’LC51One 1K block
’C53/’C53S /’LC53One 2K block and one 1K block
’LC56Three 2K blocks
’C57S/’LC57/’LC57S Three 2K blocks
memory (continued)
The ’C5x dual-access RAM (DARAM) allows writes to, and reads from, the RAM in the same cycle without the
address restrictions of the SARAM. The dual-access RAM is configured in three blocks: block 0 (B0), block 1
(B1), and block 2 (B2). Block 1 is 512 words in data memory and block 2 is 32 words in data memory . Block 0
22
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
is a 512-word block which can be configured as data or program memory . The CLRC CNF (configure B0 as data
memory) and SETC CNF (configure B0 as program memory) instructions allow dynamic configuration of the
memory maps through software. When using block 0 as program memory , instructions can be downloaded from
external program memory into on-chip RAM and then executed.
When using on-chip RAM, ROM, or high-speed external memory , the ’C5x runs at full speed with no wait states.
The ability of the DARAM to allow two accesses to be performed in one cycle, coupled with the parallel nature
of the ’C5x architecture, enables the device to perform three concurrent memory accesses in any given machine
cycle. Externally , the READY line can be used to interface the ’C5x to slower , less expensive external memory .
Downloading programs from slow off-chip memory to on-chip RAM can speed processing while cutting system
costs.
Hex
0000
003F
0040
07FF
0800
2BFF
2C00
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(external)
External
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
MP/MC = 1
(microprocessor mode)
HexHex
0000
003F
0040
07FF
0800
2BFF
2C00
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(on-chip)
On-Chip
ROM
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
MP/MC
(microcomputer mode)
= 0
0000
005F
0060
007F
0080
00FF
0100
02FF
0300
04FF
0500
07FF
0800
2BFF
2C00
FFFF
Memory-Mapped
On-Chip DARAM B0
Reserved (CNF = 1)
On-Chip SARAM
External (OVLY = 0)
Data
Registers
On-Chip
DARAM B2
Reserved
(CNF = 0)
On-Chip
DARAM B1
Reserved
(OVLY = 1)
External
Figure 1. TMS320C50 and TMS320LC50 Memory Map
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
23
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
HexHexHex
0000
003F
0040
1FFF
2000
23FF
2400
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(external)
External
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
MP/MC = 1
(microprocessor mode)
0000
003F
0040
1FFF
2000
23FF
2400
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(on-chip)
On-Chip
ROM
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
MP/MC
(microcomputer mode)
= 0
0000
005F
0060
007F
0080
00FF
0100
02FF
0300
04FF
0500
07FF
0800
0BFF
0C00
FFFF
Figure 2. TMS320C51 and TMS320LC51 Memory Map
Hex
0000
003F
0040
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(external)
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
MP/MC = 1
(microprocessor mode)
HexHex
0000
003F
0040
0FFF
1000
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(on-chip)
On-Chip
ROM
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
= 0
MP/MC
(microcomputer mode)
Memory-Mapped
Registers
On-Chip
DARAM B2
Reserved
On-Chip DARAM
B0 (CNF = 0)
Reserved (CNF = 1)
On-Chip
DARAM B1
Reserved
On-Chip SARAM
(OVLY = 1)
External (OVLY = 0)
External
0000
005F
0060
007F
0080
00FF
0100
02FF
0300
04FF
0500
07FF
0800
FFFF
Memory-Mapped
On-Chip DARAM
Reserved (CNF = 1)
Data
Data
Registers
On-Chip
DARAM B2
Reserved
B0 (CNF = 0)
On-Chip
DARAM B1
Reserved
External
24
Figure 3. TMS320C52 and TMS320LC52 Memory Map
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
HexHexHex
0000
003F
0040
3FFF
4000
4BFF
4C00
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(external)
External
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
MP/MC = 1
(microprocessor mode)
0000
003F
0040
3FFF
4000
4BFF
4C00
FDFF
FE00
FFFF
Program
Interrupts and
Reserved
(on-chip)
On-Chip
ROM
On-Chip SARAM
(RAM = 1)
External
(RAM = 0)
External
On-Chip DARAM
B0 (CNF = 1)
External (CNF = 0)
MP/MC
(microcomputer mode)
= 0
0000
005F
0060
007F
0080
00FF
0100
02FF
0300
04FF
0500
07FF
0800
13FF
1400
FFFF
Memory-Mapped
Registers
DARAM B2
Reserved
On-Chip DARAM
B0 (CNF = 0)
Reserved (CNF = 1)
DARAM B1
Reserved
On-Chip SARAM
(OVLY = 1)
External (OVLY = 0)
Figure 4. TMS320C53, TMS320C53S, TMS320LC53, and TMS320LC53S Memory Map
Data
On-Chip
On-Chip
External
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
25
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
HexHex
0000
003F
0040
7FFF
8000
87FF
8800
8FFF
9000
97FF
9800
Interrupts and Reservrd
ProgramProgram
0000
(external)
003F
0040
External
7FFF
8000
On-Chip SARAM Blk0
(RAM = 1)
External (RAM = 0)
87FF
8800
On-Chip SARAM Blk1
(RAM = 1)
External (RAM = 0)
8FFF
9000
On-Chip SARAM Blk2
(RAM = 1)
External (RAM = 0)
97FF
9800
External
Interrupts and Reserved
(on-chip)
On-Chip ROM
On-Chip SARAM Blk0
(RAM = 1)
External (RAM = 0)
On-Chip SARAM Blk1
(RAM = 1)
External (RAM = 0)
On-Chip SARAM Blk2
(RAM = 1)
External (RAM = 0)
External
Hex
0000
005F
0060
007F
0080
00FF
0100
On-Chip DARAM B0 (CNF = 0)
02FF
0300
04FF
0500
07FF
0800
On-Chip SARAM Blk0
BSP Block (OVLY = 1)
0FFF
1000
On-Chip SARAM Blk1
17FF
1800
On-Chip SARAM Blk2
1FFF
2000
Data
Memory-Mapped
Registers
On-Chip DARAM B2
Reserved
Reserved (CNF = 1)
On-Chip DARAM B1
Reserved
External (OVLY = 0)
(OVLY = 1)
External (OVLY = 0)
(OVLY = 1)
External (OVLY = 0)
FDFF
FE00
FFFF
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
MP/MC = 1
FDFF
FE00
FFFF
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
= 0
MP/MC
Figure 5. TMS320LC56 Memory Map
External
FFFF
26
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320C5x, TMS320LC5x
DIGITAL SIGNAL PROCESSORS
SPRS030A – APRIL 1995 – REVISED APRIL 1996
HexHex
0000
003F
0040
7FFF
8000
87FF
8800
8FFF
9000
97FF
9800
ProgramProgram
0000
Interrupts and Reservrd
(external)
003F
0040
External
7FFF
8000
On-Chip SARAM Blk0
(RAM = 1)
External (RAM = 0)
87FF
8800
On-Chip SARAM Blk1
(RAM = 1)
External (RAM = 0)
8FFF
9000
On-Chip SARAM Blk2
(RAM = 1)
External (RAM = 0)
97FF
9800
External
Interrupts and Reserved
(on-chip)
On-Chip ROM
On-Chip SARAM Blk0
(RAM = 1)
External (RAM = 0)
On-Chip SARAM Blk1
(RAM = 1)
External (RAM = 0)
On-Chip SARAM Blk2
(RAM = 1)
External (RAM = 0)
External
Hex
0000
005F
0060
007F
0080
00FF
0100
02FF
0300
04FF
0500
0501
07FF
0800
0FFF
1000
17FF
1800
1FFF
2000
Data
Memory-Mapped
Registers
On-Chip DARAM B2
Reserved
On-Chip DARAM (CNF = 0)
Reserved (CNF = 1)
On-Chip DARAM B1
HPI Control Register
Reserved
On-Chip SARAM Blk0
BSP Block (OVLY = 1)
External (OVLY = 0)
On-Chip SARAM Blk1
HPI Block (OVLY = 1)
External (OVLY = 0)
On-Chip SARAM Blk2
(OVLY = 1)
External (OVLY = 0)
FDFF
FE00
FFFF
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
MP/MC = 1
FDFF
FE00
FFFF
On-Chip DARAM B0
(CNF = 1)
External (CNF = 0)
= 0
MP/MC
Figure 6. TMS320LC57 Memory Map
External
FFFF
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
27
Loading...
+ 60 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.