¿Microprocesador (MPU) o microcontrolador (MCU)?

¿Microprocesador (MPU) o microcontrolador (MCU)? ¿Qué factores debe considerar al seleccionar el dispositivo de procesamiento correcto para su próximo diseño?

¿Qué son un MPU y un MCU?

Seleccionar el dispositivo adecuado en el que basar su nuevo diseño puede resultar abrumador. La necesidad de establecer el correcto equilibrio de precio, rendimiento y consumo de energía tiene muchas repercusiones. En primer lugar, estarán las consideraciones tecnológicas inmediatas para el diseño en el que puede embarcarse, pero si el dispositivo, ya sea un microcontrolador (MCU) o un microprocesador (MPU), se convierte en la base de un enfoque de plataforma para una gama de nuevos productos, entonces la decisión puede tener consecuencias duraderas.

En primer lugar, consideremos algunas de las diferencias principales entre un MCU y un MPU. Normalmente, un MCU utiliza una memoria flash integrada en chip, en la cual se almacena y ejecuta su programa. Almacenar el programa de esta forma significa que el MCU tiene un período de arranque muy breve y puede ejecutar el código muy rápido. La única limitación práctica en el uso de la memoria integrada es que el espacio de memoria disponible total es finito. La mayoría de los dispositivos MCU con Flash disponible en el mercado cuentan con un máximo de 2 Mbytes de memoria de programa y, según la aplicación, esto puede llegar a ser un factor limitante. Los MPU no tienen restricciones de memoria de la misma forma. Utilizan memoria externa para proporcionar almacenamiento de datos y programa. El programa normalmente se almacena en una memoria no volátil, como NAND o Flash serial, y al iniciarse se carga en una DRAM externa y luego comienza su ejecución. Esto significa que el MPU no estará activo y funcionando tan rápido como el MCU pero la cantidad de DRAM y NVM que puede conectar al procesador está en el rango de cientos de Mbytes e incluso Gbytes en el caso de NAND. Otra diferencia es la potencia. Al integrar su propio suministro de energía, un MCU solo necesita un riel de alimentación de tensión único. En comparación, un MPU requiere varios rieles de tensión diferentes para el núcleo, DDR, etc. El desarrollador debe adaptarse a esto con circuitos integrados de potencia o convertidores integrados adicionales.

Desde la perspectiva de la aplicación, algunos aspectos de la especificación del diseño podrían impulsar la selección del dispositivo de maneras particulares. Por ejemplo, ¿la cantidad de canales de interfaces periféricas requerida es mayor de lo que un MCU puede satisfacer? O bien, ¿la especificación de marketing estipula una capacidad de interfaz de usuario que no será posible con un MCU porque no contiene suficiente memoria en chip o tiene el rendimiento requerido? Al embarcarse en el primer diseño y sabiendo esto, es muy probable que haya muchas variaciones de productos. En dicho caso, es muy probable que se prefiera un método de diseño basado en plataforma. Esto estipularía más "margen de maniobra" en términos de potencia de procesamiento y capacidades de interfaz para dar cabida a futuras actualizaciones de funciones.

Un atributo que es difícil de determinar es el rendimiento de procesamiento requerido que cualquier diseño puede necesitar. La potencia de procesamiento, medida en términos de Dhrystone MIPS (DMIPS), ayuda a cuantificar estos criterios. Por ejemplo, un microcontrolador basado en ARM Cortex-M4 como el MCU SAM4 de Atmel tiene una calificación de 150 DMIPS mientras que un procesador de aplicación ARM Cortex-A5 (MPU) como el SAMA5D3 de Atmel puede entregar hasta 850 DMIPS. Una forma de calcular el DMIPS requerido es observando las partes de la aplicación que podrían estar sedientas de rendimiento. La ejecución de un sistema operativo (OS) completo, como Linux, Android o Windows CE, para su aplicación podría demandar al menos 300 a 400 DMIPS. Para muchas aplicaciones, un RTOS directo podría ser suficiente y una asignación de 50 DMIPS podría ser más de lo adecuado. Utilizar un RTOS también tiene el beneficio que requiere poco espacio de memoria; un núcleo o simplemente unos pocos kB, que es lo típico. Desafortunadamente, un sistema operativo completo requiere una unidad de administración de memoria (MMU) para funcionar; esto a su vez especifica el tipo de núcleo de procesador que se utilizará y requiere mayor capacidad de procesador.

Para ejecutar aplicaciones que utilizan más que suficiente procesamiento de números, la asignación de DMIPS se debe reservar en la parte superior de cualquier sistema operativo y otra comunicación y tareas de control. Cuanto más numérica sea la aplicación, más probable será que se requiera un MPU.

Aplicaciones de microcontroladores frente a aplicaciones de microprocesadores

