48 votos

¿Por qué TI tiene tantos microcontroladores?

Estoy trabajando en un proyecto con un grupo y soy responsable de la parte digital del proyecto, así que voy a escribir el código. Para pasar de Analógico a Digital, tengo que elegir un microcontrolador.

Estuve mirando los microcontroladores de TI y descubrí que tienen muchos. Tienen:

  • Stellaris

  • Hércules

  • Serie MSP430

  • Y la lista sigue

Mis preguntas:

  • ¿Qué microcontrolador se utiliza y por qué?

  • ¿En qué condiciones debo utilizar el microcontrolador X en lugar del Y?

  • ¿Por qué hay tantos microcontroladores diferentes?

5 votos

Porque te decides por tus necesidades, luego buscas y encuentras uno que se ajuste al 90% en lugar de comprar uno que lo haga todo y un 150% más por el triple de precio.

4 votos

@PlasmaHH El 90% no es una buena opción :)

2 votos

En pocas palabras: tiene requisitos. El MC tiene características. Cuantas más características tenga el MC, más costará, más consumirá y/o será más grande físicamente. Así que tu trabajo es encontrar uno con el menor coste que siga cubriendo tus necesidades. Como con cualquier cosa, en realidad..

135voto

Al pacino Puntos 415

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, no se trata de una declaración oficial sobre las hojas de ruta o las prioridades. Además, no me dedico al marketing, así que si contradigo algún material de marketing, ellos tienen razón y yo no. :-)

La respuesta de M D es correcta, pero pensé que un poco más de detalle sería útil. TI se dirige a diferentes aplicaciones con diferentes requisitos. Cuando se compite por un zócalo MCU (y hay un lote de la competencia en este sector), tanto las características como el precio importan. Una diferencia de diez céntimos en el coste puede hacer ganar o perder el enchufe. Uno de los principales factores de coste es el tamaño de la matriz, es decir, la cantidad de cosas que contiene el chip. Por tanto, tiene sentido tener diferentes líneas de productos y diferentes familias dentro de esas líneas de productos. Las líneas de productos se diferencian principalmente en los tipos de periféricos y la arquitectura, mientras que las familias dentro de una línea de productos se diferencian principalmente en términos de coste y conjunto de características.

A continuación, algunos detalles sobre las líneas de productos:

  • Hercules es la continuación de la línea TMS470/TMS570. Se centra en la seguridad y el rendimiento. Una de las características clave de Hercules es la doble CPU que ejecuta el mismo código en paralelo ("lock-step"). Esto permite detectar inmediatamente los fallos en la propia CPU. Compruebe esta hoja de datos para obtener información sobre el rendimiento de un producto más reciente. La CPU Cortex-R5F funciona a más de 300 MHz, y hay un gran número de periféricos con características de gama alta: los módulos CAN tienen 64 buzones, por ejemplo. Obviamente, este material no es barato. Pero fíjate en las aplicaciones: desfibriladores, ventiladores, ascensores, bombas de insulina... son lugares donde los clientes están dispuestos a pagar por la seguridad. Hercules también se dedica a los productos de automoción que tienen un rango de temperatura más amplio y una vida útil más larga.
  • La C2000 se centra en el apoyo a los algoritmos de control. La "CPU" del C28x es en realidad un DSP, y su conjunto de instrucciones se ha ampliado para manejar cosas como la trigonometría y los números complejos. También hay un procesador independiente basado en tareas llamado Acelerador de Leyes de Control (CLA) que puede ejecutar algoritmos de control independientemente de la CPU. Los ADC y los PWM también admiten muchas opciones de temporización. El rendimiento varía entre la gama media ( Piccolo ) a la gama alta ( Delfino de doble núcleo ). Las grandes aplicaciones son los convertidores de potencia, la comunicación por línea eléctrica, los accionamientos industriales y el control de motores.
  • El MSP430 se basa en el bajo consumo. Tienen algunos productos que utilizan FRAM (memoria no volátil ferroeléctrica), que consume menos energía que la flash, e incluso un que funciona con 0,9V (una batería). Tienen algunos periféricos menos comunes para soportar cosas como LCDs y detección táctil capacitiva. Si miras sus hojas de datos, verás aplicaciones como sensores remotos, alarmas de humo y contadores inteligentes.
  • No sé mucho sobre el grupo Wireless MCU, pero obviamente la conectividad inalámbrica tiene sus propios requisitos especiales. Parece que tienen CPUs Cortex-M y MSP430, con aplicaciones en electrónica de consumo e Internet de las cosas. El Internet de las cosas es una palabra de moda desde hace tiempo, así que imagino que es uno de sus principales objetivos. Su más reciente (?) producto se describe como una solución "Internet-on-a-chip™". ACTUALIZACIÓN : El compañero TIer justinrjy comentó con más información sobre las MCU inalámbricas/de conectividad: " Los productos 'Wireless MCU' se distinguen por tener un núcleo de procesador que ejecuta los drivers/stack del protocolo inalámbrico. Por ejemplo, el CC26xx ejecuta toda la pila BLE en el propio uC, lo que hace que sea muy fácil de desarrollar. Lo mismo ocurre con el CC3200, excepto que el procesador ejecuta los controladores WiFi en el Cortex-M4. El núcleo y los controladores integrados son los que realmente hacen que sean una "MCU inalámbrica", en lugar de un transceptor".

