2. Agenda
■ Histórico e Contextualização
■ Arquitetura Geral
■ Famílias
■ AVR 8 Bits
■ AVR32
■ Características importantes
■ Ferramentas de Desenvolvimento
■ Aplicações
2
3. Histórico
■ O microcontrolador foi concebido por dois
estudantes do Instituto Norueguês de Tecnologia
(NTH);
■ O primeiro MCU AVR foi desenvolvido, em 1996,
em uma ASIC House também na Noruega, onde
os dois estudantes eram estagiários;
■ Posteriormente eles fundaram a Atmel e
adquiriram a ASIC House;
■ AVR significava “Alf and Vegard RISC”
originalmente, sendo hoje tratado por “Advanced
Virtual RISC”.
3
4. Contextualização
■ O AVR segue o mesmo nicho dos
microcontroladores da família PIC, mas com foco
maior na relação desempenho/consumo.
■ A Atmel possui grande participação no mercado
de embarcados e tecnologias que envolvam
semicondutores em geral. Com o AVR, a linhas
que se destacam são as desenvolvidas para
aplicações de escopo específico, como serão
mostradas a seguir.
4
8. Famílias
■ Portabilidade de código
■ Compatibilidade entre pinos e sua utilização em
software
■ Somente um conjunto de ferramentas de
desenvolvimento
8
9. tinyAVR
■ Memória de programas: 1-8 KB
■ Encapsulamento: 8-32 pinos
■ Conjunto limitado de periféricos
■ Alguns modelos possuem modificações para
atender requisitos de tempo real
■ AVR ATtiny13A (foto):
1KB Flash
64B SRAM
64B EEPROM
32B Registros
4 A/Ds de 10 bits
20 MIPS a 20 MHz
Tecnologia picoPower
9
10. megaAVR
■ Possuem Debug On-Chip com JTAG
■ Bootloader independente
■ Memória Flash de auto-programação
■ Real Time Clock/Counter
■ Versões exclusivas para o aplicações automotivas, com
controle PWM, A/Ds e suporta a CAN (Controller Area
Network)
10
11. XMEGA
■ Tecnologia Event System melhorada
■ 4 canais de DMA
■ Resposta a restrições de temporização confiáveis
■ ADs e DAs de 12-bits
■ Suporta criptografia AES e DES no chip
11
12. XMEGA
■ Desempenho do Event System:
■ Desempenho do DMA:
12
13. Aplicações Específicas
■ Automative AVR
Aplicações de tempo real automotivas
■ AVR Z-Link
Comunicação sem-fio usando ZigBee, padrão em projetos de
automação
■ CAN AVR
Comunicação em redes usando o protocolo CAN
■ LCD AVR
Suporte em hardware para controle de LCDs
■ Smart Battery AVR
Recursos de proteção elétrica e checagens de parâmetros de
corrente e tensão para monitoramento, gerenciamento, proteção e
carga de baterias com 1 único chip
13
14. Aplicações Específicas
■ FPSLIC (AVR com FPGA)
“Field Programmable System Level Integrated Circuits”
Permite estender o design do sistema a partir do microcontrolador,
definindo na FPGA como serão os periféricos adicionais
Permite reprogramar a FPGA on the fly
Modelos de 5 mil a 40 mil gates
A Atmel disponibiliza vários IP Cores prontos, dos mais variados tipos
de implementações, como I/O Buffers, FF, Mux/Demux, FIFO, etc.
14
15. RTOS
■ Um detalhe interessante é que existem Sistemas
Operacionais de Tempo Real para os
microcontroladores AVR, inclusive da linha de 8
bits.
■ Os mais importantes:
AvrX (http://www.barello.net/avrx/)
➔ Multitasking
➔ FIFO com sincronia
FreeRTOS (http://www.freertos.org/)
➔ Multitasking
➔ Suspensão voluntária ou involuntária
csRTOS (http://www.circuitcellar.com/avr2004/DA3650.html)
➔ Single Task
➔ “Cooperative Sharing”
15
16. AVR32
■ Arquitetura de 32 bits RISC
■ Foco em economia de energia
■ Barramentos Hi-speed independentes
■ Dynamic Frequency Scaling
■ Sub-divisões:
AP7 32-bit Application Processors
UC3 32-bit Flash Microcontrollers
16
17. Suporte a Java no AVR32
■ A execução de parte dos bytecodes Java é feito
direto em hardware do AVR32 RISC
■ Instruções com semântica mais carregada é
capturada e enviada para a JVM executar via
software
17
20. Características importantes
■ Memória Flash:
Uso de memória Flash em microcontroladores iniciou-
se com os primeiros AVR lançados;
Todos eles possuem recursos para utilizar a própria
memória como local de armazenamento de dados.
■ Boot loader:
Todos possuem um bootloader com várias
funcionalidades,
Torna possível atualizar o firmware com grande
facilitade, inclusive o próprio bootloader;
Facilita muito a implantação de um projeto com muitos
microcontroladores.
20
21. Características importantes
■ RISC:
Todos são realmente RISC, executando 1 instrução
por ciclo de clock;
Esse fato mostra uma grande previsibilidade e
velocidade na execução dos programas, levando a
uma relação direta de MIPS e MHz;
Essa diferença faz com que seu uso se estenda por
áreas onde há restrições de temporização e sincronia,
como:
➔ Sistemas de Tempo Real;
➔ Processamento Digital de Sinais e Imagens;
➔ Codificação e Decodificação em geral;
➔ Gateway de rede.
21
22. Ferramentas de Desenvolvimento
■ Linguagens de Desenvolvimento de Firmware:
Assembly (AVR Assembler Site http://avr-asm.tripod.com/)
Ada (Projeto AVR-Ada http://avr-ada.sourceforge.net/)
BASIC (Compilador e IDE http://www.mcselec.com/)
C/C++ (Projeto GCC http://gcc.gnu.org/)
Java (MCU Java Source http://mcujavasource.sourceforge.net/)
Pascal (AVRco IDE http://e-lab.de/)
Python (Projeto PyMite http://pymite.python-hosting.com/wiki/PyMite)
■ AVR Technical Library DVD
Todo o material disponível para os desenvolvedores
reunidos em um DVD, com datasheets, referências de
desenvolvimento de software e hardware para todos
os modelos, etc.
22
24. Aplicações
■ Segurança Aeronáutica
Projeto OCAS
■ Indústria Automobilística
■ Projetos de Referência
Arduino (http://www.arduino.cc)
Projeto de Design de referência para placa de
desenvolvimento para as mais variadas aplicações. Existem
atualmente muitas variações de layout baseadas no mesmo
projeto.
24
25. Projeto OCAS
■ Objetivo: Evitar colisões no espaço aéreo, entre
avisões e barreiras físicas, como linhas de força.
25
26. Projeto OCAS
■ Desafios: Upgrade de Firmware dos AVRs
26
27. Arduino
■ Arduino com Wiimotes e Nunchucks
Página do projeto: http://www.tinker.it/en/Tutorials/WiiNunchuck
Download da documentação e firmware.
27
28. Arduino
■ AVR In System Programmer (ISP)
Página do Projeto (http://tinyurl.com/2y9adx)
28
29. Outros Projetos
■ Várias iniciativas utilizando o AVR em sensores
diversos, geração e detecção de som e outros
sinais, devido à sua temporização previsível e
confiável.
29