Warum hat TI so viele Mikrocontroller?

44

Ich arbeite mit einer Gruppe an einem Projekt und bin für den digitalen Teil des Projekts verantwortlich, daher werde ich den Code schreiben. Um von analog zu digital zu wechseln, muss ich einen Mikrocontroller auswählen.

Ich habe mir TI-Mikrocontroller angesehen und festgestellt, dass sie so viele haben. Sie haben:

  • Stellaris

  • Herkules

  • MSP430-Serie

  • Und die Liste geht einfach weiter ..

Meine Fragen:

  • Welchen Mikrocontroller benutzt man und warum?

  • Unter welchen Bedingungen sollte ich den Mikrocontroller X anstelle von Y verwenden?

  • Warum gibt es so viele verschiedene Mikrocontroller?

Andy_A̷n̷d̷y̷
quelle
5
Weil Sie sich für Ihre Anforderungen entscheiden, suchen und finden Sie eine, die zu 90% passt, anstatt nur eine zu kaufen, die alles kann, und 150% mehr für den dreifachen Preis.
PlasmaHH
4
@PlasmaHH 90% ist keine gute Wahl :)
Eugene Sh.
39
Warum gibt es so viele Autos, aus denen ich wählen kann, wenn ich nur zu meiner Arbeit pendeln möchte?
Wouter van Ooijen
9
Super-Mega ungefähr: 1) MSP430: Anwendungen mit geringem Stromverbrauch und Batterieverbrauch; 2) C2000: Motorsteuerung und Leistungselektronik; 3) Tiva (TM4C): Allzweck-ARM-Prozessoren; 4) Sitara: viel fortgeschrittener (Cortex A8, A9 und so weiter), Sie können Linux darauf ausführen; 5) Herkules: Sicherheitsanwendungen. Es gibt auch viele DSPs (C5000 und C6000). Dieser Link könnte hilfreich sein. Auch TI hat viele Auswahl-Guides- Link, den ich persönlich nicht einmal 10% von ihnen verwendet habe, also kann ich nicht mehr sagen ...
GAttuso
9
Ein Teil der Antwort ist, dass TI eine Reihe von erfolgreichen und semi-erfolgreichen Mikrocontrollerherstellern gekauft und diese Linien weiterentwickelt und produziert hat.
DoxyLover

Antworten:

123

Ich bin ein TI-Mitarbeiter, der in einer MCU-Entwicklungsgruppe arbeitet, aber dies ist keine offizielle Aussage von TI. Dies ist insbesondere keine offizielle Aussage zu Roadmaps oder Prioritäten. Außerdem beschäftige ich mich nicht mit Marketing. Wenn ich also einem unserer Marketingmaterialien widerspreche, haben sie Recht und ich liege falsch. :-)

Die Antwort von MD ist richtig, aber ich dachte, ein paar Details wären hilfreich. TI zielt auf unterschiedliche Anwendungen mit unterschiedlichen Anforderungen ab. Wenn Sie um einen MCU-Sockel konkurrieren (und in dieser Branche herrscht große Konkurrenz), sind sowohl die Funktionen als auch der Preis von Bedeutung. Ein Kostenunterschied von zehn Cent kann den Sockel gewinnen oder verlieren. Einer der Hauptkostentreiber ist die Größe des Chips - wie viel Material auf dem Chip ist. Daher ist es sinnvoll, verschiedene Produktlinien und verschiedene Familien innerhalb dieser Produktlinien zu haben. Produktlinien unterscheiden sich hauptsächlich in Bezug auf Peripherietypen und Architektur, während sich Familien innerhalb einer Produktlinie hauptsächlich in Bezug auf Kosten und Funktionsumfang unterscheiden.

