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?
microcontroller
texas-instruments
Andy_A̷n̷d̷y̷
fuente
fuente
Respuestas:
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:
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.
fuente
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.
fuente
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:
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:
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.
fuente
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.
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.
fuente