Tipos de microcontroladores AVR - Atmega32 y ATmega8

ATmega32: microcontrolador AVR de 8 bits

Los microcontroladores AVR se basan en la arquitectura RISC avanzada. ATmega32 es un microcontrolador CMOS de 8 bits de bajo consumo basado en la arquitectura RISC mejorada AVR. AVR puede ejecutar 1 millón de instrucciones por segundo si la tasa de ciclo es de 1 MHz.


Fotografía DIP de 40 pines de ATmega32

Características principales:

  • Registros de propósito general de 32 x 8.
  • 32K bytes de memoria de programa flash autoprogramable en el sistema
  • 2K bytes de SRAM interna
  • EEPROM de 1024 bytes
  • Disponible en DIP de 40 pines, QTFP de 44 hilos, QFN/MLF de 44 pines
  • 32 líneas de E/S programables
  • ADC de 8 canales y 10 bits
  • Dos temporizadores/contadores de 8 bits con preescaladores separados y modos de comparación
  • Un temporizador/contador de 16 bits con preescalador independiente, modo de comparación y modo de captura.
  • 4 canales PWM
  • En la programación del sistema mediante el programa de arranque en chip
  • Temporizador de vigilancia programable con oscilador en chip separado.
  • Serie programable USART
  • Interfaz serie SPI maestro/esclavo

Características especiales del microcontrolador:

  • Seis modos de suspensión: suspensión, reducción de ruido ADC, ahorro de energía, apagado, suspensión e hibernación.
  • Oscilador RC interno calibrado
  • Fuentes de interrupción externas e internas
  • Restablecimiento de encendido programable y detección de caídas de tensión.
DIP de 40 pines de ATmega32
DIP de 40 pines de ATmega32

Los 32 registros están conectados directamente a la unidad lógica aritmética (ALU), lo que permite acceder a dos registros independientes en una sola instrucción ejecutada en un ciclo de reloj.

Apagar guarda el contenido del registro pero congela el oscilador. Todas las demás funciones del chip se desactivarán hasta la siguiente interrupción externa. El temporizador asíncrono permite al usuario mantener un temporizador basado en el modo de ahorro de energía mientras el resto del dispositivo está inactivo.

El modo de reducción de ruido del ADC apaga el procesador y todos los módulos de E/S excepto el ADC y el temporizador asíncrono. En el modo de suspensión, a excepción del oscilador de cristal, el resto del dispositivo duerme. El oscilador principal y el temporizador asíncrono siguen funcionando en modo de hibernación.

ATmega32 es un potente microcontrolador debido a su flash autoprogramable en el sistema en un chip monolítico, proporciona una solución altamente flexible y rentable para muchas aplicaciones de control integradas.

TQFP/MLF 44 almohadillas
TQFP/MLF 44 almohadillas

Descripciones de pines:

CVC: Suministro de tensión digital

Tierra : Terrestre

Puerto A (PA7-PA0): Este puerto sirve como entradas analógicas al convertidor A/D. También sirve como un puerto de E/S bidireccional de 8 bits si no se utiliza el convertidor A/D.

Puerto B (PB7-PB0) y Puerto D (PD7-PD0): Este es un puerto de E/S bidireccional de 8 bits. Sus búferes de salida tienen características de unidad simétrica con alta capacidad de fuente y sumidero. Como entradas, estos son extremadamente bajos si las resistencias pull-up están activadas. También cumple varias funciones especiales del ATmega32.

Puerto C (PC7-PC0): Este es un puerto de E/S bidireccional de 8 bits. Si la interfaz JTAG está habilitada, las resistencias pull-up en los pines PC5 (TDI), PC3 (TMS) y PC2 (TCK) estarán habilitadas.

Interfaz JTAG usando el puerto C de ATmega32
Interfaz JTAG usando el puerto C de ATmega32

Reiniciar: es una entrada

XTAL1: Esta es una entrada del amplificador del oscilador inversor y una entrada del circuito operativo del reloj interno.

XTAL2: Es una salida del amplificador oscilador inversor.

AVC: Este es el pin de voltaje de suministro para el puerto A y el convertidor A/D. Debe estar conectado a VCC.

AREF: AREF es el pin de referencia analógico para el convertidor A/D.

Memorias ATmega32:

Tiene dos espacios de memoria principales, memoria de datos y espacio de memoria de programa. Además, dispone de una memoria EEPROM para el almacenamiento de datos.

