Vista previa del material en texto
MICROCONTROLADOR ATMega328p ATMega328p Microcontrolador de 8 bits de baja potencia basado en la arquitectura RISC (Reduced Instruction Set Computer) mejorada AVR. Ejecuta instrucciones poderosas en un ciclo de reloj, lo que permite al diseñador optimizar consumo de potencia versus velocidad de procesamiento. ATMega328p Arquitectura AVR ATMega328p - Arquitectura AVR El core AVR combina un conjunto de instrucciones (CPU) con 32 registros de trabajo de propósito general (banco de registros). Los registros se conectan directamente a la ALU, permitiendo que dos registros puedan ser accesados durante una instrucción, la cual es ejecutada en un ciclo de reloj. Este microcontrolador de arquitectura RISC es diez veces más rápido que los microcontroladores CISC (Complex Instruction Set Computer) convencionales. ATMega328p - Arquitectura AVR Reloj (clock) y alimentación Arquitectura AVR ➢ Arquitectura Harvard ➢ Flash – Memoria de programa ▪ 32K ➢ SRAM – Memoria de datos ▪ 2K ➢ EEPROM ▪ Para datos de largo término ▪ Bus de datos I/O ATMega328p - Arquitectura AVR ➢ Flash (32K) ▪ Memoria de Programa – sólo lectura ▪ No volátil ➢ SRAM (2K) ▪ Valores temporales, pila, etc. ▪ Volátil ▪ Espacio limitado! ➢ EEPROM (1K) ▪ Datos a largo plazo ATMega328p - CPU AVR CPU AVR Búsqueda de instrucción y decodificación CPU AVR Instrucciones de la ALU CPU AVR I/O y funciones especiales Mapa de memoria – AVR CPU Memoria de programa ➢Memoria Flash. En el ATMega328 es de 32 Kbytes (16 K x 2 bytes). ➢Se puede dividir en una sección para aplicación y una sección de arranque, donde podría manejarse un cargador para auto programación. Memoria de programa ➢16 K x 2 bytes: 16 K palabras, cada palabra tiene 2 bytes (16 bits). ▪ 1 K= 210 ▪ 16 K = 16*1 K = 24*210 = 214 ▪ Entradas de dirección = 14 bits ▪ Dato de salida = 2 bytes = 16 bits Memoria de programa A13 . . . A0 D15 . . . D0 Entradas de dirección Dato de salida Memoria de datos Memoria SRAM de datos Memoria SRAM de datos ➢Localidades de propósito general: 0x0100 - 0x08FF ▪ 0x08FF: 12 bits ▪ Entradas de dirección = 12 bits ▪ Salida de datos = 8 bits Memoria SRAM de datos Localidades de propósito general A11 . . . A0 D7 . . . D0 Entradas de dirección Dato de salida Registros AVR ➢ 32 registros de propósito general de 8 bits ➢ Parte del espacio de la memoria SRAM Registros de direccionamiento especial ➢ Registros X, Y y Z ▪ Registros de 16-bits usando registros 26 – 31 ➢ Estos registros son punteros de dirección de 16-bit para direccionamiento indirecto del espacio de datos. Memoria AVR ➢ Memoria de datos - SRAM 2048*8 Modos de direccionamiento El modo de direccionamiento depende de donde está la dirección del operando en la memoria de datos. ➢ Dirección del operando en la instrucción: direccionamiento directo. ➢ Dirección del operando en el registro X, Y o Z: direccionamiento indirecto. Modos de direccionamiento Direccionamiento directo por registro Modos de direccionamiento Direccionamiento de I/O directo Modos de direccionamiento Direccionamiento directo a memoria de datos Modos de direccionamiento Direccionamiento directo a memoria de datos con desplazamiento Modos de direccionamiento Direccionamiento indirecto a memoria de datos Modos de direccionamiento Direccionamiento indirecto a memoria de datos con pre-decremento Modos de direccionamiento Direccionamiento indirecto a memoria de datos con post-incremento Lectura/Escritura SRAM Propósito General Temporización Lectura/Escritura SRAM Pr. Gen. Registro puntero de pila (Stack Pointer) ➢ Registro especial en el espacio de I/O [3E,3D] ▪ Suficientes bits para direccionar el espacio de datos ▪ Inicializado con RAMEND (dirección de memoria más alta). Registro de estado AVR ➢ El registro de estado contiene información acerca del resultado de la más reciente instrucción aritmética. ➢ Esta información puede ser usada para alterar el flujo del programa (operaciones condicionales). Registro de estado AVR Conjunto de Instrucciones Instrucciones aritméticas y lógicas Algunos ejemplos: Conjunto de Instrucciones Instrucciones de Bifurcación Algunos ejemplos: Conjunto de Instrucciones Instrucciones de Bit y Revisión de Bit Algunos ejemplos: Conjunto de Instrucciones Instrucciones de Transferencia de Datos Algunos ejemplos: Conjunto de Instrucciones Instrucciones de Control del Microcontrolador BIBLIOGRAFÍA ATmega328P 8-bit AVR Microcontroller with 32K Bytes In-System Programmable Flash, DATASHEET. AVR Microcontrollers AVR Instruction Set Manual Documentación para ATMega328p: https://www.microchip.com/wwwproducts/en/ATmega3 28p https://courses.cs.washington.edu/courses/csep567/10wi /lectures/Lecture6.pdf BIBLIOGRAFÍA Capítulo 2: Los microcontroladores AVR. “El microcontrolador ATMega328P de Microchip”. Felipe Santiago Espinosa. Diapositiva 1 Diapositiva 2: ATMega328p Diapositiva 3: ATMega328p Arquitectura AVR Diapositiva 4: ATMega328p - Arquitectura AVR Diapositiva 5: ATMega328p - Arquitectura AVR Diapositiva 6: Arquitectura AVR Diapositiva 7: ATMega328p - Arquitectura AVR Diapositiva 8: ATMega328p - CPU AVR Diapositiva 9: CPU AVR Diapositiva 10: CPU AVR Diapositiva 11: CPU AVR Diapositiva 12: Mapa de memoria – AVR CPU Diapositiva 13: Memoria de programa Diapositiva 14: Memoria de programa Diapositiva 15: Memoria de datos Diapositiva 16: Memoria SRAM de datos Diapositiva 17: Memoria SRAM de datos Diapositiva 18: Registros AVR Diapositiva 19: Registros de direccionamiento especial Diapositiva 20: Memoria AVR Diapositiva 21: Modos de direccionamiento Diapositiva 22: Modos de direccionamiento Diapositiva 23: Modos de direccionamiento Diapositiva 24: Modos de direccionamiento Diapositiva 25: Modos de direccionamiento Diapositiva 26: Modos de direccionamiento Diapositiva 27: Modos de direccionamiento Diapositiva 28: Modos de direccionamiento Diapositiva 29: Lectura/Escritura SRAM Propósito General Diapositiva 30: Temporización Lectura/Escritura SRAM Pr. Gen. Diapositiva 31: Registro puntero de pila (Stack Pointer) Diapositiva 32: Registro de estado AVR Diapositiva 33: Registro de estado AVR Diapositiva 34: Conjunto de Instrucciones Diapositiva 35: Conjunto de Instrucciones Diapositiva 36: Conjunto de Instrucciones Diapositiva 37: Conjunto de Instrucciones Diapositiva 38: Conjunto de Instrucciones Diapositiva 39: BIBLIOGRAFÍA Diapositiva 40: BIBLIOGRAFÍA