Tipos de microcontrolador AVR - Atmega32 e ATmega8

Experimente Nosso Instrumento Para Eliminar Problemas





ATmega32 - Microcontrolador AVR de 8 bits

Os microcontroladores AVR são baseados na arquitetura RISC avançada. ATmega32 é um microcontrolador CMOS de 8 bits de baixa potência baseado na arquitetura RISC aprimorada do AVR. O AVR pode executar 1 milhão de instruções por segundo se a frequência do ciclo for 1MHz.

Fotografia DIP de 40 pinos de ATmega32

Fotografia DIP de 40 pinos de ATmega32



Características principais:


  • 32 x 8 registros de uso geral.
  • 32K bytes de memória de programa flash auto programável no sistema
  • 2K bytes de SRAM interna
  • EEPROM de 1024 bytes
  • Disponível em 40 pinos DIP, 44 terminais QTFP, 44 pad QFN / MLF
  • 32 linhas de E / S programáveis
  • 8 canais, ADC de 10 bits
  • Dois timers / contadores de 8 bits com prescalers separados e modos de comparação
  • Um temporizador / contador de 16 bits com prescaler separado, modo de comparação e modo de captura.
  • 4 canais PWM
  • Na programação do sistema por programa de inicialização on-chip
  • Temporizador de cão de guarda programável com oscilador separado no chip.
  • Serial programável USART
  • Interface serial SPI mestre / escravo

Recursos especiais do microcontrolador:

  • Seis modos de hibernação: ocioso, redução de ruído ADC, economia de energia, desligamento, espera e espera estendida.
  • Oscilador RC calibrado interno
  • Fontes de interrupção externas e internas
  • Reinicialização da alimentação e detecção de brown-out programável.
40 pinos DIP de ATmega32

40 pinos DIP de ATmega32



Todos os 32 registradores são diretamente conectados à Unidade Lógica Aritmética (ALU), permitindo que dois registradores independentes sejam acessados ​​em uma única instrução executada em um ciclo de clock.

O desligamento salva o conteúdo do registro, mas congela o oscilador. Todas as outras funções do chip serão desativadas até a próxima interrupção externa surgir. O cronômetro assíncrono permite que o usuário mantenha um cronômetro com base no modo de economia de energia enquanto o resto do dispositivo está dormindo.

O modo de redução de ruído ADC para a CPU e todos os módulos de E / S, exceto ADC e temporizador assíncrono. No modo de espera, exceto o oscilador de cristal, o resto do dispositivo está dormindo. O oscilador principal e o temporizador assíncrono continuam a funcionar no modo de espera estendido.

ATmega32 é um microcontrolador poderoso devido ao seu flash autoprogramável no sistema em um chip monolítico, fornece uma solução altamente flexível e econômica para muitas aplicações de controle embarcado.


TQFP / MLF de 44 pad

TQFP / MLF de 44 pad

Descrições dos pinos:

VCC: Fonte de tensão digital

GND: Terra

Porta A (PA7-PA0): Esta porta serve como entradas analógicas para o conversor A / D. Também serve como uma porta de E / S bidirecional de 8 bits se o conversor A / D não for usado.

Porta B (PB7-PB0) e Porta D (PD7-PD0): É uma porta de E / S bidirecional de 8 bits. Seus buffers de saída têm características de drive simétricas com alto dissipador e capacidade de fonte. Como entradas, eles são extremamente baixos se os resistores pull-up forem ativados. Ele também atende a vários recursos de funções especiais do ATmega32.

Porta C (PC7-PC0): É uma porta de E / S bidirecional de 8 bits. Se a interface JTAG estiver habilitada, os resistores pull-up nos pinos PC5 (TDI), PC3 (TMS) e PC2 (TCK) serão ativados.

Interface de JTAG usando a porta C de ATmega32

Interface de JTAG usando a porta C de ATmega32

Redefinir: É uma entrada.

XTAL1: É uma entrada para o amplificador do oscilador inversor e entrada para o circuito operacional do relógio interno.

XTAL2: É uma saída do amplificador do oscilador inversor.

AVCC: É o pino de tensão de alimentação para o conversor da Porta A e A / D. Deve ser conectado ao VCC.

AREF: AREF é o pino de referência analógico para o conversor A / D.

Memórias ATmega32:

