¿Por qué TI tiene tantos microcontroladores?


44

Estoy trabajando en un proyecto con un grupo y soy responsable de la parte digital del proyecto, por lo que escribiré el código. Para pasar de analógico a digital, tengo que elegir un microcontrolador.

Estaba mirando microcontroladores TI y descubrí que tienen muchos. Ellos tienen:

  • Stellaris

  • Hércules

  • Serie MSP430

  • Y la lista continúa ...

Mis preguntas:

  • ¿Qué microcontrolador usa uno y por qué?

  • ¿En qué condiciones debo usar el microcontrolador X en lugar de Y?

  • ¿Por qué hay tantos microcontroladores diferentes?


55
Debido a que decide cuáles son sus requisitos, busque y encuentre uno que coincida con el 90% en lugar de simplemente comprar uno que pueda hacer todo y 150% más por tres veces el precio.
PlasmaHH

44
@PlasmaHH 90% no es una buena opción :)
Eugene Sh.

39
¿Por qué hay tantos automóviles para elegir cuando solo quiero una forma de viajar a mi trabajo?
Wouter van Ooijen

99
Super-mega aproximadamente: 1) MSP430: aplicaciones de baja potencia y batería; 2) C2000: control del motor y electrónica de potencia; 3) Tiva (TM4C): procesadores ARM de propósito general; 4) Sitara: mucho más avanzado (corteza A8, A9, etc.), puede ejecutar Linux en él; 5) Hércules: aplicaciones de seguridad. También hay muchos DSP (C5000 y C6000). Este enlace puede ser útil. También TI tiene muchos enlaces de guías de selección que no he usado personalmente, incluso el 10% de ellos, así que no puedo decir más ...
GAttuso

99
Parte de la respuesta es que TI ha comprado varios fabricantes de microcontroladores exitosos y semi exitosos y ha continuado el desarrollo y la producción de esas líneas.
DoxyLover

Respuestas:


123

Soy un empleado de TI que trabaja en un grupo de desarrollo de MCU, pero esta no es una declaración oficial de TI. En particular, esta no es una declaración oficial sobre hojas de ruta o prioridades. Además, no estoy en marketing, así que si contradigo cualquiera de nuestro material de marketing, tienen razón y me equivoco. :-)

La respuesta de MD es correcta, pero pensé que algún detalle más sería útil. TI apunta a diferentes aplicaciones con diferentes requisitos. Cuando compite por un zócalo MCU (y hay mucha competencia en esta industria), tanto las características como el precio son importantes. Una diferencia de costo de diez centavos puede ganar o perder el zócalo. Uno de los principales impulsores del costo es el tamaño del dado: la cantidad de cosas que hay en el chip. Por lo tanto, tiene sentido tener diferentes líneas de productos y diferentes familias dentro de esas líneas de productos. Las líneas de productos difieren principalmente en tipos periféricos y arquitectura, mientras que las familias dentro de una línea de productos difieren principalmente en términos de costo y conjunto de características.

Aquí hay algunos detalles sobre las líneas de productos:

  • Hercules es una continuación de la línea TMS470 / TMS570. Se centra en la seguridad y el rendimiento. Una de las características clave de Hercules son las CPU duales que ejecutan el mismo código en paralelo ("paso de bloqueo"). Esto le permite detectar inmediatamente fallas en la propia CPU. Consulte esta hoja de datos para obtener información sobre el rendimiento de un producto más nuevo. La CPU Cortex-R5F funciona a> 300 MHz, y hay una gran cantidad de periféricos con características de gama alta: los módulos CAN tienen 64 buzones, por ejemplo. Obviamente, estas cosas no son baratas. Pero observe las aplicaciones: desfibriladores, ventiladores, elevadores, bombas de insulina ... estos son lugares donde los clientes están dispuestos a pagar por la seguridad. Hercules también se dedica a productos automotrices que tienen un rango de temperatura más amplio y una vida útil más larga.
  • El enfoque de C2000 es soportar algoritmos de control. La "CPU" C28x es realmente un DSP, y su conjunto de instrucciones se ha extendido para manejar cosas como trigonometría y números complejos. También hay un procesador separado basado en tareas llamado Control Law Accelerator (CLA) que puede ejecutar algoritmos de control independientemente de la CPU. Los ADC y PWM también admiten muchas opciones de temporización. El rendimiento varía de gama media ( Piccolo ) a gama alta ( Delfino de doble núcleo ). Las grandes aplicaciones aquí son convertidores de potencia, comunicación de línea de potencia, unidades industriales y control de motores.
  • MSP430 se trata de baja potencia. Tienen algunos productos que usan FRAM (memoria no volátil ferroeléctrica), que usa menos energía que el flash, e incluso uno que funciona con 0.9V (una batería). Tienen algunos periféricos menos comunes para admitir cosas como pantallas LCD y detección táctil capacitiva. Mire sus hojas de datos y verá aplicaciones como sensores remotos, alarmas de humo y medidores inteligentes.
  • No sé mucho sobre el grupo MCU inalámbrico, pero obviamente la conectividad inalámbrica tiene sus propios requisitos especiales. Parecen tener CPU Cortex-M y MSP430, con aplicaciones en electrónica de consumo e Internet de las cosas. IoT ha sido una gran palabra de moda por un tiempo, por lo que me imagino que ese es uno de sus principales objetivos. Su más reciente (?) Del producto se describe como una "solución de Internet ™-on-a-chip". ACTUALIZAR: El compañero TIer justinrjy comentó con más información sobre los MCU inalámbricos / de conectividad: "Los productos 'MCU inalámbricos' se distinguen por tener un núcleo de procesador que ejecuta los controladores / pila del protocolo inalámbrico. Por ejemplo, el CC26xx ejecuta la pila BLE completa en el uC en sí, lo que hace que sea realmente fácil de desarrollar. Lo mismo con el CC3200, excepto que el procesador ejecuta los controladores WiFi en el Cortex-M4. El núcleo integrado y los controladores son realmente lo que los convierte en una 'MCU inalámbrica', en lugar de un transceptor ".

