Pourquoi TI a-t-il autant de microcontrôleurs?

44

Je travaille sur un projet avec un groupe et je suis responsable de la partie numérique du projet. Je vais donc écrire le code. Pour passer d'analogique à numérique, je dois choisir un microcontrôleur.

Je regardais les microcontrôleurs de TI et j'ai constaté qu'ils en avaient beaucoup. Ils ont:

  • Stellaris

  • Hercule

  • Série MSP430

  • Et la liste continue ...

Mes questions:

  • Quel micro contrôleur utilise-t-on et pourquoi?

  • Dans quelles conditions dois-je utiliser le microcontrôleur X plutôt que Y?

  • Pourquoi y a-t-il tant de micro contrôleurs différents?

Andy_A̷n̷d̷y̷
la source
5
Parce que vous décidez de vos besoins, recherchez-en un qui correspond à 90% au lieu d’en acheter un qui peut tout faire et 150% de plus à trois fois le prix.
PlasmaHH
4
@PlasmaHH 90% n'est pas un bon choix :)
Eugene Sh.
39
Pourquoi y a-t-il tant de voitures à choisir alors que je veux juste un moyen de me rendre au travail?
Wouter van Ooijen
9
Super-méga environ: 1) MSP430: applications à faible consommation et sur piles; 2) C2000: électronique de commande de moteur et de puissance; 3) Tiva (TM4C): processeurs ARM à usage général; 4) Sitara: beaucoup plus avancé (cortex A8, A9, etc.), vous pouvez exécuter linux dessus; 5) Hercules: applications de sécurité. Il existe également de nombreux DSP (C5000 et C6000). Ce lien pourrait être utile. Aussi TI a de nombreux guides de sélection de lien Je ne l' ai pas utilisé personnellement même 10% d'entre eux, ne peut donc pas dire plus ...
GATTUSO
9
Une partie de la réponse est que TI a acheté un certain nombre de fabricants de microcontrôleurs performants et semi-performants et a poursuivi le développement et la production de ces lignes.
DoxyLover

Réponses:

123

Je suis un employé de TI qui travaille dans un groupe de développement MCU, mais ce n'est pas une déclaration officielle de TI. En particulier, il ne s’agit pas d’une déclaration officielle sur les feuilles de route ou les priorités. De plus, je ne fais pas de marketing, alors si je contredis aucun de nos documents de marketing, ils ont raison et je me trompe. :-)

La réponse de MD est correcte, mais je pensais que des détails supplémentaires seraient utiles. TI cible différentes applications avec différentes exigences. Lorsque vous êtes en compétition pour une prise MCU (et il y a beaucoup de concurrence dans ce secteur), les caractéristiques et le prix importent. Une différence de coût de dix cents peut gagner ou perdre la prise. L'un des principaux facteurs de coût est la taille de la matrice - la quantité de données stockées sur la puce. Il est donc logique d’avoir différentes lignes de produits et différentes familles au sein de ces lignes de produits. Les gammes de produits diffèrent principalement en termes de types de périphériques et d'architecture, tandis que les familles au sein d'une ligne de produits diffèrent principalement en termes de coût et de jeu de fonctionnalités.

