Series of Digital Signal Processor chips From Wikipedia, the free encyclopedia
TMS320 is a blanket name for a series of digital signal processors (DSPs) from Texas Instruments. It was introduced on April 8, 1983, through the TMS32010 processor, which was then the fastest DSP on the market.
This series of processors are used as a digital signal processing co-processor and as the main CPU in some applications. Newer implementations support standard IEEE JTAG control for boundary scan and/or in-circuit debugging.
The original TMS32010 and its subsequent variants are an example of a CPU with a modified Harvard architecture, which features separate address spaces for instruction and data memory but the ability to read data values from instruction memory. The TMS32010 featured a fast multiply-and-accumulate operation useful in both DSP applications as well as transformations used in computer graphics. The graphics controller card for the Apollo Computer DN570 Workstation, released in 1985, was based on the TMS32010 and could transform 20,000 2D vectors per second.[clarification needed]
The TMS320 architecture has been around for a while so a number of product variants have developed. The product codes used by Texas Instruments after the first TMS32010 processor have involved a series of processor named "TMS320Cabcd", where a is the main series, b the generation and cd is some custom number for a minor sub-variant.
For this reason, those working with DSPs often abbreviate a processor as "C5x" when the actual name is, for example, TMS320C5510, since all products have the name "TMS320", and all processors with "C5" in the name are code compatible and share the same basic features. Similarly, a subgrouping may be referred to as, for example, C55x, as processors in the same series and generation are even more similar.
TMS320C1x, first generation 16-bit fixed-point DSPs. All processors in these series are code-compatible with the TMS32010
TMS32010, the very first processor in the first series introduced in 1983, using external memory
TMS320M10, the same processor but with an internal ROM of 3KB
TMS320C10, TMS320C15, TMS320C25, etc
TMS320C2x, second generation 16-bit fixed-point DSPs. All processors in these series are object-code compatible with the TMS32020 and source-code compatible with the TMS32010
TMS32020, first processor in the second series
TMS320C25, 40MHz CMOS version with greatly enhanced feature set
TMS320C25-50, 50MHz version of the TMS320C25
TMS320E25, identical to the TMS320C25, except with EPROM used for the 4K-word on-chip program store rather than ROM[3]
TMS320C3x, 32-bit floating point
TMS320C30, 27 to 50MHz, 8 KB internal SRAM, 5 Volt
TMS320C31, 27 to 60MHz, 8 KB internal SRAM, 5 Volt, subset of TMS320C30 by removing 2nd serial port, removing 2nd memory bus, replacing user ROM with factory ROM bootloader
TMS320LC31, 33 to 40MHz, 3.3 Volt version of TMS320C31
TMS320C32, 40 to 60MHz, 2 KB internal SRAM, 5 Volt, adds 2nd DMA coprocessor, changes external memory bus to allow 8/16/32-bit wide memory access where as other C3x parts are 32-bit only
TMS320VC33, 60 to 75MHz, 136 KB internal SRAM, 3.3 Volt I/O with 1.8 Volt Core, superset of TMS320C31 by adding 128KB internal SRAM
TMS320C4x, 32-bit floating point
TMS320C40, 40/50/60/80MHz, cycle time 50/40/33/25 ns, CMOS,[4] is equipped with three branch delay slots and supports both delayed and non-delayed branch instructions.[5]
TMS320C80 MVP (multimedia video processor) has a 32 bit floating-point "master processor" and four 32-bit fixed-point "slave processors". In many ways the Cell microprocessor followed this design approach
C2000 microcontroller family consists of 32-bit microcontrollers with performance integrated peripherals designed for real-time control applications. C2000 consists of 5 sub-families: the newer C28x + ARM Cortex M3 series, C28x Delfino floating-point series, C28x Piccolo series, C28x fixed-point series, and C240x, an older 16-bit line that is no longer recommended for new development. The C2000 series is notable for its high performance set of on-chip control peripherals including PWM, ADC, quadrature encoder modules, and capture modules. The series also contains support for I²C, SPI, serial (SCI), CAN, watchdog, McBSP, external memory interface and GPIO. Due to features like PWM waveform synchronization with the ADC unit, the C2000 line is well suited to many real-time control applications. The C2000 family is used for applications like motor drive and control, industrial automation, solar and other renewable energy, server farms, digital power, power-line communications, and lighting. A line of low cost kits are also available for specific applications including motor control, digital power, solar, and LED lighting.
C5000 series
TMS320C54x 16-bit fixed-point DSP, 6 stage pipeline with in-order-execution of opcodes, parallel load/store on arithmetic operations, multiply accumulate and other DSP enhancements. Internal multi-port memory. no cache unit.[7]
A popular choice for 2G Software defined cellphone radios, particularly GSM, circa late 1990s when many Nokia and Ericsson cell phones made use of the C54x.[citation needed]
At the time, desire to improve the user interface of cellphones led to the adoption of ARM7 as a general-purpose processor for user interface and control, off-loading this function from the DSP. This ultimately led to the creation of a dual core ARM7+C54x DSP, which later evolved into the OMAP product line.
TMS320C55x generation – fixed-point, runs C54x code but adds more internal parallelism (another ALU, dual MAC, more memory bandwidth) and registers, while supporting much lower power operation.
Today, most C55x DSPs are sold as discrete chips
OMAP1 chips combine an ARM9 (ARMv5TEJ) with a C55x series DSP.
OMAP2420 chips combine an ARM11 (ARMv6) with a C55x series DSP.
C6000 series
TMS320 C6000 series, or TMS320C6x: VLIW-based DSPs
TMS320C67x floating point – code compatible with TMS320C62x
TMS320C64x fixed-point – code compatible with TMS320C62x
TMS320C67x+ floating point – architectural update of TMS320C67x
TMS320C64x+ fixed-point – major architectural update of TMS320C64x
TMS320C674x fixed- and floating point – merger of C64x+ and C67x+
TMS320C66x fixed- and floating point – backwards compatible with C674x
Other parts with C6000 series DSPs include
DaVinci chips include one or both of an ARM9 and a C64x+ or C674x DSP
OMAP-L13x chips include an ARM9 (ARMv5TEJ) and a C674x fixed and floating point DSP
OMAP243x chips combine an ARM11 (ARMv6) with a C64x series DSP
OMAP3 chips include an ARM Cortex-A8 (ARMv7) with a C64x+ DSP
OMAP4 and OMAP5 chips include an ARM Cortex-A9 or A15 (ARMv7) with a custom C64x+ derivative known as Tesla (or C64T)
C7000 series
The C7000 series was released in early 2020, but cores are not available individually. As of August 2023, they are only available bundled inside other SOCs, such as the TDA4VM, which features a C71x DSP.
DaVinci series
The DaVinci series started with systems-on-a-chip using an embedded C6000 series (C64x+) DSP, ARM9 application processors, and Digital Media peripherals. There are variants without ARMs, and without DSPs. Their marketing focuses on their video processing capabilities. Original chips supported NTSC and PAL, while newer ones support HDTV.
OMAP variants
OMAP variants also have an ARM processor in the same chip; see the main article on Texas Instruments OMAP. (There are also OMAP processors with other secondary processors, so these are not necessarily DSPs.)
DA variants
DA variants (target "Digital audio")
DA25x is an ARM processor and a C55x core. It has some on-chip peripherals like a USB slave controller and security features. Documentation of this chip is only available after signing a Texas Instruments NDA. These variants are used exclusively in the Creative ZEN and Dell Digital JukeboxMP3 players, as the primary CPU and signal processor for all processing of MP3 data streams.
TMS320DA7xx Aureus chips are built around C67x+ DSPs
DA830/DA828 Aureus chips are based on the OMAP-L137, and include a 300MHz C674x DSP and a 300MHz ARM926ES-J core.[8] The DA828 variant has reduced I/O and comes in a 176-pin TQFP package instead of a 256-ball PBGA.
DA610/601 is a processor with a C67x core. It has on chip peripherals needed to connect to audio codecs for a 5.1 or 7.1 system. This chip is used in the YAMAHA high end receivers: RX-V1400, RX-V2400, RX-V1600, RX-V2600, RX-V2500.[9]
Around 1991, a CMOS-version of the TMS32020 was manufactured by ZMD under the designation U320C20FC.[10]
A number of devices from the TMS320 series are in production at NIIET Voronezh as the 1867 series,[11] including a radiation-hardened version of the TMS320C25 under the designation 1867VM7T (Russian: 1867ВМ7Т). Clones of the TMS320C546 went into production at PKK Milandr Moscow in 2009 under the designation 1967VC1T (Russian: 1967ВЦ1Т)[12] and in 2016 at MVC Nizhny Novgorod as 1910VM1T (Russian: 1910ВМ1Т).[13] PKK Milandr also manufactures a TMS320C54x with an additional ARM core as the 1901VC1T (Russian: 1901ВЦ1Т).[14]
In November 2007, TI released part of its toolchain as freeware for non-commercial users, offering the bare compiler, assembler, optimizer and linker under a proprietary license.[16][17] However, neither the IDE nor a debugger were included, so for debugging and JTAG access to the DSPs, users still need to purchase the complete toolchain.
In 2010, Texas Instruments contracted CodeSourcery (the assignment later transferred to Mentor Graphics as part of their acquisition) to provide deep integration and support for the C6x series in GCC, as part of their effort to port the Linux kernel to C6x. This culminated in C6x being a supported architecture in GCC release 4.7 on March 22, 2012.[18]
Jan Parthey and Robert Baumgartl, Porting GCC to the TMS320-C6000 DSP Architecture, Appeared in the Proceedings of GSPx’04, Santa Clara, September 2004,