Como puede ver, estas líneas de productos están dirigidas a aplicaciones muy diferentes con requisitos muy diferentes. Poner un chip Hercules de 300 MHz en un dispositivo alimentado por batería sería un desastre, pero también lo sería poner un MSP430 en una bolsa de aire. El tamaño físico también puede importar. Un paquete BGA de 337 pines es incómodo para caber en un sensor pequeño, pero no es nada para un equipo industrial.

Dentro de las líneas de productos, hay varias familias. Los dispositivos C2000 Delfino son más rápidos, tienen más periféricos y tienen más pines en sus paquetes. También pueden costar (al menos) el doble que un dispositivo Piccolo. ¿Cuál necesitas? Depende de su aplicación. MSP430 tiene algunos productos que equilibran el consumo de energía y el rendimiento, y otros que se centran únicamente en la baja potencia. (Esa MCU de una batería alcanza un máximo de 4 MHz y 2 kB de RAM).

Hay muchos productos dentro de cada familia porque los nuevos productos se desarrollan todo el tiempo. Los transistores se vuelven más pequeños / más baratos, por lo que pueden ir más cosas en un chip. Un MCU de rango medio hoy habría sido de gama alta hace diez años. Cada producto se hace generalmente para apuntar a unas pocas aplicaciones específicas y admitir otras cuando sea posible.

Finalmente, hay múltiples variantes de cada producto (también conocido como el último dígito en el número de pieza). Estos generalmente tienen diferentes cantidades de memoria y (tal vez) pequeñas variaciones en los periféricos disponibles. Una vez más, se trata de proporcionar un rango de precios.

La versión corta es que cada producto proporciona un equilibrio diferente de precio, rendimiento y características. Es simplemente una vieja segmentación del mercado. Nuestros clientes son fabricantes, que se preocupan mucho más por las pequeñas diferencias de precios que los usuarios finales. La gente compra cada número de pieza que tenemos, por lo que claramente la demanda existe. :-)

ACTUALIZACIÓN: Jeremy preguntó cómo los requisitos de los grandes clientes afectan el proceso de diseño y si hacemos MCU personalizados. He visto varias MCU TMS470 / 570 que se hicieron para un solo gran cliente automotriz. Ese grupo también tenía un par de MCU cuyas arquitecturas fueron diseñadas por y para un cliente. En al menos uno de ellos, el cliente escribió la mayor parte del RTL. Esos están bajo fuertes restricciones de NDA, por lo que no puedo dar detalles.

Los productos del mercado general suelen tener al menos un gran cliente en mente. A veces, los grandes clientes obtienen un número de pieza especial. A veces agregaremos un periférico solo para ganar un gran zócalo. Pero en general, creo que los grandes clientes son más un piso que un techo cuando se trata de características.

Un ejemplo extremo de piezas personalizadas es nuestro grupo de alta confiabilidad. Solo he escuchado historias sobre estos tipos, pero aparentemente toman productos existentes y los rehacen para trabajar en condiciones extremas: altas temperaturas, radiación, personas que te disparan, etc. Conozco a alguien que compra HiRel TMS470 para perforación de fondo. , donde la temperatura puede alcanzar los 200C. (¡Tal vez este , en existencia en Arrow por solo $ 400 / chip!) Tienen un montón de productos estándar enumerados en el sitio web, pero por lo que he escuchado, pueden construir a pedido incluso en pequeñas cantidades: usted puede comprar una docena de versiones HiRel de cualquier chip que desee si está dispuesto a gastar más de $ 50,000 por chip. :-)

