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 modificada .
Especificaciones [ editar ]
El microcontrolador Atmel de 8 bits basado en AVR RISC combina una memoria flash ISP de 32 KB con capacidades de lectura y escritura, 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 , tres temporizadores flexibles / contadores con modos de comparación, interrupciones internas y externas , USART programable en serie , una interfaz en serie de 2 cables orientada a bytes, puerto en serie SPI , convertidor A / D de 10 bits de 6 canales (8 canales en paquetes TQFP y QFN / MLF ) , programabletemporizador de vigilancia con oscilador interno y cinco 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 por MHz. [1]
Funciones [ editar ]
Parámetro | Valor |
---|---|
Tipo de CPU | AVR de 8 bits |
Actuación | 20 MIPS a 20 MHz [2] |
Memoria flash | 32 KB |
SRAM | 2 KB |
EEPROM | 1 KB |
Número de pines | 28 o 32 pines: |
Frecuencia operativa máxima | 20 MHz |
Número de canales táctiles | dieciséis |
Adquisición de hardware QTouch | No |
Pines máximos de E / S | 23 |
Interrupciones externas | 2 |
Interfaz USB | No |
Velocidad USB | - |
Familia [ editar ]
Una alternativa común al ATmega328 es el ATmega328P "picoPower". Se puede encontrar una lista completa de todos los demás miembros de la serie megaAVR en el sitio web de Atmel. [3]
- ATmega328
- ATmega328P y ATmega328P-AUTOMOTIVE
- ATmega328PB y ATmega328PB-AUTOMOTIVE (superconjunto de ATmega328P): tiene más periféricos UART, I2C y SPI que ATmega328P
Aplicaciones [ editar ]
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 y Arduino Nano .
Programación [ editar ]
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. [4]
Señal de programación | Nombre de PIN | E / S | Función |
---|---|---|---|
RDY / BSY | PD1 | O | Alto significa que la MCU está lista para un nuevo comando; de lo contrario, ocupada. |
OE | PD2 | I | Habilitar salida (activo bajo) |
WR | PD3 | I | Pulso de escritura (activo bajo) |
BS1 | PD4 | I | Byte Select 1 ("0" = byte bajo, "1" = byte alto) |
XA0 | PD5 | I | Bit 0 de acción XTAL |
XA1 | PD6 | I | Bit de acción XTAL 1 |
PAGEL | PD7 | I | Memoria de programa y carga de la página de datos EEPROM |
BS2 | PC2 | I | Byte Select 2 ("0" = byte bajo, "1" = segundo byte alto) |
DATOS | PC [1: 0]: PB [5: 0] | E / S | Bus de datos bidireccional (salida cuando OE es bajo) |
El modo de programación se ingresa cuando PAGEL (PD7), XA1 (PD6), XA0 (PD5), BS1 (PD4) se establece en cero. [2] RESET pin a 0V y V CC a 0V. V CC se establece en 4.5 - 5.5V. Espere 60 μs y RESET se establece en 11,5 - 12,5 V. Espere más de 310 μs. [2] Configure XA1: XA0: BS1: DATA = 100 1000 0000, pulso XTAL1 durante al menos 150 ns, pulso WR a cero. Esto inicia Chip Erase. 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 de Flash. [2] Y así sucesivamente ...
Símbolo | Patas | E / S | Descripción |
---|---|---|---|
MOSI | PB3 | I | Datos de serie en |
MISO | PB4 | O | Salida de datos en serie |
SCK | PB5 | I | Reloj serial |
Los datos en serie a la MCU se registran en el borde ascendente y los datos de la MCU se registran en el borde descendente. Se aplica energía a V CC mientras RESET y SCK se establecen en cero. Espere al menos 20 ms y luego se envía la instrucción serial Programming Enable 0xAC, 0x53, 0x00, 0x00 al pin MOSI. El segundo byte (0x53) será repetido por la MCU. [2]
Ver también [ editar ]
- ATmega88
- Microcontroladores AVR
- Conjunto de instrucciones Atmel AVR
- Cuadro comparativo de microcontroladores ATtiny
- Programación en el sistema
Referencias [ editar ]
- ^ "ATmega328P" . Consultado el 14 de julio de 2016 . CS1 maint: parámetro desalentado ( enlace )
- ^ a b c d e f g "Microcontroladores AVR de 8 bits de Atmel ATmega328 / P Hoja de datos completa" (PDF) . Consultado el 14 de julio de 2016 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Microcontroladores megaAVR" . Atmel . Consultado el 14 de julio de 2016 . CS1 maint: parámetro desalentado ( enlace )
- ^ "Resumen de la hoja de datos de ATmega328 / P de los microcontroladores AVR de 8 bits de Atmel" (PDF) . Junio de 2016 . Consultado el 14 de julio de 2016 . CS1 maint: parámetro desalentado ( enlace )
Enlaces externos [ editar ]
- Paginas web oficiales
- ATmega328 - Microchip
- ATmega328P - Microchip
- ATmega328PB - Microchip