Como puede ver, estas líneas de productos se dirigen a aplicaciones muy diferentes con requisitos muy distintos. Poner un chip Hércules de 300 MHz en un dispositivo alimentado por batería sería un desastre, pero también lo sería poner un MSP430 en un airbag. El tamaño físico también puede importar. Un paquete BGA de 337 pines es incómodo para encajar en un sensor diminuto, pero no es nada para una pieza de equipo industrial.

Dentro de las líneas de productos, hay múltiples 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 necesita? 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 el bajo consumo. (Ese MCU de una sola batería tiene un máximo de 4 MHz y 2 kB de RAM).

Hay muchos productos dentro de cada familia porque continuamente se desarrollan nuevos productos. Los transistores son cada vez más pequeños y baratos, por lo que pueden caber más cosas en un chip. Hoy, una MCU de gama media habría sido de gama ultra-alta hace diez años. Cada producto suele estar orientado a unas pocas aplicaciones específicas y admite otras en la medida de lo posible.

Por último, hay múltiples variantes de cada producto (también conocido como el último dígito del número de pieza). Suelen tener diferentes cantidades de memoria y (quizá) pequeñas variaciones en los periféricos disponibles. Una vez más, se trata de ofrecer un rango de precios.

La versión resumida es que cada producto ofrece un equilibrio diferente entre precio, prestaciones y características. Se trata de una simple segmentación del mercado. Nuestros clientes son fabricantes, que se preocupan mucho más por las pequeñas diferencias de precio que por los usuarios finales. La gente compra todos los números de pieza que tenemos, así que está claro que la demanda está ahí fuera. :-)

ACTUALIZACIÓN: Jeremy ha preguntado cómo afectan los requisitos de los grandes clientes al proceso de diseño, y si hacemos MCUs a medida. He visto varios MCU TMS470/570 que se fabricaron para un único gran cliente del sector de la automoción. Ese grupo también tenía un par de MCUs cuyas arquitecturas fueron diseñadas por y para un solo cliente. En al menos uno de ellos, el cliente escribió la mayor parte de la RTL. Estos están bajo fuertes restricciones de NDA, así 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 añadimos un periférico sólo para ganar un gran enchufe. Pero en general, creo que los grandes clientes son más un suelo que un techo en lo que respecta a las características.