Como regla general, todo en los negocios es negociable si está gastando suficiente dinero.


3
¡Qué respuesta! ¡Fantástico! Gracias señor por tomarse un poco de su precioso tiempo y responder a mi pregunta a fondo. Me encanta TI y me encantaría trabajar para TI algún día. Ustedes están haciendo grandes cosas en TI.
Andy_A̷n̷d̷y̷

44
@ Jeremy: Por suficiente dinero, básicamente puedes obtener cualquier cosa (ese dinero podría comprar). Pero tenga en cuenta que su idea de "gran volumen" y la del fabricante podrían no coincidir exactamente. Recuerdo que a la Fundación RaspberryPi le costó mucho hacer negocios con Broadcom, ya que ellos (Broadcom) generalmente no
negocian en

55
¿Diez centavos? Una vez trabajé en un lugar donde ahorrar 1/10 de centavo del costo de producción valía más que el salario de un año para un ingeniero sénior. Por supuesto, a esa escala, no estaban comprando MCU discretas: estaban licenciando la IP y usándola en diseños ASIC totalmente personalizados.
Solomon Slow

44
El ingeniero de aplicaciones de TI habla aquí: ¡podría llenar un poco la información sobre la porción de conectividad / MCU inalámbrica! Los productos de "MCU inalámbrica" ​​se distinguen por tener un núcleo de procesador que ejecuta los controladores / pila del protocolo inalámbrico. Por ejemplo, el CC26xx ejecuta toda la pila BLE en el propio uC, por lo que es realmente fácil de desarrollar. Lo mismo con el CC3200, excepto que el procesador ejecuta todos los controladores WiFi en el Cortex-M4. El núcleo integrado y los controladores son realmente lo que los convierte en una "MCU inalámbrica", en lugar de un transceptor.
justinrjy

2
@ Rev1.0, Unidades de disco duro para PC de consumo.
Solomon Slow

27

MSP430 fue / es un núcleo desarrollado por TI. Es un núcleo de 16 bits y se ha comercializado como de muy baja potencia. Debido a que el mercado de MCU de 16 bits se está evaporando rápidamente con la proliferación del Arm Cortex-M0, hay MSP430 más nuevos que se basan en el núcleo Cortex. Los MPS430 más antiguos suelen competir por sockets de 8 bits ahora.

Stellaris, renombrado como Tiva, es el antiguo Luminary Micro MCU. Esa empresa fue adquirida por TI hace unos 6 o 7 años. Estos fueron (¿son?) Dispositivos basados ​​en Cortex-M3 / M4. Más capaz / potente que el MSP430 en la mayoría de las circunstancias.

C2000 (Piccolo / Delfino / etc.) están dirigidos al control en tiempo real (control del motor, conversión / regulación de potencia, etc.). Esta familia también tiene una funcionalidad DSP de gama baja. Dirigido más a la industria, y tal vez a algunos automotrices (una de las pocas MCU TI calificadas para automóviles).

Hércules se centra en la seguridad. Redundancia, verificación de errores en tiempo de ejecución, BIST, muchas funciones de vigilancia. Aplicaciones críticas de seguridad.

Hay varias otras partes que tienen alguna combinación de características y / o funcionalidad de nicho (es decir, inalámbrica integrada, doble núcleo, FRAM, etc.). Y luego están los DSP y Microprocesadores más capaces que se ofrecen, también.

¿Cuál es tu aplicación? ¿Volumen? Cronología de desarrollo? ¿Qué periféricos / recursos necesitas? ¿Cuánto y qué tipo de potencia de procesamiento se requiere? ¿Puede sobrevivir con los periféricos analógicos de bajo rendimiento de la MCU, o estará haciendo todo el procesamiento de la ruta de señal externa / discretamente? Hay muchos factores al elegir un procesador / controlador para un sistema / aplicación en particular.


66
Los núcleos Cortex de baja potencia se denominan MSP432 para distinguirlos (mínimamente) de MSP430. Stellaris se convirtió en Tiva. Y la serie Hercules se divide entre automotrices e industriales / médicas, principalmente en el rango de temperatura y el soporte CAN para automoción, creo.
Brian Drummond el

1
En un momento IIRC, los Hércules eran núcleos Cortex-Rx, completos con tuberías de instrucciones de doble paso de bloqueo. Destinado a su uso en controladores de freno, módulos de airbag, etc.
Krunal Desai

1
Muy buena respuesta. Parece que sabes mucho sobre TI. No sabía que adquirieron Luminary Micro MCU. Gracias por tu tiempo.
Andy_A̷n̷d̷y̷

18

Microchip es otra compañía que tiene una línea completa de microcontroladores: más de 4.000 en existencia en Digi-Key, incluidas todas las variantes de paquetes. Al igual que TI, abarcan toda la gama de 8 bits a 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