Voici quelques détails sur les lignes de produits:

  • Hercules est une continuation de la gamme TMS470 / TMS570. Il est axé sur la sécurité et la performance. L'une des fonctionnalités clés d'Hercules est le double processeur exécutant le même code en parallèle ("lock-step"). Cela vous permet de détecter immédiatement les défauts dans la CPU elle-même. Consultez cette fiche technique pour obtenir des informations sur les performances d’un produit plus récent. La CPU Cortex-R5F fonctionne à> 300 MHz et il existe un grand nombre de périphériques dotés de fonctionnalités haut de gamme - les modules CAN ont 64 boîtes aux lettres, par exemple. De toute évidence, ce n'est pas bon marché. Mais regardez les applications - défibrillateurs, ventilateurs, ascenseurs, pompes à insuline ... ce sont des endroits où les clients sont prêts à payer pour la sécurité. Hercules s’adapte également aux produits automobiles dont la plage de température et la durée de vie sont plus étendues.
  • C2000 se concentre sur la prise en charge des algorithmes de contrôle. Le "CPU" C28x est en réalité un DSP, et son jeu d’instructions a été étendu pour prendre en charge des tâches comme la trigonométrie et les nombres complexes. Il existe également un processeur séparé basé sur des tâches appelé Control Law Accelerator (CLA) qui peut exécuter des algorithmes de contrôle indépendamment du processeur. Les CAN et PWM prennent également en charge de nombreuses options de minutage. Les performances varient du milieu de gamme ( Piccolo ) au haut de gamme ( Delfino double cœur ). Les principales applications ici sont les convertisseurs de puissance, la communication par courant porteur, les entraînements industriels et la commande de moteur.
  • MSP430 est tout au sujet de faible puissance. Ils ont certains produits qui utilisent la mémoire FRAM (mémoire non volatile ferroélectrique), qui utilise moins d’énergie que le flash, et même celle qui fonctionne à partir de 0,9 V (une pile). Ils ont des périphériques moins communs pour supporter des choses telles que les écrans LCD et la détection tactile capacitive. Parcourez leurs fiches techniques pour voir des applications telles que des capteurs à distance, des détecteurs de fumée et des compteurs intelligents.
  • Je ne connais pas grand-chose du groupe MCU sans fil, mais la connectivité sans fil a évidemment ses propres exigences. Ils semblent avoir des processeurs Cortex-M et MSP430, avec des applications dans l’électronique grand public et l’Internet des objets. L'IdO est un mot à la mode depuis un certain temps déjà, alors j'imagine que c'est l'un de leurs principaux objectifs. Leur plus récent (?) Produit est décrit comme un "Internet-on-a-chip ™ solution".MISE À JOUR: Fellow TIer justinrjy a commenté et donne plus d’informations sur les MCU sans fil / connectivité: "Les produits" MCU sans fil "se distinguent par un noyau de processeur qui exécute la pile / pilotes du protocole sans fil. Par exemple, le CC26xx exécute la pile BLE entière sur le La même chose que pour le CC3200, c’est que le processeur exécute les pilotes WiFi, tous sur le Cortex-M4. Le cœur et les pilotes intégrés sont vraiment ce qui fait de ceux-ci un «MCU sans fil», au lieu d’un émetteur-récepteur. . "

Comme vous pouvez le constater, ces lignes de produits ciblent des applications très différentes avec des exigences très différentes. L'installation d'une puce Hercules à 300 MHz dans un appareil alimenté par batterie serait un désastre, mais il en serait de même pour un MSP430 dans un airbag. La taille physique peut aussi compter. Un boîtier BGA à 337 broches est difficile à installer dans un capteur minuscule, mais ce n’est rien pour un équipement industriel.

Dans les lignes de produits, il existe plusieurs familles. Les appareils C2000 Delfino sont plus rapides, ont plus de périphériques et ont plus de broches sur leurs boîtiers. Ils peuvent également coûter (au moins) deux fois plus qu'un appareil Piccolo. Duquel avez-vous besoin? Cela dépend de votre application. MSP430 propose certains produits qui allient consommation d'énergie et performances, et d'autres qui se concentrent uniquement sur une consommation réduite. (Ce MCU à une batterie ne dépasse pas 4 MHz et 2 ko de RAM.)

Il existe de nombreux produits dans chaque famille car de nouveaux produits sont développés en permanence. Les transistors deviennent plus petits / moins chers, de sorte que plus de choses peuvent aller sur une puce. Un MCU de milieu de gamme aurait été très haut de gamme il y a dix ans. Chaque produit est généralement conçu pour cibler quelques applications spécifiques et aider les autres, dans la mesure du possible.

Enfin, il existe plusieurs variantes de chaque produit (AKA le dernier chiffre du numéro de pièce). Ils ont généralement des quantités de mémoire différentes et (peut-être) de petites variations dans les périphériques disponibles. Encore une fois, il s’agit de fournir une fourchette de prix.

