Buscar

avr-1213324888040422-8

Prévia do material em texto

1
Sistemas Microprogramados
Microcontroladores AVR
Engenharia de Teleinformática – UFC
Alexandre Barros – 268037
Lila Maria Borges Silva – 268047
Líus Fontenelle Carneiro – 268040
Raphael Carvalho – 268048
2
Agenda
■ Histórico e Contextualização
■ Arquitetura Geral
■ Famílias
■ AVR 8 Bits
■ AVR32
■ Características importantes
■ Ferramentas de Desenvolvimento
■ Aplicações
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”.
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.
5
Arquitetura Geral
6
Famílias
■ AVR 8-Bit RISC
 tinyAVR
 megaAVR
 XMEGA
 Aplicações Específicas:
➔ megaAVR com controlador LCD, USB, PWM, CAN, etc
➔ FPSLIC (AVR com FPGA)
■ AVR32
7
Famílias
8
Famílias
■ Portabilidade de código
■ Compatibilidade entre pinos e sua utilização em 
software
■ Somente um conjunto de ferramentas de 
desenvolvimento
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
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)
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
12
XMEGA
■ Desempenho do Event System:
■ Desempenho do DMA:
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
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.
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”
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
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
18
Suporte a Java no AVR32
19
Execução de um programa em Java
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.
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.
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.
23
AVR32 Studio
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.
25
Projeto OCAS
■ Objetivo: Evitar colisões no espaço aéreo, entre 
avisões e barreiras físicas, como linhas de força.
26
Projeto OCAS
■ Desafios: Upgrade de Firmware dos AVRs
27
Arduino
■ Arduino com Wiimotes e Nunchucks
 Página do projeto: http://www.tinker.it/en/Tutorials/WiiNunchuck 
 Download da documentação e firmware.
28
Arduino
■ AVR In System Programmer (ISP)
 Página do Projeto (http://tinyurl.com/2y9adx)
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.
30
Microcontroladores AVR
Fim
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30

Continue navegando