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
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
multiplier
The TMS320x240x devices use a 16 x 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. 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, as follow:
D16-bit temporary register (TREG) that holds one of the operands for the multiplier
D32-bit product register (PREG) that holds the product
Four product-shift modes (PM) are available at the PREG output (PSCALE). 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, as shown in Table 6.
Table 6. PSCALE Product-Shift Modes
PMSHIFTDESCRIPTION
00No shiftProduct feed to CALU or data bus with no shift
01Left 1Removes the extra sign bit generated in a 2s-complement multiply to produce a Q31 product
10Left 4
11Right 6Scales the product to allow up to 128 product accumulation without the possibility of accumulator overflow
Removes the extra 4 sign bits generated in a 16x13 2s-complement multiply to a produce a Q31 product when
using the multiply-by-a-13-bit constant
The product can be shifted one bit to compensate for the extra sign bit gained in multiplying two 16-bit
2s-complement numbers (MPY instruction). A four-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 be right-shifted 6 bits to enable the execution of up to
128 consecutive multiply/accumulates without the possibility of overflow.
The L T (load TREG) instruction normally loads TREG to provide one operand (from the data bus), and the MPY
(multiply) instruction provides the second operand (also from the data bus). A multiplication also can be
performed with a 13-bit immediate operand when using the MPY instruction. Then, a product is obtained every
two cycles. When the code is executing multiple multiplies and product sums, the CPU supports the pipelining
of the TREG load operations with CALU operations using the previous product. The pipeline operations that
run in parallel with loading the TREG include: load ACC with PREG (L TP); add PREG to ACC (L TA); add PREG
to ACC and shift TREG input data (DMOV) to next address in data memory (L TD); and subtract PREG from ACC
(L TS).
Two multiply/accumulate instructions (MAC and MACD) fully utilize the computational bandwidth of the
multiplier, allowing both operands to be processed simultaneously. The data for these operations can be
transferred to the multiplier each cycle by way of the program and data buses. This facilitates single-cycle
multiply/accumulates when used with the repeat (RPT) instruction. In these instructions, the coefficient
addresses are generated by program address generation (PAGEN) logic, while the data addresses are
generated by data address generation (DAGEN) logic. This allows the repeated instruction to access the values
from the coefficient table sequentially and step through the data in any of the indirect addressing modes.
The MACD instruction, when repeated, supports 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
throw away the oldest sample.
The MPYU instruction performs an unsigned multiplication, which greatly facilitates extended-precision
arithmetic operations. The unsigned contents of TREG are multiplied by the unsigned contents of the addressed
data memory location, with the result placed in PREG. This process allows the operands of greater than 16 bits
to be broken down into 16-bit words and processed separately to generate products of greater than 32 bits. The
SQRA (square/add) and SQRS (square/subtract) instructions pass the same value to both inputs of the
multiplier for squaring a data memory value.
After the multiplication of two 16-bit numbers, the 32-bit product is loaded into the 32-bit product register
(PREG). The product from PREG can be transferred to the CALU or to data memory by way of the SPH (store
product high) and SPL (store product low) instructions. Note: the transfer of PREG to either the CALU or data
bus passes through the PSCALE shifter, and therefore is af fected by the product shift mode defined by PM. This
is important when saving PREG in an interrupt-service-routine context save as the PSCALE shift effects cannot
be modeled in the restore operation. PREG can be cleared by executing the MPY #0 instruction. The product
register can be restored by loading the saved low half into TREG and executing a MPY #1 instruction. The high
half, then, is loaded using the LPH instruction.
central arithmetic logic unit
The TMS320x240x central arithmetic logic unit (CALU) implements a wide range of arithmetic and logical
functions, the majority of which execute in a single clock cycle. This ALU is referred to as central to differentiate
it from a second ALU used for indirect-address generation called the auxiliary register arithmetic unit (ARAU).
Once an operation is performed in the CALU, the result is transferred to the accumulator (ACC) where additional
operations, such as shifting, can occur. Data that is input to the CALU can be scaled by ISCALE when coming
from one of the data buses (DRDB or PRDB) or scaled by PSCALE when coming from the multiplier.
The CALU is a general-purpose ALU that operates on 16-bit words taken from data memory or derived from
immediate instructions. In addition to the usual arithmetic instructions, the CALU can perform Boolean
operations, facilitating the bit-manipulation ability required for a high-speed controller. One input to the CALU
is always provided from the accumulator, and the other input can be provided from the product register (PREG)
of the multiplier or the output of the scaling shifter (that has been read from data memory or from the ACC). After
the CALU has performed the arithmetic or logical operation, the result is stored in the accumulator.
The TMS320x240x devices support floating-point operations for applications requiring a large dynamic range.
The NORM (normalization) instruction is used to normalize fixed-point numbers contained in the accumulator
by performing left shifts. The four bits of the TREG define a variable shift through the scaling shifter for the
LACT/ADDT/SUBT (load/add to /subtract from accumulator with shift specified by TREG) instructions. These
instructions are useful in floating-point arithmetic where a number needs to be denormalized — that is,
floating-point to fixed-point conversion. They are also useful in the execution of an automatic gain control (AGC)
going into a filter. The BITT (bit test) instruction provides testing of a single bit of a word in data memory based
on the value contained in the four LSBs of TREG.
The CALU overflow saturation mode can be enabled/disabled by setting/resetting the OVM bit of ST0. When
the CALU is in the overflow saturation mode and an overflow occurs, the overflow flag is set and the accumulator
is loaded with either the most positive or the most negative value representable in the accumulator, depending
on the direction of the overflow. The value of the accumulator at saturation is 07FFFFFFFh (positive) or
080000000h (negative). If the OVM (overflow mode) status register bit is reset and an overflow occurs, the
overflowed results are loaded into the accumulator with modification. (Note that logical operations cannot result
in overflow.)
The CALU can execute a variety of branch instructions that depend on the status of the CALU and the
accumulator. These instructions can be executed conditionally based on any meaningful combination of these
status bits. For overflow management, these conditions include OV (branch on overflow) and EQ (branch on
accumulator equal to zero). In addition, the BACC (branch to address in accumulator) instruction provides the
ability to branch to an address specified by the accumulator (computed goto). Bit test instructions (BIT and
BITT), which do not affect the accumulator, allow the testing of a specified bit of a word in data memory.
32
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
central arithmetic logic unit (continued)
The CALU also has an associated carry bit that is set or reset depending on various operations within the device.
The carry bit allows more efficient computation of extended-precision products and additions or subtractions.
It is also useful in overflow management. The carry bit is affected by most arithmetic instructions as well as the
single-bit shift and rotate instructions. It is not affected by loading the accumulator , logical operations, or other
such non-arithmetic or control instructions.
The ADDC (add to accumulator with carry) and SUBB (subtract from accumulator with borrow) instructions use
the previous value of carry in their addition/subtraction operation.
The one exception to the operation of the carry bit is in the use of ADD with a shift count of 16 (add to high
accumulator) and SUB with a shift count of 16 (subtract from high accumulator) instructions. This case of the
ADD instruction can set the carry bit only if a carry is generated, and this case of the SUB instruction can reset
the carry bit only if a borrow is generated; otherwise, neither instruction affects it.
Two conditional operands, C and NC, are provided for branching, calling, returning, and conditionally executing,
based upon the status of the carry bit. The SETC, CLRC, and LST #1 instructions also can be used to load the
carry bit. The carry bit is set to one on a hardware reset.
accumulator
The 32-bit accumulator is the registered output of the CALU. It can be split into two 16-bit segments for storage
in data memory. Shifters at the output of the accumulator 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 accumulator
remain unchanged. When the postscaling shifter is used on the high word of the accumulator (bits 16–31), the
MSBs are lost and the LSBs are filled with bits shifted in from the low word (bits 0–15). When the postscaling
shifter is used on the low word, the LSBs are zero-filled.
The SFL and SFR (in-place one-bit shift to the left / right) instructions and the ROL and ROR (rotate to the
left/right) instructions implement shifting or rotating of the contents of the accumulator through the carry bit. The
SXM bit affects the definition of the SFR (shift accumulator right) instruction. When SXM = 1, SFR performs an
arithmetic right shift, maintaining the sign of the accumulator data. When SXM = 0, SFR performs a logical shift,
shifting out the LSBs and shifting in a zero for the MSB. The SFL (shift accumulator left) instruction is not affected
by the SXM bit and behaves the same in both cases, shifting out the MSB and shifting in a zero. Repeat (RPT)
instructions can be used with the shift and rotate instructions for multiple-bit shifts.
auxiliary registers and auxiliary-register arithmetic unit (ARAU)
The ’240x 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, designating 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 also can be stored in data memory or used as inputs to the CALU.
The auxiliary register file (AR0–AR7) is connected to the ARAU. The ARAU can autoindex the current auxiliary
register while the data memory location is being addressed. Indexing either by ±1 or by the contents of the AR0
register can be performed. As a result, accessing tables of information does not require the CALU for address
manipulation; therefore, the CALU is free for other operations in parallel.
There are 544 words × 16 bits of DARAM on the ’240x devices. The ’240x DARAM allows writes to and reads
from the RAM in the same cycle. The DARAM is configured in three blocks: block 0 (B0), block 1 (B1), and
block 2 (B2). Block 1 contains 256 words and Block 2 contains 32 words, and both blocks are located only in
data memory space. Block 0 contains 256 words, and can be configured to reside in either data or program
memory space. The SETC CNF (configure B0 as data memory) and CLRC CNF (configure B0 as program
memory) instructions allow dynamic configuration of the memory maps through software.
When using on-chip RAM or high-speed external memory , the ’240x 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 ’240x architecture, enables the device to perform three concurrent memory accesses in any given machine
cycle. Externally, the READY line or on-chip software wait-state generator can be used to interface the ’240x
to slower, less expensive external memory . Downloading programs from slow of f-chip memory to on-chip RAM
can speed processing while cutting system costs.
single-access RAM (SARAM)
flash EEPROM
There are 2K words × 16 bits of SARAM on some of the ’240x devices.
reads from the RAM in the same cycle. The PON and DON bits select SARAM (2K) mapping in program space,
data space, or both. See T able 18 for details on the SCSR2 register and the PON and DON bits. At reset, these
bits are 1 1, and the on-chip SARAM is mapped in both the program and data spaces. The SARAM addresses
(8000h in program memory and 0800h in data memory) are accessible in external memory space, if the on-chip
SARAM is not enabled.
Flash EEPROM provides an attractive alternative to masked program ROM. Like ROM, flash is nonvolatile.
However, it has the advantage of “in-target” reprogrammability. The ’LF240x incorporates one 32K 16-bit
flash EEPROM module in program space. This type of memory expands the capabilities of the ’LF240x in the
areas of prototyping, early field-testing, and single-chip applications. The flash module has multiple sectors that
can be individually protected while erasing or programming. The sector size is non-uniform and partitioned as
4K/12K/12K/4K sectors.
Unlike most discrete flash memory , the ’LF240x flash does not require a dedicated state machine, because the
algorithms for programming and erasing the flash are executed by the DSP core. This enables several
advantages, including: reduced chip size and sophisticated, adaptive algorithms. For production programming,
the IEEE Standard 1149.1
algorithms and flash code. This flash requires 5 V for programming (at V
at zero wait state while the device is powered at 3.3 V.
‡
(JTAG) scan port provides easy access to the on-chip RAM for downloading the
†
The ’240x SARAM allows writes to and
pin only) the array . The flash runs
CCP
†
See Table 1 for device-specific features.
‡
IEEE Standard 1149.1–1990, IEEE Standard Test Access Port.
34
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADV ANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
ROM
The ’LC240x devices contain mask-programmable ROM located in program memory space. Customers can
arrange to have this ROM programmed with contents unique to any particular application. See Table 1 for the
ROM memory capacity of each ’LC240x device.
boot ROM
Boot ROM is a 256-word ROM memory mapped in program space 0000–00FF . This ROM will be enabled if the
BOOTEN
pin is low at reset. Boot ROM can also be enabled by writing 1 to the SCSR2.3 bit and disabled by writing 0
to this bit.
The boot ROM has a generic bootloader to transfer code through SCI or SPI ports. The incoming code should
disable the BOOT_ROM bit by writing 0 to bit 3 of the SCSR2 register, or else, the whole flash array will not be
enabled.
pin is low during reset. The BOOT_EN bit (bit 3 of the SCSR2 register) will be set to 1 if the BOOTEN
The event-manager modules include general-purpose (GP) timers, full-compare/PWM units, capture units, and
quadrature-encoder pulse (QEP) circuits. EVA ’s and EVB’s timers, compare units, and capture units function
identically. However, timer/unit names differ for EVA and EVB. Table 7 shows the module and signal names
used. T able 7 shows the features and functionality available for the event-manager modules and highlights EV A
nomenclature.
Event managers A and B have identical peripheral register sets with EVA starting at 7400h and EVB starting
at 7500h. The paragraphs in this section describe the function of GP timers, compare units, capture units, and
QEPs using EVA nomenclature. These paragraphs are applicable to EVB with regard to function—however,
module/signal names would differ.
Table 7. Module and Signal Names for EVA and EVB
Timer 1
Timer 2
Compare 1
Compare 2
Compare 3
Capture 1
Capture 2
Capture 3
QEP1
QEP2
Direction
External Clock
T1PWM/T1CMP
T2PWM/T2CMP
PWM1/2
PWM3/4
PWM5/6
CAP1
CAP2
CAP3
QEP1
QEP2
TDIRA
TCLKINA
Timer 3
Timer 4
Compare 4
Compare 5
Compare 6
Capture 4
Capture 5
Capture 6
QEP3
QEP4
Direction
External Clock
T3PWM/T3CMP
T4PWM/T4CMP
PWM7/8
PWM9/10
PWM11/12
CAP4
CAP5
CAP6
QEP3
QEP4
TDIRB
TCLKINB
36
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
event-manager modules (EVA, EVB) (continued)
’240x DSP Core
Data BusADDR Bus Reset
INT2,3,4
Clock
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
DSP CONTROLLERS
16
16
16
16
16
16
16
16
16
EV Control Registers
and Control Logic
GP Timer 1
Compare
GP Timer 1
Full-Compare
Units
GP Timer 2
Compare
GP Timer 2
3
Output
Logic
Prescaler
T1CON[8,9,10]T1CON[4,5]
SVPWM
33 3
State
Machine
Output
Logic
Deadband
Units
Output
Logic
Prescaler
ADC Start of
Conversion
T1CMP/
T1PWM
†
TDIR
TCLKIN
CLKOUT
(Internal)
PWM1
PWM6
T2CMP/
T2PWM
TCLKIN
CLKOUT
(Internal)
16
16
MUX
16
16
†
’2402 devices do not support external direction control. TDIR is not available.
There are two GP timers: The GP timer x (x = 1 or 2 for EVA; x = 3 or 4 for EVB) includes:
DA 16-bit timer, up-/down-counter, TxCNT, for reads or writes
DA 16-bit timer-compare register, TxCMPR (double-buffered with shadow register), for reads or writes
DA 16-bit timer-period register, TxPR (double-buffered with shadow register), for reads or writes
DA 16-bit timer-control register,TxCON, for reads or writes
DSelectable internal or external input clocks
DA programmable prescaler for internal or external clock inputs
full-compare units
programmable deadband generator
DControl and interrupt logic, for four maskable interrupts:
interrupts
underflow, overflow, timer compare
, and
period
DA selectable direction input pin (TDIR) (to count up or down when directional up- / down-count mode is
selected)
The GP timers can be operated independently or synchronized with each other. The compare register
associated with each GP timer can be used for compare function and PWM-waveform generation. There are
three continuous modes of operations for each GP timer in up- or up /down-counting operations. Internal or
external input clocks with programmable prescaler are used for each GP timer. GP timers also provide the time
base for the other event-manager submodules: GP timer 1 for all the compares and PWM circuits, GP timer 2/1
for the capture units and the quadrature-pulse counting operations. Double-buffering of the period and compare
registers allows programmable change of the timer (PWM) period and the compare/PWM pulse width as
needed.
There are three full-compare units on each event manager. These compare units use GP timer1 as the time
base and generate six outputs for compare and PWM-waveform generation using programmable deadband
circuit. The state of each of the six outputs is configured independently . The compare registers of the compare
units are double-buffered, allowing programmable change of the compare/PWM pulse widths as needed.
The deadband generator circuit includes three 8-bit counters and an 8-bit compare register. Desired deadband
values (from 0 to 24 µs) can be programmed into the compare register for the outputs of the three compare units.
The deadband generation can be enabled/disabled for each compare unit output individually. The
deadband-generator circuit produces two outputs (with or without deadband zone) for each compare unit output
signal. The output states of the deadband generator are configurable and changeable as needed by way of the
double-buffered ACTR register.
PWM waveform generation
38
Up to eight PWM waveforms (outputs) can be generated simultaneously by each event manager: three
independent pairs (six outputs) by the three full-compare units with
independent PWMs by the GP-timer compares.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
programmable deadbands
, and two
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
PWM characteristics
Characteristics of the PWMs are as follows:
D16-bit registers
DProgrammable deadband for the PWM output pairs, from 0 to 24 µs
DMinimum deadband width of 50 ns
DChange of the PWM carrier frequency for PWM frequency wobbling as needed
DChange of the PWM pulse widths within and after each PWM period as needed
DExternal-maskable power and drive-protection interrupts
DPulse-pattern-generator circuit, for programmable generation of asymmetric, symmetric, and four-space
vector PWM waveforms
DMinimized CPU overhead using auto-reload of the compare and period registers
capture unit
The capture unit provides a logging function for different events or transitions. The values of the GP timer 2
counter are captured and stored in the two-level-deep FIFO stacks when selected transitions are detected on
capture input pins, CAPx (x = 1, 2, or 3 for EV A; and x = 4, 5, or 6 for EVB). The capture unit consists of three
capture circuits.
DCapture units include the following features:
–One 16-bit capture control register, CAPCON (R/W)
–One 16-bit capture FIFO status register, CAPFIFO (eight MSBs are read-only, eight LSBs are
write-only)
–Selection of GP timer 2 as the time base
–Three 16-bit 2-level-deep FIFO stacks, one for each capture unit
–Three Schmitt-triggered capture input pins (CAP1, CAP2, and CAP3)—one input pin per capture unit.
[All inputs are synchronized with the device (CPU) clock. In order for a transition to be captured, the
input must hold at its current level to meet two rising edges of the device clock. The input pins CAP1 and
CAP2 can also be used as QEP inputs to the QEP circuit.]
–User-specified transition (rising edge, falling edge, or both edges) detection
–Three maskable interrupt flags, one for each capture unit
quadrature-encoder pulse (QEP) circuit
Two capture inputs (CAP1 and CAP2 for EVA; CAP4 and CAP5 for EVB) can be used to interface the on-chip
QEP circuit with a quadrature encoder pulse. Full synchronization of these inputs is performed on-chip.
Direction or leading-quadrature pulse sequence is detected, and GP timer 2 is incremented or decremented
by the rising and falling edges of the two input signals (four times the frequency of either input pulse).
A simplified functional block diagram of the ADC module is shown in Figure 10. The ADC module consists of
a 10-bit ADC with a built-in sample-and-hold (S/H) circuit. Functions of the ADC module include:
D10-bit ADC core with built-in S/H
DFast conversion time (S/H + Conversion) of 500 ns
D16-channel, muxed inputs
DAutosequencing capability provides up to 16 “autoconversions” in a single session. Each conversion can
be programmed to select any 1 of 16 input channels
DSequencer can be operated as two independent 8-state sequencers or as one large 16-state sequencer
(i.e., two cascaded 8-state sequencers)
DSixteen result registers (individually addressable) to store conversion values
DMultiple triggers as sources for the start-of-conversion (SOC) sequence
–S/W – software immediate start
–EVA – Event manager A (multiple event sources within EV A)
–EVB – Event manager B (multiple event sources within EVB)
–Ext – External pin (ADCSOC)
DFlexible interrupt control allows interrupt request on every end of sequence (EOS) or every other EOS
DSequencer can operate in “start/stop” mode, allowing multiple “time-sequenced triggers” to synchronize
conversions
DEVA and EVB triggers can operate independently in dual-sequencer mode
DSample-and-hold (S/H) acquisition time window has separate prescale control
DBuilt-in calibration mode
DBuilt-in self-test mode
The ADC module in the ’240x has been enhanced to provide flexible interface to event managers A and B. The
ADC interface is built around a fast, 10-bit ADC module with total conversion time of 500 ns (S/H + conversion).
The ADC module has 16 channels, configurable as two independent 8-channel modules to service event
managers A and B. The two independent 8-channel modules can be cascaded to form a 16-channel module.
Figure 10 shows the block diagram of the ’240x ADC module.
The two 8-channel modules have the capability to autosequence a series of conversions, each module has the
choice of selecting any one of the respective eight channels available through an analog mux. In the cascaded
mode, the autosequencer functions as a single 16-channel sequencer. On each sequencer, once the
conversion is complete, the selected channel value is stored in its respective RESUL T register. Autosequencing
allows the system to convert the same channel multiple times, allowing the user to perform oversampling
algorithms. This gives increased resolution over traditional single-sampled conversion results.
The CAN module is a 16-bit peripheral. The accesses are split into the control/status-registers accesses and
the mailbox-RAM accesses.
CAN peripheral registers: The CPU can access the CAN peripheral registers only using 16-bit write accesses.
The CAN peripheral always presents full 16-bit data to the CPU bus during read cycles.
CAN controller architecture
Figure 1 1 shows the basic architecture of the CAN controller through this block diagram of the CAN Peripherals.
CAN Module
Transmit Buffer
CAN
Core
Temporary Receive Buffer
Data
Matchid
Acceptance Filter
TxD
CAN
RxD
Transceiver
ID
CPU
Control/Status Registers
Interrupt Logic
CPU Interface/
Memory Management Unit
mailbox 0
R
mailbox 1
R
T/R
T/R
T
T
mailbox 2
mailbox 3
mailbox 4
mailbox 5
RAM 48x16
Control Bus
Control Logic
Figure 11. CAN Module Block Diagram
The mailboxes are situated in one 48-word x 16-bit RAM. It can be written to or read by the CPU or the CAN.
The CAN write or read access, as well as the CPU read access, needs one clock cycle. The CPU write access
needs two clock cycles. In these two clock cycles, the CAN performs a read-modify-write cycle and, therefore,
inserts one wait state for the CPU.
CAN interrupt logic
42
Address bit 0 of the address bus used when accessing the RAM decides if the lower (0) or the higher (1)
16-bit word of the 32-bit word is taken. The RAM location is determined by the upper bits 5 to 1 of the address
bus.
Table 9 shows the mailbox locations in RAM. One half-word has 16 bits.
There are two interrupt requests from the CAN module to the peripheral interrupt expansion (PIE) controller:
the mailbox interrupt and the error interrupt. Both interrupts can assert either a high-priority request or a
low-priority request to the CPU. Since CAN mailboxes can generate multiple interrupts, the software should
read the CAN_IFR register for every interrupt and prioritize the interrupt service, or else, these multiple
interrupts will not be recognized by the CPU and PIE hardware logic. Each interrupt routine should service all
the interrupt bits that are set and clear them after service.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
CAN memory map
Table 8 and Table 9 show the register and mailbox locations in the CAN module.
Table 8. Register Addresses
†
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
DSP CONTROLLERS
ADDRESS
OFFSET
00hMDERMailbox Direction/Enable Register (bits 7 to 0)
01hTCRTransmission Control Register (bits 15 to 0)
02hRCRReceive Control Register (bits 15 to 0)
03hMCRMaster Control Register (bits 13 to 6, 1, 0)
04hBCR2Bit Configuration Register 2 (bits 7 to 0)
05hBCR1Bit Configuration Register 1 (bits 10 to 0)
06hESRError Status Register (bits 8 to 0)
07hGSRGlobal Status Register (bits 5 to 0)
08hCECTransmit and Receive Error Counters (bits 15 to 0)
09hCAN_IFRInterrupt Flag Register (bits 13 to 8, 6 to 0)
0AhCAN_IMRInterrupt Mask Register (bits 15, 13 to 0)
0BhLAM0_HLocal Acceptance Mask Mailbox 0 and 1 (bits 31, 28 to 16)
0ChLAM0_LLocal Acceptance Mask Mailbox 0 and 1 (bits 15 to 0)
0DhLAM1_HLocal Acceptance Mask Mailbox 2 and 3 (bits 31, 28 to 16)
0EhLAM1_LLocal Acceptance Mask Mailbox 2 and 3 (bits 15 to 0)
0FhReservedAccesses assert the CAADDRx signal from the CAN peripheral (which asserts an Illegal Address error)
†
All unimplemented register bits are read as zero, writes have no effect. Register bits are initialized to zero, unless otherwise stated in the definition.
ADDRESS
OFFSET [5:0]
00hMSGID0Message ID for mailbox 0Message ID for mailbox 0
02hMSGCTRL0UnusedRTR and DLC (bits 4 to 0)
04hDatalow0
06hDatahigh0
08hMSGID1Message ID for mailbox 1Message ID for mailbox 1
0AhMSGCTRL1UnusedRTR and DLC (bits 4 to 0)
28hMSGID5Message ID for mailbox 5Message ID for mailbox 5
2AhMSGCTRL5UnusedRTR and DLC (bits 4 to 0)
2ChDatalow5
2EhDatahigh5
‡
The DBO (data byte order) bit is located in the MCR register and is used to define the order in which the data bytes are stored in the mailbox
when received and the order in which the data bytes are transmitted. Byte 0 is the first byte in the message and Byte 7 is the last one shown
in the CAN message.
The ’240x devices include a serial communications interface (SCI) module. The SCI module supports digital
communications between the CPU and other asynchronous peripherals that use the standard
non-return-to-zero (NRZ) format. The SCI receiver and transmitter are double-buffered, and each has its own
separate enable and interrupt bits. Both can be operated independently or simultaneously in the full-duplex
mode. To ensure data integrity, the SCI checks received data for break detection, parity, overrun, and framing
errors. The bit rate is programmable to over 65 000 different speeds through a 16-bit baud-select register.
Features of the SCI module include:
NOTE: Both pins can be used as GPIO if not used for SCI.
DBaud rate programmable to 64K different rates
–Up to 1875 Kbps at 30-MHz CPUCLK
DData-word format
–One start bit
–Data-word length programmable from one to eight bits
–Optional even/odd/no parity bit
–One or two stop bits
DFour error-detection flags: parity, overrun, framing, and break detection
DTwo wake-up multiprocessor modes: idle-line and address bit
DHalf- or full-duplex operation
DDouble-buffered receive and transmit functions
DTransmitter and receiver operations can be accomplished through interrupt-driven or polled algorithms with
status flags.
–Transmitter: TXRDY flag (transmitter-buffer register is ready to receive another character) and
TX EMPTY flag (transmitter-shift register is empty)
–Receiver: RXRDY flag (receiver-buffer register is ready to receive another character), BRKDT flag
(break condition occurred), and RX ERROR flag (monitoring four interrupt conditions)
DSeparate enable bits for transmitter and receiver interrupts (except BRKDT)
DNRZ (non-return-to-zero) format
DTen SCI module control registers located in the control register frame beginning at address 7050h
NOTE: All registers in this module are 8-bit registers that are connected to the 16-bit peripheral bus. When a register is accessed, the
register data is in the lower byte (7–0), and the upper byte (15–8) is read as zeros. Writing to the upper byte has no effect.
Figure 12 shows the SCI module block diagram.
44
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
serial communications interface (SCI) module (continued)
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
DSP CONTROLLERS
Frame Format and Mode
Parity
Even/OddEnable
SCICCR.6 SCICCR.5
SCIHBAUD. 15–8
Baud Rate
Internal
Clock
SCILBAUD. 7–0
Baud Rate
MSbyte
Register
LSbyte
Register
TXWAKE
SCICTL1.3
1
WUT
SCITXBUF.7–0
Transmitter-Data
Buffer Register
8
TXSHF
Register
SCI TX Interrupt
TXRDY
SCICTL2.7
TX EMPTY
SCICTL2.6
TXENA
SCICTL1.1
SCI Priority Level
Level 5 Int.
Level 1 Int.
Level 5 Int.
Level 1 Int.
TX INT ENA
SCICTL2.0
SCITXD
1
0
SCI TX
Priority
SCIPRI.6
1
0
SCI RX
Priority
SCIPRI.5
TXINT
External
Connections
SCITXD
RX ERR INT ENA
SCICTL1.6
SCIRXST.7
RX Error
SCIRXD
RX/BK INT ENA
SCICTL2.1
RXWAKE
SCIRXST.1
RX Error
SCIRXST.4–2
RXSHF
Register
RXENA
SCICTL1.0
Receiver-Data
Register
SCIRXBUF.7–0
PEFE OE
8
Buffer
SCI RX Interrupt
RXRDY
SCIRXST.6
BRKDT
SCIRXST.5
Figure 12. Serial Communications Interface (SCI) Module Block Diagram
Some ’240x devices include the four-pin serial peripheral interface (SPI) module. The SPI is a high-speed,
synchronous serial I/O port that allows a serial bit stream of programmed length (one to sixteen bits) to be shifted
into and out of the device at a programmable bit-transfer rate. Normally, the SPI is used for communications
between the DSP controller and external peripherals or another processor. T ypical applications include external
I/O or peripheral expansion through devices such as shift registers, display drivers, and ADCs. Multidevice
communications are supported by the master/slave operation of the SPI.
NOTE: All four pins can be used as GPIO, if the SPI module is not used.
DTwo operational modes: master and slave
DBaud rate: 125 different programmable rates/7.5 Mbps at 30-MHz CPUCLK
DData word length: one to sixteen data bits
DFour clocking schemes (controlled by clock polarity and clock phase bits) include:
–Falling edge without phase delay: SPICLK active high. SPI transmits data on the falling edge of the
SPICLK signal and receives data on the rising edge of the SPICLK signal.
–Falling edge with phase delay: SPICLK active high. SPI transmits data one half-cycle ahead of the
falling edge of the SPICLK signal and receives data on the falling edge of the SPICLK signal.
–Rising edge without phase delay: SPICLK inactive low. SPI transmits data on the rising edge of the
SPICLK signal and receives data on the falling edge of the SPICLK signal.
–Rising edge with phase delay: SPICLK inactive low. SPI transmits data one half-cycle ahead of the
falling edge of the SPICLK signal and receives data on the rising edge of the SPICLK signal.
DSimultaneous receive and transmit operation (transmit function can be disabled in software)
DTransmitter and receiver operations are accomplished through either interrupt-driven or polled algorithms.
DNine SPI module control registers: Located in control register frame beginning at address 7040h.
NOTE: All registers in this module are 16-bit registers that are connected to the 16-bit peripheral bus. When a register is accessed, the
register data is in the lower byte (7–0), and the upper byte (15–8) is read as zeros. Writing to the upper byte has no effect.
46
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
serial peripheral interface (SPI) module (continued)
Figure 13 is a block diagram of the SPI in slave mode.
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
DSP CONTROLLERS
SPIRXBUF.15–0
SPIRXBUF
Buffer Register
SPITXBUF.15–0
16
SPI Char
Internal
Clock
NOTE A: The diagram is shown in the slave mode.
†
The SPISTE pin is shown as being disabled, meaning that data cannot be transmitted in this mode. Note that SW1, SW2, and SW3 are closed
in this configuration.
SPITXBUF
Buffer Register
16
SPIDAT
Data Register
SPIDAT.15–0
Talk
SPICTL.1
State Control
SPICCR.3–0
3
SPI Bit Rate
SPIBRR.6–0
456
Receiver
Overrun Flag
SPISTS.7
SPI INT FLAG
SPISTS.6
M
S
M
S
S
012
M
1230
Overrun
INT ENA
SPICTL.4
SPI INT
ENA
SPICTL.0
SW1
SW2
S
M
SPI Priority
To CPU
SW3
Polarity
SPICCR.6SPICTL.3
SPIPRI.6
M
S
M
S
Master/Slave
SPICTL.2
Clock
Clock
Phase
0
Level 1
INT
1
Level 5
INT
External
Connections
SPISIMO
SPISOMI
SPISTE
SPICLK
†
Figure 13. Four-Pin Serial Peripheral Interface Module Block Diagram
The ’240x has an on-chip, PLL-based clock module. This module provides all the necessary clocking signals
for the device, as well as control for low-power mode entry . The PLL has a 3-bit ratio control to select different
CPU clock rates. See Figure 14 for the PLL Clock Module Block Diagram, T able 11 for the loop filter component
values, and Table 10 for clock rates.
The PLL-based clock module provides two modes of operation:
DCrystal-operation
This mode allows the use of an external crystal/resonator to provide the time base to the device.
DExternal clock source operation
This mode allows the internal oscillator to be bypassed. The device clocks are generated from an external
clock source input on the XTAL1/CLKIN pin. In this case, an external oscillator clock is connected to the
XTAL1/CLKIN pin.
XTAL1/CLKIN
C
RESONATOR/
CRYSTAL
b1
XTAL2
C
b2
PLLF
F
in
PLL
CLKOUT
R
C
2
1
C
1
XTAL
OSC
PLLF2
3-bit
PLL Select
(SCSR1.[11:9])
Figure 14. PLL Clock Module Block Diagram
Table 10. PLL Clock Selection Through BIts (11–9) in SCSR1 Register
CLK PS2CLK PS1CLK PS0CLKOUT
0004 × F
0012 × F
0101.33 × F
0111 × F
1000.8 × F
1010.66 × F
1100.57 × F
1110.5 × F
Default multiplication factor after reset is (1,1,1), i.e., 0.5 × Fin.
in
in
in
in
in
in
in
in
48
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
external reference crystal clock option
The internal oscillator is enabled by connecting a crystal across XTAL1/CLKIN and XTAL2 pins as shown in
Figure 15a. The crystal should be in fundamental operation and parallel resonant, with an effective series
resistance of 30 Ω–150 Ω and a power dissipation of 1 mW ; it should be specified at a load capacitance of 20 pF .
external reference oscillator clock option
The internal oscillator is disabled by connecting a TTL-level clock signal to XT AL1/CLKIN and leaving the XTAL2
input pin unconnected as shown in Figure 15b.
XTAL2XTAL1/CLKINXTAL1/CLKINXTAL2
C
(see Note A)
NOTE A: TI recommends that customers have the resonator/crystal vendor characterize the operation of their device with the DSP chip. The
b1
Crystal
(a)(b)
resonator/crystal vendor has the equipment and expertise to tune the tank circuit. The vendor can also advise the customer regarding
the proper tank component values that will ensure start-up and stability over the entire operating range.
C
b2
(see Note A)
External Clock Signal
(Toggling 0–3.3 V)
NC
Figure 15. Recommended Crystal/Clock Connection
loop filter
The PLL module uses an external loop filter circuit for jitter minimization. The components for the loop filter
circuit are R1, C1, and C2. The capacitors (C1 and C2) must be non-polarized. This loop filter circuit is connected
between the PLLF and PLLF2 pins (see Figure 14). For examples of component values of R1, C1, and C2 at
a specified oscillator frequency (XTAL1), see Table 11.
The ’240x has an IDLE instruction. When executed, the IDLE instruction stops the clocks to all circuits in the
CPU, but the clock output from the CPU continues to run. With this instruction, the CPU clocks can be shut down
to save power while the peripherals (clocked with CLKOUT) continue to run. The CPU exits the IDLE state if
it is reset, or, if it receives an interrupt request.
clock domains
All ’240x-based devices have two clock domains:
1. CPU clock domain – consists of the clock for most of the CPU logic
2. System clock domain – consists of the peripheral clock (which is derived from CLKOUT of the CPU) and
the clock for the interrupt logic in the CPU.
When the CPU goes into IDLE mode, the CPU clock domain is stopped while the system clock domain continues
to run. This mode is also known as IDLE1 mode. The ’240x CPU also contains support for a second IDLE mode,
IDLE2. By asserting IDLE2 to the ’240x CPU, both the CPU clock domain and the system clock domain are
stopped, allowing further power savings. A third low-power mode, HAL T mode, the deepest, is possible if the
oscillator and WDCLK are also shut down when in IDLE2 mode.
Two control bits, LPM1 and LPM0, specify which of the three possible low-power modes is entered when the
IDLE instruction is executed (see Table 12). These bits are located in the System Control and Status
Register 1 (SCSR1), and they are described in the
Peripherals User’s Guide
(literature number SPRU276).
TMS320F243/’F241/’C242 DSP Controllers System and
[PLL/OSC power down]
other power-down options
Table 12. Low-Power Modes Summary
LPMx BITS
LOW-POWER MODE
CPU running normallyXXOnOnOnOnOnOn—
IDLE1 – (LPM0)00OffOnOnOnOnOn
IDLE2 – (LPM1)01OffOffOnOnOnOn
HALT – (LPM2)
SCSR1
[13:12]
1XOffOffOffOffOffOff
CPU
CLOCK
DOMAIN
SYSTEM
CLOCK
DOMAIN
WDCLK
STATUS
PLL
STATUS
OSC
STATUS
FLASH
POWER
EXIT
CONDITION
Peripheral
Interrupt,
External Interrupt,
Reset,
PDPINTA/B
Wakeup
Interrupts,
External Interrupt,
Reset,
PDPINTA/B
Reset,
PDPINTA/B
’240x devices have clock enable bits to the following on-chip peripherals: ADC, SCI, SPI, CAN, EVB, and EV A.
Clock to these peripherals are disabled after reset; thus, start-up power can be low for the device.
Depending on the application, these peripherals can be turned on/off to achieve low power.
Refer to the SCSR2 register for details on the peripheral clock enable bits.
50
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
digital I/O and shared pin functions
The ’240x has up to 41 general-purpose, bidirectional, digital I/O (GPIO) pins—most of which are shared
between primary functions and I/O. Most I/O pins of the ’240x are shared with other functions. The digital I/O
ports module provides a flexible method for controlling both dedicated I/O and shared pin functions. All I/O and
shared pin functions are controlled using eight 16-bit registers. These registers are divided into two types:
DOutput Control Registers — used to control the multiplexer selection that chooses between the primary
function of a pin or the general-purpose I/O function.
DData and Control Registers — used to control the data and data direction of bidirectional I/O pins.
description of shared I/O pins
The control structure for shared I/O pins is shown in Figure 16, where each pin has three bits that define its
operation:
DMux control bit — this bit selects between the primary function (1) and I/O function (0) of the pin.
DI/O direction bit — if the I/O function is selected for the pin (mux control bit is set to 0), this bit determines
whether the pin is an input (0) or an output (1).
DI/O data bit — if the I/O function is selected for the pin (mux control bit is set to 0) and the direction selected
is an input, data is read from this bit; if the direction selected is an output, data is written to this bit.
The mux control bit, I/O direction bit, and I/O data bit are in the I/O control registers.
IOP Data Bit
(Read/Write)
InOut
IOP DIR Bit
0 = Input
1 = Output
Primary
Function
or I/O Pin
Primary
Function
01
Pin
MUX Control Bit
0 = I/O Function
1 = Primary Function
Figure 16. Shared Pin Configuration
A summary of shared pin configurations and associated bits is shown in Table 13.
Bold, italicized pin names indicate pin functions at reset.
‡
Valid only if the I/O function is selected on the pin
§
If the GPIO pin is configured as an output, these bits can be written to. If the pin is configured as an input, these bits are read from.
¶
If the DIR bit is 0, the GPIO pin functions as an input. For a value of 1, the pin is configured as an output.
(MCRx.n = 0)
I/O
MUX
CONTROL
REGISTER
(name.bit #)
MUX
CONTROL
VALUE AT
RESET
(MCRx.n)
I/O PORT DATA AND DIRECTION
REGISTER
PORT E
PORT F
DATA
BIT NO.
§
digital I/O control registers
Table 14 lists the registers available in the digital I/O module. As with other ’240x peripherals, these registers
are memory-mapped to the data space.
Table 14. Addresses of Digital I/O Control Registers
ADDRESSREGISTERNAME
7090hMCRAI/O mux control register A
7092hMCRBI/O mux control register B
7094hMCRCI/O mux control register C
7095hPEDATDIRI/O port E data and direction register
7096hPFDATDIRI/O port F data and direction register
7098hPADATDIRI/O port A data and direction register
709AhPBDATDIRI/O port B data and direction register
709ChPCDA TDIRI/O port C data and direction register
709EhPDDATDIRI/O port D data and direction register
The TMS320LF2407 can address up to 64K × 16 words of memory (or registers) in each of the program, data,
and I/O spaces. On-chip memory, when enabled, occupies some of this off-chip range.
The CPU of the TMS320LF2407 schedules a program fetch, data read, and data write on the same machine
cycle. This is because from on-chip memory, the CPU can execute all three of these operations in the same
cycle. However, the external interface multiplexes the internal buses to one address bus and one data bus. The
external interface sequences these operations to complete first the data write, then the data read, and finally
the program read.
The ’LF2407 supports a wide range of system interfacing requirements. Program, data, and I/O address spaces
provide interface to memory and I/O, thereby maximizing system throughput. The full 16-bit address and data
buses, along with the PS
data, and I/O space. Since on-chip peripheral registers occupy positions of data-memory space (7000–7FFF),
the externally addressable data-memory space is 32K 16-bit words (8000–FFFF). Note that the global memory
space of the ’C2xx core is not used for ’240x DSP devices. Therefore, the global memory allocation register
(GREG) is reserved for all these devices.
Input/output (I/O) design is simplified by having I/O space treated the same way as memory. I/O devices are
accessed in the I/O address space using the processor’s external address and data buses in the same manner
as memory-mapped devices.
, DS, and IS space-select signals, allow addressing of 64K 16-bit words in program,
wait-state generation (’LF2407 only)
The ’LF2407 external parallel interface provides various control signals to facilitate interfacing to the device. The
R/W
output signal is provided to indicate whether the current cycle is a read or a write. The STRB output signal
provides a timing reference for all external cycles. For convenience, the device also provides the RD and the
WE output signals, which indicate a read cycle and a write cycle, respectively , along with timing information for
those cycles. The availability of these signals minimizes external gating necessary for interfacing external
devices to the ’LF2407.
The ’2407 provides RD and W/R signals to help the zero-wait-state external memory interface. At higher
CLKOUT speeds, RD may not meet the slow memory device’s timing. In such instances, the W/R signal could
be used as an alternative signal with some tradeoffs. See the timings for details.
The TMS320LF2407 supports zero-wait-state reads on the external interface. However, to avoid bus conflicts,
writes take two cycles. This allows the TMS320LF2407 to buffer the transition of the data bus from input to output
(or from output to input) by a half cycle. In most systems, the TMS320LF2407 ratio of reads to writes is
significantly large to minimize the overhead of the extra cycle on writes.
Wait-state generation is incorporated in the ’LF2407 without any external hardware for interfacing the ’LF2407
with slower off-chip memory and I/O devices. Adding wait states lengthens the time the CPU waits for external
memory or an external I/O port to respond when the CPU reads from or writes to that external memory or I/O
port. Specifically, the CPU waits one extra cycle (one CLKOUT cycle) for every wait state. The wait states
operate on CLKOUT cycle boundaries.
To avoid bus conflicts, writes from the ’LF2407 always take at least two CLKOUT cycles. The ’LF2407 offers
two options for generating wait states:
DREADY Signal. With the READY signal, you can externally generate any number of wait states. The READY
pin has no effect on accesses to
internal
memory.
DOn-Chip Wait-State Generator. With this generator, you can generate zero to seven wait states.
54
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
generating wait states with the READY signal
When the READY signal is low, the ’LF2407 waits one CLKOUT cycle and then checks READY again. The
’LF2407 does not continue executing until the READY signal is driven high; therefore, if the READY signal is
not used, it should be pulled high.
The READY pin can be used to generate any number of wait states. However, when the ’LF2407 operates at
full speed, it may not respond fast enough to provide a READY -based wait state for the first cycle. For extended
wait states using external READY logic, the on-chip wait-state generator should be programmed to generate
at least one wait state.
generating wait states with the ’LF2407 on-chip software wait-state generator
The software wait-state generator can be programmed to generate zero to seven wait states for a given off-chip
memory space (program, data, or I/O), regardless of the state of the READY signal. These zero to seven wait
states are controlled by the wait-state generator register (WSGR) (I/O FFFFh). For more detailed information
on the WSGR and associated bit functions, refer to the
Peripherals User’s Guide
(literature number SPRU276).
watchdog (WD) timer module
The ’x240x devices include a watchdog (WD) timer module. The WD function of this module monitors software
and hardware operation by generating a system reset if it is not periodically serviced by software by having the
correct key written. The WD timer operates independently of the CPU. It does not need any CPU initialization
to function. When a system reset occurs, the WD timer defaults to the fastest WD timer rate available (WDCLK
signal = CLKOUT/512). As soon as reset is released internally , the CPU starts executing code, and the WD timer
begins incrementing. This means that, to avoid a premature reset, WD setup should occur early in the power-up
sequence. See Figure 17 for a block diagram of the WD module. The WD module features include the following:
DWD Timer
–Seven different WD overflow rates
–A WD-reset key (WDKEY) register that clears the WD counter when a correct value is written, and
generates a system reset if an incorrect value is written to the register
–WD check bits that initiate a system reset if an incorrect value is written to the WD control register
(WDCR)
DAutomatic activation of the WD timer, once system reset is released
–Three WD control registers located in control register frame beginning at address 7020h.
NOTE: All registers in this module are 8-bit registers. When a register is accessed, the register data is in the lower byte, the upper byte
is read as zeros. Writing to the upper byte has no effect.
Figure 17 shows the WD block diagram. Table 15 shows the different WD overflow (timeout) selections.
The watchdog can be disabled in software by writing ’1’ to bit 6 of the WDCR register (WDCR.6) while bit 5 of
the SCSR2 register (SCSR2.5) is 1. If SCSR2.5 is 0, the watchdog will not be disabled. SCSR2.5 is equivalent
to the WDDIS pin of the TMS320F243/241 devices.
T exas Instruments (TI) offers an extensive line of development tools for the ’x240x generation of DSPs, including
tools to evaluate the performance of the processors, generate code, develop algorithm implementations, and
fully integrate and debug software and hardware modules.
The following products support development of ’x240x-based applications:
Software Development Tools:
Assembler/linker
Simulator
Optimizing ANSI C compiler
Application algorithms
C/Assembly debugger and code profiler
Hardware Development Tools:
Emulator XDS510 (supports ’x24x multiprocessor system debug)
The
TMS320 DSP Development Support Reference Guide
about development support products for all TMS320 family member devices, including documentation. Refer
to this document for further information about TMS320 documentation or any other TMS320 support products
from Texas Instruments. There is also an additional document, the
Guide
(literature number SPRU052), which contains information about TMS320-related products from other
companies in the industry . To receive copies of TMS320 literature, contact the Literature Response Center at
800/477-8924.
See Table 16 and Table 17 for complete listings of development support tools for the ’x240x. For information
on pricing and availability, contact the nearest TI field sales office or authorized distributor.
Table 16. Development Support Tools
DEVELOPMENT TOOLPLATFORMPART NUMBER
Software
Hardware
SPARC is a trademark of SPARC International, Inc.
PC-DOS and OS/2 are trademarks of International Business Machines Corp.
WIN is a trademark of Microsoft Corp.
XDS510XL and XDS510WS are trademarks of Texas Instruments Incorporated.
The ’F240 and ’F243 Evaluation Modules (EVM) provide designers of motor and motion control applications
with a complete and cost-effective way to take their designs from concept to production. These tools offer both
a hardware and software development environment and include:
DFlash-based ’24x evaluation board
DCode Generation Tools
DAssembler/Linker
DC Compiler (’F243 EVM)
DSource code debugger
D’C24x Debugger (’F240 EVM)
DCode Composer IDE (’F243 EVM)
DXDS510PP JT AG-based emulator
DSample applications code
DUniversal 5VDC power supply
DDocumentation and cables
device and development support tool nomenclature
To designate the stages in the product development cycle, Texas Instruments assigns prefixes to the part
numbers of all TMS320 devices and support tools. Each TMS320 member has one of three prefixes: TMX, TMP ,
or TMS. Texas Instruments recommends two of three possible prefix designators for its support tools: TMDX
and TMDS. These prefixes represent evolutionary stages of product development from engineering prototypes
(TMX/TMDX) through fully qualified production devices/tools (TMS/TMDS). This development flow is defined
below.
Support tool development evolutionary flow:
TMDXDevelopment support product that has not completed TI’s internal qualification testing
TMDSFully qualified development support product
TMX and TMP devices and TMDX development support tools are shipped against the following disclaimer:
“Developmental product is intended for internal evaluation purposes.”
TMS devices and TMDS development support tools have been fully characterized, and the quality and reliability
of the device have been fully demonstrated. TI’s standard warranty applies.
device and development support tool nomenclature (continued)
TI device nomenclature also includes a suffix with the device family name. This suffix indicates the package type
(for example, PG, PGE, and PZ) and temperature range (for example, A). Figure 18 provides a legend for
reading the complete device name for any TMS320x2xx family member. Refer to the timing section for specific
options that are available on ’240x devices.
Predictions show that prototype devices (TMX or TMP) have a greater failure rate than the standard production
devices. T exas Instruments recommends that these devices not be used in any production system because their
expected end-use failure rate still is undefined. Only qualified production devices are to be used.
Extensive documentation supports all of the TMS320 family generations of devices from product announcement
through applications development. The types of documentation available include: data sheets, such as this
document, with design specifications; complete user’s guides for all devices and development support tools;
and hardware and software applications. Useful reference documentation includes:
DData sheets
TMS320C242 DSP Controller
–
–
TMS320F243, TMS320F241 DSP Controllers
(literature number SPRS063)
(literature number SPRS064)
DUser Guides
TMS320C240 DSP Controllers CPU, System, and Instruction Set Reference Guide
–
(literature number SPRU160)
TMS320C240 DSP Controllers Peripheral Library and Specific Devices
–
(literature number SPRU161)
’F243/’F241/’C242 DSP Controllers System and Peripherals User’s Guide
–
(literature number SPRU276)
DApplication Reports
–
3.3V DSP for Digital Motor Control
A series of DSP textbooks is published by Prentice-Hall and John Wiley & Sons to support digital signal
processing research and education. The TMS320 newsletter,
quarterly and distributed to update TMS320 customers on product information.
Updated information on the TMS320 DSP controllers can be found on the worldwide web at: http://www.ti.com.
To send comments regarding the ’240x data sheet (SPRS094), use the
address, which is a repository for feedback. For questions and support, contact the Product Information Center
listed at the http://www.ti.com/sc/docs/pic/home.htm site.
absolute maximum ratings over operating free-air temperature range (unless otherwise noted)
†
Clamp current stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress
ratings only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating
conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
NOTE 1: All voltage values are with respect to VSS.
recommended operating conditions
V
DD
V
SS
PLLV
V
CCA
V
CCP
f
CLKOUT
V
IH
V
IL
I
OH
I
OL
T
A
T
stg
T
FP
T
j
NfFlash endurance for the array (Write/erase cycles)At room temperature10Kcycles
‡
Refer to the mechanical data package page for thermal resistance values, ΘJA (junction-to-ambient) and ΘJC (junction-to-case).
§
Primary signals and their GPIOs:
Group 1:PWM1–PWM6, CAP1–CAP6, TCLKINA, RS
Group 2:PS
Group 3:TDIRA, TDIRB, SCIRXD, SCITXD, XINT1, XINT2, CLKOUT
=2 mA (all outputs)
=300 µA (all outputs)
=1.5 V
=50-pF typical load-circuit capacitance
Output
Under
Test
Figure 19. Test Load Circuit
The data in this section is shown for the 3.3-V version. Note that some of the signals use different reference
voltages, see the recommended operating conditions table. Output levels are driven to a minimum logic-high
level of 2.4 V and to a maximum logic-low level of 0.8 V.
Figure 20 shows output levels.
2.4 V (VOH)
80%
20%
0.4 V (VOL)
Figure 20. Output Levels
Output transition times are specified as follows:
DFor a
high-to-low transition
, the level at which the output is said to be no longer high is below 80% of the
total voltage range and lower and the level at which the output is said to be low is 20% of the total voltage
range and lower.
DFor a
low-to-high transition
, the level at which the output is said to be no longer low is 20% of the total voltage
range and higher and the level at which the output is said to be high is 80% of the total voltage range and
higher.
Figure 21 shows the input levels.
2.0 V (VIH)
90%
64
10%
0.8 V (VIL)
Figure 21. Input Levels
Input transition times are specified as follows:
DFor a
high-to-low transition
on an input signal, the level at which the input is said to be no longer high is 90%
of the total voltage range and lower and the level at which the input is said to be low is 10% of the total voltage
range and lower.
DFor a
low-to-high transition
on an input signal, the level at which the input is said to be no longer low is 10%
of the total voltage range and higher and the level at which the input is said to be high is 90% of the total
voltage range and higher.
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
PARAMETER MEASUREMENT INFORMATION
timing parameter symbology
Timing parameter symbols used are created in accordance with JEDEC Standard 100-A. To shorten the
symbols, some of the pin names and other related terminology have been abbreviated as follows:
AA[15:0]MSMemory strobe pins IS, DS, or PS
ClXTAL1/CLKINRREADY
COCLKOUTRDRead cycle or RD
DD[15:0]RSRESET pin RS
INTNMI, XINT1, XINT2WWrite cycle or WE
Lowercase subscripts and their meanings:Letters and symbols and their meanings:
aaccess timeHHigh
ccycle time (period)LLow
ddelay timeVValid
ffall timeXUnknown, changing, or don’t care level
hhold timeZHigh impedance
rrise time
susetup time
ttransition time
vvalid time
wpulse duration (width)
general notes on timing parameters
All output signals from the ’F243/’F241 devices (including CLKOUT) are derived from an internal clock such that
all output transitions for a given half-cycle occur with a minimum of skewing relative to each other.
The signal combinations shown in the following timing diagrams may not necessarily represent actual cycles.
For actual cycle examples, refer to the appropriate cycle description section of this data sheet.
external reference crystal/clock with PLL circuit enabled
timings with the PLL circuit enabled
PARAMETERMINTYPMAXUNIT
Resonator413
f
x
†
Input frequency should be adjusted (CLK PS bits in SCSR1 register) such that CLKOUT = 30 MHz maximum.
Input clock frequency
†
Crystal
CLKIN420
420
MHz
switching characteristics over recommended operating conditions [H = 0.5 t
†
timing requirements (see Figure 22)
PARAMETERPLL MODEMINTYPMAXUNIT
c(Cl)
†
t
c(CI)
t
f(Cl)
33ns
t
w(CIL)
t
c(CO)
t
f(CO)
t
r(CO)
t
w(COL)
t
w(COH)
t
p
Input frequency should be adjusted (CLK PS bits in SCSR1 register) such that CLKOUT = 30 MHz maximum.
t
c(Cl)
t
f(Cl)
t
r(Cl)
t
w(CIL)
t
w(CIH)
XTAL1/CLKIN
Cycle time, CLKOUT
Fall time, CLKOUT4ns
Rise time, CLKOUT4ns
Pulse duration, CLKOUT lowH–3HH+3ns
Pulse duration, CLKOUT highH–3HH+3ns
Transition time, PLL synchronized after RS pin high
Cycle time, XTAL1/CLKIN
Fall time, XTAL1/CLKIN5ns
Rise time, XTAL1/CLKIN5ns
Pulse duration, XT AL1/CLKIN low as a percentage of t
Pulse duration, XTAL1/CLKIN high as a percentage of t
t
w(CIH)
×4 mode
c(Cl)
] (see Figure 22)
c(CO)
4096t
MINMAXUNIT
133ns
4060%
4060%
t
r(Cl)
c(Cl)
ns
CLKOUT
66
t
t
c(CO)
w(COH)
t
w(COL)
t
r(CO)
t
f(CO)
Figure 22. CLKIN-to-CLKOUT Timing with PLL and External Clock in ×4 Mode
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
RS timings
ADVANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
switching characteristics over recommended operating conditions for a reset [H = 0.5t
(see Figure 23)
PARAMETERMINMAXUNIT
t
w(RSL1)
t
d(EX)
t
p
†
The parameter t
XTAL1/
CLKIN
RS
CLKOUT
A0–A15
Pulse duration, RS low
Delay time, reset vector executed after PLL lock time
PLL lock time (input cycles)
w(RSL1)
refers to the time RS is an output.
timing requirements for a reset [H = 0.5t
t
w(RSL)
t
w(RSL2)
t
d(EX)
‡
The parameter t
XTAL1/
CLKIN
RS
Pulse duration, RS low
Pulse duration, RS low
Delay time, reset vector executed after PLL lock time
refers to the time RS is an input
w(RSL)
†
V
op
†
t
w(RSL1)
‡
t
w(RSL)
t
p
Figure 23. Watchdog Reset Pulse
] (see Figure 24)
c(CO)
t
p
t
d(EX)
t
d(EX)
128t
c(CI)
36Hns
MINMAXUNIT
1ms
8t
c(CI)
36Hns
]
c(CO)
ns
4096cycles
ns
CLKOUT
A0–A15
Case A. Power-on reset
XTAL1/
CLKIN
t
t
RS
CLKOUT
A0–A15
†
Vop is the VCC voltage below which the device is non-operational, typically around 1.1 V .
switching characteristics over recommended operating conditions (see Figure 25)
PARAMETERMINMAXUNIT
t
d(XF)
timing requirements (see Figure 25)
t
su(BIO)CO
t
h(BIO)CO
CLKOUT
Delay time, CLKOUT high to XF high/low
Setup time, BIO or MP/MC low before CLKOUT low
Hold time, BIO or MP/MC low after CLKOUT low
t
d(XF)
MINMAXUNIT
–37ns
0ns
19ns
XF
BIO
MP/MC
t
su(BIO)CO
,
t
h(BIO)CO
Figure 25. XF and BIO Timing
68
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCTOBER 1999
TIMING EVENT MANAGER INTERFACE
PWM timings
PWM refers to PWM outputs on PWM1, PWM2, PWM3, PWM4, PWM5, PWM6, T1PWM, and T2PWM.
switching characteristics over recommended operating conditions for PWM timing
[H = 0.5t
t
w(PWM)
t
d(PWM)CO
†
PWM outputs may be 100%, 0%, or increments of t
†
] (see Figure 26)
c(CO)
PARAMETERMINMAXUNIT
Pulse duration, PWM output high/low
Delay time, CLKOUT low to PWM output switching
c(CO)
2H+5ns
with respect to the PWM period.
15ns
timing requirements‡ [H = 0.5t
t
w(TMRDIR)
t
w(TMRCLK)
t
wh(TMRCLK)
t
c(TMRCLK)
‡
Parameter TMRDIR is equal to the pin TDIR, and parameter TMRCLK is equal to the pin TCLKIN.
CLKOUT
PWMx
Pulse duration, TMRDIR low/high
Pulse duration, TMRCLK low as a percentage of TMRCLK cycle time
Pulse duration, TMRCLK high as a percentage of TMRCLK cycle time
Cycle time, TMRCLK
The SPISTE signal must be active before the SPI communication stream starts; the SPISTE signal must remain active
until the SPI communication stream is complete.
The SPISTE signal must be active before the SPI communication stream starts; the SPISTE signal must remain active until
the SPI communication stream is complete.
The MASTER/SLAVE bit (SPICTL.2) is cleared and the CLOCK PHASE bit (SPICTL.3) is cleared.
‡
tc = system clock cycle time = 1/CLKOUT = t
§
The active edge of the SPICLK signal referenced is controlled by the CLOCK POLARITY bit (SPICCR.6).
Cycle time, SPICLK4t
Pulse duration, SPICLK high (clock polarity = 0)0.5t
Pulse duration, SPICLK low (clock polarity = 1)0.5t
Pulse duration, SPICLK low (clock polarity = 0)0.5t
Pulse duration, SPICLK high (clock polarity = 1)0.5t
Delay time, SPICLK high to SPISOMI valid
(clock polarity = 0)
Delay time, SPICLK low to SPISOMI valid (clock polarity = 1)0.375t
Valid time, SPISOMI data valid after SPICLK low
(clock polarity =0)
Valid time, SPISOMI data valid after SPICLK high
(clock polarity =1)
Setup time, SPISIMO before SPICLK low (clock polarity = 0)0
Setup time, SPISIMO before SPICLK high (clock polarity = 1)0
Valid time, SPISIMO data valid after SPICLK low
(clock polarity = 0)
Valid time, SPISIMO data valid after SPICLK high
The SPISTE signal must be active before the SPI communication stream starts; the SPISTE signal must remain active until
the SPI communication stream is complete.
The MASTER/SLAVE bit (SPICTL.2) is cleared and the CLOCK PHASE bit (SPICTL.3) is set.
‡
tc = system clock cycle time = 1/CLKOUT = t
§
The active edge of the SPICLK signal referenced is controlled by the CLOCK POLARITY bit (SPICCR.6).
Cycle time, SPICLK8t
Pulse duration, SPICLK high (clock polarity = 0)0.5t
Pulse duration, SPICLK low (clock polarity = 1)0.5t
Pulse duration, SPICLK low (clock polarity = 0)0.5t
Pulse duration, SPICLK high (clock polarity = 1)0.5t
Setup time, SPISOMI before SPICLK high (clock polarity = 0)0.125t
Setup time, SPISOMI before SPICLK low (clock polarity = 1)0.125t
Valid time, SPISOMI data valid after SPICLK high
(clock polarity =0)
Valid time, SPISOMI data valid after SPICLK low
(clock polarity =1)
Setup time, SPISIMO before SPICLK high (clock polarity = 0)0
Setup time, SPISIMO before SPICLK low (clock polarity = 1)0
Valid time, SPISIMO data valid after SPICLK high
(clock polarity = 0)
Valid time, SPISIMO data valid after SPICLK low
The SPISTE signal must be active before the SPI communication stream starts; the SPISTE signal must remain active until
the SPI communication stream is complete.
switching characteristics over recommended operating conditions for an external memory
interface read (see Figure 36)
PARAMETERMINMAXUNIT
t
d(COL–CNTL)
t
d(COL–CNTH)
t
d(COL–A)RD
t
d(COH–RDL)
t
d(COL–RDH)
t
d(COL–SL)
t
d(COL–SH)
t
h(A)COL
t
su(A)RD
t
h(A)RD
Delay time, CLKOUT low to control valid
Delay time, CLKOUT low to control inactive
Delay time, CLKOUT low to address valid
Delay time, CLKOUT high to RD strobe active
Delay time, CLKOUT low to RD strobe inactive high
Delay time, CLKOUT low to STRB strobe active low
Delay time, CLKOUT low to STRB strobe inactive high
Hold time, address valid after CLKOUT low
Setup time, address valid before RD strobe active low
Hold time, address valid after RD strobe inactive high
timing requirements [H = 0.5t
t
a(A)
t
su(D)RD
t
h(D)RD
t
h(AIV-D)
Access time, read data from address valid
Setup time, read data before RD strobe inactive high
Hold time, read data after RD strobe inactive high
Hold time, read data after address invalid
switching characteristics over recommended operating conditions for an external memory
interface write [H = 0.5t
t
d(COH–CNTL)
t
d(COH–CNTH)
t
d(COH–A)W
t
d(COH–RWL)
t
d(COH–RWH)
t
d(COL–WL)
t
d(COL–WH)
t
en(D)COL
t
d(COL–SL)
t
d(COL–SH)
t
h(A)COHW
t
su(A)W
t
su(D)W
t
h(D)W
t
dis(W-D)
Delay time, CLKOUT high to control valid
Delay time, CLKOUT high to control inactive
Delay time, CLKOUT high to address valid
Delay time, CLKOUT high to R/W low
Delay time, CLKOUT high to R/W high
Delay time, CLKOUT low to WE strobe active low
Delay time, CLKOUT low to WE strobe inactive high
Enable time, data bus driven from CLKOUT low
Delay time, CLKOUT low to STRB active low
Delay time, CLKOUT low to STRB inactive high
Hold time, address valid after CLKOUT high
Setup time, address valid before WE strobe active low
Setup time, write data before WE strobe inactive high
Hold time, write data after WE strobe inactive high
Disable time, data bus high impedance from WE high
NOTE A: ENA_144 when active low along with BVIS bits (10,9 set to 01 or 1 1) in register WSGR - IO@FFFFh, CLKOUT and VIS_OE will be visible
D[0:15]
t
t
d(COL–SL)
STRB
ENA_144
CLKOUT
VIS_OE
at pins xx (’LF240x) and xx (’LF240x), respectively. CLKOUT and VIS_OE indicate internal memory write cycles (program/data). During
VIS_OE cycles, the external bus will be driven. CLKOUT is to be used along with VIS_OE for trace capabilities.
t
d(COL–SH)
2H2H
d(COL–SL)
t
d(COL–SH)
Figure 37. Address Visibility Mode
84
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCT OBER 1999
external memory interface
ready-on-read
timings
switching characteristics over recommended operating conditions for an external memory
interface ready-on-read (see Figure 38)
PARAMETERMINMAXUNIT
t
d(COL–A)RD
Delay time, CLKOUT low to address valid
5ns
timing requirements for an external memory interface ready-on-read (see Figure 38)
MINMAXUNIT
t
h(RDY)COH
t
su(D)RD
t
v(RDY)ARD
t
su(RDY)COH
CLKOUT
PS, DS, IS, BR
Hold time, READY after CLKOUT high
Setup time, read data before RD strobe inactive high
Valid time, READY after address valid on read
switching characteristics over recommended operating conditions for an external memory
interface ready-on-write (see Figure 39)
PARAMETERMINMAXUNIT
t
d(COH–A)W
Delay time, CLKOUT high to address valid
timing requirements for an external memory interface ready-on-write [H = 0.5t
c(CO)
11ns
]
(see Figure 39)
MINMAXUNIT
t
h(RDY)COH
t
su(D)W
t
v(RDY)AW
t
su(RDY)COH
CLKOUT
PS, DS, IS, BR
A[0:15]
Hold time, READY after CLKOUT high
Setup time, write data before WE strobe inactive high
Valid time, READY after address valid on write
Setup time, READY before CLKOUT high
Wait Cycle
t
d(COH–A)W
–5ns
2H–12Hns
4ns
17ns
WE
D[0:15]
STRB
READY
t
v(RDY)AW
t
su(D)W
t
su(RDY)COH
t
h(RDY)COH
Figure 39. Ready-on-Write Timings
86
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
10-bit analog-to-digital converter (ADC)
ADV ANCE
INFORMATION
TMS320LF2407, TMS320LF2406, TMS320LF2402
TMS320LC2406, TMS320LC2404, TMS320LC2402
DSP CONTROLLERS
SPRS094C – APRIL 1999 – REVISED OCT OBER 1999
The 10-bit ADC has a separate power bus for its analog circuitry . These pins are referred to as V
CCA
and V
The power bus isolation is to enhance ADC performance by preventing digital switching noise of the logic
circuitry that can be present on VSS and VCC from coupling into the ADC analog stage. All ADC specifications
are given with respect to V
operating characteristics over recommended operating condition ranges
PARAMETERDESCRIPTIONMINMAXUNIT
V
= 3.3 V
pp
CCA
C
ai
E
DNL
E
INL
t
d(PU)
Z
AI
†
Absolute resolution = 4.89 mV . At V
size decreases. Therefore, the absolute accuracy and differential/integral linearity errors in terms of LSBs increase.
og supply current
Analog input capacitance
Differential nonlinearity error
Integral nonlinearity error
Delay time, power-up to ADC validTime to stabilize analog stage after power-up10ms
Analog input source impedance
= 3.3 V and V
REFHI
CCA
V
= V
CCA
Typical capacitive load on
analog input pin
Difference between the actual step width and the ideal
value
Maximum deviation from the best straight line through
the ADC transfer characteristics, excluding the
quantization error
Analog input source impedance for conversions to
remain within specifications at min t
= 0 V, this is one LSB. As V
REFLO
REFHI
= 3.3 V
Converting10
Non-converting2
PLL or OSC power
down
Non-sampling10
Sampling30
w(SH)
decreases, V
REFHI
REFLO
†
mA
1mA
pF
"2LSB
"2LSB
10Ω
increases, or both, the LSB
88
POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443
TMS320LF2407, TMS320LF2406, TMS320LF2402
ADVANCE
INFORMATION
TMS320LC2406, TMS320LC2404, TMS320LC2402
internal ADC module timings (see Figure 40)
t
c(AD)
t
w(SHC)
t
w(SH)
t
w(C)
t
d(SOC-SH)
t
d(EOC-FIFO)
t
d(ADCINT)
†
The total sample/hold and conversion time is determined by the summation of t
‡
Can be varied by ACQ Prescalar bits in the ADCCTRL1 register
Bit Converted
ADC Clock
Analog Input
Cycle time, ADC prescaled clock33.3ns
Pulse duration, total sample/hold and conversion time
Pulse duration, sample and hold time2t
Pulse duration, total conversion time10t
Delay time, start of conversion to beginning of sample and hold3t
Delay time, end of conversion to data loaded into result register2t