La version courte est que chaque produit offre un équilibre différent entre prix, performances et fonctionnalités. C'est la vieille segmentation du marché. Nos clients sont des fabricants, qui se soucient beaucoup plus des petites différences de prix que des utilisateurs finaux. Les gens achètent chaque numéro de pièce que nous avons, il est donc clair que la demande existe. :-)

MISE À JOUR: Jeremy a demandé comment les exigences des grands clients affectaient le processus de conception et si nous fabriquions des MCU personnalisés. J'ai vu plusieurs MCU TMS470 / 570 conçus pour un seul grand client du secteur de l'automobile. Ce groupe disposait également de deux MCU dont les architectures avaient été conçues par et pour un client. Dans au moins un de ceux-ci, le client a écrit la plupart du RTL. Celles-ci sont soumises à de lourdes restrictions NDA, je ne peux donc pas vous donner de détails.

Les produits du marché général ont généralement à l'esprit au moins un gros client. Parfois, les gros clients obtiennent un numéro de pièce spécial. Parfois, nous ajoutons un périphérique juste pour gagner une grande prise. Mais en général, je pense que les gros clients sont plus un plancher qu'un plafond en termes de fonctionnalités.

Notre groupe de haute fiabilité est un exemple extrême de pièces personnalisées. Je n'ai entendu que des histoires à propos de ces gars, mais apparemment, ils prennent des produits existants et les refont pour qu'ils fonctionnent dans des conditions extrêmes - températures élevées, radiations, personnes qui vous tirent dessus, etc. Je connais quelqu'un qui achète des HiRel TMS470 pour un forage en fond de trou , où la température peut atteindre 200C. (Peut - être celui-ci - en stock chez Arrow pour seulement 400 $ / puce!) Ils ont un tas de produits standard listés sur le site web, mais d'après ce que j'ai entendu dire, ils peuvent construire sur commande même en petites quantités - pouvez acheter une douzaine de versions HiRel de la puce de votre choix si vous êtes prêt à dépenser plus de 50 000 $ par puce. :-)

En règle générale, tout est rentable dans les affaires si vous dépensez assez d'argent.

Adam Haun
la source
3
Wow quelle réponse! Fantastique! Merci Monsieur de prendre un peu de votre temps précieux et de répondre à ma question de manière approfondie. J'aime TI et j'aimerais travailler pour TI un jour. Vous faites de grandes choses chez TI.
Andy_A̷n̷d̷y̷
4
@ Jeremy: Pour assez d'argent, vous pouvez obtenir n'importe quoi (cet argent pourrait acheter). Mais sachez que votre idée de "gros volume" et celle du fabricant peuvent ne pas correspondre exactement. Je me souviens que la RaspberryPi Foundation a eu beaucoup de mal à faire affaire avec Broadcom, puisqu'elle (Broadcom) ne traite généralement pas de chiffres aussi "bas" ...
DevSolar
5
Dix centimes? J'ai déjà travaillé dans un endroit où réduire de 10% le coût de production équivalait à plus d'un an de salaire pour un ingénieur en chef. Bien entendu, à cette échelle, ils n'achetaient pas de microcontrôleurs distincts: ils concédaient une licence pour l'IP et l'utilisaient dans des conceptions ASIC entièrement personnalisées.
Salomon Slow
4
L’ingénieur d’applications TI intervient ici: je pourrais peut-être combler un peu l’information sur la partie connectivité / MCU sans fil! Les produits "MCU sans fil" se distinguent par un noyau de processeur qui exécute les pilotes / piles du protocole sans fil. Par exemple, le CC26xx exécute la totalité de la pile BLE sur le uC lui-même, ce qui le rend vraiment facile à développer. Même chose avec le CC3200, sauf que ce processeur exécute tous les pilotes WiFi sur le Cortex-M4. Le noyau intégré et les pilotes sont vraiment ce qui fait de ceux-ci un "MCU sans fil", au lieu d’un émetteur-récepteur.
Justinrjy
2
@ Rev1.0, Disques durs pour ordinateurs personnels.
Salomon Slow
27