Un ejemplo extremo de piezas a medida es nuestro grupo de alta fiabilidad. Sólo he oído hablar de ellos, pero al parecer toman productos existentes y los rehacen para que funcionen en condiciones extremas: altas temperaturas, radiación, gente que te dispara, etc. Conozco a alguien que compra los HiRel TMS470 para la perforación de pozos, donde la temperatura puede alcanzar los 200C. (Quizá este -- en stock en Arrow por sólo $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+ por ficha. :-)

Como regla general, todo en los negocios es negociable si se gasta suficiente dinero.

3 votos

¡Vaya respuesta! ¡Fantástico! Gracias, señor, por dedicar parte de su valioso tiempo a responder a mi pregunta de forma exhaustiva.

0 votos

@Adam: ¿hasta qué punto los requisitos específicos de clientes únicos de gran volumen afectan a la decisión de la empresa de crear variantes (o incluso familias)? es decir, ¿crea TI (y otros fabricantes) productos adaptados a clientes específicos, que luego ponen a la venta en general?

4 votos

@Jeremy: Por suficiente dinero, básicamente puedes conseguir cualquier cosa (que el dinero puede comprar). Pero ten en cuenta que tu idea de "gran volumen" y la del fabricante pueden no coincidir exactamente. Recuerdo que el Fundación RaspberryPi tuvo un tiempo realmente difícil de hacer negocios con Broadcom, ya que ellos (Broadcom) normalmente no tratan con números tan "bajos"...

28voto

M D Puntos 586

El MSP430 era/es un núcleo desarrollado por TI. Es un núcleo de 16 bits y se ha comercializado como de muy bajo consumo. Dado 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 ahora por los zócalos de 8 bits.

Stellaris, rebautizada como Tiva, es la antigua Luminary Micro MCU. Esta empresa fue adquirida por TI hace unos 6 ó 7 años. Eran (¿son?) dispositivos basados en Cortex-M3/M4. Más capaces/potentes que el MSP430 en la mayoría de las circunstancias.

Los C2000 (Piccolo/Delfino/etc.) están orientados al control en tiempo real (control de motores, conversión/regulación de energía, etc.). Esta familia también tiene una funcionalidad DSP de gama baja. Está orientada más bien a la industria y quizás a la automoción (es una de las pocas MCU de TI cualificadas para la automoción).

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

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

¿Cuál es su aplicación? ¿Volumen? ¿Tiempo de desarrollo? ¿Qué periféricos/recursos necesita? ¿Qué tipo de potencia de procesamiento se necesita? ¿Puede arreglárselas con los periféricos analógicos de menor rendimiento de la MCU, o va a realizar todo el procesamiento de la ruta de la señal de forma externa/discreta? Hay muchos factores a la hora de elegir un procesador/controlador para un sistema/aplicación concreto.

6 votos

Los núcleos Cortex de baja potencia se denominan MSP432 para distinguirlos (mínimamente) de los MSP430. Stellaris se convirtió en Tiva. Y la serie Hércules se divide a su vez entre la serie de automoción y la serie industrial/médica, principalmente por el rango de temperatura y la compatibilidad con CAN para la automoción, creo.

1 votos

En un momento dado, los Hércules eran núcleos Cortex-Rx con doble canalización de instrucciones. Destinados a ser utilizados en controladores de freno, módulos de airbag, etc.

1 votos

Muy buena respuesta. Parece que sabes mucho sobre TI. No sabía que habían adquirido Luminary Micro MCU. Gracias por su tiempo.

18voto

Matt McMinn Puntos 6067

Microchip es otra empresa que tiene una línea completa de microcontroladores, más de 4.000 en stock en Digi-Key, incluyendo todas las variantes de paquetes. Al igual que TI, abarcan toda la gama de 8 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 lo más pequeño se especifica en bytes, no en KB.