Hier einige Details zu den Produktlinien:

  • Hercules ist eine Fortsetzung der TMS470 / TMS570-Linie. Es konzentriert sich auf Sicherheit und Leistung. Eines der Hauptmerkmale von Hercules sind Dual-CPUs, auf denen derselbe Code parallel ausgeführt wird ("Lock-Step"). So können Sie Fehler in der CPU selbst sofort erkennen. In diesem Datenblatt finden Sie einige Informationen zur Leistung eines neueren Produkts. Die Cortex-R5F-CPU arbeitet mit> 300 MHz, und es gibt eine große Anzahl von Peripheriegeräten mit höheren Leistungsmerkmalen - die CAN-Module verfügen beispielsweise über 64 Mailboxen. Offensichtlich ist dieses Zeug nicht billig. Aber schauen Sie sich die Anwendungen an - Defibrillatoren, Beatmungsgeräte, Aufzüge, Insulinpumpen ... dies sind Orte, an denen Kunden bereit sind, für die Sicherheit zu bezahlen. Hercules wird auch für Automobilprodukte eingesetzt, die einen größeren Temperaturbereich und eine längere Lebensdauer aufweisen.
  • Der Schwerpunkt von C2000 liegt auf der Unterstützung von Steuerungsalgorithmen. Die "CPU" des C28x ist in Wirklichkeit ein DSP, und ihr Befehlssatz wurde erweitert, um Dinge wie Trigonometrie und komplexe Zahlen zu handhaben. Es gibt auch einen separaten aufgabenbasierten Prozessor namens Control Law Accelerator (CLA), mit dem Steuerungsalgorithmen unabhängig von der CPU ausgeführt werden können. Die ADCs und PWMs unterstützen auch viele Timing-Optionen. Die Leistung variiert zwischen dem mittleren Bereich ( Piccolo ) und dem oberen Bereich ( Dual-Core-Delfino ). Die großen Anwendungen sind hier Stromrichter, Stromleitungskommunikation, industrielle Antriebe und Motorsteuerung.
  • Beim MSP430 dreht sich alles um geringen Stromverbrauch. Sie haben einige Produkte , die FRAM (ferroelektrischer nichtflüchtiger Speicher) verwenden, der weniger Strom verbraucht als Flash, und sogar einen mit 0,9 V (eine Batterie). Sie verfügen über einige weniger verbreitete Peripheriegeräte zur Unterstützung von LCDs und kapazitiver Berührungserkennung. Durchsuchen Sie die Datenblätter und sehen Sie Anwendungen wie Fernsensoren, Rauchmelder und intelligente Messgeräte.
  • Ich weiß nicht viel über die Wireless-MCU-Gruppe, aber die Wireless-Konnektivität hat natürlich ihre eigenen speziellen Anforderungen. Sie scheinen Cortex-M- und MSP430-CPUs mit Anwendungen in der Unterhaltungselektronik und im Internet der Dinge zu haben. IoT ist seit einiger Zeit ein großes Schlagwort, daher würde ich mir vorstellen, dass dies eines ihrer Hauptziele ist. Ihr neuestes (?) Produkt wird als "Internet-on-a-Chip ™ -Lösung" bezeichnet. AKTUALISIEREN"" "Wireless - MCU - Produkte zeichnen sich durch einen Prozessorkern aus, auf dem die Treiber / der Stack des Wireless - Protokolls ausgeführt werden. Der CC26xx führt beispielsweise den gesamten BLE - Stack auf dem PC aus uC selbst, was die Entwicklung sehr einfach macht. Das Gleiche gilt für den CC3200, mit der Ausnahme, dass der Prozessor die WiFi-Treiber auf dem Cortex-M4 ausführt. Der integrierte Kern und die Treiber machen diesen Computer zu einer drahtlosen MCU und nicht zu einem Transceiver . "

Wie Sie sehen, richten sich diese Produktlinien an sehr unterschiedliche Anwendungen mit sehr unterschiedlichen Anforderungen. Das Einsetzen eines 300-MHz-Hercules-Chips in ein batteriebetriebenes Gerät wäre eine Katastrophe, aber auch das Einsetzen eines MSP430 in einen Airbag. Die physische Größe kann ebenfalls von Bedeutung sein. Ein 337-poliges BGA-Gehäuse passt zwar umständlich in einen winzigen Sensor, ist aber nichts für industrielle Geräte.

