Baixe o app para aproveitar ainda mais
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
Compartilhar