Microcontroladores AVR

17,646 views
17,592 views

Published on

Apresentação sobre os Microcontroladores AVR, da Atmel, feita para a disciplina de Sist. Microprogramados, da Eng. de Teleinformática, UFC.

7 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total views
17,646
On SlideShare
0
From Embeds
0
Number of Embeds
7,621
Actions
Shares
0
Downloads
425
Comments
7
Likes
8
Embeds 0
No embeds

No notes for slide

Microcontroladores 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

×