- Factores importantes a considerar al seleccionar una MCU
- 1. Aplicación
- 2. Seleccione Arquitectura de microcontrolador
- 3. Tamaño de bits
- 4. Interfaces de comunicación
- 5. Voltaje de funcionamiento
- 6. Número de pines de E / S
- 7. Requisitos de memoria
- 8. Tamaño del paquete
- 9. Consumo de energía
- 10. Soporte para microcontrolador
Un microcontrolador es esencialmente una pequeña computadora en un chip, como cualquier computadora, tiene memoria y generalmente se programa en sistemas integrados para recibir entradas, realizar cálculos y generar salidas. A diferencia de un procesador, incorpora la memoria, la CPU, E / S y otros periféricos en un solo chip, como se muestra en el diseño a continuación.
Elegir el microcontrolador adecuado para un proyecto es siempre una decisión compleja porque es el corazón del proyecto y el éxito o el fracaso del sistema depende de ello.
Hay mil tipos diferentes de microcontroladores, cada uno de ellos con una característica única o una ventaja competitiva desde el factor de forma hasta el tamaño del paquete, la capacidad de la RAM y la ROM que los hace aptos para ciertas aplicaciones y no aptos para ciertas aplicaciones. Así, muchas veces, para evitar el dolor de cabeza que conlleva seleccionar el adecuado, los diseñadores optan por microcontroladores que les resultan familiares y que, en ocasiones, ni siquiera satisfacen realmente los requisitos del proyecto. El artículo de hoy analizará algunos de los factores importantes a tener en cuenta al seleccionar un microcontrolador, incluida la arquitectura, la memoria, las interfaces y el espacio de E / S, entre otros.
Factores importantes a considerar al seleccionar una MCU
Los siguientes son algunos de los factores importantes que se deben tener en cuenta al seleccionar un microcontrolador, incluida la arquitectura, la memoria, las interfaces y el espacio de E / S, entre otros.
1. Aplicación
Lo primero que debe hacer antes de seleccionar un microcontrolador para cualquier proyecto es desarrollar una comprensión profunda de la tarea para la cual se implementará la solución basada en microcontroladores. Durante este proceso, siempre se desarrolla una hoja de especificaciones técnicas que ayudará a determinar las características específicas del microcontrolador que se utilizará para el proyecto. Un buen ejemplo de cómo la aplicación / uso del dispositivo determina el microcontrolador a utilizar se presenta cuando se adopta un microcontrolador con una unidad de punto flotante para el diseño de un dispositivo que se utilizará para realizar operaciones que involucran muchos números decimales.
2. Seleccione Arquitectura de microcontrolador
La arquitectura de un microcontrolador se refiere a cómo el microcontrolador está estructurado internamente. Hay dos arquitecturas principales que se utilizan para el diseño de microcontroladores;
- Arquitectura de Von Neumann
- Arquitectura de Harvard
La arquitectura de von Neumann presenta el uso del mismo bus para transmitir datos y obtener conjuntos de instrucciones de la memoria. Por lo tanto, la transferencia de datos y la búsqueda de instrucciones no se pueden realizar al mismo tiempo y generalmente están programadas. La arquitectura de Harvard, por otro lado, presenta el uso de buses separados para la transmisión de datos y la obtención de instrucciones.
Cada una de estas arquitecturas tiene sus propias ventajas y desventajas. La arquitectura de Harvard, por ejemplo, son computadoras RISC (conjunto de instrucciones reducidas) y, por lo tanto, pueden ejecutar más instrucciones con ciclos más bajos que las computadoras CISC (conjunto de instrucciones complejas) que se basan en la arquitectura de von Neumann. Una ventaja importante de los microcontroladores basados en Harvard (RISC) es el hecho de que la existencia de diferentes buses para los datos y el conjunto de instrucciones permite la separación del acceso a la memoria y las operaciones de la Unidad Aritmética y Lógica (ALU). Esto reduce la cantidad de potencia computacional requerida por el microcontrolador y conduce a costos reducidos, bajo consumo de energía y disipación de calor, lo que los hace ideales para el diseño de dispositivos que funcionan con baterías. Muchos ARM,Los microcontroladores AVR y PIC se basan en la arquitectura de Harvard. Ejemplos de microcontroladores que utilizan la arquitectura de Von Neumann incluyen 8051, zilog Z80, entre otros.
3. Tamaño de bits
Un microcontrolador puede ser de 8 bits, 16 bits, 32 bits y 64 bits, que es el tamaño de bits máximo actual que posee un microcontrolador. El tamaño de bit de un microcontrolador representa el tamaño de una "palabra" utilizada en el conjunto de instrucciones del microcontrolador. Esto significa que en un microcontrolador de 8 bits, la representación de cada instrucción, dirección, variable o registro toma 8 bits. Una de las implicaciones clave del tamaño de bits es la capacidad de memoria del microcontrolador. En un microcontrolador de 8 bits, por ejemplo, hay 255 ubicaciones de memoria únicas según lo dictado por el tamaño de bits, mientras que en un microcontrolador de 32 bits, hay 4,294,967,295 ubicaciones de memoria únicas, lo que significa que cuanto mayor es el tamaño de bits, mayor es el número de ubicaciones únicas. ubicaciones de memoria disponibles para su uso en el microcontrolador. Sin embargo, los fabricantes de estos díasestán desarrollando formas de proporcionar acceso a más ubicaciones de memoria a microcontroladores de tamaño de bits más pequeños a través de paginación y direccionamiento, de modo que el microcontrolador de 8 bits se convierta en direccionable en 16 bits, pero esto tiende a complicar la programación para el desarrollador de software integrado.
El efecto del tamaño de bits probablemente se experimente de manera más significativa cuando se desarrolla el firmware para el microcontrolador, especialmente para operaciones aritméticas. Los diversos tipos de datos tienen diferentes tamaños de memoria para diferentes tamaños de bits del microcontrolador. Por ejemplo, el uso de una variable declarada como un entero sin signo que debido al tipo de datos requerirá 16 bits de memoria, en los códigos que se ejecutarán en un microcontrolador de 8 bits conducirá a la pérdida del byte más significativo en los datos que a veces puede ser muy importante para el logro de la tarea para la que se diseñó el dispositivo en el que se utilizará el microcontrolador.
Por tanto, es importante seleccionar un microcontrolador con un tamaño de bits que coincida con el de los datos a procesar.
Probablemente sea importante tener en cuenta que la mayoría de las aplicaciones en estos días se encuentran entre los microcontroladores de 32 bits y 16 bits debido a los avances tecnológicos incorporados en estos chips.
4. Interfaces de comunicación
La comunicación entre el microcontrolador y algunos de los sensores y actuadores que se utilizarán para el proyecto puede requerir el uso de una interfaz entre el microcontrolador y el sensor o actuador para facilitar las comunicaciones. Tomemos, por ejemplo, que conectar un sensor analógico a un microcontrolador requerirá que el microcontrolador tenga suficiente ADC (convertidores analógicos a digitales) o, como mencioné anteriormente, variar la velocidad de un motor de CC puede requerir el uso de la interfaz PWM en el microcontrolador. Por lo que será importante confirmar que el microcontrolador a seleccionar tiene suficientes interfaces requeridas incluyendo UART, SPI, I2C entre otras.
5. Voltaje de funcionamiento
El voltaje de funcionamiento es el nivel de voltaje al que está diseñado para operar un sistema. También es el nivel de voltaje con el que se relacionan determinadas características del sistema. En el diseño de hardware, la tensión de funcionamiento determina a veces el nivel lógico en el que el microcontrolador se comunica con otros componentes que forman el sistema.
El nivel de voltaje de 5V y 3.3V es el voltaje de operación más popular utilizado para los microcontroladores y se debe tomar una decisión sobre cuál de estos niveles de voltaje se utilizará durante el proceso de desarrollo de la especificación técnica del dispositivo. Usar un microcontrolador con un voltaje de operación de 3.3V en el diseño de un dispositivo donde la mayoría de los componentes externos, sensores y actuadores operarán en un nivel de voltaje de 5V no será una decisión muy inteligente ya que será necesario implementar un nivel lógico. cambiadores o convertidores para permitir el intercambio de datos entre el microcontrolador y los otros componentes y esto aumentará el costo de fabricación y el costo total del dispositivo innecesariamente.
6. Número de pines de E / S
El número de puertos de entrada / salida de propósito general o especial y (o) pines que posee un microcontrolador es uno de los factores más importantes que influye en la elección del microcontrolador.
Si un microcontrolador tuviera todas las demás características mencionadas en este artículo, pero no tiene suficientes pines IO como lo requiere el proyecto, no se puede usar. Es importante que el microcontrolador tenga suficientes pines PWM, por ejemplo, para controlar la cantidad de motores de CC cuya velocidad variará según el dispositivo. Si bien la cantidad de puertos de E / S en un microcontrolador se puede expandir mediante el uso de registros de desplazamiento, no se puede usar para todo tipo de aplicaciones y aumenta el costo de los dispositivos en los que se usa. Por lo tanto, es mejor asegurarse de que el microcontrolador que se seleccionará para el diseño tenga el número requerido de puertos de E / S de propósito general y especial para el proyecto.
Otra cosa clave a tener en cuenta al determinar la cantidad de pines de E / S de propósito general o especial necesarios para un proyecto, es la mejora futura que se puede realizar en el dispositivo y cómo esas mejoras pueden afectar la cantidad de pines de E / S. necesario.
7. Requisitos de memoria
Hay varios tipos de memoria asociados con un microcontrolador que el diseñador debe tener en cuenta al hacer una selección. Los más importantes son la RAM, ROM y EEPROM. La cantidad necesaria de cada una de estas memorias puede ser difícil de estimar hasta que se utilice, pero a juzgar por la cantidad de trabajo que requiere el microcontrolador, se pueden hacer predicciones. Estos dispositivos de memoria mencionados anteriormente forman la memoria de datos y programas del microcontrolador.
La memoria de programa del microcontrolador almacena el firmware para el microcontrolador, por lo que cuando se desconecta la alimentación del microcontrolador, el firmware no se pierde. La cantidad de memoria del programa necesaria depende de la cantidad de datos como bibliotecas, tablas, archivos binarios para imágenes, etc. que se necesitan para que el firmware funcione correctamente.
Por otro lado, la memoria de datos se usa durante el tiempo de ejecución. Todas las variables y datos generados como resultado del procesamiento entre otras actividades durante el tiempo de ejecución se almacenan en esta memoria. Por lo tanto, la complejidad de los cálculos que se producirán durante el tiempo de ejecución se puede utilizar para estimar la cantidad de memoria de datos necesaria para el microcontrolador.
8. Tamaño del paquete
El tamaño del paquete se refiere al factor de forma del microcontrolador. Los microcontroladores generalmente vienen en paquetes que van desde QFP, TSSOP, SOIC a SSOP y el paquete DIP regular que facilita el montaje en la placa de pruebas para la creación de prototipos. Es importante planificar con anticipación la fabricación y prever qué paquete será el mejor.
9. Consumo de energía
Este es uno de los factores más importantes a considerar al seleccionar un microcontrolador, especialmente cuando se va a implementar en una aplicación alimentada por batería, como los dispositivos IoT, donde se desea que el microcontrolador tenga la menor potencia posible. La hoja de datos de la mayoría de los microcontroladores contiene información sobre varias técnicas basadas en hardware y (o) software que pueden usarse para minimizar la cantidad de energía consumida por el microcontrolador en diferentes modos. Asegúrese de que el microcontrolador que está seleccionando satisfaga los requisitos de energía para su proyecto.
10. Soporte para microcontrolador
Es importante que el microcontrolador con el que elija trabajar tenga suficiente soporte, incluido; muestras de código, diseños de referencia y, si es posible, una gran comunidad en línea. Trabajar con un microcontrolador por primera vez puede implicar diferentes desafíos y tener acceso a estos recursos lo ayudará a superarlos rápidamente. Si bien el uso de los microcontroladores más recientes debido a las nuevas y geniales características con las que viene es algo bueno, es aconsejable asegurarse de que el microcontrolador haya existido durante al menos 3-4 meses para garantizar la mayoría de los problemas iniciales que pueden estar asociados con el microcontrolador. se habría resuelto ya que varios clientes habrían realizado muchas pruebas del microcontrolador con diferentes aplicaciones.
También es importante seleccionar un microcontrolador con un buen kit de evaluación, para que pueda comenzar rápidamente a construir prototipos y probar funciones fácilmente. Los kits de evaluación son una buena forma de adquirir experiencia, familiarizarse con la cadena de herramientas utilizada para el desarrollo y ahorrar tiempo durante el desarrollo del dispositivo.
Seleccionar el microcontrolador adecuado para un proyecto seguirá siendo un problema, todo diseñador de hardware tendrá que resolverlo y, si bien hay algunos factores más que pueden influir en la elección del microcontrolador, estos factores mencionados anteriormente son los más importantes.