Why does TI have so many microcontrollers?
I am a TI employee who works in an MCU development group, but this is not an official statement from TI. In particular, this is not an official statement about roadmaps or priorities. Also, I'm not in marketing, so if I contradict any of our marketing material, they're right and I'm wrong. :-)
M D's answer is correct, but I thought some more detail would be helpful. TI targets different applications with different requirements. When you're competing for an MCU socket (and there is a lot of competition in this industry), both features and price matter. A ten cent cost difference can win or lose the socket. One of the main drivers of cost is die size -- how much stuff is on the chip. Thus, it makes sense to have different product lines, and different families within those product lines. Product lines differ mainly in peripheral types and architecture, while families within a line products differ mainly in terms of cost and feature set.
Here are some details on the product lines:
- Hercules is a continuation of the TMS470/TMS570 line. It's focused on safety and performance. One of the key features of Hercules is dual CPUs running the same code in parallel ("lock-step"). This lets you immediately detect faults in the CPU itself. Check out this datasheet for some performance info on a newer product. The Cortex-R5F CPU runs at >300 MHz, and there's a large number of peripherals with higher-end features -- the CAN modules have 64 mailboxes, for example. Obviously, this stuff isn't cheap. But look at the applications -- defibrillators, ventilators, elevators, insulin pumps... these are places where customers are willing to pay for safety. Hercules also goes into automotive products that have a wider temperature range and longer operating life.
- C2000's focus is on supporting control algorithms. The C28x "CPU" is really a DSP, and its instruction set has been extended to handle things like trigonometry and complex numbers. There's also a separate task-based processor called the Control Law Accelerator (CLA) that can run control algorithms independently of the CPU. The ADCs and PWMs support a lot of timing options, too. Performance varies from midrange (Piccolo) to high-end (dual-core Delfino). The big applications here are power converters, power line communication, industrial drives, and motor control.
- MSP430 is all about low power. They have some products that use FRAM (ferroelectric nonvolatile memory), which uses less power than flash, and even one that runs off of 0.9V (one battery). They have some less-common peripherals to support things like LCDs and capacitive touch sensing. Look through their datasheets and you'll see applications like remote sensors, smoke alarms, and smart meters.
- I don't know much about the Wireless MCU group, but obviously wireless connectivity has its own special requirements. They seem to have Cortex-M and MSP430 CPUs, with applications in consumer electronics and the Internet of Things. IoT has been a big buzzword for a while now, so I'd imagine that's one of their main targets. Their newest (?) product is described as an "Internet-on-a-chip™ solution". UPDATE: Fellow TIer justinrjy commented with more info about Wireless/Connectivity MCUs: "'Wireless MCU' products are distinguished by having a processor core that runs the drivers/stack of the wireless protocol. For instance, the CC26xx runs the entire BLE stack on the uC itself, making it really easy to develop for. Same with the CC3200, except that processor runs the WiFi drivers all on the Cortex-M4. The integrated core and drivers are really what make these a 'Wireless MCU', instead of a transceiver."
As you can see, these product lines are targeting very different applications with very different requirements. Putting a 300 MHz Hercules chip into a battery-powered device would be a disaster, but so would putting an MSP430 into an airbag. Physical size can also matter. A 337-pin BGA package is awkward to fit in a tiny sensor, but it's nothing for a piece of industrial equipment.
Within the product lines, there are multiple families. C2000 Delfino devices are faster, have more peripherals, and have more pins on their packages. They can also cost (at least) twice as much as a Piccolo device. Which one do you need? It depends on your application. MSP430 has some products that balance power consumption and performance, and others that focus solely on low power. (That one-battery MCU maxes out at 4 MHz and 2 kB of RAM.)
There are many products within each family because new products are developed all the time. Transistors get smaller/cheaper, so more stuff can go on a chip. A mid-range MCU today would have been ultra-high-end ten years ago. Each product is usually made to target a few specific applications and support others where possible.
Finally, there are multiple variants of each product (AKA the last digit in the part number). These usually have different amounts of memory and (maybe) small variations in what peripherals are available. Again, this is all about providing a price range.
The short version is that each product provides a different balance of price, performance, and features. It's plain old market segmentation. Our customers are manufacturers, who care much more about small price differences than end users. People buy every part number we have, so clearly the demand is out there. :-)
UPDATE: Jeremy asked how the requirements of big customers affect the design process, and whether we make custom MCUs. I've seen several TMS470/570 MCUs that were made for a single large automotive customer. That group also had a couple MCUs whose architectures were designed by and for one customer. In at least one of those, the customer wrote most of the RTL. Those are under heavy NDA restrictions, so I can't give details.
General market products usually have at least one big customer in mind. Sometimes big customers get a special part number. Sometimes we'll add a peripheral just to win a big socket. But in general, I think big customers are more of a floor than a ceiling when it comes to features.
An extreme example of custom parts is our high-reliability group. I've only heard stories about these guys, but apparently they take existing products and remake them to work in extreme conditions -- high temperatures, radiation, people shooting at you, etc. I know someone who buys HiRel TMS470s for down-hole drilling, where the temperature can reach 200C. (Maybe this one -- in stock at Arrow for only $400/chip!) They have a bunch of standard products listed on the web site, but from what I've heard, they can build to order even in small quantities -- you can buy a dozen HiRel versions of any chip you want if you're willing to spend $50,000+ per chip. :-)
As a rule of thumb, everything in business is negotiable if you're spending enough money.
MSP430 was/is a TI developed core. It is a 16-bit core and has been marketed as extremely low power. Because the 16-bit MCU market is quickly evaporating with the proliferation of the Arm Cortex-M0, there are newer MSP430s that are based on the Cortex core. The older MPS430s are typically competing for 8-bit sockets now.
Stellaris, rebranded as Tiva, is the former Luminary Micro MCUs. That company was acquired by TI maybe 6 or 7 years ago. These were (are?) Cortex-M3/M4 based devices. More capable/powerful than the MSP430 in most circumstances.
C2000 (Piccolo/Delfino/etc.) are targeted at real-time control (motor control, power conversion/regulation, etc.). This family also has lower end DSP functionality. Targeted more at industrial, and perhaps some automotive (one of the few automotive qualified TI MCUs).
Hercules are focused on safety. Redundancy, run-time error checking, BIST, lots of watchdog functionality. Safety critical applications.
There are several other parts that have some mix of features and/or niche functionality (i.e., integrated wireless, dual core, FRAM, etc.). And then there are the more capable DSPs and Microprocessors offered, as well.
What is your application? Volume? Development timeline? What peripherals/resources do you need? How much - and what kind - of processing power is required? Can you get by with the lower performance analog peripherals of the MCU, or will you be doing all signal path processing externally/discretely? There are many factors in choosing a processor/controller for a particular system/application.
Microchip is another company that has a complete line of microcontrollers -- over 4,000 stocked at Digi-Key, including all package variants. Like TI, they span the gamut from 8 bit to 32-bit:
~2700 8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM
Note the smallest is spec'ed in bytes, not KB.
They range in price from 35¢ to $13.36 in single quantities. I imagine the lowest priced ones may go for under 20¢ in large quantities. Maybe even 10¢ for untested ones (where the customer does acceptance testing instead of the manufacturer). The cheapest 32-bit ARM is twice as much in single quantities at 76¢. For a high volume product, that is a big difference. The PIC10F200 is the cheapest µC of all the nearly 15,000 that Digi-Key stocks.
Microchip also has an excellent reputation for maintaining stocks of its older µC's (listed in the product selector below as "Mature"), which is another thing to consider.
How to make sense of all of that? Use a product selector. Digi-Key, Mouser and other distributors have fairly good ones, but they don't include all parameters (Digi-Key's µC product selector has less than 20, the table below has over 50). Microchip (and I imagine other manufacturers) have more extensive ones, such as the one below. Note that you can give ranges for almost all of the parameters:
Now with Microchip's acquisition of Atmel it will be interesting to see what happens. Seems there is quite a bit of overlap in some lines.