Un microcontrolador (tambien conocido como MCU o μC)es una computadora funcional completa dentro de un chip, internamente contiene un nucleo de procesamiento, memoria y periféricos de entrada y salida programables
A diferencia de un microprocesador, un microcontrolador puede funcionar completamente en solitario sin la necesidad de integrar circuiteria de apoyo digital (como memorias externas, convertidores de datos y controladores de bus)
Son muy usados en dispositivos y maquinaria controlada automáticamente, como las computadoras de control del motor en un automóvil, controles remoto, maquinas de oficina, electrodomésticos, herramientas y juguetes. Debido a la alta reduccion del tamaño, costo y consumo de potencia los microcontroladores han hecho económicamente posible el control electrónico de muchos procesos
Son diseñados para disminuir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil.
Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores “simples” y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (vd. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, horno microondas, teléfonos, etc.
Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada/salida (puertos) y la memoria para almacenamiento de información.
Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analogico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el BASIC o C que se utiliza bastante con este propósito.
Los microcontroladores tratan de equilibrar entre la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.
Los microcontroladores más comunes en uso son:
Fabricante | 8 Bits | 16 Bits | 32 Bits |
---|---|---|---|
Atmel | AVR 89Sxx (obsoleto) | AVR32 AT91SAM (ARM) |
|
Freescale (antes Motorola) | HC05 (obsoleto) RS08 HC08 HCS08 HC11 (obsoleto) | S12 HC12 HC16 56800 | Flexis (V1) V2 (ColdFire) V3 (ColdFire) 68k PowerPC ARM |
Intel | MSC48 (obsoleto) MCS51 (obsoleto) | ||
Luminary Micro | Stellaris (ARM Cortex-M3) | ||
Microchip | PIC10 PIC12 PIC16 PIC18 | PIC24F PIC24H DsPIC30 DsPIC33 | PIC32 |
National Semiconductor | COP8 (obsoleto) | ||
Renesas | H8 H8 Tiny | H8S R8C M16C | H8SX R32C M32C M32R SH1 SH2 SH3 |
ST | STMSS ST6 ST7 uPSD | ST10 | STM32 (ARM Cortex-M3) STR7 (ARM7) ATR9 (ARM9) |
Texas Instruments | MSP430 C2000 | TMS470 (ARM7) |