Contents
xiii
Contents
1
Introduction
1-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A general description of the TMS320C30, TMS320C31, and TMS320C32, their key features,
and typical applications.
1.1
TMS320C3x Devices
1-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
TMS320C3x Key Specifications
1-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2
TMS320C30
1-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3
TMS320C31 and TMS320LC31
1-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.4
TMS320C32
1-4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Typical Applications
1-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Architectural Overview
2-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional block diagram, ’C3x design description, hardware components, device operation,
and instruction set summary.
2.1
Overview
2-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Central Processing Unit (CPU)
2-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1
Floating-Point/Integer Multiplier
2-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
Arithmetic Logic Unit (ALU) and Internal Buses
2-8
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3
Auxiliary Register Arithmetic Units (ARAUs)
2-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
CPU Primary Register File
2-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Other Registers
2-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
Memory Organization
2-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1
RAM, ROM, and Cache
2-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2
Memory Addressing Modes
2-17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
Internal Bus Operation
2-18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7
External Memory Interface
2-19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.1
TMS320C32 16- and 32-Bit Program Memory
2-19
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.2
TMS320C32 8-, 16-, and 32-Bit Data Memory
2-20
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.8
Interrupts
2-21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9
Peripherals
2-22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9.1
Timers
2-23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9.2
Serial Ports
2-23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10
Direct Memory Access (DMA)
2-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.11
TMS320C30, TMS320C31, and TMS320C32 Differences
2-26
. . . . . . . . . . . . . . . . . . . . . . .