aula 2- arquitetura de sistemas embarcados - marco-2012

Upload: joao-francisco

Post on 05-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    1/63

    Arquiteturas ARM e AVR

    Eng. Nilton Barbosa Armstrong Junior

    Universidade PositivoCurso de ps-graduao em Construo e Desenvolvimento deSistemas Embarcados

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    2/63

    Direcionamento 1 aula Introduo a Sistemas Embarcados

    2 aula Arquiteturas ARM e AVR

    3 aula Perifricos e desenvolvimento defirmware

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    3/63

    Direcionamento 4 aula Desenvolvimento de firmware

    5 aula Gerenciamento de energia

    6 aula Entrega do Projeto

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    4/63

    Estrutura Famlia ARM e seus dispositivos

    Famlia AVR e seus dispositivos

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    5/63

    Arquitetura ARM Introduo

    Famlias

    Arquitetura interna

    Aplicaes

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    6/63

    ARM - Origens Acorn Computer Limited fundada em 1978

    Sede em Cambridge - Inglaterra

    Fabricante de computadores domsticos: Atom 1MHz/8bits de 1980 a 1983 BB Micro 2MHz/8bits - de 1981 a 1994 Baseados no processador MOS 6502

    Muito popular na Inglaterra

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    7/63

    ARM - Origens Sucesso de vendas : BBC Micro

    Faturamento 2800 para 8.5m em 1983.

    Ao mesmo tempo: IBM lana o PC em 1981 e o PC-XT em 1983

    Vrios outros fabricantes utilizavam o Z80

    Mercado atual: entusiastas e cientficos

    Mercado potencial: Corporativo

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    8/63

    ARM - Origens Objetivo Acorn em 1983 : Competir com o IBM-

    PC e com o Z80, ambos CISC.

    BBC Micro ainda limitado: Muitos processadores adicionais necessrios

    Arquiteturas da poca no supririam a demanda 16 bits ainda invivel Necessidade de interface grfica

    Deciso de criar seu prprio processador

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    9/63

    ARM - Origens Baseados em um projeto de graduao

    Projeto RISC da Universidade de Berkeley

    Projeto ARM- Acorn RISC Machine Incio: 1983

    Acorn Computers : IP Parceria com VLSI Technology : CHIP

    CPU com baixa latncia de I/O Processamento comparvel ao IBM-PC

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    10/63

    ARM - Origens Processador ARM1 - 1985

    Primeiro prottipo ARM Sem produo

    Processador ARM2 - 1986:

    Primeiro processador RISC em produo CPU 32 bits a 3MIPS Co-processador para o BBC Micro (MOS 6502) Utilizado em aplicaes de CAD Desempenho superior ao 80286 (16 bits 1982)

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    11/63

    ARM - Origens Computador Acorn Archimedes

    Primeiro computador pessoal baseado totalmentena arquitetura ARM

    32 bits, com desempenho de 4 a 18 MIPS

    Um computadores mais poderosos do final dosanos 80 e inicio dos 90

    Enorme sucesso na Europa no ramo educacional

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    12/63

    ARM Origens Final dos anos 80

    Consrcio entre: Acorn Computers : Desenvolvimento VLSI Tecnology: Manufatura

    Apple Computers: Apoio ao desenvolvimento Projeto Newton PDA e tablet Apple

    O projeto do processador adquire propores

    enormes

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    13/63

    ARM Ltd. 1990

    Criao dajoint-venture:Advanced RISC Machines Ltd. ARM Ltd.

    1998

    Lanamento de aes na bolsa de Londres e naNasdaq Mudana de nome

    ARM Holdings plc

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    14/63

    ARM Holdings plc Lder no mercado de IP para semicondutores

    Adquiriu mais de um dezena de empresas

    Emprega mais de 2000 pessoas

    Faturamento superior a $415M/ano

    20 bilhes de chips fabricados com seu IP

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    15/63

    ARM Mercado 2010-2011 90% no mercado de Smartphones

    80% das cmeras digitais

    10% de computadores mveis

    28% dos demais dispositivos eletrnicos

    2012: Incio nos servidores e desktop

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    16/63

    ARM Atuao Produtos na forma de IP

    Processadores System Multimedia Physical

    Software Ferramentas de desenvolvimento e depurao

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    17/63

    ARM - Atuao Modelo de negcio

    Royalties sobre a venda da licensas sobre os Ips No vendem nem fabricam componentes reais

    Fabricante implementam e complementam os

    IPs NXP, Texas, STMicro, ATMEL, Marvell, Analog

    Devices, IBM, Intel e outras 900 empresas Adicionam seus perifricos

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    18/63

    ARM - Caractersticas Arquitetura Load/Store

    16 registradores de 32 bits

    Instrues de tamanho fixo em 32bits: ARM: Melhora desempenho e aumenta tamanho Thumbs: Diminui o tamanho e o desempenho

    Maioria das instrues single-clock

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    19/63

    ARM - Caractersticas Execuo condicional: resolve a falta de

    branching predictor

    Sistema de interrupes simples eextremamente eficiente

    Arquitetura Harvard modificada

    Utilizao de pipeline em todas as famlias

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    20/63

    Famlias

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    21/63

    ARM Processadores Clssicos

    Custo

    Desempenho

    ARM7

    ARM9

    ARM11

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    22/63

    ARM Processadores Clssicos Basicamente processadores recm formao da

    empresa

    Excelentes na funcionalidade

    Arquiteturas j desatualizadas

    PDAs, telefones e outros gadgets

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    23/63

    ARM - Processadores de AplicaoLinha A Processadores destinados a aplicaes de alto

    desempenho, utilizando sistemas operacionais

    complexos

    Single core (A5, A6 e A9) e Multi Core (A9 e

    A15)

    Opo de extenso de multimdia

    Focados no usurio final

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    24/63

    ARM - Processadores de AplicaoExemplos Tablets, eBookReaders

    Smartfones

    NetBooks

    Digital media players

    Home Gateway

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    25/63

    ARM

    ProcessadoresEmbarcados Linha M e R Destinados ao mercado de sistemas embarcados

    Sistemas no aptos a sistemas complexos, mas simSingle-Thread ou com RTOS

    Normalmente destinados a aplicaes deterministicas

    com restrio de custo

    Basicamente microcontroladores: Evoluo natural de 8 e 16 bits

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    26/63

    ARM

    ProcessadoresEmbarcados Linha M e R

    Linha Finalidade

    M0 MCUs com pequena rea e baixssimoconsumo

    M1 Criados para uso em FPGAs

    M3 MCUs de alto desempenho

    M4 Digital Signal Controllers (misto de MCUcom DSP

    R4 Aplicaes de Tempo Real e migrao

    da linha clssica

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    27/63

    Diferenas entre a Linha M e ACategoria LInha M (embarcados) Linha A (Aplicao)

    Arquitetura Pode ser a mesma ou com alguma diferena

    Clock At 20Mhz Maior que 2GHz

    Barramento 32bitsPerifricos Integrados Discretos

    Interrupes Agis Menos ageis

    Memria At 1MB Maior de 2GBAcesso memria MPU MMU

    Custo Baixo Alto

    Consumo Baixo Mdio

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    28/63

    Intervalo

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    29/63

    Famlia AVR Famlia de microcontroladores

    Fabricantes: ATMEL

    CPUs de 8 a 32 bits

    Instrues RISC

    Arquitetura Harvard modificada

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    30/63

    Microcontroladores ATMELATMEL

    AVR

    8051 ARM

    Wireless

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    31/63

    Famlia ATMEL - AVRATMEL - AVR

    8Bit 16Bit 32Bit

    Tiny Xmega UC3

    ATtiny AT32UC3XXXX

    Mega Xmega

    ATmegaXXXXAT90XXXX

    ATxmegaXXXX

    Batterymanagement

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    32/63

    AVR Battery Management Gerenciamento de baterias

    Objetivos: Confiabilidade: autenticao de baterias Maximizao da energia utilizada da bateria Segurana ao usurio

    Vantagens:

    Circuitaria analgica integrada: Medio de corrente SOC System on a Chip

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    33/63

    AVR ATtiny Pequenos dispositivos:

    At 1.6mm x 2.9mm com 6 pinos

    Alta eficincia de cdigo Mesma relao MIPS/Clock de MCUs maiores

    Tecnologia picoPowerOperao Consumo

    Normal (1MHZ e 1.8V)

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    34/63

    AVR ATtiny Integrao de perifricos

    Desde FLASH e RAM at ADCs e amplificadoresoperacionais

    Operao a at 0.7V

    Aplicaes

    Brinquedos Controles remotos Dimmers Sensores wireless Handhelds

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    35/63

    AVR ATmega MCUs de uso genrico

    1MIPS por Clock at 20MIPS

    Grande combinao de perifricos FLASH, RAM, EEPROM

    ADC, DAC LCD, USB, CAN , USART

    Todos os dispositivos possuem suporte a ICSP eOn-chip debugging

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    36/63

    AVR ATXmega MCUS de uso genrico

    Linha de maior poder de processamento dacategoria: at 32MIPS

    Compatibilidade de pinos e cdigo entre os Xmega

    e mesmas ferramentas Alto desempenho : em geral 1 MIPS/Clock

    ADC com at 2Msps e DAC com at 1Msps

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    37/63

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    38/63

    Justificativa de escolha Finalidade : Controle

    Largura de barramento da arquitetura: 8bits @ $4,50

    Freqncia de operao: Fmax = 20MHz

    Desempenho: 20MIPS

    Arquitetura: RISC

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    39/63

    Justificativa de escolha Funcionalidades do microcontrolador:

    Perifricos

    Tempos de escrita e apagamento da flash:Negligvel neste caso

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    40/63

    Justificativa de escolha

    Tamanho do armazenamento em Flash:16kbytes

    rea ocupada: 10,16mm x 34,798mm

    Necessidade de atendimento a normas: ROHS

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    41/63

    Justificativa de escolha Consumo: ativo: 9mA@16MHz@5V Power Down:

    64nA@0MHz@5V

    Faixa de temperatura: -40C a 85C

    Ferramentas de desenvolvimento: AVRStudio 5

    Linguagem C ou C++ Gratuito Depurador (emulado e on-chip) Otimizador: presente

    Profiler: presente

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    42/63

    Caractersticas ATMEGA168ATMEGA168 PIC18F452

    Conjunto de instrues RISC RISC

    N de instrues 131 75

    Frequncia 20MHz 40MHzDesempenho 20 MIPS 10 MIPS

    Relao MIPS/MHz 1:1 1:4

    FLASH 8K words (16bits) 16K words (16bits)

    RAM (Bytes) 1024 1536

    EEPROM 512 256

    Multiplicao em HW No 8x8 bits

    HW Context Saving No Sim

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    43/63

    Arquitetura interna ATMEGA168 No baseia-se em acumulador, mas em 32

    registradores de 8 bits

    Poucas instrues (RISC), executadas em 1ciclo de 1 clock (maioria)

    Arquitetura Harvard Modificada

    Pouca ou nenhuma memria externa

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    44/63

    Arquitetura interna ATMEGA168 Registradores mapeados no espao da memria RAM

    Pilha de chamadas na memria RAM

    Pipeline (duas operaes simultneas)

    Capacidade de auto-write na memria FLASH

    Serial 2-Wire capaz de at 400kbps RTC com oscilador independente

    Bootloader

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    45/63

    Linguagem assembly Operandos flexveis: 32 work-registers

    Possui 131 instrues

    Conjunto RISC Reduced Complexity InstructionSet Computer

    Tempo de execuo: Operaes aritmticas e controle : 1 ciclo de clock Operaes com memria: 2 ciclos de clock Operas de branching: 3 ciclos de clock

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    46/63

    ATMEGA168 - Pipeline

    Clock

    Interno

    Executando XBuscando X

    Executando X+1Buscando X+1

    Executando X+2Buscando X+2

    Pipeline

    Executando XBuscando X Executando X+1Buscando X+1Normal

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    47/63

    Organizao de memria de programa

    Interrupes

    Programa

    Bootloader

    0x0000

    0x1FFF

    Interrupes

    Flash de 8k words ou 16k Bytes

    Bootloader com no mximo 1kByte

    Vetor de interrupes realocvel

    Capacidade de auto-write

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    48/63

    Organizao de memria de dados

    32 regs. deuso geral

    0x0000

    0x001F

    64 regs. de

    I/O

    1279Bytes160 regs. DeI/O estendido

    SRAMinterna

    1024 bytes

    0x0020

    0x005F

    0x0060

    0x00FF

    0x0100

    0x04FF

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    49/63

    Perifricos ATMEGA168ATMEGA168 PIC18F452 AT89S51

    Interrupes 26 (vetoradas) 18 (no vetoradas) 6 (vetoradas)

    Timer 3 4 2

    Linhas de I/O 23 (DIP28) 32 (DIP40) 32 (DIP40)

    Capture/Compare/PWM 6 2

    Com. Serial Sincrona (MSSP) e assncrona (UART)

    Com. Paralela ---- PSP - 8 bits ----

    conversor A/D 10bits ----N de canais

    (multiplexados)6 canais 8 canais ----

    Funesespeciais

    POR, BOR, WDT e ICSP ICSP e WDT

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    50/63

    Power Management ATMEGA168Clocks ativos Osc. Formas de Wake-up

    Modo CP

    U

    FLA

    SH

    I/O

    AD

    C

    Principal

    Tim

    er

    Int0,

    int1,

    Pin

    os

    TIm

    er1

    Tim

    er2

    EEPROM

    AD

    C

    WDT

    Outros

    Idle X X X X X X X X X X X X

    ADC noisereduction

    X X X X X X X X X X

    Power Save X X X X X X

    Standby X X X X

    Power Down X X X

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    51/63

    InterrupesAtivao Origem ATMEGA168 PIC18F452

    Internas

    Timer 10 4

    Parallel Slave Port 0 1

    USART 3 2

    MSSP 2 2Conversor A/D 1 1

    Capture/Compare/PWM 2 2

    EEPROM 1 1

    Outras (WDT, analog) 2 1

    ExternasInterrupes externas 2 3

    Interrupo externa pornvel

    3 1

    No suporta multi-interrupo

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    52/63

    Entrada e sada Divididas em 3 portas PB, PC e PD

    Possui 23 linhas bidirecionais.

    Funes multiplexadas com os perifricos

    Possui 3 linhas com capacidade de Interrupo pormudana de nvel

    Fluxo de dados definido por software

    Suportam at 40mA por pino

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    53/63

    Conversor A/D Mtodo: Aproximao sucessiva

    Resoluo de 10bits

    8 canais multiplexados

    Possibilidade de converso durante o modo de ADC NoiseReduction

    Referncia de converso interna ou externa

    Fmax de sinal: 200kHz com 10bits

    Converso single ended

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    54/63

    Gerenciamento de Reset Registrador MCUSR

    Armazena a causa do ltimo reset: Reset externo WatchDog Timer expirado Power-on Reset POR Brown-out Reset - BOR

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    55/63

    Fluxo de desenvolvimentoAVRStudio 5

    WinAVR

    Avr-gcc

    make

    Avrdude

    Desenvolvimento

    Depurao

    Compilao

    Programao Programao viaSerial

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    56/63

    Programao do ATMEGA168 Transferncia de arquivo binrio para memria

    interna do microcontrolador Flash RAM EEPROM Bootloader Fusveis

    WDT Clock

    Uso do bootloader, etc.

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    57/63

    Mtodos de programao doATMEGA168 Equipamentos Debuggers (tambm programam!)

    AVR-ONE! AVR JTAGICE MKII AVR-Dragon

    Programadores STK500 AVR-ISP MKII FLIP

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    58/63

    Mtodos de programao doATMEGA168 Equipamentos Vantagens

    In System Programming

    Integrao com o AVRStudio4

    Alguns possuem Hardware Debugger

    Desvantagens Custo

    Pouca flexibilidade

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    59/63

    Mtodos de programao doATMEGA168 - Bootloader Bootloader

    Utiliza a IAP In Application Programming

    Permite controle da origem do arquivo binrio queser gravado na memria FLASH Serial Flash Memria externa Ethernet Bluetooth, etc.

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    60/63

    Mtodos de programao do

    ATMEGA168 - Bootloader Vantagens

    In System Programming e In Application Programming

    Baixo custo

    Grande flexibilidade

    Desvantagens Sem Integrao com o AVRStudio5

    Necessidade de elaborao de um algoritmo para

    gravao

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    61/63

    Prxima aula Construo de firmware

    Estudo dos perifricos

    Kit ATMEGA168

    Exerccios

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    62/63

    Contato

    [email protected]

  • 7/31/2019 Aula 2- Arquitetura de Sistemas Embarcados - Marco-2012

    63/63

    Referncias Hardware

    www.atmel.com http://www.avrfreaks.net/index.php?module=Freak

    s%20Devices&func=displayDev&objectid=78

    Software e exemplos http://winavr.sourceforge.net/ Documentao WinAvr

    http://www.atmel.com/http://winavr.sourceforge.net/http://winavr.sourceforge.net/http://www.atmel.com/