30
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

Microcontroladores AVR

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Microcontroladores AVR

1

Sistemas Microprogramados

Microcontroladores AVR

Engenharia de Teleinformática – UFCAlexandre Barros – 268037

Lila Maria Borges Silva – 268047Líus Fontenelle Carneiro – 268040

Raphael Carvalho – 268048

Page 2: Microcontroladores AVR

2

Agenda

■ Histórico e Contextualização■ Arquitetura Geral■ Famílias■ AVR 8 Bits■ AVR32■ Características importantes■ Ferramentas de Desenvolvimento■ Aplicações

Page 3: Microcontroladores AVR

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”.

Page 4: Microcontroladores AVR

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.

Page 5: Microcontroladores AVR

5

Arquitetura Geral

Page 6: Microcontroladores AVR

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

Page 7: Microcontroladores AVR

7

Famílias

Page 8: Microcontroladores AVR

8

Famílias

■ Portabilidade de código■ Compatibilidade entre pinos e sua utilização em

software■ Somente um conjunto de ferramentas de

desenvolvimento

Page 9: Microcontroladores AVR

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

Page 10: Microcontroladores AVR

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)

Page 11: Microcontroladores AVR

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

Page 12: Microcontroladores AVR

12

XMEGA

■ Desempenho do Event System:

■ Desempenho do DMA:

Page 13: Microcontroladores AVR

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

Page 14: Microcontroladores AVR

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.

Page 15: Microcontroladores AVR

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”

Page 16: Microcontroladores AVR

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

Page 17: Microcontroladores AVR

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

Page 18: Microcontroladores AVR

18

Suporte a Java no AVR32

Page 19: Microcontroladores AVR

19

Execução de um programa em Java

Page 20: Microcontroladores AVR

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.

Page 21: Microcontroladores AVR

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.

Page 22: Microcontroladores AVR

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.

Page 23: Microcontroladores AVR

23

AVR32 Studio

Page 24: Microcontroladores AVR

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.

Page 25: Microcontroladores AVR

25

Projeto OCAS

■ Objetivo: Evitar colisões no espaço aéreo, entre avisões e barreiras físicas, como linhas de força.

Page 26: Microcontroladores AVR

26

Projeto OCAS

■ Desafios: Upgrade de Firmware dos AVRs

Page 27: Microcontroladores AVR

27

Arduino

■ Arduino com Wiimotes e Nunchucks Página do projeto: http://www.tinker.it/en/Tutorials/WiiNunchuck Download da documentação e firmware.

Page 28: Microcontroladores AVR

28

Arduino

■ AVR In System Programmer (ISP) Página do Projeto (http://tinyurl.com/2y9adx)

Page 29: Microcontroladores AVR

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.

Page 30: Microcontroladores AVR

30

Microcontroladores AVR

Fim