Perché TI ha così tanti microcontrollori?


44

Sto lavorando a un progetto con un gruppo e sono responsabile della parte digitale del progetto, quindi scriverò il codice. Per passare dall'analogico al digitale, devo scegliere un microcontrollore.

Stavo guardando i microcontrollori TI e ho scoperto che ne hanno così tanti. Loro hanno:

  • Stellaris

  • Ercole

  • Serie MSP430

  • E l'elenco continua ...

Le mie domande:

  • Quale micro controller si usa e perché?

  • In quali condizioni dovrei usare il microcontrollore X anziché Y?

  • Perché ci sono così tanti microcontroller diversi?


5
Poiché decidi le tue esigenze, cerca e trova quello che corrisponde al 90% invece di acquistarne uno che può fare tutto e il 150% in più per tre volte il prezzo.
PlasmaHH,

4
@PlasmaHH 90% non è una buona scelta :)
Eugene Sh.

39
Perché ci sono così tante macchine tra cui scegliere quando voglio solo un modo per andare al lavoro?
Wouter van Ooijen,

9
Super-mega all'incirca: 1) MSP430: applicazioni a bassa potenza e batteria; 2) C2000: controllo motore ed elettronica di potenza; 3) Tiva (TM4C): processori ARM per uso generale; 4) Sitara: molto più avanzato (corteccia A8, A9 e così via), puoi eseguire Linux su di esso; 5) Ercole: applicazioni di sicurezza. Inoltre ci sono molti DSP (C5000 e C6000). Questo link potrebbe essere utile. Inoltre TI ha molte guide di selezione link che non ho usato personalmente nemmeno il 10% di esse, quindi non posso dire altro ...
GAttuso

9
Parte della risposta è che TI ha acquistato numerosi produttori di microcontrollori di successo e semi-successo e ha continuato lo sviluppo e la produzione di tali linee.
DoxyLover,

Risposte:


123

Sono un dipendente di TI che lavora in un gruppo di sviluppo MCU, ma questa non è una dichiarazione ufficiale di TI. In particolare, questa non è una dichiarazione ufficiale su tabelle di marcia o priorità. Inoltre, non sono nel marketing, quindi se contraddico il nostro materiale di marketing, hanno ragione e ho torto. :-)

