show avr

Document Sample
show avr Powered By Docstoc
					Microcontrolador
AVR – 8 bits

 Débora Motta
 João Oliveira
 Rafael Mallmann
Device/s      Flash     EEPROM      SRAM      Max I/O   16-bit    8-bit    PWM         SPI     UART   10-bit A/D   Int   Ext
             (Kbytes)   (Kbytes)    (Bytes)    Pins     Timer    Timer    channels                    channels           Int

AT90PWM2        8         0.5        512        19        1        1         7         Yes     Yes        8               4

AT90PWM3        8         0.5        512        19        1        1        10         Yes     Yes       11               4

ATmega128     128          4        4096        53        2        2         8          1       2         8        34     8

ATmega1281    128          4        8192        51        4        2         6          1       2        16        57    32

ATmega165      16         0.5       1024        54        1        2         4        1+USI     1         8        23    17

ATmega168      16         0.5       1024        23        1        2         3       1+USART    1         8        26    26

ATmega2560    256          4        8192        86        4        2        12          1       4        16        57    32

ATmega32       32          1        2048        32        1        2         4          1       1         8        19     3

ATmega3290     32          1        2048        68        1        2         4        1+USI     1         8        25    32

ATmega406      40        0.512      2048        18        1        1         1                                     23     4

ATmega48        4        0.256       512        23        1        2         3       1+USART    1         8        26    26

ATmega64       64          2        4096        53        2        2         8          1       2         8        34     8

ATmega640      64          4        8192        86        4        2        12        1+USI     4        16        57    32

ATmega6490     64          2        4096        68        1        2         4        1+USI     1         8        25    32

ATmega8         8         0.5       1024        23        1        2         3          1       1         8        18     2

ATmega8515      8         0.5        512        35        1        1         4          1       1                  16     3

ATmega88        8         0.5       1024        23        1        2         3       1+USART    1         8        26    26
                                   64B + 32
ATtiny13        1        0.064       reg        6                  1         2                            4        9      6
                                                                                                                         1(+
ATtiny15L       1       0.0625                  6                  2         1                            4        8      5)

ATtiny2313      2        0.128       128        18        1        1         4         USI      1                  8      2

ATtiny26        2        0.125       128        16                 2         2         USI               11        11     1

ATtiny85        8        0.512       512        6                 12         4         USI                4        15     7
Características Gerais uC AVR Atmel

  8K bytes de memória Flash;
  512 bytes de EEPROM;
  512 bytes de SRAM;
  64K bytes para memória externa opcional
  32 linhas de I/O para uso geral;
  Watchdog Timer programável com
oscilador interno;
  Interrupções internas e externas;
Características Gerais uC AVR Atmel
  PC (Program Counter) possui 12 bits;
  Todas as instruções são palavras de 16
  ou 32 bits;
  Dois modos de Power-Saving
selecionados por software;
  3 canais de PWM;
  3 modos de Sleep.
  Uma porta serial SPI;
  UART serial programável.
Características Gerais uC AVR Atmel
  Possui 32 registradores de 8 bits;
  Arquitetura RISC;
  Todas as instruções são registrador para
registrador;
  Operações realizadas em 1 ciclo de clock;
  Conjunto de 130 instruções;
  Freqüência de 16MHz – 16 MIPS; (1MIPS/MHz)
  Memória de programa executada em dois
estágios de pipeline;
Características Gerais uC AVR Atmel


  Arquitetura Havard - memória e barramentos
separados para dados e programa;
  2 Timer/Counters;
 Timer/Counter com Prescaler, modo de
Comparação e modo de Captura;
  Tensão de Alimentação: 4.5 – 5.5V;
Pinagem:

8 pinos Porta A
8 pinos Porta B
8 pinos Porta C
8 pinos Porta D
3 pinos Porta E
1 pino RESET
2 pinos XTAL
2 pinos alimentação
   40 pinos
      Características das PORTAS:

  Funcionalidade de Read-Modify-Write;
  Utiliza 3 registradores para configuração
das Portas:
     - PORTx (habilita p/ leitura/escrita)
     - DDRx (habilita p/ leitura/escrita)
     - PINx (habilita somente p/ leitura).
  Todas as portas são bidirecionais com opção
interna de pull-ups;
 Cada pino consiste em 3 bits dos registradores:
DDxn,PORTxn e PINxn.
       Utilização das PORTAS:

  PORTA A: endereços menos significativos e
dados da memória externa;
  PORTA B, D e E: funções especiais do AVR;
  PORTA C: endereços
 mais significativos para
       memória externa.
Configuração das PORTAS:
          Funções Alternativas para
            os pinos da Porta B:
 Pinos
                 Funções Alternativas
