Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Microcontroladores AVR

18.692 Aufrufe

Veröffentlicht am

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

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

×