La risposta di MD è corretta, ma ho pensato che qualche dettaglio in più sarebbe stato utile. TI si rivolge a diverse applicazioni con requisiti diversi. Quando sei in competizione per un socket MCU (e c'è molta concorrenza in questo settore), sia le caratteristiche che il prezzo sono importanti. Una differenza di costo di dieci centesimi può vincere o perdere il socket. Uno dei principali fattori di costo è la dimensione dello stampo: quanta roba c'è sul chip. Pertanto, ha senso avere linee di prodotti diverse e famiglie diverse all'interno di tali linee di prodotti. Le linee di prodotti differiscono principalmente per tipo e architettura periferica, mentre le famiglie all'interno di una linea di prodotti differiscono principalmente in termini di costi e set di funzionalità.

Ecco alcuni dettagli sulle linee di prodotti:

  • Hercules è una continuazione della linea TMS470 / TMS570. Si concentra su sicurezza e prestazioni. Una delle caratteristiche chiave di Hercules è la doppia CPU che esegue lo stesso codice in parallelo ("blocco-passo"). Ciò consente di rilevare immediatamente i guasti nella CPU stessa. Dai un'occhiata a questo foglio dati per alcune informazioni sulle prestazioni di un nuovo prodotto. La CPU Cortex-R5F funziona a> 300 MHz e c'è un gran numero di periferiche con funzionalità di fascia alta - i moduli CAN hanno 64 caselle di posta, ad esempio. Ovviamente, questa roba non è economica. Ma guarda le applicazioni: defibrillatori, ventilatori, elevatori, pompe per insulina ... questi sono i luoghi in cui i clienti sono disposti a pagare per la sicurezza. Hercules si rivolge anche a prodotti automobilistici con un intervallo di temperatura più ampio e una maggiore durata operativa.
  • L'attenzione di C2000 è sul supporto degli algoritmi di controllo. La "CPU" C28x è in realtà un DSP e il suo set di istruzioni è stato esteso per gestire cose come la trigonometria e numeri complessi. Esiste anche un processore separato basato su task chiamato Control Law Accelerator (CLA) che può eseguire algoritmi di controllo indipendentemente dalla CPU. Gli ADC e PWM supportano anche molte opzioni di temporizzazione. Le prestazioni variano da gamma media ( Piccolo ) a fascia alta ( Delfino dual-core ). Le grandi applicazioni qui sono convertitori di potenza, comunicazione su linea elettrica, azionamenti industriali e controllo del motore.
  • MSP430 è tutto basato sulla bassa potenza. Hanno alcuni prodotti che utilizzano FRAM (memoria non volatile ferroelettrica), che consuma meno energia del flash e persino uno che si scarica a 0.9V (una batteria). Hanno alcune periferiche meno comuni per supportare cose come gli LCD e il rilevamento tattile capacitivo. Dai un'occhiata ai loro fogli di dati e vedrai applicazioni come sensori remoti, allarmi antincendio e contatori intelligenti.
  • Non so molto del gruppo Wireless MCU, ma ovviamente la connettività wireless ha i suoi requisiti speciali. Sembrano avere CPU Cortex-M e MSP430, con applicazioni nell'elettronica di consumo e nell'Internet of Things. IoT è una parola in voga da un po 'di tempo, quindi immagino che sia uno dei loro obiettivi principali. Il loro nuovo prodotto (?) È descritto come una "soluzione Internet-on-a-chip ™". AGGIORNARE: Fellow TIer justinrjy ha commentato con ulteriori informazioni sugli MCU Wireless / Connettività: "I prodotti" Wireless MCU "si distinguono per avere un core del processore che esegue i driver / stack del protocollo wireless. Ad esempio, CC26xx esegue l'intero stack BLE sul stesso, che lo rende davvero facile da sviluppare. Lo stesso con CC3200, tranne per il fatto che il processore esegue i driver WiFi tutti su Cortex-M4. Il core e i driver integrati sono davvero ciò che li rende un "MCU wireless", anziché un ricetrasmettitore ".

Come puoi vedere, queste linee di prodotti sono rivolte ad applicazioni molto diverse con requisiti molto diversi. Inserire un chip Hercules a 300 MHz in un dispositivo alimentato a batteria sarebbe un disastro, ma anche inserire un MSP430 in un airbag. Anche le dimensioni fisiche possono avere importanza. Un pacchetto BGA a 337 pin è scomodo da inserire in un minuscolo sensore, ma non fa nulla per un apparecchio industriale.

All'interno delle linee di prodotti, ci sono più famiglie. I dispositivi Delfino C2000 sono più veloci, hanno più periferiche e hanno più pin nei loro pacchetti. Possono anche costare (almeno) il doppio rispetto a un dispositivo Piccolo. Di quale hai bisogno? Dipende dalla tua applicazione. MSP430 ha alcuni prodotti che bilanciano il consumo di energia e le prestazioni, e altri che si concentrano esclusivamente sulla bassa potenza. (Quell'MCU a una batteria raggiunge il massimo a 4 MHz e 2 kB di RAM.)

Ci sono molti prodotti all'interno di ogni famiglia perché i nuovi prodotti vengono sviluppati continuamente. I transistor diventano più piccoli / più economici, quindi più roba può andare su un chip. Una MCU di fascia media oggi sarebbe stata di fascia alta dieci anni fa. Ogni prodotto viene solitamente realizzato per targetizzare alcune applicazioni specifiche e supportarne altre ove possibile.