Innerhalb der Produktlinien gibt es mehrere Familien. C2000 Delfino-Geräte sind schneller, haben mehr Peripheriegeräte und mehr Pins in ihren Paketen. Sie können auch (mindestens) doppelt so viel kosten wie ein Piccolo-Gerät. Welches brauchst du? Das hängt von Ihrer Anwendung ab. Der MSP430 bietet einige Produkte, die Stromverbrauch und Leistung in Einklang bringen, und andere, die sich ausschließlich auf niedrigen Stromverbrauch konzentrieren. (Diese Ein-Batterie-MCU erreicht eine maximale Kapazität von 4 MHz und 2 kB RAM.)

Es gibt viele Produkte in jeder Familie, da ständig neue Produkte entwickelt werden. Transistoren werden kleiner / billiger, so dass mehr Material auf einen Chip gelangen kann. Eine MCU mit mittlerer Reichweite wäre vor zehn Jahren Ultra-High-End gewesen. Jedes Produkt zielt in der Regel auf einige wenige spezifische Anwendungen ab und unterstützt andere, sofern dies möglich ist.

Schließlich gibt es mehrere Varianten von jedem Produkt (AKA die letzte Ziffer in der Teilenummer). Diese haben normalerweise unterschiedliche Speicherkapazitäten und (möglicherweise) geringe Schwankungen der verfügbaren Peripheriegeräte. Auch hier geht es darum, eine Preisspanne bereitzustellen.

Die kurze Version ist, dass jedes Produkt ein anderes Gleichgewicht zwischen Preis, Leistung und Funktionen bietet. Es ist eine einfache alte Marktsegmentierung. Unsere Kunden sind Hersteller, denen kleine Preisunterschiede viel wichtiger sind als Endverbraucher. Die Leute kaufen jedes Teil, das wir haben, also ist die Nachfrage eindeutig da draußen. :-)

UPDATE: Jeremy fragte, wie sich die Anforderungen großer Kunden auf den Designprozess auswirken und ob wir kundenspezifische MCUs herstellen. Ich habe mehrere TMS470 / 570-MCUs gesehen, die für einen einzelnen großen Automobilkunden hergestellt wurden. Diese Gruppe hatte auch ein paar MCUs, deren Architekturen von und für einen Kunden entworfen wurden. In mindestens einem davon hat der Kunde den größten Teil der RTL geschrieben. Diese unterliegen strengen NDA-Beschränkungen, daher kann ich keine Details angeben.

Allgemeine Marktprodukte haben in der Regel mindestens einen großen Kunden im Sinn. Manchmal erhalten Großkunden eine spezielle Teilenummer. Manchmal fügen wir ein Peripheriegerät hinzu, um einen großen Sockel zu gewinnen. Generell denke ich jedoch, dass große Kunden in Bezug auf Funktionen eher eine Etage als eine Decke sind.

Ein extremes Beispiel für kundenspezifische Teile ist unsere Gruppe mit hoher Zuverlässigkeit. Ich habe nur Geschichten über diese Typen gehört, aber anscheinend nehmen sie vorhandene Produkte und lassen sie unter extremen Bedingungen wieder funktionieren - hohe Temperaturen, Strahlung, Leute, die auf Sie schießen usw. Ich kenne jemanden, der HiRel TMS470 zum Bohren von Löchern kauft , wo die Temperatur 200C erreichen kann. (Vielleicht dieses hier - bei Arrow für nur 400 US-Dollar / Chip!) Sie haben eine Reihe von Standardprodukten auf der Website aufgelistet, aber wie ich gehört habe, können sie diese auch in kleinen Mengen auf Bestellung fertigen - Sie Sie können ein Dutzend HiRel-Versionen eines beliebigen Chips kaufen, wenn Sie bereit sind, mehr als 50.000 USD pro Chip auszugeben. :-)

