Microcontrolador AVR: tudo o que você precisa saber – (Parte 1/46)

Microcontrolador AVR: tudo o que você precisa saber – (Parte 1/46)

Microcontrolador: O microcontrolador pode ser denominado como um computador com chip único que inclui vários periféricos como RAM, EEPROM, temporizadores etc., necessários para executar alguma tarefa predefinida.
Diagrama de blocos mostrando a arquitetura do microcontrolador AVR
Figura 1: Diagrama de blocos mostrando a arquitetura do microcontrolador AVR
Isso significa que microcontrolador é outro nome para computador…? A resposta é não!
O computador, por um lado, é projetado para executar todas as tarefas de uso geral em uma única máquina, como você pode usar um computador para executar um software para realizar cálculos ou pode usar um computador para armazenar algum arquivo multimídia ou para acessar a Internet através do navegador, enquanto os microcontroladores se destinam a executar apenas tarefas específicas, por exemplo, desligar automaticamente o AC quando a temperatura ambiente cai para um determinado limite definido e ligá-lo novamente quando a temperatura sobe acima do limite definido.
Existem várias famílias populares de microcontroladores que são usados ​​em diferentes aplicações de acordo com sua capacidade e viabilidade para executar a tarefa desejada, os mais comuns são 8051, AVR e microcontroladores PIC. Neste artigo apresentaremos a você AVR família de microcontroladores.
História do AVR
AVR foi desenvolvido no ano de 1996 pela Atmel Corporation. A arquitetura de AVR foi desenvolvido por Alf-Egil Bogen e Vegard Wollan. AVR deriva seu nome de seus desenvolvedores e significa AI-Egil Bogen VEgard Wollan RMicrocontrolador ISCtambém conhecido como Aavançado Vvirtual RISC. O AT90S8515 foi o primeiro microcontrolador baseado em Arquitetura AVR entretanto, o primeiro microcontrolador a chegar ao mercado comercial foi o AT90S1200 no ano de 1997.
Microcontroladores AVR estão disponíveis em três categorias:
1. TinyAVR – Menos memória, tamanho pequeno, adequado apenas para aplicações mais simples
2. MegaAVR – São os mais populares, com boa quantidade de memória (até 256 KB), maior número de periféricos embutidos e adequados para aplicações moderadas a complexas.
3. XmegaAVR – Utilizado comercialmente para aplicações complexas, que requerem grande memória de programa e alta velocidade.
A tabela a seguir compara a série de microcontroladores AVR mencionada acima:
Nome da série
Alfinetes
Memória flash
Característica especial
TinyAVR
6-32
0,5-8KB
Pequeno em tamanho
MegaAVR
28-100
4-256 KB
Periféricos estendidos
XmegaAVR
44-100
16-384 KB
DMA, sistema de eventos incluído

Importância do AVR

O que há de especial no AVR?
Eles são rápidos: Microcontrolador AVR executa a maioria das instruções em um único ciclo de execução. Os AVRs são cerca de 4 vezes mais rápidos que os PICs, consomem menos energia e podem ser operados em diferentes modos de economia de energia. Vamos fazer a comparação entre as três famílias de microcontroladores mais utilizadas.
8051
FOTO
AVR
VELOCIDADE
Lento
Moderado
Rápido
MEMÓRIA
Pequeno
Grande
Grande
ARQUITETURA
CISC
RISC
RISC
ADC
Não presente
Embutido
Embutido
Temporizadores
Embutido
Embutido
Embutido
Canais PWM
Não presente
Embutido
Embutido
AVR é ​​um microcontrolador de 8 bits pertencente à família de computadores com conjunto de instruções reduzido (RISC). Na arquitetura RISC, o conjunto de instruções do computador não é apenas em menor número, mas também mais simples e rápido em operação. O outro tipo de categorização é CISC (Complex Instruction Set Computers). Clique para descobrir as diferenças entre RISC e CISC. Exploraremos mais sobre isso quando aprendermos sobre a arquitetura dos microcontroladores AVR na seção seguinte.
Vamos ver o que tudo isso significa. O que é 8 bits? Isso significa que o microcontrolador é capaz de transmitir e receber dados de 8 bits. Os registradores de entrada/saída disponíveis são de 8 bits. Os controladores da família AVR possuem arquitetura baseada em registradores, o que significa que tanto os operandos de uma operação são armazenados em um registrador quanto o resultado da operação também é armazenado em um registrador. A figura a seguir mostra um exemplo simples executando a operação OR entre dois registradores de entrada e armazenando o valor no registrador de saída.
Diagrama de blocos mostrando um exemplo simples de execução de operação OR entre dois registros de entrada e armazenamento de valor no registro de saída
Figura 2: Diagrama de blocos mostrando um exemplo simples de execução de operação OR entre dois registros de entrada e armazenamento de valor no registro de saída

A CPU obtém valores de dois registradores de entrada INPUT-1 e INPUT-2, executa a operação lógica e armazena o valor no registrador OUTPUT. Tudo isso acontece em 1 ciclo de execução.

Em nossa jornada com o AVR estaremos trabalhando no microcontrolador Atmega16, que é um IC de 40 pinos e pertence à categoria megaAVR de AVR família. Alguns dos recursos do Atmega16 são:

· 16 KB de memória Flash
· 1 KB de SRAM
· 512 bytes de EEPROM
· Disponível em DIP de 40 pinos
· ADC de 8 canais e 10 bits
· Dois temporizadores/contadores de 8 bits
· Um temporizador/contador de 16 bits
· 4 canais PWM
· Programador de sistema (ISP)
· Série USART
· Interface SPI
· Comparador digital para analógico.

Arquitetura do AVR

Os microcontroladores AVR são baseados na arquitetura RISC avançada e consistem em registros de trabalho de uso geral de 32 x 8 bits. Dentro de um único ciclo de clock, o AVR pode receber entradas de dois registradores de uso geral e colocá-las na ALU para realizar a operação solicitada, e transferir de volta o resultado para um registrador arbitrário. A ALU pode realizar operações aritméticas e lógicas
sobre as entradas do registrador ou entre o registrador e uma constante. Operações de registro único, como obter um complemento, também podem ser executadas na ALU. Podemos ver que o AVR não possui nenhum registro como acumulador como na família de microcontroladores 8051; as operações podem ser realizadas entre qualquer um dos registros e podem ser armazenadas em qualquer um deles.
O AVR segue o formato da Arquitetura Harvard, no qual o processador é equipado com memórias e barramentos separados para informações do Programa e dos Dados. Aqui, enquanto uma instrução está sendo executada, a próxima instrução é pré-buscada da memória do programa.
Diagrama de blocos da arquitetura de memória em AVR
Figura 3: Diagrama de blocos da arquitetura de memória no AVR
Como o AVR pode executar a execução de ciclo único, isso significa que o AVR pode executar 1 milhão de instruções por segundo se a frequência do ciclo for 1MHz. Quanto maior for a frequência de operação do controlador, maior será a sua velocidade de processamento. Precisamos otimizar o consumo de energia com a velocidade de processamento e, portanto, selecionar a frequência operacional de acordo.
Existem dois sabores para o microcontrolador Atmega16:
1. Atmega16:- A faixa de frequência operacional é de 0 a 16 MHz.
2. Atmega16L:- A faixa de frequência operacional é de 0 a 8 MHz.
Se estivermos usando um cristal de 8 MHz = 8 x 106 Hertz = 8 milhões de ciclos, então o AVR pode executar 8 milhões de instruções.
Convenção de nomes.!
O NO refere-se à Atmel, o fabricante, Mega significa que o microcontrolador pertence à categoria MegaAVR, 16 significa a memória do controlador, que é de 16 KB.
Convenção de nomenclatura do microcontrolador AVR
Figura 4: Convenção de nomenclatura do microcontrolador AVR

Diagrama de Arquitetura: Atmega16

Os pontos a seguir explicam os blocos de construção do Arquitetura Atmega16:
· Portas de E/S: Atmega16 possui quatro (PORTA, PORTB, PORTC e PORTD) 8 bits portas de entrada-saída.
· Oscilador Calibrado Interno: O Atmega16 está equipado com um oscilador interno para acionar seu relógio. Por padrão, o Atmega16 está configurado para operar com oscilador interno calibrado de 1 MHz. A frequência máxima do oscilador interno é 8Mhz. Alternativamente, o ATmega16 pode ser operado usando um oscilador de cristal externo com frequência máxima de 16MHz. Neste caso você precisa modificar os bits do fusível. (Fuse Bits serão explicados em um tutorial separado).
Diagrama de blocos explicando a arquitetura AVR
· Figura 5: Diagrama de blocos explicando a arquitetura AVR

Interface ADC: Atmega16 está equipado com um ADC de 8 canais (Conversor analógico para digital) com resolução de 10 bits. O ADC lê a entrada analógica, por exemplo, uma entrada de sensor e a converte em informação digital que é compreensível pelo microcontrolador.
· Temporizadores/Contadores: Atmega16 consiste em dois temporizadores/contadores de 8 bits e um de 16 bits. Os temporizadores são úteis para gerar ações de precisão, por exemplo, criar atrasos entre duas operações.
· Temporizador de vigilância: O temporizador Watchdog está presente com oscilador interno. O temporizador Watchdog monitora e redefine continuamente o controlador se o código ficar preso em qualquer ação de execução por mais do que um intervalo de tempo definido.
· Interrupções: O Atmega16 consiste em 21 fontes de interrupção, das quais quatro são externas. O restante são interrupções internas que suportam periféricos como USART, ADC, Timers etc.
· USART: Receptor e transmissor universal síncrono e assíncrono interface está disponível para interface com dispositivo externo capaz de se comunicar serialmente (transmissão de dados bit a bit).
·

Arquitetura Continuada

Registros de uso geral: O Atmega16 é equipado com 32 registradores de uso geral que são acoplados diretamente à Unidade Lógica Aritmética (ALU) da CPU.
· Memória: Atmega16 consiste em três seções de memória diferentes:
1. Flash EEPROM: Flash EEPROM ou memória flash simples é usada para armazenar o programa despejado ou gravado pelo usuário no microcontrolador. Pode ser facilmente apagado eletricamente como uma única unidade. A memória flash não é volátil, ou seja, retém o programa mesmo se a energia for cortada. Atmega16 está disponível com 16 KB de EEPROM Flash programável no sistema.
2. EEPROM endereçável por byte: Esta também é uma memória não volátil usada para armazenar dados como valores de certas variáveis. Atmega16 possui 512 bytes de EEPROM, esta memória pode ser útil para armazenar o código de fechadura se estivermos projetando uma aplicação como fechadura eletrônica.
3. SRAM: Memória estática de acesso aleatório, esta é a memória volátil do microcontrolador, ou seja, os dados são perdidos assim que a energia é desligada. Atmega16 está equipado com 1 KB de SRAM interna. Uma pequena porção da SRAM é reservada para registros de uso geral usados ​​pela CPU e outra parte para os subsistemas periféricos do microcontrolador.
· ISP: A família de controladores AVR tem Em sistema programável Memória Flash que pode ser programada sem retirar o IC do circuito, o ISP permite reprogramar o controlador enquanto ele está no circuito de aplicação.
· IPS: Interface periférica serial, A porta SPI é usada para comunicação serial entre dois dispositivos em uma fonte de relógio comum. A taxa de transmissão de dados do SPI é maior que a do USART.
· TWI: Interface de dois fios (TWI) pode ser usado para configurar uma rede de dispositivos, muitos dispositivos podem ser conectados através da interface TWI formando uma rede, os dispositivos podem transmitir e receber simultaneamente e ter seu próprio endereço exclusivo.
· DAC: Atmega16 também está equipado com um Conversor Digital para Analógico (DAC) que pode ser usada para ação reversa executada pelo ADC. O DAC pode ser usado quando há necessidade de converter um sinal digital em sinal analógico.

Família MegaAVR

Vários microcontroladores da série MegaAVR:
ATmega8 e Atmega32 são outros membros dos controladores da série MegaAVR. Eles são bastante semelhantes ao ATmega16 em arquitetura. Os controladores MegaAVR da versão de baixo consumo também estão disponíveis nos mercados. A tabela a seguir mostra a comparação entre os diferentes membros da família MegaAVR:
Nome da peça
ROM
BATER
EEPROM
Pinos I/0
Cronômetro
Interrupções
Operação Tensão
Frequência de operação
Embalagem
ATmega8
8 KB
1 KB
512B
23
3
19
4,5-5,5 V
0-16MHz
28
ATmega8L
8 KB
1 KB
512B
23
3
19
2,7-5,5V
0-8MHz
28
ATmega16
16 KB
1 KB
512B
32
3
21
4,5-5,5 V
0-16MHz
40
ATmega16L
16 KB
1 KB
512B
32
3
21
2,7-5,5V
0-8MHz
40
ATmega32
32 KB
2 KB
1 KB
32
3
21
4,5-5,5V
0-16MHz
40
ATmega32L
32 KB
2 KB
1 KB
32
3
21
2,7-5,5V
0-8MHz
40

Conteúdo Relacionado

Qual o papel dos sensores automotivos nos veículos modernos?
Uma rede de sensores é incorporada em todos os...
Como escolher um controlador de e-bike
O controlador do motor é um dos componentes mais...
Como solucionar problemas comuns do ESP32-CAM
ESP32-CAM é um módulo de câmera compacto que combina...
Um guia para padrões USB de 1.0 a USB4
A evolução dos padrões USB foi fundamental para moldar...
Schurter aprimora série de seletores de tensão com revestimento prateado
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A interface serial PCI fornece conectividade confiável em ambientes extremos
A Sealevel Systems anuncia o lançamento da Interface Serial...
STMicroelectronics expande portfólio de conversão de energia com diodos Trench Schottky de 100 V
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
O que são Sistemas Globais de Navegação por Satélite (GNSS) e como são usados?
Determinar uma localização precisa é necessário em várias indústrias...
O conversor GaN de 50 W da STMicroelectronics permite projetos de energia de alta eficiência
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
Samsung e Red Hat farão parceria em software de memória de próxima geração
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
Primeiro MPU single-core com interface de câmera MIPI CSI-2 e áudio
O mercado embarcado tem uma necessidade de soluções de...
Decodificação de fluência no motor de indução para melhor desempenho
Você provavelmente já se deparou com o termo 'arrastar'...
Compreendendo os isoladores de suporte em sistemas elétricos
Você provavelmente tem um Isolador de suporte Se você...
Explore Stay Insulator – segurança, instalação e manutenção
Você provavelmente já viu permanecer um isolante sente-se em...
Mais segurança e eficiência com o isolador de manilha
Você provavelmente já viu Isoladores de manilha entronizados em...
Descubra o poder dos relés de travamento para eficiência energética e muito mais
Você provavelmente já passou por situações em que o...
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。