Tenga en cuenta que el más pequeño se especifica en bytes, no KB.

Su precio oscila entre 35 ¢ y $ 13.36 en cantidades individuales. Me imagino que los precios más bajos pueden costar menos de 20 ¢ en grandes cantidades. Tal vez incluso 10 ¢ para los no probados (donde el cliente realiza pruebas de aceptación en lugar del fabricante). El ARM de 32 bits más barato es el doble en cantidades individuales a 76 ¢. Para un producto de alto volumen, esa es una gran diferencia. El PIC10F200 es el µC más barato de todos los casi 15,000 que tiene Digi-Key.

Microchip también tiene una excelente reputación por mantener existencias de sus µC más antiguas (que figuran en el selector de productos a continuación como "Maduras"), que es otra cosa a tener en cuenta.

¿Cómo darle sentido a todo eso? Utiliza un selector de productos. Digi-Key, Mouser y otros distribuidores tienen bastante buenos, pero no incluyen todos los parámetros (el selector de producto µC de Digi-Key tiene menos de 20, la tabla a continuación tiene más de 50). Microchip (e imagino que otros fabricantes) tienen otros más extensos, como el siguiente. Tenga en cuenta que puede proporcionar rangos para casi todos los parámetros:

ingrese la descripción de la imagen aquí

Ahora, con la adquisición de Atmel por Microchip, será interesante ver qué sucede. Parece que hay una cierta superposición en algunas líneas.


15

Sin entrar en detalles exactos sobre las ofertas que TI tiene (que ya se han respondido aquí), me gustaría enfatizar que necesita especificaciones. Si no los tiene, suponga que es su trabajo identificarlos. Esto puede ser un poco abrumador si eres nuevo, pero mencionemos algunas especificaciones que pueden ocurrir en un proyecto:

  • ¿Qué hará el MCU? ¿Está limitado por el tiempo de CPU? ¿Vas a hacer un "procesamiento especial" como punto flotante? Esto determinará el núcleo de la CPU y la velocidad de reloj requerida.

  • ¿O está limitado por la duración de la batería? Si es así; debe investigar los modos de espera que ofrece un microcontrolador, latencia para despertar, fuentes de activación, riel de voltaje para digital y analógico (por ejemplo, si lo alimenta directamente desde la batería), etc. Además, tome nota de todas las E / S en el sistema también. Puede tener un gran microcontrolador que consume 50 nA durante el sueño, pero es insignificante si, por ejemplo, un LDO o una EEPROM consumen 10 uA en reposo.

  • ¿Qué paquete puede / necesita usar? ¿Cuántos pines y qué tecnología? ¿Cuánto espacio tienes, qué puedes armar?

  • ¿Cuánto código vas a escribir? ¿Tienes alguna idea de la cantidad de RAM / FLASH que necesitas? Alguna experiencia práctica en un devboard puede ayudar con esto.

  • ¿Qué interfaces necesita usar en el diseño de su sistema y cómo desea usarlas? Puntos de inicio básicos:

1) Restricciones de velocidad (por ejemplo, necesito un USART funcionando a 3 MBaudios)

2) Restricciones de recuento de puertos (por ejemplo, necesito 5 USART)

3) Restricciones de rendimiento (por ejemplo, necesito DMA para transferir 2 Mbps de datos desde / hacia el USART)

4) Observe cualquier "evento" que pueda ocurrir en el sistema y qué latencias debe cumplir. Por ejemplo, ¿puede sondear un pin de alerta de un dispositivo o necesita un pin de interrupción externo para él?

Esta puede ser una pregunta difícil, no importa si diseñas "de abajo hacia arriba" o "de arriba hacia abajo". Si diseña "de arriba hacia abajo", puede descubrir en este momento que no hay un microcontrolador con 16 USART que el diseño del sistema dio por sentado.

OTOH si diseña "de abajo hacia arriba", puede elegir un microcontrolador que conozca y conozca, pero descubra que no tiene la cantidad correcta de E / S y necesita "chips de pegamento" para funcionar.

Si algo; familiarizarse con las ofertas de los vendedores. Es bueno saber dónde están las restricciones cuando pones todos tus deseos en una búsqueda paramétrica y obtienes 0 resultados.

  • ¿Alguna otra restricción particular? Como se mencionó; Algunos microcontroladores tienen periféricos muy específicos para la administración de energía (módulos PWM de alta resolución) o seguridad (redundancia, vigilancia determinista y ciclos de reinicio, etc.).

Siempre es una buena idea identificar los cuellos de botella en un diseño e intentar resolverlos. Una placa de desarrollo puede ser una buena experiencia "práctica" para probar su código en términos de tiempo de CPU, requisitos de memoria y "peculiaridades" que pueda tener el microcontrolador.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.