É ter dois espaços de memória principais, a memória de dados e o espaço de memória do programa. Além disso, possui uma memória EEPROM para armazenamento de dados.

Na memória de programa Flash programável do sistema:

ATmega32 contém 32 Kbytes no chip na memória flash reprogramável do sistema para armazenamento de programas. O Flash é organizado como 16k X 16 e sua memória é dividida em duas seções: seção do programa de inicialização e seção do programa de aplicativo.

Diagrama de circuito do programador ISP

Diagrama de circuito do programador ISP

Memória de dados SRAM:

O arquivo de registro, a memória de E / S e a SRAM de dados interna são endereçados pelos 2144 locais de memória de dados inferiores. Os primeiros 96 locais endereçam o arquivo de registro e a memória de E / S, e os dados internos SRAM são endereçados pelos próximos 2048 locais. Direto, indireto com deslocamento, indireto, indireto com pré-decremento e direto com pós-decremento são os 5 modos de endereçamento diferentes para a cobertura da memória de dados. Os 32 registros de uso geral, 64 registros de E / S e 2048 bytes de SRAM de dados internos são acessíveis usando esses modos de endereçamento.

Diagrama de blocos do ATmega32

Diagrama de blocos do ATmega32

Memória de dados EEPROM:

Ele contém 1024 bytes de memória EEPROM de dados. Ele pode ser acessado como um espaço de dados separado no qual bytes únicos podem ser lidos e gravados.

Memória I / O:

Todos os I / Os e periféricos são colocados no espaço de I / O. Os locais de E / S são acessados ​​pelas instruções IN e OUT, transferindo os dados entre os 32 registradores de uso geral e o espaço de E / S. Os registros de E / S no endereço 00-1F são diretamente acessíveis aos bits usando as instruções SBI e CBI.

ATmega8

Introdução

É um microcontrolador CMOS de 8 bits da família AVR (desenvolvido pela Atmel Corporation em 1996) e baseado na arquitetura RSIC (Reduced Instruction Set Computer). Sua vantagem básica é que não contém nenhum acumulador e o resultado de qualquer operação pode ser armazenado em qualquer registrador, definido pela instrução.

Arquitetura

Arquitetura

Arquitetura

Memória

Consiste em 8 KB de memória flash, 1 KB de SRAM e 512 bytes de EEPROM. O flash de 8K é dividido em 2 partes - parte inferior usada como seção de flash de inicialização e parte superior usada como seção de flash de aplicativo. A SRAM contém 1K bytes junto com 1120 bytes de registradores de uso geral e registradores de E / S. As 32 localizações de endereço inferiores são usadas para 32 registros de 8 bits de propósito geral. Os próximos 64 endereços são usados ​​para registradores de E / S. Todos os registros são conectados diretamente à ALU. A EEPROM é usada para armazenar dados definidos pelo usuário.

Portas de entrada / saída

Consiste em 23 linhas de E / S com 3 portas de E / S, denominadas B, C e D. A Porta B consiste em 8 linhas de E / S, a Porta C consiste em 7 linhas de E / S e a Porta D consiste em 8 E / S linhas.

Os registros correspondentes a qualquer portX (B, C ou D) são:

DDRX : Registro de direção de dados da Porta X

PORTX : Registro de dados da porta X

PINX : Registro de entrada da porta X

Timers e contadores

Consiste em 3 temporizadores com modos comparáveis. Dois deles têm 8 bits, enquanto o terceiro tem 16 bits.

Osciladores

Incorpora reset e oscilador interno que permite eliminar a necessidade de qualquer entrada externa. O oscilador RC interno é capaz de gerar clock interno que pode funcionar em qualquer frequência de 1 MHz, 2 MHz, 4 MHz ou 8 MHz conforme programado. Ele também suporta oscilador externo com frequência máxima de 16MHz.

Comunicação

Ele fornece esquemas de transferência de dados síncronos e assíncronos através do USART (Universal Synchronous and Asynchronous Receiver Transmitter), ou seja, comunicação com modems e outros dispositivos seriais. Ele também suporta SPI (Interface Periférica Serial) usada para comunicação entre dispositivos com base no método mestre-escravo. Outro tipo de comunicação suportado é a TWI (Two wire Interface). Ele permite a comutação entre quaisquer dois dispositivos usando 2 fios junto com uma conexão de aterramento comum.

Ele também possui um módulo comparador integrado no chip para fornecer comparação entre duas tensões conectadas às duas entradas do comparador analógico através dos chips externos.

Ele também contém um ADC de 6 canais, dos quais 4 têm precisão de 10 bits e 2 têm precisão de 8 bits.

Registro de status : Contém informações sobre o conjunto de instruções aritméticas atualmente executado.

Diagrama de pinos ATmega :

Diagrama de pinos ATmega

Diagrama de pinos ATmega

Uma das características importantes do ATmega8 é que, exceto 5 pinos, todos os outros pinos suportam dois sinais.

  • Os pinos 23,24,25,26,27,28 e 1 são usados ​​para a porta C, enquanto os pinos 9,10,14,15,16,17,18,19 são usados ​​para a porta B e os pinos 2,3,4, 5,6,11,12 são usados ​​para a porta D.
  • O pino 1 também é o pino de reinicialização e a aplicação de um sinal de nível baixo por um tempo maior do que o comprimento mínimo de pulso irá gerar uma reinicialização.
  • Os pinos 2 e 3 também são usados ​​para comunicação serial para USART.
  • Os pinos 4 e 5 são usados ​​como interrupções externas. Um deles irá disparar quando o bit de flag de interrupção do registro de status for definido e o outro irá disparar enquanto a condição de interrupção prevalecer.
  • Os pinos 9 e 10 são usados ​​como osciladores externos, bem como osciladores de contadores de temporizador, onde o cristal é conectado diretamente entre os pinos. O pino 10 é usado para oscilador de cristal ou oscilador de cristal de baixa frequência. Se o oscilador RC calibrado interno for usado como fonte de relógio e o temporizador assíncrono estiver habilitado, esses pinos podem ser usados ​​como pinos do oscilador do temporizador.
  • O pino 19 é usado como saída de relógio mestre, entrada de relógio escravo para o canal SPI.
  • O pino 18 é usado como entrada de relógio mestre e saída de relógio escravo.
  • O pino 17 é usado como saída de dados mestre, entrada de dados escravo para o canal SPI. É usado como entrada quando habilitado por um escravo e bidirecional quando habilitado pelo mestre. Este pino também pode ser usado como uma saída de comparação de comparação de saída, que serve como uma saída externa para a comparação de temporizador / contador.
  • Pin16 é usado como uma entrada de seleção de escravo. Também pode ser usado como comparação de temporizador / contador1 configurando o pino PB2 como uma saída.
  • O Pin15 pode ser usado como uma saída externa para a comparação de temporizador / contador A.
  • Os pinos 23 a 28 são usados ​​para canais ADC. O pino 27 também pode ser usado como relógio de interface serial e o pino 28 pode ser usado como dados de interface serial
  • Os pinos 13 e 12 são usados ​​como entradas do comparador analógico.
  • Os pinos 11 e 6 são usados ​​como fontes de temporizador / contador.

Modos de espera do microcontrolador

O microcontrolador opera em 6 modos de hibernação.

  • Modo inativo: Ele interrompe o funcionamento da CPU, mas permite o funcionamento do SPI, USART, ADC, TWI, Timer / Contador, Watchdog e interrompe o sistema. Isso é obtido configurando os bits SM0 para SM2 do sinalizador de registro MCU como zero.
  • Modo de redução de ruído ADC : Para a CPU mas permite o funcionamento de ADC, interrupções externas, timer / contador2 e watchdog.
  • Modo de desligamento : Habilita interrupções externas, interface serial de 2 fios, watchdog enquanto desabilita o oscilador externo. Ele para todos os relógios gerados.
  • Modo de economia de energia : É usado quando o Timer / Contador é cronometrado de forma assíncrona. Ele para todos os relógios, exceto clkASY.
  • Modo de espera : Neste modo, o oscilador pode operar, interrompendo todas as outras operações.

Aplicativos que envolvem Atmega8

LED piscando

Aplicativos envolvendo Atmega8

Esquemático de LEd piscando

O programa é escrito em linguagem C e é compilado primeiro como um arquivo .c. A ferramenta de software ATMEL converterá esse arquivo em um arquivo de objeto ELF binário. Em seguida, é novamente convertido em arquivo hexadecimal. O arquivo hexadecimal é então passado para o microcontrolador usando o programa AVR dude.

Crédito da foto: