ATmega328


El ATmega328 es un microcontrolador de un solo chip creado por Atmel en la familia megaAVR (más tarde , Microchip Technology adquirió Atmel en 2016). Tiene un núcleo de procesador RISC de 8 bits de arquitectura Harvard modificado .

El microcontrolador basado en AVR RISC de 8 bits de Atmel combina memoria flash ISP de 32 KB con capacidades de lectura mientras escribe, EEPROM de 1 KB, SRAM de 2 KB , 23 líneas de E/S de propósito general, 32 registros de trabajo de propósito general , 3 flexibles temporizador/ contadores con modos de comparación, interrupciones internas y externas , USART serial programable , una interfaz serial de 2 hilos orientada a bytes, puerto serial SPI , convertidor A/D de 6 canales y 10 bits (8 canales en paquetes TQFP y QFN / MLF ), programable temporizador de vigilancia con oscilador interno y 5 modos de ahorro de energía seleccionables por software. El dispositivo funciona entre 1,8 y 5,5 voltios. El dispositivo alcanza un rendimiento cercano a 1  MIPS /MHz. [1]

Una alternativa común al ATmega328 es el "picoPower" ATmega328P. Puede encontrar una lista completa de todos los demás miembros de la serie megaAVR en el sitio web de Atmel. [3]

ATmega328 se usa comúnmente en muchos proyectos y sistemas autónomos donde se necesita un microcontrolador simple, de bajo consumo y bajo costo. Quizás la implementación más común de este chip se encuentra en la popular plataforma de desarrollo Arduino , a saber, los modelos Arduino Uno , Arduino Pro Mini [4] y Arduino Nano .

La calificación de confiabilidad muestra que la tasa de falla de retención de datos proyectada es mucho menor que 1 PPM durante 20 años a 85 °C o 100 años a 25 °C. [5]

Se ingresa al modo de programación cuando PAGEL (PD7), XA1 (PD6), XA0 (PD5), BS1 (PD4) se establece en cero. [2] pin RESET a 0 V y V CC a 0 V. V CC se establece en 4,5–5,5 V. Espere 60 μs, y RESET se establece en 11,5–12,5 V. Espere más de 310 μs. [2] Establezca XA1:XA0:BS1:DATA = 100 1000 0000 , pulse XTAL1 durante al menos 150 ns, pulse WR a cero. Esto inicia el borrado del chip. Espere hasta que RDY/BSY (PD1) suba. XA1:XA0:BS1:DATA = 100 0001 0000 , pulso XTAL1, pulso WR a cero. Este es el comando de escritura flash. [2] Y así sucesivamente.


ATmega328P en paquete estrecho dual en línea de 28 pines ( DIP -28N)
ATmega328P en paquete plano cuádruple delgado de 32 pines ( TQFP -32)
Morir de ATmega328P
Asignación de pines de ATmega 48A/PA/88A/PA/168A/PA/328/P en 28-PDIP ( hoja de datos )