Ya sea que la aplicación prevista esté orientada a la electrónica de consumo o a la automatización industrial, la interfaz de usuario (UI) puede ser una consideración importante. Como consumidores, nos hemos familiarizado y nos sentimos cómodos con el uso de interfaces gráficas coloridas e intuitivas. Las aplicaciones industriales cada vez utilizan más este método de interacción con el operador, aunque el entorno de operación puede limitar cuánto se garantiza. Para la interfaz de usuario existen diversos factores. En primer lugar, se requieren gastos generales para procesamiento. Para una biblioteca de UI como Qt, que es ampliamente utilizada por encima de Linux, un gasto general de 80 a 100 DMIPS podría ser suficiente. El segundo factor es lidiar con la complejidad de la interfaz de usuario. Mientras más animaciones, efectos, contenido multimedia exista, más cambios se aplican a la imagen que se mostrará, más potencia de procesamiento y memoria necesitará. Y estos requisitos escalan con la resolución, es por esto que para aplicaciones que se han diseñado para ser céntricas en la interfaz de usuario, es más probable que se ajuste un MPU. Por otra parte, un MCU puede resolver una interfaz de usuario más simple con imágenes pseudoestáticas en una pantalla de menor resolución. Otro argumento en favor del MPU es que generalmente viene equipado con un controlador LCD TFT integrado. Muy pocos MCU tienen esta capacidad. El controlador LCD TFT y otros componentes de accionamiento externo se deben agregar externamente. Por lo tanto, si bien es posible lograrlo con un MCU, el desarrollador necesita observar la BOM general. Ahora están llegando al mercado algunos MCU Flash con controladores LCD TFT incorporados, pero aun así, debe haber suficiente memoria SRAM incorporada disponible para controlar la pantalla. Por ejemplo, el formato QVGA 320 x 240 de 16 colores requiere 150 kB de SRAM para alimentar y actualizar la pantalla. Esta es una cantidad relativamente alta de SRAM para dedicar; por lo tanto, se podría requerir agregar memoria adicional a la BOM y salvar la situación con la solución de MPU. Interfaces de usuario gráficas avanzadas y más complejas, en especial que utilizan pantallas de más de 4.3 pulgadas, podrían estipular un MPU. Si se considera que los MPU dominan cuando se trata de ejecutar una interfaz de usuario en una pantalla TFT a color, entonces los MCU son los reyes para el control de LCD de matriz de puntos o segmentos y otras pantallas con interfaces en serie.

Conexión de dispositivos

Desde el punto de vista de la conectividad, la mayoría de los dispositivos MCU y MPU están disponibles, con todas las interfaces periféricas populares comunes. Pero los periféricos de comunicaciones de alta velocidad, como HS USB 2.0, múltiples puertos 10/100 Ethernet o puerto Gigabit Ethernet por lo general solo se encuentran en el MPU, ya que tienen una mejor capacidad de manipular y procesar grandes cantidades de datos. Una pregunta clave es si hay o no canales y ancho de banda suficientemente adecuados para manipular el tráfico de datos. Dependiendo de los protocolos de comunicaciones utilizados, se debe comprobar el impacto en el espacio del código que utiliza pilas de terceros. Las aplicaciones que exigen conectividad de alta velocidad, especialmente en combinación con el uso de pilas basadas en SO, requerirán un diseño basado en MPU.

Otro aspecto clave que impulsará la selección entre un MCU y un MPU es la necesidad de un comportamiento determinista o en tiempo real de la aplicación. Dado el núcleo de procesador utilizado en un MCU, además de la flash integrada y considerando que el software utilizado es RTOS o metal expuesto C, el MCU definitivamente tomará el liderazgo en este aspecto y abordará perfectamente las aplicaciones más críticas en cuanto a tiempo y determinísticas.

Modos de potencia y rendimiento de los MPU y MCU

Un último punto a considerar es el consumo de energía. Si bien los MPU no tienen modos de bajo consumo de energía, no son tantos o tan pocos los que encontrará en un MCU típico. Al tener el hardware externo compatible, un MPU cuenta con un factor agregado, colocar un MPU en un modo de bajo consumo de energía también podría ser levemente complejo. Además, el consumo real de un MCU es muchísimo más bajo que un MPU, en modo de bajo consumo de energía, por ejemplo con SRAM y retención de registro, puede considerar un factor 10 a 100. Obviamente esto se relaciona directamente con la cantidad de RAM que un sistema operativo requiere para encenderse para reanudar la operación de forma instantánea. Las decisiones involucradas en la selección de un método basado en MCU o en MPU son muchas e implican rendimiento, capacidad y presupuesto de BOM. En términos generales, los MCU tienden a usarse en soluciones de costos optimizados donde un control estricto de la lista de materiales y el ahorro de energía son esenciales. Los MPU tienden a utilizarse en aplicaciones de múltiples funciones y de alto rendimiento. Los MCU tienden a utilizarse en aplicaciones de ultrabajo consumo de energía, como controles remotos, sistemas eléctricos del consumidor y medidores inteligentes donde el énfasis del diseño está en la duración de la batería y muy poca o nada en la interacción de la UI. También se utilizan cuando se necesita un comportamiento altamente determinista. Los MPU son ideales para aplicaciones del consumidor o industriales basadas en sistema operativo que pueden incluir un uso intensivo de sistemas de computación y requerir conectividad múltiple de alta velocidad o de múltiples interfaces de usuario.

Seleccionar un vendedor que ofrezca productos de MCU y MPU altamente compatibles donde fácilmente pueda migrar hacia arriba o hacia abajo y aumentar al máximo la reutilización de software proporciona el mejor retorno de la inversión en el tiempo.


¿Se encuentra en la lista?
Suscríbase ahora para recibir ofertas exclusivas, anuncios de producto y las últimas noticias del sector.

Artículos informativos relacionados

Últimas noticias

Lo sentimos, pero su selección de filtros no devolvió resultados.

Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
Respetamos su privacidad. Lea nuestra política de privacidad aquió