MSP430 était / est un noyau développé par TI. Il s’agit d’un cœur 16 bits qui a été commercialisé avec une puissance extrêmement faible. Comme le marché des microcontrôleurs 16 bits est en train de s’évaporer rapidement avec la prolifération du bras Cortex-M0, il existe de nouveaux MSP430 basés sur le noyau Cortex. Les anciens MPS430 rivalisent généralement pour les sockets 8 bits.

Stellaris, rebaptisée Tiva, est l’ancien microcontrôleur Luminary. Cette société a été acquise par TI il y a peut-être 6 ou 7 ans. C'étaient (sont?) Des appareils basés sur Cortex-M3 / M4. Plus capable / puissant que le MSP430 dans la plupart des cas.

Les C2000 (Piccolo / Delfino / etc.) Sont destinés au contrôle en temps réel (contrôle moteur, conversion de puissance / régulation, etc.). Cette famille a également une fonctionnalité DSP de bas de gamme. Cible plus les industries, et peut-être même l’automobile (l’un des rares MCU TI qualifiés dans l’industrie automobile).

Hercules se concentre sur la sécurité. Redondance, vérification des erreurs d'exécution, BIST, nombreuses fonctionnalités de surveillance. Applications critiques pour la sécurité.

Plusieurs autres composants présentent une combinaison de fonctionnalités et / ou de fonctionnalités de niche (par exemple, sans fil intégré, dual core, FRAM, etc.). Et il existe également les DSP et les microprocesseurs les plus performants proposés.

Quelle est votre application? Le volume? Calendrier de développement? De quels périphériques / ressources avez-vous besoin? Quelle est la puissance de traitement requise? Pouvez-vous vous débrouiller avec les périphériques analogiques moins performants de la MCU, ou ferez-vous tout le traitement du chemin du signal en externe / discrètement? Le choix d’un processeur / contrôleur pour un système / une application donné dépend de nombreux facteurs.

MARYLAND
la source
6
Les noyaux Cortex à faible consommation sont appelés MSP432 pour les distinguer (de manière minimale) de MSP430. Stellaris est devenu Tiva. Et la série Hercules est elle-même divisée entre les séries automobile et industrielle / médicale - principalement sur la plage de température et l'assistance CAN pour l'automobile, je pense.
Brian Drummond
1
À un moment donné IIRC, les Hercules étaient des noyaux Cortex-Rx, complets avec des pipelines d’instruction à verrouillage double. Destiné à être utilisé dans les contrôleurs de freins, les modules de coussins gonflables, etc.
Krunal Desai
1
Très bonne réponse. Vous semblez en savoir beaucoup sur TI. Je ne savais pas qu'ils avaient acquis Luminary Micro MCU. Merci pour votre temps.
Andy_A̷n̷d̷y̷
18

Microchip est une autre entreprise qui propose une gamme complète de microcontrôleurs - plus de 4 000 stockés chez Digi-Key, y compris toutes les variantes de boîtier. Comme TI, ils couvrent toute la gamme de 8 à 32 bits:

~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

Notez que le plus petit est spécifié en octets, pas en ko.

Le prix varie entre 35 ¢ et 13,36 $ par quantité. J'imagine que les plus bas prix peuvent coûter moins de 20 ¢ en grande quantité. Peut-être même 10 ¢ pour ceux qui n’ont pas été testés (où le client effectue des tests d’acceptation à la place du fabricant). Le bras ARM 32 bits le moins cher coûte deux fois plus que 76 ¢. Pour un produit à volume élevé, c'est une grande différence. Le PIC10F200 est le moins cher uC de tous les près de 15 000 que les stocks de Digi-Key.

Microchip a également une excellente réputation en ce qui concerne le maintien des stocks de ses anciens µC (répertoriés dans le sélecteur de produits ci-dessous sous le symbole "Mature"), ce qui est un autre élément à prendre en compte.