En la memoria de programa flash programable del sistema:

ATmega32 contiene 32 KB en chip en la memoria flash reprogramable del sistema para el almacenamiento de programas. Flash está organizado en 16k X 16 y su memoria está dividida en dos secciones, la sección del programa de inicio y la sección del programa de aplicación.

Diagrama del circuito del programador ISP
Diagrama del circuito del programador ISP

Memoria de datos SRAM:

El archivo de registro, la memoria de E/S y la SRAM de datos internos están direccionados por las 2144 ubicaciones de memoria de datos inferiores. Las primeras 96 ranuras se ocupan del archivo de registro y la memoria de E/S, y las siguientes 2048 ranuras se ocupan de la SRAM de datos internos. Directo, indirecto con movimiento, indirecto, indirecto con decremento previo e indirecto con decremento posterior son los 5 modos de direccionamiento diferentes para la cobertura de la memoria de datos. Los 32 registros de propósito general, los 64 registros de E/S y los 2048 bytes de SRAM de datos internos son accesibles utilizando estos modos de direccionamiento.

Diagrama de bloques de ATmega32
Diagrama de bloques de ATmega32

Memoria de datos EEPROM:

Contiene 1024 bytes de memoria EEPROM de datos. Se accede a él como un espacio de datos separado donde se pueden leer y escribir bytes individuales.

Memoria de E/S:

Todas las E/S y los periféricos se colocan en el espacio de E/S. Se accede a las ranuras de E/S mediante instrucciones IN y OUT, transfiriendo datos entre los 32 registros de propósito general y el espacio de E/S. Se puede acceder a los registros de E/S con la dirección 00-1F directamente en bits utilizando las instrucciones SBI y CBI.

atmega8

Introducción

Es un microcontrolador CMOS de 8 bits de la familia AVR (desarrollado por Atmel Corporation en 1996) y está construido sobre la arquitectura RSIC (Reduced Instruction Set Computer). Su principal ventaja es que no contiene acumulador y el resultado de cualquier operación puede almacenarse en cualquier registro definido por la instrucción.

Arquitectura

Arquitectura
Arquitectura

Memoria

Consta de 8 KB de memoria flash, 1 KB de SRAM y 512 bytes de EEPROM. El flash 8K se divide en 2 partes: la parte inferior se usa como la sección de flash de arranque y la parte superior se usa como la sección de flash de la aplicación. SRAM contiene 1K bytes junto con 1120 bytes de registros de uso general y registros de E/S. Las 32 ranuras de dirección inferiores se utilizan para 32 registros de 8 bits de propósito general. Las siguientes 64 direcciones se utilizan para registros de E/S. Todos los registros están conectados directamente a la ALU. EEPROM se utiliza para almacenar datos definidos por el usuario.

Puertos de entrada/salida

Consta de 23 líneas de E/S con 3 puertos de E/S, denominados B, C y D. El puerto B consta de 8 líneas de E/S, el puerto C consta de 7 líneas D. La E/S y el puerto D consta de 8 I /O líneas.

Los registros correspondientes a cualquier puerto X (B, C o D) son:

DDRX: Registro de dirección de datos del puerto X

PORTX: registro de datos del puerto X

PINX: Registro de entrada del puerto X

Temporizadores y contadores

Consta de 3 temporizadores con modos comparables. Dos de ellos son de 8 bits, mientras que el tercero es de 16 bits.

Osciladores

Incorpora un reset interno y un oscilador que elimina la necesidad de cualquier entrada externa. El oscilador RC interno es capaz de generar un reloj interno que puede operar en cualquier frecuencia desde 1 MHz, 2 MHz, 4 MHz u 8 MHz dependiendo de la programación. También admite un oscilador externo con una frecuencia máxima de 16 MHz.

Comunicación

Proporciona esquemas de transferencia de datos síncronos y asíncronos a través de USART (Universal Synchronous and Asynchronous Receiver Transmitter), es decir, comunicación con módems y otros dispositivos seriales. También es compatible con SPI (interfaz periférica en serie) utilizada para la comunicación entre dispositivos basada en el método maestro-esclavo. Otro tipo de comunicación compatible es TWI (interfaz de dos hilos). Permite cambiar entre dos dispositivos usando 2 cables con una conexión a tierra común.

También tiene un módulo comparador en chip para proporcionar una comparación entre dos voltajes conectados a las dos entradas del comparador analógico a través de chips externos.