Infine, ci sono più varianti di ciascun prodotto (AKA l'ultima cifra nel numero di parte). Questi di solito hanno diverse quantità di memoria e (forse) piccole variazioni nelle periferiche disponibili. Ancora una volta, si tratta di fornire una fascia di prezzo.

La versione breve è che ogni prodotto offre un diverso equilibrio tra prezzo, prestazioni e funzionalità. È una semplice segmentazione del vecchio mercato. I nostri clienti sono produttori, che tengono molto più alle piccole differenze di prezzo rispetto agli utenti finali. La gente compra ogni numero di parte che abbiamo, quindi chiaramente la domanda è là fuori. :-)

AGGIORNAMENTO: Jeremy ha chiesto in che modo i requisiti dei grandi clienti influenzano il processo di progettazione e se realizziamo MCU personalizzate. Ho visto diversi MCU TMS470 / 570 realizzati per un unico grande cliente automobilistico. Quel gruppo aveva anche un paio di MCU le cui architetture sono state progettate da e per un cliente. In almeno uno di questi, il cliente ha scritto la maggior parte della RTL. Quelli sono soggetti a pesanti restrizioni NDA, quindi non posso fornire dettagli.

I prodotti del mercato generale di solito hanno in mente almeno un grande cliente. A volte i grandi clienti ottengono un numero di parte speciale. A volte aggiungeremo una periferica solo per vincere un grande socket. Ma in generale, penso che i grandi clienti siano più un pavimento che un soffitto quando si tratta di funzionalità.

Un esempio estremo di parti personalizzate è il nostro gruppo ad alta affidabilità. Ho sentito solo storie di questi ragazzi, ma a quanto pare prendono prodotti esistenti e li rifanno per lavorare in condizioni estreme - alte temperature, radiazioni, persone che ti sparano, ecc. Conosco qualcuno che acquista HiRel TMS470 per perforazioni , dove la temperatura può raggiungere i 200 ° C. (Forse questo - in stock presso Arrow per soli $ 400 / chip!) Hanno un sacco di prodotti standard elencati sul sito web, ma da quello che ho sentito, possono costruire per ordinare anche in piccole quantità - tu puoi acquistare una dozzina di versioni HiRel di qualsiasi chip tu desideri se sei disposto a spendere $ 50.000 + per chip. :-)

Come regola generale, tutto nel mondo degli affari è negoziabile se stai spendendo abbastanza denaro.


3
Caspita che risposta! Fantastico! Grazie signore per aver dedicato un po 'del tuo tempo prezioso e aver risposto a fondo alla mia domanda. Adoro TI e mi piacerebbe lavorare un giorno per TI. Ragazzi, state facendo grandi cose a TI.
Andy_A̷n̷d̷y̷,

4
@Jeremy: per abbastanza soldi, puoi praticamente ottenere qualsiasi cosa (quei soldi potrebbero comprare). Ma tieni presente che la tua idea di "grande volume" e quella del produttore potrebbero non corrispondere esattamente. Ricordo che la RaspberryPi Foundation ha avuto davvero delle difficoltà a fare affari con Broadcom, dato che loro (Broadcom) di solito non gestiscono numeri così "bassi" ...
DevSolar,

5
Dieci centesimi? Una volta ho lavorato in un posto in cui la rasatura di 1/10 di cent sul costo di produzione valeva più di un anno di stipendio per un ingegnere senior. Naturalmente, su quella scala, non stavano acquistando MCU discreti: stavano concedendo in licenza l'IP e lo stavano usando in progetti ASIC completamente personalizzati.
Solomon Slow

4
L'ingegnere delle applicazioni TI interpella qui - Potrei essere in grado di colmare un po 'il vuoto sulle informazioni riguardanti la porzione MCU Connettività / Wireless! I prodotti "Wireless MCU" si distinguono per avere un core del processore che esegue i driver / stack del protocollo wireless. Ad esempio, CC26xx esegue l'intero stack BLE sullo stesso uC, rendendolo davvero facile da sviluppare. Lo stesso con CC3200, tranne per il fatto che il processore esegue tutti i driver WiFi su Cortex-M4. Il core e i driver integrati sono davvero ciò che li rende un "MCU wireless", anziché un ricetrasmettitore.
justinrjy,

