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