Su precio oscila entre 35¢ y 13,36$ en cantidades individuales. Imagino que los de menor precio pueden llegar a costar menos de 20¢ en grandes cantidades. Tal vez incluso 10¢ para los que no han sido probados (cuando el cliente hace las pruebas de aceptación en lugar del fabricante). El ARM de 32 bits más barato cuesta el doble en cantidades individuales, 76 céntimos. Para un producto de gran volumen, es una gran diferencia. El PIC10F200 es el µC más barato de todo los casi 15.000 que Digi-Key tiene en stock.

Microchip también tiene una excelente reputación en cuanto al mantenimiento de existencias de sus µC más antiguos (listados en el selector de productos más abajo como "Mature"), que es otra cosa a tener en cuenta.

¿Cómo dar sentido a todo esto? Utilice un selector de productos. Digi-Key, Mouser y otros distribuidores tienen unos bastante buenos, pero no incluyen todos los parámetros (el selector de productos µC de Digi-Key tiene menos de 20, la tabla de abajo tiene más de 50). Microchip (e imagino que otros fabricantes) tienen otras más extensas, como la de abajo. Tenga en cuenta que puede dar rangos para casi todos los parámetros:

enter image description here

Ahora, con la adquisición de Atmel por parte de Microchip, será interesante ver qué ocurre. Parece que hay bastante solapamiento en algunas líneas.

15voto

Avner Puntos 2065

Sin entrar en el detalle exacto de qué ofertas tiene TI (que ya se ha respondido aquí), me gustaría destacar que necesita especificaciones. Si no las tiene, asuma que es su trabajo identificarlas. Esto puede ser un poco abrumador si eres nuevo, pero vamos a nombrar algunas especificaciones que pueden darse en un proyecto:

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

  • ¿O está limitado por la duración de la batería? Si es así, tienes que investigar los modos de espera que ofrece un microcontrolador, la latencia para despertarse, las fuentes de despertarse, el carril de tensión para lo digital y lo analógico (por ejemplo, si lo alimentas directamente de la batería), etc. Además, ten en cuenta todas las E/S del sistema. Puedes tener un gran microcontrolador que consuma 50nA durante el reposo, pero es insignificante si, por ejemplo, un LDO o una EEPROM consumen 10uA en reposo.

  • ¿Qué paquete puede/debe utilizar? ¿Cuántos pines y qué tecnología? ¿Cuánto espacio tienes, qué puedes montar?

  • ¿Cuánto código vas a escribir para ello? ¿Tienes idea de cuánta RAM/FLASH necesitas? Un poco de experiencia práctica en una placa de desarrollo puede ayudar con esto.

  • Qué interfaces necesita utilizar en el diseño de su sistema, y cómo ¿quieres usarlos? Puntos de partida básicos:

1) Restricciones de velocidad (por ejemplo, necesito una USART que funcione a 3MBaud)

2) Restricciones en el número de puertos (por ejemplo, necesito 5 USARTs)

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

4) Observa los "eventos" que pueden ocurrir en el sistema y qué latencias debes cumplir. Por ejemplo, ¿puede sondear un pin de alerta de un dispositivo o necesita un pin de interrupción externo para ello?

Esta puede ser una pregunta difícil, independientemente de si se diseña "de abajo a arriba" o "de arriba a abajo". Si diseñas "de arriba a abajo", puede que te des cuenta en este punto de que no hay un microcontrolador con 16 USARTs que el diseño del sistema daba por hecho.

Por otro lado, si diseñas "de abajo a arriba" puedes elegir un microcontrolador que conoces y con el que estás familiarizado, pero descubrir que no tiene la cantidad adecuada de E/S y necesita "chips de pegamento" para funcionar.

En todo caso, familiarícese con las ofertas de los vendedores. Es bueno saber dónde están las limitaciones cuando introduces todos tus deseos en una búsqueda paramétrica y obtienes 0 resultados.

  • ¿Algún otro condicionante en particular? Como se ha mencionado, algunos microcontroladores tienen periféricos muy específicos para la gestión de la energía (módulos PWM de alta resolución) o la seguridad (redundancia, ciclos de vigilancia y reinicio deterministas, etc.).

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X