Sistemas Microprogramados




Microcontroladores AVR



          Engenharia de Teleinformática – UFC
                    ...
Agenda
■   Histórico e Contextualização
■   Arquitetura Geral
■   Famílias
■   AVR 8 Bits
■   AVR32
■   Características im...
Histórico
■ O microcontrolador foi concebido por dois
  estudantes do Instituto Norueguês de Tecnologia
  (NTH);
■ O prime...
Contextualização
■ O AVR segue o mesmo nicho dos
  microcontroladores da família PIC, mas com foco
  maior na relação dese...
Arquitetura Geral




                5
Famílias
■   AVR 8-Bit RISC
      tinyAVR

      megaAVR

      XMEGA

      Aplicações Específicas:

        ➔ megaAV...
Famílias




       7
Famílias
■ Portabilidade de código
■ Compatibilidade entre pinos e sua utilização em
  software
■ Somente um conjunto de f...
tinyAVR
■   Memória de programas: 1-8 KB
■   Encapsulamento: 8-32 pinos
■   Conjunto limitado de periféricos
■   Alguns mo...
megaAVR
■   Possuem Debug On-Chip com JTAG
■   Bootloader independente
■   Memória Flash de auto-programação
■   Real Time...
XMEGA
■   Tecnologia Event System melhorada
■   4 canais de DMA
■   Resposta a restrições de temporização confiáveis
■   A...
XMEGA
■   Desempenho do Event System:




■   Desempenho do DMA:




                                      12
Aplicações Específicas
■   Automative AVR
       Aplicações de tempo real automotivas
■   AVR Z-Link
       Comunicação ...
Aplicações Específicas
■   FPSLIC (AVR com FPGA)
       “Field Programmable System Level Integrated Circuits”
       Per...
RTOS
■ Um detalhe interessante é que existem Sistemas
  Operacionais de Tempo Real para os
  microcontroladores AVR, inclu...
AVR32
■   Arquitetura de 32 bits RISC
■   Foco em economia de energia
■   Barramentos Hi-speed independentes
■   Dynamic F...
Suporte a Java no AVR32
■ A execução de parte dos bytecodes Java é feito
  direto em hardware do AVR32 RISC
■ Instruções c...
Suporte a Java no AVR32




                      18
Execução de um programa em Java




                              19
Características importantes
■   Memória Flash:
       Uso de memória Flash em microcontroladores iniciou-
        se com ...
Características importantes
■   RISC:
       Todos são realmente RISC, executando 1 instrução
        por ciclo de clock;...
Ferramentas de Desenvolvimento
■   Linguagens de Desenvolvimento de Firmware:
       Assembly (AVR Assembler Site http://...
AVR32 Studio




           23
Aplicações
■   Segurança Aeronáutica
       Projeto OCAS
■   Indústria Automobilística
■   Projetos de Referência
      ...
Projeto OCAS
■   Objetivo: Evitar colisões no espaço aéreo, entre
    avisões e barreiras físicas, como linhas de força.

...
Projeto OCAS
■   Desafios: Upgrade de Firmware dos AVRs




                                             26
Arduino
■   Arduino com Wiimotes e Nunchucks
       Página do projeto: http://www.tinker.it/en/Tutorials/WiiNunchuck
    ...
Arduino
■   AVR In System Programmer (ISP)
       Página do Projeto (http://tinyurl.com/2y9adx)




                     ...
Outros Projetos
■   Várias iniciativas utilizando o AVR em sensores
    diversos, geração e detecção de som e outros
    s...
Microcontroladores AVR




   Fim




                     30
Upcoming SlideShare
Loading in …5
×

AVR

2,678 views

Published on

Apresentação sobre Microcontroladores na Engenharia de Teleinformática

AVR

  1. 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 1
  2. 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. 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. 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
  5. 5. Arquitetura Geral 5
  6. 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 6
  7. 7. Famílias 7
  8. 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. 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. 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. 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. 12. XMEGA ■ Desempenho do Event System: ■ Desempenho do DMA: 12
  13. 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. 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. 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. 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. 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
  18. 18. Suporte a Java no AVR32 18
  19. 19. Execução de um programa em Java 19
  20. 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. 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. 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
  23. 23. AVR32 Studio 23
  24. 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. 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. 26. Projeto OCAS ■ Desafios: Upgrade de Firmware dos AVRs 26
  27. 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. 28. Arduino ■ AVR In System Programmer (ISP)  Página do Projeto (http://tinyurl.com/2y9adx) 28
  29. 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
  30. 30. Microcontroladores AVR Fim 30

×