Data/Program RAM
– 544 Words of Dual-Access (DARAM)
– 2K Words of Single-Access (SARAM)
DBoot ROM (’LF240x Devices)
– SCI/SPI Flash Bootloader
DTwo Event-Manager (EV) Modules (A and B)
EVA and EVB Each Include:
– Two 16-Bit General-Purpose Timers
– Eight 16-Bit Pulse-Width Modulation
(PWM) Channels Which Enable:
– Three-Phase Inverter Control
– Centered or Edge Alignment of PWM
Channels
– Emergency PWM Channel Shutdown
With External PDPINT
– Programmable Deadband Prevents
Shoot-Through Faults
– Three Capture Units For Time-Stamping
of External Events
– On-Chip Position Encoder Interface
Circuitry
– Synchronized Analog-to-Digital
Conversion
– Suitable for AC Induction, BLDC,
Switched Reluctance, and Stepper Motor
Control
– Applicable for Multiple Motor and/or
Converter Control
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.
– Three Power-Down Modes
– Ability to Power-Down Each Peripheral
Independently
DReal-Time JTAG-Compliant Scan-Based
Emulation, IEEE Standard 1149.1
‡
(JTAG)
DDevelopment Tools Include:
– Texas Instruments (TI) ANSI
C Compiler, Assembler/Linker, and
Code Composer Debugger
– Evaluation Modules
– Scan-Based Self-Emulation (XDS510)
– Numerous Third-Party Digital Motor
Control Support
DPackage Options
– 144-Pin Thin Quad Flatpack (TQFP) PGE
(’LF2407)
– 100-Pin TQFP PZ (’LC2404, ’LC2406,
’LF2406)
– 64-Pin PQFP PG (’LC2402 and ’LF2402)
DExtended Temperature Options (A and S)
– A: – 40°C to 85°C
– S: – 40°C to 125°C
TI, Code Composer, and XDS510 are trademarks of Texas Instruments Incorporated.
†
Throughout this data sheet, ’240x is used as a generic name for the ’LF240x/’LC240x family of devices.
‡
IEEE Standard 1149.1–1990, IEEE Standard Test-Access Port
ADVANCE INFORMATION concerns new products in the sampling or
preproduction phase of development. Characteristic data and other
specifications are subject to change without notice.
The TMS320LF240x and TMS320LC240x devices, new members of the ’24x family of digital signal processor
(DSP) controllers, are part of the C2000 platform of fixed-point DSPs. The ’240x devices offer the enhanced
TMS320 architectural design of the ’C2xx core CPU for low-cost, low-power, high-performance processing
capabilities. Several advanced peripherals, optimized for digital motor and motion control applications, have
been integrated to provide a true single chip DSP controller. While code-compatible with the existing ’24x DSP
controller devices, the ’240x offers increased processing performance (30 MIPS) and a higher level of peripheral
integration. See the TMS320x240x device summary section for device-specific features.
The ’240x family offers an array of memory sizes and different peripherals tailored to meet the specific
price/performance points required by various applications. Flash-based devices of up to 32K words offer a
reprogrammable solution useful for:
–Applications requiring field programmability upgrades
–Development and initial prototyping of applications that migrate to ROM-based devices
Flash devices and corresponding ROM devices are fully pin-to-pin compatible. Note that flash-based devices
contain a 256-word boot ROM to facilitate in-circuit programming.
All ’240x devices offer at least one event manager module which has been optimized for digital motor control
and power conversion applications. Capabilities of this module include centered- and/or edge-aligned PWM
generation, programmable deadband to prevent shoot-through faults, and synchronized analog-to-digital
conversion. Devices with dual event managers enable multiple motor and/or converter control with a single
’240x DSP controller.
The high performance, 10-bit analog-to-digital converter (ADC) has a minimum conversion time of 500 ns and
offers up to 16 channels of analog input. The auto sequencing capability of the ADC allows a maximum of
16 conversions to take place in a single conversion session without any CPU overhead.
A serial communications interface (SCI) is integrated on all devices to provide asynchronous communication
to other devices in the system. For systems requiring additional communication interfaces; the ’2407, ’2406,
and ’2404 offer a 16-bit synchronous serial peripheral interface (SPI). The ’2407 and ’2406 offer a controller area
network (CAN) communications module that meets 2.0B specifications. To maximize device flexibility,
functional pins are also configurable as general purpose inputs/outputs (GPIO).
To streamline development time, JTAG-compliant scan-based emulation has been integrated into all devices.
This provides non-intrusive real-time capabilities required to debug digital control systems. A complete suite
of code generation tools from C compilers to the industry-standard Code Composer debugger supports this
family. Numerous third party developers not only offer device-level development tools, but also system-level
design and development support.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
TMS320x240x device summary
Note that throughout this data sheet, ’240x is used as a generic name for the ’LF240x/’LC240x family of devices.
(4 sectors: 4K, 12K, 12K, 4K)
On-chip ROM (16-bit word)———32K16K4K
Boot ROM (16-bit word)256256256———
External Memory InterfaceYes—————
Event Managers A and B
Indicates optional modules
The memory size and peripheral selection of these modules change for different ’240x devices. See
Table 1 for device-specific details.
The TMS320LF2407 device is the superset of all the ’240x devices. All signals are available on the ’2407 device.
Table 2 lists the key signals available in the ’240x family of devices.
Counting direction for general-purpose (GP) timer (EVA) or
GPIO. If TDIRA=1, upward counting is selected. If TDIRA=0,
downward counting is selected. (↑)
External clock input for GP timer (EVA) or GPIO. Note that timer
can also use the internal device clock. (↑)
Counting direction for general-purpose (GP) timer (EVB) or
GPIO. If TDIRB=1, upward counting is selected. If TDIRB=0,
downward counting is selected. (↑)
External clock input for GP timer (EVB) or GPIO. Note that timer
can also use the internal device clock. (↑)
IOPA5
IOPA6
IOPA7
IOPB0
IOPB1
IOPB2
IOPB3
IOPB6
IOPB7
IOPF1
IOPE1
IOPE2
IOPE3
IOPE4
IOPE5
IOPE6
IOPF4
IOPF5
IOPA3
IOPA4
IOPB4
IOPB5
IOPE7
IOPF0
IOPF2
IOPF3
8357574
7955553
7552522Capture input #3 (EVA) or GPIO (↑)
56393959
54373758
52363657
47333354
44313153
40282850Compare/PWM output pin #6 (EVA) or GPIO (↑)
16121240Timer 1 compare output (EVA) or GPIO (↑)
18131341Timer 2 compare output (EVA) or GPIO (↑)
141111
37262649
EVENT MANAGER B (EVB)
886060
815656
694848Capture input #6 (EVB) or GPIO (↑)
654545Compare/PWM output pin #7 (EVB) or GPIO (↑)
624343Compare/PWM output pin #8 (EVB) or GPIO (↑)
594141Compare/PWM output pin #9 (EVB) or GPIO (↑)
553838Compare/PWM output pin #10 (EVB) or GPIO (↑)
463232Compare/PWM output pin #11 (EVB) or GPIO (↑)
382727Compare/PWM output pin #12 (EVB) or GPIO (↑)
877Timer 3 compare output (EVB) or GPIO (↑)
655Timer 4 compare output (EVB) or GPIO (↑)
222
1268989
indicate pin function after reset.
†‡
8
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
pin functions (continued)
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
ANALOG-TO-DIGITAL CONVERTER (ADC)
ADCIN00112797918Analog input #0 to the ADC
ADCIN01110777717Analog input #1 to the ADC
ADCIN02107747416Analog input #2 to the ADC
ADCIN03105727215Analog input #3 to the ADC
ADCIN04103707014Analog input #4 to the ADC
ADCIN05102696913Analog input #5 to the ADC
ADCIN06100676712Analog input #6 to the ADC
ADCIN0799666611Analog input #7 to the ADC
ADCIN081138080Analog input #8 to the ADC
ADCIN091117878Analog input #9 to the ADC
ADCIN101097676Analog input #10 to the ADC
ADCIN111087575Analog input #11 to the ADC
ADCIN121067373Analog input #12 to the ADC
ADCIN131047171Analog input #13 to the ADC
ADCIN141016868Analog input #14 to the ADC
ADCIN15986565Analog input #15 to the ADC
V
REFHI
V
REFLO
V
CCA
V
SSA
CONTROLLER AREA NETWORK (CAN), SERIAL COMMUNICATIONS INTERFACE (SCI), SERIAL PERIPHERAL INTERFACE (SPI)
CANRX/
CANTX/
SCITXD/
SCIRXD/
SPICLK/
SPISIMO/
SPISOMI/
SPISTE/
†
‡
IOPC7
IOPC6
IOPA0
IOPA1
IOPC4
IOPC2
IOPC3
IOPC5
Bold, italicized pin names
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
EXTERNAL INTERRUPTS, CLOCK
Device reset. RS causes the ’240x to terminate
execution and sets PC = 0. When RS
high level, execution begins at location zero of
program memory. RS
registers and status bits. When the watchdog timer
overflows, it initiates a system reset pulse that is
reflected on the RS
Power drive protection interrupt input. This interrupt,
when activated, puts the PWM output pins (EVA) in the
high-impedance state should motor drive/power
converter abnormalities, such as overvoltage or
overcurrent, etc., arise. PDPINTA
falling-edge-sensitive interrupt. (↑)
External user interrupt 1 or GPIO. Both XINT1 and
IOPA2
IOPD0
/IOPE07351511
CCA
BOOT_EN12186–23
XF121868623
indicate pin function after reset.
231616
21151542
OSCILLATOR, PLL, FLASH, BOOT, AND MISCELLANEOUS
12101039PLL supply (3.3 V)
XINT2 are edge-sensitive. The edge polarity is
programmable. (↑)
External user interrupt 2 and ADC start of conversion
or GPIO. External “start-of-conversion” input for
ADC/GPIO. Both XINT1 and XINT2 are
edge-sensitive. The edge polarity is
programmable. (↑)
Clock output or GPIO. This pin outputs either the CPU
clock (CLKOUT) or the watchdog clock (WDCLK). The
selection is made by the CLKSRC bit (bit 14) of the
System Control and Status Register (SCSR). This pin
can be used as a GPIO if not used as a clock output
pin. (↑)
Power drive protection interrupt input. This interrupt,
when activated, puts the PWM output pins (EVB) in
the high-impedance state should motor drive/power
converter abnormalities, such as overvoltage or
overcurrent, etc., arise. PDPINT
falling-edge-sensitive interrupt. (↑)
PLL oscillator input pin. Crystal input to PLL/clock
source input to PLL. XTAL1/CLKIN is tied to one side
of a reference crystal.
Crystal output. PLL oscillator output pin. XTAL2 is tied
to one side of a reference crystal. This pin goes in the
high-impedance state when EMU1/OFF
Boot ROM enable, GPO, XF. This pin will be sampled
as input (BOOT_EN
bit) during reset and then driven as an output signal for
XF. ROM devices do not have boot ROM, hence, no
BOOT_EN modes. (↑)
is brought to a
affects (or sets to zero) various
pin. (↑)
is a
is a
is active low.
) to update SCSR2.3 (BOOT_EN
10
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
pin functions (continued)
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
OSCILLATOR, PLL, FLASH, BOOT, AND MISCELLANEOUS (CONTINUED)
Flash programming voltage pin. This is the 5-V supply used for
flash programming. Flash cannot be programmed if this pin is
TCK135949429JTAG test clock with internal pullup (↑)
TDI139969630
TDO142999931
TMS14410010032
TMS236252548
TRST11133
†
Bold, italicized pin names
‡
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
§
Pin changes with respect to SPRS094B data sheet.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
indicate pin function after reset.
§
held at 0 V . Connect to 5-V supply for programming or tie it to
GND during functional mode.
§
Flash array test pin.
§
Flash array test pin
Branch control input. BIO is polled by the BCND pma,BIO
instruction. If BIO
used, it should be pulled high. This pin is configured as a branch
control input by all device resets. It can be used as a GPIO, if
not used as a branch control input. (↑)
Emulator I/O #0 with internal pullup. When TRST is driven high,
this pin is used as an interrupt to or from the emulator system
and is defined as input/output through the JTAG scan. (↑)
Emulator pin 1. Emulator pin 1 disables all outputs. When TRST
is driven high, EMU1/OFF is used as an interrupt to or from the
emulator system and is defined as an input/output through the
JTAG scan. When TRST
OFF
. EMU1/OFF, when active low, puts all output drivers in the
high-impedance state. Note that OFF
testing and emulation purposes (not for multiprocessing
applications). Therefore, for the OFF
apply:
= 0
TRST
EMU0 = 1
EMU1/OFF
JTAG test data input (TDI) with internal pullup. TDI is clocked
into the selected register (instruction or data) on a rising edge of
TCK. (↑)
JTAG scan out, test data output (TDO). The contents of the
selected register (instruction or data) is shifted out of TDO on
the falling edge of TCK. (↓)
JTAG test-mode select (TMS) with internal pullup. This serial
control input is clocked into the TAP controller on the rising edge
of TCK. (↑)
JTAG test-mode select 2 (TMS) with internal pullup. This serial
control input is clocked into the TAP controller on the rising edge
of TCK. Used for test and emulation only. (↑)
JTAG test reset with internal pulldown. TRST, when driven high,
gives the scan system control of the operations of the device. If
this signal is not connected or driven low, the device operates in
its functional mode, and the test reset signals are ignored. (↓)
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
ADDRESS, DATA, AND MEMORY CONTROL SIGNALS
Data space strobe. IS, DS, and PS are always high
unless low-level asserted for access to the relevant
external memory space or I/O. They are placed in the
high-impedance state during reset, power down, and
when EMU1/OFF
I/O space strobe. IS, DS, and PS are always high
unless low-level asserted for access to the relevant
external memory space or I/O. They are placed in the
high-impedance state during reset, power down, and
when EMU1/OFF
Program space strobe. IS, DS, and PS are always
high unless low-level asserted for access to the
relevant external memory space or I/O. They are
placed in the high-impedance state during reset,
power down, and when EMU1/OFF
Read/write qualifier signal. R/W indicates transfer
direction during communication to an external device.
It is normally in read mode (high), unless low level is
asserted for performing a write operation. It is placed
in the high-impedance state when EMU1/OFF
active low and during power down.
Write/Read qualifier or GPIO. This is an inverted R/W
signal useful for zero-wait-state memory interface. It
is normally low, unless a memory write operation is
performed. See T able 13, Port C section, for resetnote regarding ’LF2406 and ’LF2402. (↑)
Read enable strobe. Read-select indicates an active,
external read cycle. RD
program, data, and I/O reads. RD
high-impedance state when EMU1/OFF
Write enable strobe. The falling edge of WE indicates
that the device is driving the external data bus
(D15–D0). WE
data, and I/O writes. WE
state when EMU1/OFF
External memory access strobe. STRB is always high
unless asserted low to indicate an external bus cycle.
is active for all off-chip accesses. It is placed in
STRB
the high-impedance state during power down, and
when EMU1/OFF
READY is pulled low to add wait states for external
accesses. READY indicates that an external device is
prepared for a bus transaction to be completed. If the
device is not ready, it pulls the READY pin low. The
processor waits one cycle and checks READY again.
Note that the processor performs READY-detection if
at least one software wait state is programmed. To
meet the external READY timings, the wait-state
generator control register (WSGR) should be
programmed for at least one wait state. (↑)
is active on all external program,
/ IOPC0
W/R
IOPC0191414
indicate pin function after reset.
19
is active low.
is active low.
is active low.
is
is active on all external
goes into the
is active low.
goes in the high-impedance
is active low.
is active low.
12
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
pin functions (continued)
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
ADDRESS, DATA, AND MEMORY CONTROL SIGNALS (CONTINUED)
Microprocessor/Microcomputer mode select. If this pin is low
during reset, the device is put in microcomputer mode and
program execution begins at 0000h of internal program memory
MP/MC118
ENA_144122
VIS_OE97
A080Bit 0 of the 16-bit address bus
A178Bit 1 of the 16-bit address bus
A274Bit 2 of the 16-bit address bus
A371Bit 3 of the 16-bit address bus
A468Bit 4 of the 16-bit address bus
A564Bit 5 of the 16-bit address bus
A661Bit 6 of the 16-bit address bus
A757Bit 7 of the 16-bit address bus
A853Bit 8 of the 16-bit address bus
A951Bit 9 of the 16-bit address bus
A1048Bit 10 of the 16-bit address bus
A1145Bit 11 of the 16-bit address bus
A1243Bit 12 of the 16-bit address bus
A1339Bit 13 of the 16-bit address bus
A1434Bit 14 of the 16-bit address bus
A1531Bit 15 of the 16-bit address bus
D0127Bit 0 of 16-bit data bus (↑)
D1130Bit 1 of 16-bit data bus (↑)
D2132Bit 2 of 16-bit data bus (↑)
D3134Bit 3 of 16-bit data bus (↑)
D4136Bit 4 of 16-bit data bus (↑)
D5138Bit 5 of 16-bit data bus (↑)
D6143Bit 6 of 16-bit data bus (↑)
D75Bit 7 of 16-bit data bus (↑)
D89Bit 8 of 16-bit data bus (↑)
†
Bold, italicized pin names
‡
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
indicate pin function after reset.
(flash EEPROM). A high value during reset puts the device in
microprocessor mode and program execution begins at 0000h of
external program memory. This line sets the MP/MC
the SCSR2 register). (↓)
Active high to enable external interface signals. If pulled low, the
’2407 behaves like the ’2406/’2404—i.e., it has no external
memory and generates an illegal address if any of the three
external spaces are accessed (IS
has an internal pulldown. (↓)
Visibility output enable (active when data bus is output). This pin
is active (low) whenever the external databus is driving as an
output during visibility mode. Can be used by external decode
logic to prevent data bus contention while running in visibility
mode.
DSP CONTROLLERS
bit (bit 2 in
and DS asserted). This pin
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
13
TMS320LF2407, TMS320LF2406, TMS320LF2402
V
SSO
I/O buffer ground. Digital logic and buffer ground reference.
D913Bit 9 of 16-bit data bus (↑)
D1015Bit 10 of 16-bit data bus (↑)
D1117Bit 11 of 16-bit data bus (↑)
D1220Bit 12 of 16-bit data bus (↑)
D1322Bit 13 of 16-bit data bus (↑)
D1424Bit 14 of 16-bit data bus (↑)
D1527Bit 15 of 16-bit data bus (↑)
V
DD
V
DDO
V
SS
V
SSO
†
Bold, italicized pin names
‡
GPIO – General-purpose input/output pin. All GPIOs come up as input after reset.
§
Pin changes with respect to SPRS094B data sheet.
LEGEND: ↑ – Internal pullup↓ – Internal pulldown
Table 2. ’LF240x and ’LC240x Pin List and Package Options†‡ (Continued)
PIN NAME’LF2407’2406’LC2404’2402DESCRIPTION
ADDRESS, DATA, AND MEMORY CONTROL SIGNALS (CONTINUED)
POWER SUPPLY
2920206
50353527
86595956
1299191
44410
42303035
67474752
775454
956464
1419898
2819195
49343426
85585855
1289090
3339
41292934
66464651
765353
946363
1259797
140
indicate pin function after reset.
Core supply +3.3 V . Digital logic supply voltage.
§
§
I/O buffer supply +3.3 V. Digital logic and buffer supply voltage.
Core ground. Digital logic ground reference.
§
§
I/O buffer ground. Digital logic and buffer ground reference.
On-Chip Flash Memory (Sectored) – if MP/MC = 0
External Program Memory – if MP/MC
NOTE A: Boot ROM: If the boot ROM is enabled, then address 0000–00FF in the program space will be occupied by boot ROM.
†
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
NOTE A: Boot ROM: If the boot ROM is enabled, then address 0000–00FF in the program space will be occupied by boot ROM.
†
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
16
On-Chip Flash Memory (Sectored)
Figure 2. TMS320LF2406 Memory Map
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
SARAM (See Table 1 for details.)
memory maps (continued) – ’LF2402
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
HexProgram
HexProgram
0000
003F
0040
0FFF
1000
1FFF
2000
7FFF
8000
87FF
8800
Interrupt Vectors
FLASH SECTOR 0 (4K)
FLASH SECTOR 1 (4K)
Reserved
Reserved
HexData
0000
005F
0060
007F
0080
01FF
0200
On-Chip DARAM (B0)‡ (CNF = 0)
02FF
0300
03FF
0400
07FF
0800
0FFF
1000
6FFF
7000
7FFF
8000
Memory-Mapped
Registers/Reserved Addresses
On-Chip DARAM B2
Reserved
Reserved (CNF = 1)
On-Chip DARAM (B1)
Reserved
Reserved
Reserved
Peripheral Memory-Mapped
Registers (System, WD, ADC,
SCI, I/O, Interrupts)
HexI/O
0000
§
Reserved
Reserved
FEFF
Reserved
FDFF
FDFF
FE00
FE00
Reserved† (CNF = 1)
Reserved† (CNF = 1)
External (CNF = 0)
FEFF
FEFF
FF00
FF00
FFFF
FFFF
NOTE A: Boot ROM: If the boot ROM is enabled, then address 0000–00FF in the program space will be occupied by boot ROM.
†
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
Reserved
Reserved† (CNF = 1)
External (CNF = 0)
On-Chip DARAM (B0)† (CNF = 1)
Reserved (CNF = 0)
On-Chip ROM memory
Reserved in the ’LC240x devices
Reserved
FFFF
Figure 4. TMS320LC2406 Memory Map
FEFF
FF00
FF0E
FF0F
FF10
FFFE
FFFF
SARAM (See Table 1 for details.)
Reserved
Reserved
Reserved
Reserved
18
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
memory maps (continued) – ’LC2404
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
Hex
0000
003F
0040
3FFF
4000
7FFF
8000
83FF
8400
Program
Interrupt Vectors
On-Chip ROM
16K
Reserved
SARAM (1K) (PON = 1)
Internal
Reserved (PON = 0)
Reserved
HexData
0000
005F
0060
007F
0080
01FF
0200
On-Chip DARAM (B0)‡ (CNF = 0)
02FF
0300
03FF
0400
07FF
0800
0BFF
0C00
6FFF
7000
7FFF
8000
Memory-Mapped
Registers/Reserved Addresses
On-Chip DARAM B2
Reserved
Reserved (CNF = 1)
On-Chip DARAM (B1)
Reserved
SARAM (1K) (DON = 1)
Internal
Reserved (DON = 0)
Reserved
Peripheral Memory-Mapped
Registers (System, WD, ADC,
SCI, SPI, I/O, Interrupts)
HexI/O
0000
§
Reserved
FEFF
Reserved
FDFF
FE00
Reserved† (CNF = 1)
FEFF
FF00
FFFF
†
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
When CNF = 1, addresses FE00h–FEFFh and FF00h–FFFFh are mapped to the same physical block (B0) in program-memory space. For
example, a write to FE00h has the same effect as a write to FF00h. For simplicity, addresses FE00h–FEFFh are referred to as reserved when
CNF = 1.
‡
When CNF = 0, addresses 0100h–01FFh and 0200h–02FFh are mapped to the same physical block (B0) in data-memory space. For example,
a write to 0100h has the same effect as a write to 0200h. For simplicity , addresses 0100h–01FFh are referred to as reserved.
§
Addresses 0300h–03FFh and 0400h–04FFh are mapped to the same physical block (B1) in data-memory space. For example, a write to 0400h
has the same effect as a write to 0300h. For simplicity , addresses 0400h–04FFh are referred to as reserved.
Reserved† (CNF = 1)
External (CNF = 0)
On-Chip DARAM (B0)† (CNF = 1)
Reserved (CNF = 0)
On-Chip ROM memory
Reserved in the ’LC240x devices
Reserved
FFFF
Figure 6. TMS320LC2402 Memory Map
FEFF
FF00
FF0E
FF0F
FF10
FFFE
FFFF
Reserved
Reserved
Reserved
Reserved
20
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LC2406, TMS320LC2404, TMS320LC2402
ADVANCE
INFORMATION
peripheral memory map of the ’LF240x/’LC240x
TMS320LF2407, TMS320LF2406, TMS320LF2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
Hex
Reserved
Interrupt-Mask Register
Global-Memory Allocation
Register (Reserved)
Interrupt Flag Register
Emulation Registers
and Reserved
0000
0003
0004
0005
0006
0007
005F
Hex
0000
005F
0060
007F
0080
01FF
0200
02FF
0300
03FF
0400
07FF
0800
6FFF
7000
73FF
7400
743F
7440
74FF
7500
753F
7540
7FFF
8000
FFFF
Illegal
Reserved
Memory-Mapped Registers
and Reserved
On-Chip DARAM B2
Reserved
On-Chip DARAM B0
On-Chip DARAM B1
Reserved
Illegal
Peripheral Frame 1 (PF1)
Peripheral Frame 2 (PF2)
Illegal
Peripheral Frame 3 (PF3)
Illegal
External
“Illegal” indicates that access to
these addresses causes a
nonmaskable interrupt (NMI).
“Reserved” indicates addresses that
are reserved for test and future expansion.
The TMS320x240x software-programmable interrupt structure supports flexible on-chip and external interrupt
configurations to meet real-time interrupt-driven application requirements. The ’LF240x recognizes three types
of interrupt sources.
DReset (hardware- or software-initiated) is unarbitrated by the CPU and takes immediate priority over any
other executing functions. All maskable interrupts are disabled until the reset service routine enables them.
The ’LF240x devices have two sources of reset: an external reset pin and a watchdog timer timeout (reset).
DHardware-generated interrupts are requested by external pins or by on-chip peripherals. There are two
types:
–
External interrupts
XINT2, PDPINT A, and PDPINTB. These four can be masked both by dedicated enable bits and by t he
CPU’s interrupt mask register (IMR), which can mask each maskable interrupt line at the DSP core.
–
Peripheral interrupts
event manager B, SPI, SCI, WD, CAN, and ADC. They can be masked both by enable bits for each
event in each peripheral and by the CPU’s IMR, which can mask each maskable interrupt line at the DSP
core.
are generated by one of four external pins corresponding to the interrupts XINT1,
are initiated internally by these on-chip peripheral modules: event manager A,
DSoftware-generated interrupts for the ’LF240x devices include:
–
The INTR instruction.
operand indicates the interrupt vector location to which the CPU branches. This instruction globally
disables maskable interrupts (sets the INTM bit to 1).
–
The NMI instruction.
globally disables maskable interrupts. ’240x devices do not have the NMI hardware signal, only
software activation is provided.
–
The TRAP instruction.
TRAP instruction does
branches to the interrupt service routine, that routine can be interrupted by the maskable hardware
interrupts.
–
An emulator trap.
Six core interrupts (INT1–INT6) are expanded using a peripheral interrupt expansion (PIE) module identical to
the ’F24x devices. The PIE manages all the peripheral interrupts from the ’240x peripherals and are grouped to
share the six-core level interrupts. Figure 7 shows the PIE block diagram for hardware-generated interrupts.
The PIE diagram (Figure 7) and the interrupt table (Table 3) explain the grouping and interrupt vector maps.
’LF240x devices have interrupts identical to the ’F24x devices and should be completely code-compatible.
’240x devices also have peripheral interrupts identical to the ’F24x – plus additional interrupts for new
peripherals such as event manager B. Though the new interrupts share the ’24x interrupt grouping, they all have
a unique vector to differentiate among the interrupts. See Table 3 for details.
This instruction allows initialization of any ’LF240x interrupt with software. Its
This instruction forces a branch to interrupt vector location 24h. This instruction
This instruction forces the CPU to branch to interrupt vector location 22h. The
not
disable maskable interrupts (INTM is not set to 1); therefore, when the CPU
This interrupt can be generated with either an INTR instruction or a TRAP instruction.
22
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
PDPINTB
XINT2
XINT2
PDPINTA
ADCINT
XINT1
SPIINT
RXINT
TXINT
CANMBINT
CANERINT
CMP1INT
CMP2INT
CMP3INT
CMP4INT
CMP5INT
CMP6INT
T1PINT
T1CINT
T1UFINT
T1OFINT
T3PINT
T3CINT
T3UFINT
T3OFINT
T2PINT
T2CINT
T2UFINT
T2OFINT
T4PINT
T4CINT
T4UFINT
T4OFINT
CAP1INT
CAP2INT
CAP3INT
CAP4INT
CAP5INT
CAP6INT
SPIINT
RXINT
TXINT
CANMBINT
CANERINT
ADCINT
XINT1
Level 1
IRQ GEN
Level 2
IRQ GEN
Level 3
IRQ GEN
Level 4
IRQ GEN
Level 5
IRQ GEN
Level 6
IRQ GEN
PIVR & Logic
PIRQR#
PIACK#
PIE
IMR
IFR
INT1
INT2
CPU
INT3
INT4
INT5
INT6
IACK
Addr
Data
Bus
Bus
Indicates change with respect to the TMS320F243/F241/C242 data sheets.
Interrupts from external interrupt pins. The remaining interrupts are internal to the peripherals.
The TMS320x240x devices use an advanced Harvard-type architecture that maximizes processing power by
maintaining two separate memory bus structures — program and data — for full-speed execution. This multiple
bus structure allows data and instructions to be read simultaneously. Instructions support data transfers
between program memory and data memory . This architecture permits coefficients that are stored in program
memory to be read in RAM, thereby eliminating the need for a separate coefficient ROM. This, coupled with a
four-deep pipeline, allows the ’LF240x/’LC240x devices to execute most instructions in a single cycle. See the
architectural block diagram of the ’24x DSP Core for more information.
TMS320x240x instruction set
The ’x240x microprocessor implements a comprehensive instruction set that supports both numeric-intensive
signal-processing operations and general-purpose applications, such as multiprocessing and high-speed
control. Source code for the ’C1x and ’C2x DSPs is upwardly compatible with the ’x243/’x241 and ’240x devices.
For maximum throughput, the next instruction is prefetched while the current one is being executed. Because
the same data lines are used to communicate to external data, program, or I/O space, the number of cycles an
instruction requires to execute varies, depending upon whether the next data operand fetch is from internal or
external memory . Highest throughput is achieved by maintaining data memory on chip and using either internal
or fast external program memory.
addressing modes
scan-based emulation
The TMS320x240x instruction set provides four basic memory-addressing modes: direct, indirect, immediate,
and register.
In direct addressing, the instruction word contains the lower seven bits of the data memory address. This field
is concatenated with the nine bits of the data memory page pointer (DP) to form the 16-bit data memory address.
Therefore, in the direct-addressing mode, data memory is paged effectively with a total of 512 pages, with each
page containing 128 words.
Indirect addressing accesses data memory through the auxiliary registers. In this addressing mode, the address
of the instruction operand is contained in the currently selected auxiliary register. Eight auxiliary registers
(AR0–AR7) provide flexible and powerful indirect addressing. T o select a specific auxiliary register , the auxiliary
register pointer (ARP) is loaded with a value from 0 to 7 for AR0 through AR7, respectively.
TMS320x2xx devices incorporate scan-based emulation logic for code-development and hardwaredevelopment support. Scan-based emulation allows the emulator to control the processor in the system without
the use of intrusive cables to the full pinout of the device. The scan-based emulator communicates with the ’x2xx
by way of the IEEE 1149.1-compatible (JTAG) interface. The ’x240x DSPs, like the TMS320F243/241,
TMS320F206, TMS320C203, and TMS320LC203, do not include boundary scan. The scan chain of these
devices is useful for emulation function only.
IFR
INT#Interrupt TrapsA total of 32 interrupts by way of hardware and/or software are available.
ISCALE
MPYMultiplier
MSTACKMicro Stack
MUXMultiplexerMultiplexes buses to a common input
NPAR
OSCALE
PAR
PCProgram Counter
PCTRL
Auxiliary Register
Arithmetic Unit
Auxiliary Registers
0–7
Central Arithmetic
Logic Unit
Data Memory
Page Pointer
Global Memory
Allocation
Register
Interrupt Mask
Register
Interrupt Flag
Register
Input Data-Scaling
Shifter
Next Program
Address Register
Output
Data-Scaling
Shifter
Program Address
Register
Program
Controller
Table 4. Legend for the ’240x DSP CPU Internal Hardware
32-bit register that stores the results and provides input for subsequent CALU operations. Also includes shift
and rotate capabilities
An unsigned, 16-bit arithmetic unit used to calculate indirect addresses using the auxiliary registers as inputs
and outputs
These 16-bit registers are used as pointers to anywhere within the data space address range. They are
operated upon by the ARAU and are selected by the auxiliary register pointer (ARP). AR0 can also be used
as an index value for AR updates of more than one and as a compare value to AR.
Register carry output from CALU. C is fed back into the CALU for extended arithmetic operation. The C bit
resides in status register 1 (ST1), and can be tested in conditional instructions. C is also used in accumulator
shifts and rotates.
32-bit-wide main arithmetic logic unit for the TMS320C2xx core. The CALU executes 32-bit operations in a
single machine cycle. CALU operates on data coming from ISCALE or PSCALE with data from ACC, and
provides status results to PCTRL.
If the on-chip RAM configuration control bit (CNF) is set to 0, the reconfigurable data dual-access RAM
(DARAM) block B0 is mapped to data space; otherwise, B0 is mapped to program space. Blocks B1 and B2
are mapped to data memory space only, at addresses 0300–03FF and 0060–007F, respectively. Blocks 0
and 1 contain 256 words, while block 2 contains 32 words.
The 9-bit DP register is concatenated with the seven least significant bits (LSBs) of an instruction word to
form a direct memory address of 16 bits. DP can be modified by the LST and LDP instructions.
GREG specifies the size of the global data memory space. Since the global memory space is not used in
the ’240x devices, this register is reserved.
IMR individually masks or enables the seven interrupts.
The 7-bit IFR indicates that the TMS320C2xx has latched an interrupt from one of the seven maskable
interrupts.
16- to 32-bit barrel left-shifter. ISCALE shifts incoming 16-bit data 0 to16 positions left, relative to the 32-bit
output within the fetch cycle; therefore, no cycle overhead is required for input scaling operations.
16 × 16-bit multiplier to a 32-bit product. MPY executes multiplication in a single cycle. MPY operates either
signed or unsigned 2s-complement arithmetic multiply.
MSTACK provides temporary storage for the address of the next instruction to be fetched when program
address-generation logic is used to generate sequential addresses in data space.
NPAR holds the program address to be driven out on the PAB in the next cycle.
16- to 32-bit barrel left-shifter. OSCALE shifts the 32-bit accumulator output 0 to 7 bits left for quantization
management and outputs either the 16-bit high- or low-half of the shifted 32-bit data to the data-write data
bus (DWEB).
PAR holds the address currently being driven on P AB for as many cycles as it takes to complete all memory
operations scheduled for the current bus cycle.
PC increments the value from NPAR to provide sequential addresses for instruction-fetching and sequential
data-transfer operations.
PCTRL decodes instruction, manages the pipeline, stores status, and decodes conditional operations.
28
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
’240x legend for the internal hardware (continued)
Table 4. Legend for the ’240x DSP CPU Internal Hardware (Continued)
SYMBOLNAMEDESCRIPTION
PREGProduct Register32-bit register holds results of 16 × 16 multiply
0-, 1-, or 4-bit left shift, or 6-bit right shift of multiplier product. The left-shift options are used to manage the
PSCALE
STACKStack
TREG
Product-Scaling
Shifter
Temporary
Register
status and control registers
Two status registers, ST0 and ST1, contain the status of various conditions and modes. These registers can
be stored into data memory and loaded from data memory , thus allowing the status of the machine to be saved
and restored for subroutines.
The load status register (LST) instruction is used to write to ST0 and ST1. The store status register (SST)
instruction is used to read from ST0 and ST1 — except for the INTM bit, which is not affected by the LST
instruction. The individual bits of these registers can be set or cleared when using the SETC and CLRC
instructions. Figure 8 shows the organization of status registers ST0 and ST1, indicating all status bits contained
in each. Several bits in the status registers are reserved and are read as logic 1s. Table 5 lists status register
field definitions.
additional sign bits resulting from the 2s-complement multiply. The right-shift option is used to scale down
the number to manage overflow of product accumulation in the CALU. PSCALE resides in the path from the
32-bit product shifter and from either the CALU or the data-write data bus (DWEB), and requires no cycle
overhead.
STACK is a block of memory used for storing return addresses for subroutines and interrupt-service
routines, or for storing data. The ’C2xx stack is 16-bit wide and eight-level deep.
16-bit register holds one of the operands for the multiply operations. TREG holds the dynamic shift count
for the LACT, ADDT, and SUBT instructions. TREG holds the dynamic bit position for the BITT instruction.
1513121110980
ST0
15131211109876543210
ST1
ARPOVOVM1INTMDP
ARBCNFTCSXMC1111XF11PM
Figure 8. Organization of Status Registers ST0 and ST1
Table 5. Status Register Field Definitions
FIELDFUNCTION
ARB
ARP
C
CNF
Auxiliary register pointer buffer . When the ARP is loaded into ST0, the old ARP value is copied to the ARB except during an LST
instruction. When the ARB is loaded by way of an LST #1 instruction, the same value is also copied to the ARP.
Auxiliary register (AR) pointer. ARP selects the AR to be used in indirect addressing. When the ARP is loaded, the old ARP value
is copied to the ARB register. ARP can be modified by memory-reference instructions when using indirect addressing, and by the
LARP, MAR, and LST instructions. The ARP is also loaded with the same value as ARB when an LST #1 instruction is executed.
Carry bit. C is set to 1 if the result of an addition generates a carry, or reset to 0 if the result of a subtraction generates a borrow.
Otherwise, C is reset after an addition or set after a subtraction, except if the instruction is ADD or SUB with a 16-bit shift. In these
cases, ADD can only set and SUB can only reset the carry bit, but cannot affect it otherwise. The single-bit shift and rotate
instructions also affect C, as well as the SETC, CLRC, and LST #1 instructions. Branch instructions have been provided to branch
on the status of C. C is set to 1 on a reset.
On-chip RAM configuration control bit. If CNF is set to 0, the reconfigurable data dual-access RAM blocks are mapped to data
space; otherwise, they are mapped to program space. The CNF can be modified by the SETC CNF, CLRC CNF, and LST #1
instructions. RS
Table 5. Status Register Field Definitions (Continued)
FIELDFUNCTION
DP
INTM
OV
OVM
PM
SXM
TC
XF
Data memory page pointer. The 9-bit DP register is concatenated with the seven LSBs of an instruction word to form a direct
memory address of 16 bits. DP can be modified by the LST and LDP instructions.
Interrupt mode bit. When INTM is set to 0, all unmasked interrupts are enabled. When set to 1, all maskable interrupts are disabled.
INTM is set and reset by the SETC INTM and CLRC INTM instructions. RS
and NMI interrupts. Note that INTM is unaffected by the LST instruction. This bit is set to 1 by reset. It is also set to 1 when
RS
a maskable interrupt trap is taken.
Overflow flag bit. As a latched overflow signal, OV is set to 1 when overflow occurs in the arithmetic logic unit (ALU). Once an
overflow occurs, the OV remains set until a reset, BCND/D on OV/NOV, or LST instruction clears OV .
Overflow mode bit. When OVM is set to 0, overflowed results overflow normally in the accumulator. When set to 1, the accumulator
is set to either its most positive or negative value upon encountering an overflow. The SETC and CLRC instructions set and reset
this bit, respectively. LST can also be used to modify the OVM.
Product shift mode. If these two bits are 00, the multiplier’s 32-bit product is loaded into the ALU with no shift. If PM = 01, the PREG
output is left-shifted one place and loaded into the ALU, with the LSB zero-filled. If PM = 10, the PREG output is left-shifted by four
bits and loaded into the ALU, with the LSBs zero-filled. PM = 11 produces a right shift of six bits, sign-extended. Note that the PREG
contents remain unchanged. The shift takes place when transferring the contents of the PREG to the ALU. PM is loaded by the
SPM and LST #1 instructions. PM is cleared by RS
Sign-extension mode bit. SXM = 1 produces sign extension on data as it is passed into the accumulator through the scaling shifter.
SXM = 0 suppresses sign extension. SXM does not affect the definitions of certain instructions; for example, the ADDS instruction
suppresses sign extension regardless of SXM. SXM is set by the SETC SXM instruction and reset by the CLRC SXM instruction
and can be loaded by the LST #1 instruction. SXM is set to 1 by reset.
T est/control flag bit. TC is affected by the BIT, BITT , CMPR, LST #1, and NORM instructions. TC is set to a 1 if a bit tested by BIT
or BITT is a 1, if a compare condition tested by CMPR exists between AR (ARP) and AR0, if the exclusive-OR function of the two
most significant bits (MSBs) of the accumulator is true when tested by a NORM instruction. The conditional branch, call, and return
instructions can execute based on the condition of TC.
XF pin status bit. XF indicates the state of the XF pin, a general-purpose output pin. XF is set by the SETC XF instruction and reset
by the CLRC XF instruction. XF is set to 1 by reset.
also sets INTM. INTM has no effect on the unmaskable
.
central processing unit
input scaling shifter
The TMS320x240x central processing unit (CPU) contains a 16-bit scaling shifter, a 16 x 16-bit parallel
multiplier, a 32-bit central arithmetic logic unit (CALU), a 32-bit accumulator, and additional shifters at the
outputs of both the accumulator and the multiplier. This section describes the CPU components and their
functions. The functional block diagram shows the components of the CPU.
The TMS320x240x provides a scaling shifter with a 16-bit input connected to the data bus and a 32-bit output
connected to the CALU. This shifter operates as part of the path of data coming from program or data space
to the CALU and requires no cycle overhead. It is used to align the 16-bit data coming from memory to the 32-bit
CALU. This is necessary for scaling arithmetic as well as aligning masks for logical operations.
The scaling shifter produces a left shift of 0 to 16 on the input data. The LSBs of the output are filled with zeros;
the MSBs can either be filled with zeros or sign-extended, depending upon the value of the SXM bit
(sign-extension mode) of status register ST1. The shift count is specified by a constant embedded in the
instruction word or by a value in TREG. The shift count in the instruction allows for specific scaling or alignment
operations specific to that point in the code. The TREG base shift allows the scaling factor to be adaptable to
the system’s performance.
30
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
Loading...
+ 76 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.