Comment donner un sens à tout cela? Utilisez un sélecteur de produit. Digi-Key, Mouser et d’autres distributeurs en ont de très bons, mais ils n’incluent pas tous les paramètres (le sélecteur de produits µC de Digi-Key en contient moins de 20, le tableau ci-dessous en contient plus de 50). Microchip (et j'imagine d'autres fabricants) en a des plus étendues, comme celle ci-dessous. Notez que vous pouvez donner des plages pour presque tous les paramètres:

entrez la description de l'image ici

Maintenant, avec l'acquisition d'Atmel par Microchip, il sera intéressant de voir ce qui se passe. Il semble y avoir un peu de chevauchement dans certaines lignes.

tcrosley
la source
15

Sans entrer dans les détails exacts des offres de TI (il a déjà été répondu à cette question), je tiens à souligner que vous avez besoin de spécifications. Si vous ne les avez pas, supposez que c'est à vous de les identifier. Cela peut paraître un peu compliqué si vous êtes nouveau, mais citons quelques spécifications susceptibles de se produire dans un projet:

  • Que fera le MCU? Est-ce limité par le temps CPU? Allez-vous faire un "traitement spécial" comme une virgule flottante? Cela déterminera le cœur du processeur et la vitesse d'horloge nécessaires.

  • Ou est-ce limité par la vie de la batterie? Si c'est le cas; vous devez étudier les modes de veille qu'un microcontrôleur doit offrir, la latence au réveil, les sources de réveil, le rail de tension numérique et analogique (par exemple, si vous l'allumez directement à partir de la batterie), etc. Notez également toutes les E / S dans le système aussi. Vous pouvez avoir un excellent microcontrôleur qui consomme 50 nA pendant le sommeil - mais cela est négligeable si, par exemple, une LDO ou une EEPROM consomme 10 uA au repos.

  • Quel paquet peut / avez-vous besoin d'utiliser? Combien de broches et quelle technologie? Combien d'espace avez-vous, que pouvez-vous assembler?

  • Combien de code allez-vous écrire pour cela? Avez-vous une idée de la quantité de RAM / FLASH requise? Une expérience pratique sur un devboard peut vous aider.

  • Quelles interfaces devez-vous utiliser dans la conception de votre système et comment souhaitez-vous les utiliser? Points de départ de base:

1) Contraintes de vitesse (par exemple, j'ai besoin d'un USART fonctionnant à 3 Mbauds)

2) Contraintes de nombre de ports (par exemple, j'ai besoin de 5 USART)

3) Contraintes de débit (par exemple, j'ai besoin de DMA pour transférer 2 Mbps de données vers / depuis l'USART)

4) Observez tous les "événements" pouvant survenir dans le système et les latences à respecter. Par exemple, pouvez-vous interroger une broche d'alerte d'un périphérique ou avez-vous besoin d'une broche d'interruption externe?

Cela peut être une question difficile, peu importe si vous concevez "de bas en haut" ou "de haut en bas". Si vous concevez "de haut en bas", vous constaterez peut-être qu’il n’ya pas de microcontrôleur à 16 USART que la conception du système prenait pour acquis.

OTOH si vous concevez un système "de bas en haut", vous pouvez choisir un microcontrôleur que vous connaissez et connaissez, mais découvrez qu'il ne possède pas la bonne quantité d'E / S et qu'il a besoin de "pastilles de colle" pour fonctionner.

Si quelque chose Familiarisez-vous avec les offres des vendeurs. Il est agréable de savoir où se trouvent les contraintes lorsque vous transformez tous vos souhaits en recherche paramétrique et obtenez 0 résultat.

  • D'autres contraintes particulières? Comme mentionné; certains microcontrôleurs ont des périphériques très spécifiques pour la gestion de l'alimentation (modules PWM haute résolution) ou la sécurité (redondance, cycles de surveillance déterministes et de réinitialisation, etc.).

C'est toujours une bonne idée d'identifier les goulots d'étranglement dans une conception et d'essayer de les résoudre. Une carte de développement peut être une bonne expérience pratique pour tester votre code en termes de temps processeur, d'exigences de mémoire et de "défauts" que peut avoir le microcontrôleur.

Hans
la source