Als Faustregel gilt, dass alles im Geschäft verhandelbar ist, wenn Sie genug Geld ausgeben.

Adam Haun
quelle
3
Wow was für eine Antwort! Fantastisch! Vielen Dank, Sir, dass Sie sich etwas Zeit genommen und meine Frage gründlich beantwortet haben. Ich liebe TI, und ich würde gerne eines Tages für TI arbeiten. Ihr macht großartige Dinge bei TI.
Andy_A̷n̷d̷y̷
4
@ Jeremy: Für genug Geld kann man im Grunde alles bekommen (das Geld könnte man kaufen). Beachten Sie jedoch, dass Ihre Vorstellung von "großem Volumen" und die des Herstellers möglicherweise nicht genau übereinstimmen. Ich erinnere mich, dass es der RaspberryPi Foundation wirklich schwer gefallen ist, mit Broadcom Geschäfte zu machen, da sie (Broadcom) normalerweise keine so "niedrigen" Zahlen haben ...
DevSolar
5
Zehn Cent? Ich habe einmal an einem Ort gearbeitet, an dem es für einen leitenden Ingenieur mehr als ein Jahr wert war, 1/10 Cent der Produktionskosten zu sparen. In dieser Größenordnung kauften sie natürlich keine diskreten MCUs: Sie lizenzierten das IP und verwendeten es in vollständig benutzerdefinierten ASIC-Designs.
Solomon Slow
4
TI Applications Engineer meldet sich hier zu Wort - möglicherweise kann ich die Lücke in Bezug auf Informationen zum Bereich Connectivity / Wireless MCU schließen! "Wireless MCU" -Produkte zeichnen sich durch einen Prozessorkern aus, auf dem die Treiber / Stapel des Wireless-Protokolls ausgeführt werden. Beispielsweise führt der CC26xx den gesamten BLE-Stack auf dem uC selbst aus, was die Entwicklung für ihn sehr einfach macht. Das Gleiche gilt für den CC3200, außer dass der Prozessor die WLAN-Treiber auf dem Cortex-M4 ausführt. Der integrierte Kern und die integrierten Treiber machen diese Geräte zu einer "drahtlosen MCU" anstelle eines Transceivers.
Justinrjy
2
@ Rev1.0, Festplattenlaufwerke für Standard-PCs.
Solomon Slow
27

MSP430 war / ist ein von TI entwickelter Kern. Es handelt sich um einen 16-Bit-Kern, der als extrem stromsparend vermarktet wurde. Da sich der 16-Bit-MCU-Markt mit der Verbreitung des Arm Cortex-M0 schnell verflüchtigt, gibt es neuere MSP430, die auf dem Cortex-Kern basieren. Die älteren MPS430 konkurrieren derzeit normalerweise um 8-Bit-Sockets.

Stellaris, umbenannt in Tiva, ist die frühere Luminary Micro-MCU. Das Unternehmen wurde vor 6 oder 7 Jahren von TI übernommen. Dies waren (sind?) Cortex-M3 / M4-basierte Geräte. In den meisten Fällen leistungsstärker als der MSP430.

C2000 (Piccolo / Delfino / etc.) Sind auf Echtzeitsteuerung (Motorsteuerung, Leistungsumwandlung / -regelung usw.) ausgerichtet. Diese Familie hat auch eine niedrigere DSP-Funktionalität. Zielgruppe sind eher Industrie- und vielleicht einige Automobilhersteller (eine der wenigen für die Automobilindustrie qualifizierten TI-MCUs).

Herkules konzentriert sich auf Sicherheit. Redundanz, Laufzeitfehlerprüfung, BIST, viele Watchdog-Funktionen. Sicherheitskritische Anwendungen.

Es gibt mehrere andere Teile mit einer Mischung aus Funktionen und / oder Nischenfunktionen (z. B. integriertes Wireless, Dual Core, FRAM usw.). Und dann gibt es noch die leistungsfähigeren DSPs und Mikroprozessoren.

Was ist Ihre Bewerbung? Volumen? Entwicklungs-Timeline? Welche Peripheriegeräte / Ressourcen benötigen Sie? Wie viel - und welche - Rechenleistung wird benötigt? Kommen Sie mit den leistungsschwächeren analogen Peripheriegeräten der MCU zurecht oder erledigen Sie die gesamte Signalpfadverarbeitung extern / diskret? Es gibt viele Faktoren bei der Auswahl eines Prozessors / Controllers für ein bestimmtes System / eine bestimmte Anwendung.

MD
quelle
6
Die Niedrigleistungs-Cortex-Kerne werden als MSP432 bezeichnet, um sie (minimal) von MSP430 zu unterscheiden. Stellaris wurde Tiva. Und die Hercules-Serie ist selbst in Automobil- und Industrie- / Medizin-Serien unterteilt - hauptsächlich in Bezug auf den Temperaturbereich und die CAN-Unterstützung für Automobile, denke ich.
Brian Drummond
1
Zu einem Zeitpunkt des IIRC handelte es sich bei den Hercules um Cortex-Rx-Kerne, die mit Pipelines für Anweisungen mit zwei Lock-Step-Schritten ausgestattet waren. Bestimmt für den Einsatz in Bremssteuergeräten, Airbagmodulen usw.
Krunal Desai
1
Sehr gute Antwort. Sie scheinen viel über TI zu wissen. Ich wusste nicht, dass sie Luminary Micro MCU erworben haben. Vielen Dank für Ihre Zeit.
Andy_A̷n̷d̷y̷
18

Microchip ist ein weiteres Unternehmen, das über ein komplettes Sortiment an Mikrocontrollern verfügt - über 4.000 bei Digi-Key, einschließlich aller Paketvarianten. Wie TI erstrecken sie sich über den Bereich von 8 Bit bis 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

Beachten Sie, dass der kleinste Wert in Byte und nicht in KB angegeben wird.

Sie reichen im Preis von 35 ¢ bis 13,36 $ in Einzelmengen. Ich stelle mir vor, dass die billigsten für unter 20 ¢ in großen Mengen gehen können. Möglicherweise sogar 10 ¢ für ungeprüfte (bei denen der Kunde anstelle des Herstellers Abnahmetests durchführt). Der billigste 32-Bit-ARM ist mit 76 ¢ doppelt so hoch wie in Einzelmengen. Für ein Produkt mit hohen Stückzahlen ist das ein großer Unterschied. Der PIC10F200 ist die billigste uC von allen den fast 15.000 dass Digi-Key auf Lager.

Microchip hat auch einen ausgezeichneten Ruf für die Vorratshaltung seiner älteren µCs (im Produktselektor unten als "Mature" aufgeführt), was ebenfalls zu berücksichtigen ist.

Wie kann man das alles verstehen? Verwenden Sie eine Produktauswahl. Digi-Key, Mouser und andere Distributoren haben ziemlich gute, aber sie enthalten nicht alle Parameter (der µC-Produktselektor von Digi-Key hat weniger als 20, die folgende Tabelle enthält über 50). Microchip (und ich nehme an, andere Hersteller) haben umfangreichere Produkte, wie das folgende. Beachten Sie, dass Sie für fast alle Parameter Bereiche angeben können:

Bildbeschreibung hier eingeben

Nun, da Microchip Atmel übernommen hat, wird es interessant zu sehen, was passiert. Scheint, dass es in einigen Zeilen eine gewisse Überlappung gibt.

Tcrosley
quelle
15