También contiene un ADC de 6 canales de los cuales 4 tienen una precisión de 10 bits y 2 tienen una precisión de 8 bits.

Registro de estado: Contiene información sobre el conjunto de instrucciones aritméticas que se está ejecutando.

Diagrama de pines de ATmega:

Diagrama de pines de ATmega
Diagrama de pines de ATmega

Una de las características importantes del ATmega8 es que, a excepción de 5 pines, todos los demás pines admiten dos señales.

  • Los pines 23,24,25,26,27,28 y 1 se usan para el puerto C, mientras que los pines 9,10,14,15,16,17,18,19 se usan para el puerto B y los pines 2,3,4, 5,6,11,12 se utilizan para el puerto D.
  • El pin 1 también es el pin de reinicio y aplicar una señal de bajo nivel durante más tiempo que la duración mínima del pulso generará un reinicio.
  • Los pines 2 y 3 también se utilizan para la comunicación en serie para USART.
  • Los pines 4 y 5 se utilizan como interrupciones externas. Uno de ellos se activará cuando se establezca el bit indicador de interrupción del registro de estado y el otro se activará mientras prevalezca la condición de interrupción.
  • Los pines 9 y 10 se usan como un oscilador externo, así como también como osciladores contadores de tiempo donde el cristal está conectado directamente entre los pines. El pin 10 se utiliza para el oscilador de cristal o el oscilador de cristal de baja frecuencia. Si el oscilador RC calibrado interno se usa como fuente de reloj y el temporizador asíncrono está habilitado, estos pines se pueden usar como pines del oscilador del temporizador.
  • El pin 19 se usa como salida de reloj maestro, entrada de reloj esclavo para el canal SPI.
  • El pin 18 se usa como entrada de reloj maestro, salida de reloj esclavo.
  • El pin 17 se usa como salida de datos maestros, entrada de datos esclavos para el canal SPI. Se utiliza como entrada cuando lo activa un esclavo y es bidireccional cuando lo activa el maestro. Este pin también se puede usar como salida de coincidencia de comparación de salida, que sirve como una salida externa para la comparación de coincidencia de temporizador/contador.
  • El pin 16 se usa como entrada de selección de esclavo. También se puede utilizar como comparación de temporizador/contador1 configurando el pin PB2 como salida.
  • El pin 15 se puede utilizar como una salida externa para el mapeo de comparación del temporizador/contador A.
  • Los pines 23 a 28 se utilizan para los canales ADC. El pin 27 también se puede usar como reloj de interfaz en serie y el pin 28 se puede usar como datos de interfaz en serie
  • Los pines 13 y 12 se utilizan como entradas del comparador analógico.
  • Los pines 11 y 6 se utilizan como fuentes de temporizador/contador.

Modos de suspensión del microcontrolador

El microcontrolador opera en 6 modos de suspensión.

  • Modo inactivo: Detiene el funcionamiento de la CPU, pero permite el funcionamiento de SPI, USART, ADC, TWI, temporizador/contador y vigilancia y detiene el sistema. Esto se logra poniendo a cero los bits SM0 a SM2 del indicador de registro de la MCU.
  • Modo de reducción de ruido ADC: Detiene la CPU pero permite la operación del ADC, interrupciones externas, timer/counter2 y watchdog.
  • Modo de apagado: Habilita las interrupciones externas, la interfaz serial de 2 hilos, el watchdog mientras deshabilita el oscilador externo. Detiene todos los relojes generados.
  • Modo de ahorro de energía: Se utiliza cuando el temporizador/contador se cronometra de forma asíncrona. Detiene todos los relojes excepto clkASY.
  • Apoyar: En este modo, el oscilador puede operar, interrumpiendo todas las demás operaciones.

Aplicaciones relacionadas con Atmega8

Luz intermitente

Aplicaciones relacionadas con Atmega8
Diagrama del LED parpadeante

El programa está escrito en lenguaje C y primero se compila como un archivo .c. La herramienta de software ATMEL convertirá este archivo en un archivo de objeto ELF binario. Luego se vuelve a convertir en un archivo hexadecimal. Luego, el archivo hexadecimal se pasa al microcontrolador usando el programa AVR dude.

Autor de la foto:

Si quieres conocer otros artículos parecidos a Tipos de microcontroladores AVR - Atmega32 y ATmega8 puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir