www.iesa.com.br 1
AVR é o nome dado a uma linha ou família de microcontroladores fabricada pela empresa Atmel nos Estados Unidos. A sigla AVR é em homenagem a dois estudantes de doutorado de uma universidade da Noruega, além do tipo de arquitetura utilizada no microcontrolador: Alf-Egil-Boden e Vegard Wollan RISC processor www.iesa.com.br 2
Eles apresentaram em sua tese de doutorado, em 1992: Um microcontrolador de 8 bits Memória de programa flash Arquitetura RISC avançada Esta ideia foi aperfeiçoada por dois anos e em seguida vendida para a Atmel, que começou a comercializar os primeiros AVRs em meados de 1997. Em 2016 a Atmel foi adquirida pela Microchip por 3,56 bilhões de dólares. www.iesa.com.br 3
A família de microcontroladores AVR, de 8 bits é composta por dispositivos com: Baixo consumo de energia Alta velocidade Estas características são garantidas por uma CPU RISC com instruções de um único ciclo de clock. As instruções do AVR são projetadas para reduzir o tamanho do programa, tanto em linguagem Assembly como em C. www.iesa.com.br 4
Possui internamente uma variedade de: Osciladores Temporizadores Portas Seriais Moduladores PWM Resistores de PULL UP Conversores A/D Comparadores www.iesa.com.br 5
Desempenho: Os microcontroladores AVR têm características que garantem um alto desempenho, tais como: Arquitetura RISC Instruções em um único ciclo Um MIPS (Milhão de instruções por segundo) por MHz 32 Registradores de uso geral Arquitetura Harvard Baixo consumo de energia www.iesa.com.br 6
Desempenho: A família AVR pode operar com velocidades de até 20 MHz, processando até 20 MIPS. Com seus 32 registradores de uso geral os microcontroladores AVR têm um ganho ainda maior de desempenho, especialmente quando programado com linguagens de alto nível, como C, Pascal ou Basic. www.iesa.com.br 7
Baixo consumo de energia: As características que garantem o baixo consumo da família AVR são garantidas por: Operação de 1.8 a 5.5V; A grande variedade de modos de funcionamento e a flexibilidade no ajuste de velocidade permitem controlar o consumo de energia eficientemente. Para aplicações com baterias, os microcontroladores AVR são capazes de operar com baterias completamente cheias ou quase vazias, pois a tensão de operação é extremamente flexível. www.iesa.com.br 8
Baixo consumo de energia: Grande variedade de modos de espera; Os microcontroladores AVR têm seis modos de espera, isto assegura baixo consumo de energia e ao mesmo tempo alta velocidade no retorno ao modo normal de operação. Frequência de operação controlada por software; O ajuste de velocidade por software assegura alta performance quando for necessário, e baixo consumo no restante do tempo. www.iesa.com.br 9
Baixo consumo de energia: Alta densidade de código. A característica de alta densidade de código garante que menos instruções sejam necessárias para executar uma determinada tarefa, o que diminui muito o consumo de energia. www.iesa.com.br 10
Variedade de dispositivos: Com a variedade de dispositivos é possível começar com um dispositivo de pequeno porte e se no decorrer do projeto for necessário maior capacidade do que foi previsto, é possível migrar para outro sem perder o trabalho já feito. Principais características que tornam isso possível: Compatibilidade do código; Todos os microcontroladores da família AVR utilizam o mesmo núcleo (CPU), o que torna possível reutilizar o código de um projeto em outro, mesmo com periféricos diferentes. www.iesa.com.br 11
Variedade de dispositivos: Grande variedade de número de pinos e memória; Com dispositivo variando de 1 kbytes a 256 kbytes de memória de programa e embalagens com 4 a 100 pinos, os projetos terão sempre um microcontrolador sob medida. Conjunto único de ferramentas de desenvolvimento. Outra vantagem é que é possível utilizar sempre a mesma ferramenta de desenvolvimento, para todos os membros da família. www.iesa.com.br 12
Variedade de invólucros: Existem invólucros do tipo DIP* (soldados a mão) e invólucros SMD* (soldados por máquinas). Existem microcontroladores AVR criados para ter características únicas e especificas, como automotivas, redes CAN, USB, controle de motores, controle de telas de LCD, etc. *DIP - Dual Inline Package *SMD - Surface Mounted Devices www.iesa.com.br 13
Programação: Os microcontroladores AVR possuem características de programação que os tornam muito flexíveis, tais como: Programação na própria placa; Com estes microcontroladores o tempo de desenvolvimento é reduzido, pois o programa pode ser testado na própria placa, sem a necessidade de remover o componente para programálo. www.iesa.com.br 14
Programação: Memória Flash com 10.000 ciclos de gravação; A memória de programa é do tipo Flash, garantindo assim mais de 10.000 ciclos de gravação, facilitando o desenvolvimento do programa e também de futuras atualizações em equipamentos já prontos. Proteção do desenvolvimento. Lock-bits protegem o programa contra cópias não autorizadas, evitando assim a pirataria. www.iesa.com.br 15
Ferramentas de desenvolvimento: Existe uma variedade de ferramentas de desenvolvimento para os microcontroladores da família AVR: AVR Studio; WinAVR; KhazamaAVR; Extreme Burner; Kits de desenvolvimento; Emuladores, etc.; O ambiente de programação e gravação dos microcontroladores será discutido com mais detalhes nas próximas aulas. www.iesa.com.br 16
Suporte: A ATMEL disponibiliza em seu site vasta documentação que ajuda na resolução de problemas. Dentre estes documentos existem as notas de aplicação (Application notes), que são exemplos prontos que ilustram o funcionamento e as aplicações de cada um dos periféricos destes componentes. Também existem sites dedicados a esta família, como por exemplo, o AVRfreaks (www.avrfreaks.net), onde existem muitos exemplos de hardware e software. www.iesa.com.br 17
www.iesa.com.br 18
www.iesa.com.br 19
www.iesa.com.br 20
São microcontroladores de 32 bits, projetados para maior processamento por ciclos de clock. A eficiência é de até 20 MIPS. www.iesa.com.br 21
São microcontroladores que possuem periféricos avançados para o aumento de desempenho como o DMA (Direct Memory Access). Possuem entre 50 e 78 pinos de I/O. www.iesa.com.br 22
São microcontroladores com a característica de economia de energia. www.iesa.com.br 23
São microcontroladores de propósito geral de até 8 kbytes de memória flash, 512 Bytes de SRAM e EEPROM. Possui entre 4 e 28 pinos de I/O. www.iesa.com.br 24
São microcontroladores com vários periféricos. Possuem até 256 kbytes de memória flash, com 8 kbytes de SRAM e 4 kbytes de EEPROM. www.iesa.com.br 25
www.iesa.com.br 26
Microcontroladores Atmega8 Arquitetura RISC Avançada: 130 Instruções, a maioria de um único ciclo; 32 registradores de 8 bits de uso geral; Até 16 MIPS em 16 MHz. Memória: 8 kbytes de memória Flash programável no circuito (ciclos de leitura e escrita: 10.000). 512 Bytes EEPROM (ciclos de leitura e escrita: 100.000). 1 kbyte SRAM interna. www.iesa.com.br 27
Microcontroladores Atmega8 Periféricos: Dois temporizadores/contadores de 8 bits e um temporizador/contador de 16 bits Contador de tempo real com oscilador independente Três canais de PWM 6 canais ADC de 10-bits Interface serial assíncrona programável Interface SPI mestre/escravo Temporizador Watchdog Comparador analógico www.iesa.com.br 28
Microcontroladores Atmega8 Funções especiais: Oscilador RC interno calibrado. Entradas e saídas: 23 entradas e/ou saídas programáveis. Tensão de operação: 2.7 até 5.5V (Atmega8L) 4.5 até 5.5V (Atmega8) Velocidades: Até 8 MHz (Atmega8L) Até 16 MHz (Atmega8) www.iesa.com.br 29
Microcontroladores Atmega8 Características Elétricas: Temperatura de operação: -55 C a +125 C Temperatura de armazenamento: - 65 C a +150 C Tensão em qualquer pino com relação ao GND: 0.5V a VCC+0.5V Tensão no reset com relação ao GND: 0.5V a +13.0V Tensão máxima de operação: 6.0V Corrente máxima por pino de entrada e saída: 40mA (20mA em operação normal) Corrente máxima no GND e no Vcc: 300mA www.iesa.com.br 30
Microcontroladores Atmega8 Consumo de corrente: Em função da frequência de operação e tensão de alimentação www.iesa.com.br 31
Microcontroladores Atmega8 Função dos pinos: PINO VCC GND PBx PCx PDx AVCC AREF FUNÇÃO Alimentação positiva do circuito. Alimentação negativa do circuito. As portas B, C e D são portas de 8 bits, bidirecionais e cada pino pode tanto fornecer como drenar corrente. Estas portas também tem funções especiais. Alimentação do conversor A/D. Referencia para o conversor A/D. www.iesa.com.br 32
Microcontroladores Atmega8 Exercícios: 1. Supondo que um microcontrolador da família AVR esteja operando em 12Mhz, quantas instruções ele poderia executar em 5 segundos? Por que? 2. A família AVR utiliza arquitetura Harvard ou Von Neumann? Por que? 3. Qual o tipo de memória que os microcontroladores da família AVR utilizam para armazenar o programa, e quantas vezes esta memória pode ser regravada? www.iesa.com.br 33