Porta B
 PB7      SCK (SPI Bus Serial Clock)
 PB6      MISO (SPI Bus Master Input/Slave Output)

 PB5      MOSI (SPI Slave Select Input)
 PB4      SS (SPI Slave Input)
 PB3      AIN1 (Analog Compartor Negative Input)
 PB2      AIN0 (Analog Compartor Positive Input
 PB1      T1 (Timer/Counter_1)
 PB0      T0 (Timer/Counter_0)
       Funções Alternativas para
         os pinos da Porta D:
 Pinos
               Funções Alternativas
Porta D
  PD7   RD (Read Strobe to External Memory)
  PD6   WR (Write Strobe to External Memory)
  PD5   OC1A (Timer/Counter_1 Output Compare
        A Match Output)
  PD4   XCK (USART External Clock Input/Output)
  PD3   INT1 (External Interrupt_1 Input)
  PD2   INT0 (External Interrupt_0 Input)
 PD1    TXD (USART Output Pin)
 PD0    RXD (USART Input Pin)
      Funções Alternativas para
        os pinos da Porta E:

 Pinos
                Funções Alternativas
Porta E
  PE2   OC1B (Timer/Counter1 Output Compare B
        Match Output)
  PE1   ALE (Adress Latch Enable to External
        Memory)
  PE0   ICP (Timer/Counter1 Input Capture Pin)
        INT2 (External Interrupt_2 Input)
Mapa de memória:

      00h



        Mapas de memória lineares e
       Regulares;

         8K bytes de memória Flash,
       instruções são de 16 ou 32 bits
       – então a memória é 4K x 16;

         Dividida em duas seções
       para segurança do software.

      FFh
Mapa de memória:



         Acessando uma SRAM externa
       leva 1 ciclo de clock a mais por
       byte do que a interna;

         Se a pilha é colocada em um
       SRAM externa, interrupções e
       chamadas de subrotina levam
       3 ciclos de clock a mais (push
       e pop do PC).
Registradores: modo indireto:
Registradores: modo indireto:
Banco de registradores:
Pipeline ocorre em dois estágios
Instrução sendo executada
   em um ciclo de clock
Acesso a memória ocorre
  em 2 ciclos de clock
            Interrupções:
  As interrupções possuem vetores de interrupção e
tabelas de vetores de interrupções separadas,
localizadas no início da memória de programa;

  A prioridade de interrupções ocorre conforme a
sua posição no vetor de interrupções – as
interrupções com maiores prioridades são as que
possuem menor endereço;

   Se o programa não habilitar nenhuma das
interrupções, o Vetor de Interrupções não é usado e
o programa pode alocar estas posições.
             Interrupções:

  O vetor de interrupções pode ser movido para
começar na seção de Boot da memória Flash;

   Existem dois tipos de interrupção:
      - Habilitadas por um evento que seta o Flag de
Interrupção;
      - Não necessariamente utilizam flags de
interrupção. Ocorrem quando é detectada uma
condição de interrupção;

 A resposta de execução é de 4 ciclos de clock, no
mínimo.
Vetor nº Endereço Interrupções
   1       $000   RESET
   2       $001   INT0
   3       $002   INT1
   4       $003   TIMER1 CAPT
   5       $004   TIMER1 COMPA
   6       $005   TIMER1 COMPB
                                    Vetor de
   7       $006   TIMER1 OVF
                                 Interrupções
   8       $007   TIMER0 OVF
   9       $008   SPI, STC
  10       $009   USART, RXC
  11      $00A    USART, UDRE
  12      $00B    USART, TXC
  13      $00C    ANA_COMP
  14      $00D    INT2
  15      $00E    TIMER0 COMP
  16       $00F   EE_RDY
  17       $010   SPM_RDY
         Modo Sleep

Modo Idle:
•Coloca em sleep: CPU
•USART, Comparador Analógico, Timer/Counters,
Watchdog e Sistema de Interrupção continuam em
operação.

Modo Power-Down:
•Oscilador externo entra em sleep
•Interrupções Externas e Watchdog continua
operando (se programada)

Modo Standby:
•Idêntico ao Modo Power-Down
•Oscilador externo continua operando
                Watchdog Timer


•Oscilador Próprio
•Prescaler
•Reset



                      Watchdog
            8-bit Timer/Counter0

•Contador de Canal Simples
•Auto Reload
•Pulse Width Modulator (PWM)
•Gerador de Freqüência
•Contador de Eventos Externos
•10-bit Clock Prescaler
•Overflow e Comparação Matemática nas
Fontes de Interrupção
8-bit Timer/Counter0




     Diagrama em Bloco do
     Timer/Counter0
                 8-bit Timer/Counter0
•Count – Incremento/Decremento TCNT0
•Direction – Seleção Incremento/Decremento
•Clear – Zerar TCNT0
•Bottom e Top – sinal de Mínimo e Máximo valor




                                       Unidade de Contagem
8-bit Timer/Counter0




         Unidade de
         Comparação
Timer/CounterX Prescalers
           16-bit Timer/Counter1

  Projetado para 16-bit Duas Unidades de Comparação
Independentes
 Registrador de Comparação com Dupla Bufferização
 Uma Unidade de Captura a Entrada
 Detecta Ruído de Entrada
 Auto Reload
 Pulse Width Modulator (PWM, 16-bit)
 Gerador de Freqüência
 Contador de Eventos Externos
 Períodos Variados para PWM
 Quatro Fontes de Interrupção Independentes
16-bit Timer/Counter1




                Diagrama em Blocos
               16-bit Timer/Counter1
•Count – Incremento/Decremento TCNT1
•Direction – Seleção Incremento/Decremento
•Clear – Zerar TCNT1
•Bottom e Top – sinal de Mínimo e Maximo valor




    Unidade de Contagem
16-bit Timer/Counter1

       Unidade de Captura a Entrada
16-bit Timer/Counter1

         Unidade que Compara a Saída
   Conjunto de Instruções
Instruções Lógicas e Aritméticas
Exemplo: ADD
         Rd <- Rd + Rr
         MUL
         R1:R2 <- Rd x Rx
Instruções Branch
Exemplo: RJMP
         PC <- PC + k + 1
Instruções de Transferência de Dados
Exemplo: LPM
          R0 <- (Z)
Instruções para Bit e Testar-Bit
 Exemplo: SWAP
          Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0)
Instruções de Controle da CPU
 Exemplo: SLEEP, WDR
Conjunto de Instruções
Gerador de Clock

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:24
posted:7/24/2012
language:Latin
pages:48