stringtranslate.com

ATmega328

ATmega328P en encapsulado dual en línea estrecho de 28 pines ( DIP -28N)
ATmega328P en paquete plano cuádruple delgado de 32 pines ( TQFP -32)
Matriz de ATmega328P

El ATmega328 es un microcontrolador de un solo chip creado por Atmel en la familia megaAVR (posteriormente Microchip Technology adquirió Atmel en 2016). Tiene un núcleo de procesador RISC de 8 bits con arquitectura Harvard modificada .

Presupuesto

El microcontrolador Atmel 8-bit AVR basado en RISC combina una memoria flash ISP de 32 KB con capacidades de lectura y escritura, 1 KB de EEPROM , 2 KB de SRAM , 23 líneas de E/S de propósito general, 32 registros de trabajo de propósito general, 3 temporizadores/ contadores flexibles con modos de comparación, interrupciones internas y externas , USART programable en serie , una interfaz en serie de 2 cables orientada a bytes, puerto serie SPI , convertidor A/D de 10 bits y 6 canales (8 canales en paquetes TQFP y QFN / MLF ), temporizador de vigilancia programable 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]

Características

Familia

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

Aplicaciones

El ATmega328 se utiliza habitualmente en muchos proyectos y sistemas autónomos en los que se necesita un microcontrolador sencillo, de bajo consumo y bajo coste. Quizás la implementación más habitual de este chip se encuentra en la popular plataforma de desarrollo Arduino , concretamente en los modelos Arduino Uno , Arduino Pro Mini [4] y Arduino Nano .

Programación

Distribución de pines de ATmega 48A/PA/88A/PA/168A/PA/328/P en 28-PDIP (hoja de datos)

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]

El modo de programación se ingresa 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 a 4,5–5,5 V. Espere 60 μs y RESET se establece a 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) se active. XA1:XA0:BS1:DATA = 100 0001 0000 , pulso XTAL1, pulso WR a cero. Este es el comando de escritura flash. [2] Y así sucesivamente.

Los datos en serie que van a la MCU se registran en el flanco ascendente y los datos que llegan a la MCU se registran en el flanco descendente. Se aplica energía a V CC mientras que RESET y SCK se establecen en cero. Espere al menos 20 ms y luego se enviará la instrucción en serie de habilitación de programación 0xAC, 0x53, 0x00, 0x00 al pin MOSI. La MCU repetirá el segundo byte (0x53). [2]

Véase también

Referencias

  1. ^ "ATmega328P" . Consultado el 14 de julio de 2016 .
  2. ^ abcdefg "Hoja de datos completa de los microcontroladores AVR de 8 bits de Atmel ATmega328/P" (PDF) . Consultado el 14 de julio de 2016 .
  3. ^ "Microcontroladores megaAVR". Atmel . Consultado el 14 de julio de 2016 .
  4. ^ "Arduino - ArduinoBoardProMini". www.arduino.cc . Consultado el 8 de diciembre de 2021 .
  5. ^ "Resumen de la hoja de datos de los microcontroladores AVR de 8 bits de Atmel ATmega328/P" (PDF) . Junio ​​de 2016 . Consultado el 14 de julio de 2016 .

Enlaces externos

Paginas web oficiales