2
@ Rev1.0, unità disco rigido per PC di largo consumo.
Solomon Slow

27

MSP430 era / è un core sviluppato da TI. È un core a 16 bit ed è stato commercializzato come estremamente basso consumo. Poiché il mercato MCU a 16 bit sta rapidamente evaporando con la proliferazione di Arm Cortex-M0, ci sono nuovi MSP430 basati sul core Cortex. I vecchi MPS430 sono in genere in competizione con i socket a 8 bit ora.

Stellaris, rinominato Tiva, è l'ex MCU Luminary Micro. Quella società è stata acquisita da TI forse 6 o 7 anni fa. Questi erano (sono?) Dispositivi basati su Cortex-M3 / M4. Più capace / potente dell'MSP430 nella maggior parte dei casi.

I C2000 (Piccolo / Delfino / ecc.) Sono destinati al controllo in tempo reale (controllo del motore, conversione / regolazione della potenza, ecc.). Questa famiglia ha anche funzionalità DSP di fascia bassa. Mirato più all'industria, e forse ad alcune automobili (una delle poche MCU TI qualificate per il settore automobilistico).

Hercules si concentra sulla sicurezza. Ridondanza, controllo degli errori di runtime, BIST, molte funzionalità di watchdog. Applicazioni critiche per la sicurezza.

Ci sono molte altre parti che hanno un certo mix di caratteristiche e / o funzionalità di nicchia (ad es. Wireless integrato, dual core, FRAM, ecc.). E poi ci sono anche DSP e microprocessori più capaci offerti.

Qual è la tua applicazione? Volume? Cronologia dello sviluppo? Di quali periferiche / risorse hai bisogno? Quanto - e che tipo - di potenza di elaborazione è richiesta? Riesci a cavartela con le periferiche analogiche a prestazioni inferiori dell'MCU o eseguirai l'elaborazione di tutti i percorsi del segnale esternamente / discretamente? Esistono molti fattori nella scelta di un processore / controller per un particolare sistema / applicazione.


6
I core Cortex a bassa potenza sono chiamati MSP432 per (minimamente) distinguerli da MSP430. Stellaris divenne Tiva. E la serie Hercules è a sua volta divisa tra le serie automobilistica e industriale / medica - penso principalmente alla gamma di temperature e al supporto CAN per il settore automobilistico.
Brian Drummond,

1
A un certo punto IIRC, gli Ercole erano nuclei Cortex-Rx, completi di condotte di istruzione a doppio passo di blocco. Destinato all'uso in controller di freno, moduli airbag, ecc.
Krunal Desai

1
Ottima risposta Sembra che tu sappia molto su TI. Non sapevo che avessero acquisito Luminary Micro MCU. Grazie per il tuo tempo.
Andy_A̷n̷d̷y̷,

18

Microchip è un'altra azienda che dispone di una linea completa di microcontrollori, oltre 4.000 forniti a Digi-Key, comprese tutte le varianti di pacchetto. Come TI, spaziano dalla gamma da 8 bit a 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

Si noti che il più piccolo è specificato in byte, non in KB.

Essi variano nel prezzo da 35 ¢ a $ 13,36 in singole quantità. Immagino che i prezzi più bassi possano costare meno di 20 ¢ in grandi quantità. Forse anche 10 ¢ per quelli non testati (dove il cliente esegue test di collaudo anziché il produttore). Il ARM a 32 bit più economico è il doppio in quantità singole a 76 ¢. Per un prodotto ad alto volume, questa è una grande differenza. Il PIC10F200 è il µC più economico di tutti i quasi 15.000 azionari Digi-Key.

Microchip ha anche un'ottima reputazione per il mantenimento delle scorte dei suoi vecchi µC (elencati nel selettore dei prodotti di seguito come "Maturi"), che è un'altra cosa da considerare.