Ohne genauer auf die Angebote von TI einzugehen (die hier bereits beantwortet wurden), möchte ich betonen, dass Sie Spezifikationen benötigen. Wenn Sie sie nicht haben, nehmen Sie an, dass es Ihre Aufgabe ist, sie zu identifizieren. Dies ist möglicherweise etwas überwältigend, wenn Sie neu sind. Nennen wir jedoch einige Spezifikationen, die in einem Projekt vorkommen können:

  • Was wird die MCU tun? Wird es durch die CPU-Zeit eingeschränkt? Machst du eine "Spezialverarbeitung" wie Fließkomma? Dies bestimmt den CPU-Kern und die erforderliche Taktrate.

  • Oder ist es durch die Akkulaufzeit eingeschränkt? Wenn ja; Sie müssen die Standby-Modi untersuchen, die ein Mikrocontroller zu bieten hat, die Latenz zum Aufwecken, die Aufweckquellen, die Spannungsschiene für digital und analog (z. B. wenn Sie ihn direkt von der Batterie versorgen) usw. Beachten Sie außerdem alle E / A auch im System. Sie können einen großartigen Mikrocontroller haben, der im Schlaf 50nA verbraucht - aber es ist vernachlässigbar, wenn z. B. ein LDO oder ein EEPROM 10uA im Ruhezustand verbraucht.

  • Welches Paket können / müssen Sie verwenden? Wie viele Stifte und welche Technologie? Wie viel Platz hast du, was kannst du zusammenbauen?

  • Wie viel Code wirst du dafür schreiben? Haben Sie eine Idee, wie viel RAM / FLASH Sie benötigen? Einige praktische Erfahrungen auf einem Devboard können dabei helfen.

  • Welche Schnittstellen benötigen Sie für Ihr Systemdesign und wie möchten Sie diese verwenden? Grundlegende Startpunkte:

1) Geschwindigkeitsbeschränkungen (zB ich benötige einen USART mit 3MBaud)

2) Einschränkungen hinsichtlich der Portanzahl (z. B. ich benötige 5 USARTs)

3) Durchsatzbeschränkungen (z. B. ich benötige DMA, um 2 Mbit / s Daten zum / vom USART zu übertragen)

4) Beobachten Sie alle "Ereignisse", die im System auftreten können, und welche Latenzen Sie einhalten müssen. Können Sie beispielsweise einen Alarm-Pin eines Geräts abfragen oder benötigen Sie einen externen Interrupt-Pin dafür?

Dies kann eine schwierige Frage sein, egal ob Sie "bottom up" oder "top down" entwerfen. Wenn Sie "von oben nach unten" entwerfen, können Sie an dieser Stelle herausfinden, dass es keinen Mikrocontroller mit 16 USARTs gibt, der für das Systemdesign als selbstverständlich vorausgesetzt wurde.

OTOH Wenn Sie "bottom up" entwickeln, wählen Sie möglicherweise einen Mikrocontroller aus, den Sie kennen und mit dem Sie vertraut sind. Stellen Sie jedoch fest, dass er nicht die richtige Menge an E / A hat und "Klebe-Chips" benötigt, um zu funktionieren.

Wenn überhaupt; Machen Sie sich mit den Angeboten der Anbieter vertraut. Es ist schön zu wissen, wo die Einschränkungen liegen, wenn Sie alle Ihre Wünsche in eine parametrische Suche eingeben und 0 Ergebnisse erhalten.

  • Gibt es noch andere Einschränkungen? Wie erwähnt; Einige Mikrocontroller verfügen über sehr spezielle Peripheriegeräte für das Energiemanagement (hochauflösende PWM-Module) oder die Sicherheit (Redundanz, deterministische Watchdog- und Reset-Zyklen usw.).

Es ist immer eine gute Idee, die Engpässe in einem Entwurf zu identifizieren und zu versuchen, sie zu beheben. Ein Entwicklungsboard kann eine gute praktische Erfahrung sein, um Ihren Code in Bezug auf CPU-Zeit, Speicheranforderungen und "Macken" des Mikrocontrollers zu testen.

Hans
quelle