Otro de los componentes electrónicos que deberías conocer es el microcontrolador, o MCU (MicroController Unit), ATmega328P. Uno de los chips más populares que podrás programar para multitud de aplicaciones de todo tipo, tanto proyectos DIY, hasta otros proyectos industriales, etc.
Seguro que te suena su nombre, y es que es uno de los microchips usados por placas Arduino y otras placas de desarrollo similares. De hecho, en gran parte, ha sido esta plataforma de hardware abierto la que también ha contribuido a que su popularidad se dispare.
De Atmel a Microchip
Atmel Corporation fue una empresa de semiconductores fundada en 1984. La marca de la empresa fundada por George Perlegos era el acrónimo de Advanced Tecnology for Memory and Logic.
A lo largo de su historia, han desarrollado dispositivos de RF, WiMAX, ASICs, SoCs, memorias tipo EEPROM y flash, etc. Pero, especialmente, se han centrado también en los microcontroladores. Entre ellos, han incluido algunos derivados del Intel 8051, los basados en AVR y AVR32 (ambas arquitecturas desarrolladas por la propia Atmel) y también basados en ARM.
Sus productos han servido tanto para la electrónica de consumo, como empresas de telecomunicaciones, industria de la electrónica, equipos médicos, vehículos, sector aeroespacial, tarjetas seguras, y también militar.
En cuanto a Microchip Technology, también es otro gran fabricante de semiconductores con sede en Arizona. Dedicado a los microcontroladores, memorias (EEPROM y EPROM), RF, y otros dispositivos analógicos, así como herramientas de software para la programación y desarrollo. Destacan especialmente sus microcontroladores, con una familia desarrollada por ellos mismos como los PIC.
¿Qué es un microcontrolador o MCU?
Un microcontrolador, µC, UC o MCU (Microcontroller Unit), como lo quieras llamar, es un CI programable y capaz de ejecutar órdenes cargadas en su memoria. Por tanto, un microcontrolador es casi un computador completo dentro de un chip. Tiene todos los componentes integrados, como son la CPU, la memoria RAM, ROM y también periféricos de E/S (GPIO, temporizadores o contadores, conversores A/D, SPI, I2C, USB, Ethernet, comparadores, PWM, etc.).
Evidentemente, el rendimiento de estos computadores en un chip no es tan elevada como los actuales PCs. Tienen rendimientos similares a los equipos de hace décadas. Sin embargo, son muy eficientes y suelen ser muy atractivos para diferentes tareas donde no se necesita un rendimiento elevado, como para controlar maquinaria industrial, controlar ciertas tareas en vehículos, placas de desarrollo, electrodomésticos, etc.
¿Qué es el ATmega328P?
El ATmega328P es un microcontrolador creado por Atmel, perteneciente a la serie megaAVR. Actualmente pertenece a Microchip. En cuanto a sus parámetros y características técnicas más destacados están:
- Arquitectura AVR 8-bit
- 32 KB de flash
- 1 KB de EEPROM
- 2 KB de SRAM
- 23 líneas E/S de propósito general
- 32 registros de propósito general
- 3 temporizadores/contadores con modo comparación
- Interrupciones internas/externas (24)
- Programador modo UART
- Interfaz serial
- SPI
- 8 canales de 10-bit para conversor A/D
- 6 canales PWM
- Temporizador (watchdog) programable con oscilador interno
- 5 modos de ahorro de energía seleccionables por software
- Alimentación de 1.8v a 5.5v.
- Alcanza 1 MIPS de rendimiento, es decir, un millón de instrucciones ejecutadas en cada segundo.
- Frecuencia de reloj de 20 Mhz
- Empaquetado, puede ser DIP o PLCC. Con 28 pines.
En cuanto a su pinout y datasheet, puedes descargarlos desde aquí.
¿Qué es AVR?
Si te preguntas qué es AVR, es una arquitectura de 8-bit y tipo RISC desarrollada por Ateml para su línea de microcontroladores. Inicialmente fue concebida por dos estudiantes del Norwegian Institute of Technology, y más tarde refinada y desarrollada por Atmel Norway. Ahora es empleada por las líneas de ATmega, ATxmega, ATtiny, y AT90.
Además, sigue un esquema Harvard, tiene 32 registros de 8-bit, y se diseñó siempre pensando en la ejecución de C compilado de la forma más eficiente.