Come dare un senso a tutto ciò? Utilizzare un selettore di prodotti. Digi-Key, Mouser e altri distributori ne hanno abbastanza buoni, ma non includono tutti i parametri (il selettore del prodotto µC di Digi-Key ha meno di 20, la tabella seguente ne ha oltre 50). Microchip (e immagino altri produttori) ne hanno di più estesi, come quello qui sotto. Nota che puoi fornire intervalli per quasi tutti i parametri:

inserisci qui la descrizione dell'immagine

Ora con l'acquisizione di Atmel da parte di Microchip sarà interessante vedere cosa succede. Sembra che ci sia un po 'di sovrapposizione in alcune righe.


15

Senza entrare nel dettaglio esatto delle offerte di TI (a cui è già stata data una risposta qui), vorrei sottolineare che sono necessarie specifiche. Se non li hai, supponi che sia tuo compito identificarli. Questo potrebbe essere un po 'travolgente se sei nuovo, ma diamo un nome ad alcune specifiche che potrebbero verificarsi in un progetto:

  • Cosa farà l'MCU? È limitato dal tempo della CPU? Stai andando a fare qualche "elaborazione speciale" come virgola mobile? Ciò determinerà il core della CPU e la velocità di clock richiesta.

  • O è limitato dalla durata della batteria? Se è così; è necessario esaminare le modalità di standby che un microcontrollore ha da offrire, la latenza di riattivazione, le fonti di sveglia, la guida di tensione per digitale e analogico (ad esempio se lo si alimenta direttamente dalla batteria), ecc. Inoltre, prendere nota di tutti gli I / O anche nel sistema. Puoi avere un ottimo microcontrollore che consuma 50nA durante il sonno, ma è trascurabile se, ad esempio, un LDO o una EEPROM consumano 10uA in sospensione.

  • Quale pacchetto è possibile / è necessario utilizzare? Quanti pin e quale tecnologia? Quanto spazio hai, cosa puoi ottenere assemblato?

  • Quanto codice hai intenzione di scrivere per questo? Hai idea di quanta RAM / FLASH ti serve? Alcune esperienze pratiche su una devboard possono aiutare in questo.

  • Quali interfacce devi usare nella progettazione del tuo sistema e come vuoi usarle? Punti di partenza di base:

1) Vincoli di velocità (ad es. Ho bisogno di un USART in esecuzione a 3MBaud)

2) Vincoli di conteggio delle porte (ad es. Ho bisogno di 5 USART)

3) Vincoli di throughput (ad es. Ho bisogno di DMA per trasferire 2 Mbps di dati da / verso USART)

4) Osservare eventuali "eventi" che possono accadere nel sistema e quali latenze è necessario rispettare. Ad esempio, puoi eseguire il polling di un pin di avviso di un dispositivo o hai bisogno di un pin di interruzione esterno per esso?

Questa può essere una domanda difficile, non importa se si progetta "bottom up" o "top down". Se si progetta "top down", a questo punto è possibile capire che non esiste un microcontrollore con 16 USART che la progettazione del sistema ha dato per scontato.

OTOH se progetti "dal basso verso l'alto" puoi scegliere un microcontrollore che conosci e con cui hai familiarità, ma scopri che non ha la giusta quantità di I / O e ha bisogno di "chip di colla" per funzionare.

Se qualcosa; familiarizzare con le offerte dei venditori. È bello sapere dove sono i vincoli quando si inseriscono tutti i desideri in una ricerca parametrica e si ottengono 0 risultati.

  • Qualche altro vincolo particolare? Come menzionato; alcuni microcontrollori hanno periferiche molto specifiche per la gestione dell'alimentazione (moduli PWM ad alta risoluzione) o per la sicurezza (ridondanza, watchdog deterministico e cicli di reset, ecc.).

È sempre una buona idea identificare i colli di bottiglia in un progetto e cercare di risolverli. Una scheda di sviluppo può essere una buona esperienza "pratica" per testare il codice in termini di tempo della CPU, requisiti di memoria e "stranezze" del microcontrollore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.