Você está na página 1de 63

Universidade Positivo Curso de ps-graduao em Construo e Desenvolvimento de Sistemas Embarcados

Arquiteturas ARM e AVR


Eng. Nilton Barbosa Armstrong Junior

Direcionamento
1 aula Introduo a Sistemas Embarcados

2 aula Arquiteturas ARM e AVR

3 aula Perifricos e desenvolvimento de firmware

Direcionamento
4 aula Desenvolvimento de firmware

5 aula Gerenciamento de energia

6 aula Entrega do Projeto

Estrutura
Famlia ARM e seus dispositivos

Famlia AVR e seus dispositivos

Arquitetura ARM
Introduo

Famlias
Arquitetura interna Aplicaes

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

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

ARM - Origens
Objetivo Acorn em 1983 : Competir com o IBMPC 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

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

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)

ARM - Origens
Computador Acorn Archimedes
Primeiro computador pessoal baseado totalmente na arquitetura ARM 32 bits, com desempenho de 4 a 18 MIPS Um computadores mais poderosos do final dos anos 80 e inicio dos 90

Enorme sucesso na Europa no ramo educacional

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

ARM Ltd.
1990
Criao da joint-venture: Advanced RISC Machines Ltd. ARM Ltd.

1998
Lanamento de aes na bolsa de Londres e na Nasdaq Mudana de nome

ARM Holdings plc

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

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

ARM Atuao
Produtos na forma de IP
Processadores System Multimedia Physical

Software
Ferramentas de desenvolvimento e depurao

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

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

ARM - Caractersticas
Execuo condicional: resolve a falta de branching predictor Sistema de interrupes simples e extremamente eficiente Arquitetura Harvard modificada Utilizao de pipeline em todas as famlias

Famlias

ARM Processadores Clssicos


ARM11

Custo

ARM9 ARM7

Desempenho

ARM Processadores Clssicos


Basicamente processadores recm formao da empresa Excelentes na funcionalidade

Arquiteturas j desatualizadas
PDAs, telefones e outros gadgets

ARM - Processadores de Aplicao Linha 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

ARM - Processadores de Aplicao Exemplos


Tablets, eBookReaders

Smartfones
NetBooks Digital media players

Home Gateway

ARM Processadores Embarcados Linha M e R


Destinados ao mercado de sistemas embarcados

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


Normalmente destinados a aplicaes deterministicas com restrio de custo Basicamente microcontroladores: Evoluo natural de 8 e 16 bits

ARM Processadores Embarcados Linha M e R


Linha M0 M1 M3 M4
R4

Finalidade MCUs com pequena rea e baixssimo consumo Criados para uso em FPGAs MCUs de alto desempenho Digital Signal Controllers (misto de MCU com DSP Aplicaes de Tempo Real e migrao da linha clssica

Diferenas entre a Linha M e A


Categoria LInha M (embarcados) Linha A (Aplicao)

Arquitetura
Clock Barramento Perifricos Interrupes Memria Acesso memria Custo Consumo

Pode ser a mesma ou com alguma diferena


At 20Mhz Maior que 2GHz 32bits Integrados Agis At 1MB MPU Baixo Baixo Discretos Menos ageis Maior de 2GB MMU Alto Mdio

Intervalo

Famlia AVR
Famlia de microcontroladores

Fabricantes: ATMEL
CPUs de 8 a 32 bits Instrues RISC

Arquitetura Harvard modificada

Microcontroladores ATMEL
ATMEL

AVR 8051

Wireless

ARM

Famlia ATMEL - AVR


ATMEL - AVR

8Bit

16Bit

32Bit

Tiny

Battery management

Mega

Xmega

Xmega

UC3

ATtiny

ATmegaXXXX AT90XXXX

ATxmegaXXXX

AT32UC3XXXX

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

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 picoPower
Operao Normal (1MHZ e 1.8V) Sleep Consumo <200A <100nA

AVR ATtiny
Integrao de perifricos
Desde FLASH e RAM at ADCs e amplificadores operacionais

Operao a at 0.7V Aplicaes


Brinquedos Controles remotos Dimmers Sensores wireless Handhelds

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 e On-chip debugging

AVR ATXmega
MCUS de uso genrico

Linha de maior poder de processamento da categoria: 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

Famlia ATMEL - AVR


ATMEL - AVR

8Bit

16Bit

32Bit

Tiny

Battery management

Mega

Xmega

Xmega

UC3

ATmega168

Justificativa de escolha
Finalidade : Controle

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


Freqncia de operao: Fmax = 20MHz

Desempenho: 20MIPS
Arquitetura: RISC

Justificativa de escolha
Funcionalidades do microcontrolador: Perifricos

Tempos de escrita e apagamento da flash: Negligvel neste caso

Justificativa de escolha
Tamanho do armazenamento em Flash: 16kbytes

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

Necessidade de atendimento a normas: ROHS

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

Caractersticas ATMEGA168
ATMEGA168 PIC18F452

Conjunto de instrues
N de instrues Frequncia Desempenho Relao MIPS/MHz FLASH RAM (Bytes) EEPROM Multiplicao em HW

RISC
131 20MHz 20 MIPS 1:1 8K words (16bits) 1024 512 No

RISC
75 40MHz 10 MIPS 1:4 16K words (16bits) 1536 256 8x8 bits

HW Context Saving

No

Sim

Arquitetura interna ATMEGA168


No baseia-se em acumulador, mas em 32 registradores de 8 bits Poucas instrues (RISC), executadas em 1 ciclo de 1 clock (maioria) Arquitetura Harvard Modificada Pouca ou nenhuma memria externa

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

Linguagem assembly
Operandos flexveis: 32 work-registers

Possui 131 instrues


Conjunto RISC Reduced Complexity Instruction Set 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

ATMEGA168 - Pipeline
Clock Interno

Normal

Buscando X

Executando X

Buscando X+1

Executando X+1

Buscando X

Executando X Buscando X+1 Executando X+1 Buscando X+2 Executando X+2

Pipeline

Organizao de memria de programa


Interrupes 0x0000 Flash de 8k words ou 16k Bytes Bootloader com no mximo 1kByte

Vetor de interrupes realocvel


Programa Capacidade de auto-write

Interrupes

Bootloader
0x1FFF

Organizao de memria de dados


32 regs. de uso geral 64 regs. de I/O
0x005F 0x0060 0x0000 0x001F 0x0020

160 regs. De I/O estendido


0x00FF 0x0100

1279Bytes

SRAM interna 1024 bytes


0x04FF

Perifricos ATMEGA168
ATMEGA168 Interrupes Timer Linhas de I/O Capture/Compare /PWM Com. Serial Com. Paralela conversor A/D N de canais (multiplexados) Funes especiais 6 canais 26 (vetoradas) 3 23 (DIP28) PIC18F452 18 (no vetoradas) 4 32 (DIP40) AT89S51 6 (vetoradas) 2 32 (DIP40)

Sincrona (MSSP) e assncrona (UART) ---PSP - 8 bits 10bits 8 canais ---------ICSP e WDT

POR, BOR, WDT e ICSP

Power Management ATMEGA168


Clocks ativos FLASH CPU ADC Osc. Formas de Wake-up EEPROM

Int0, int1, Pinos

Principal

TImer1

Timer2

Modo

Idle ADC noise reduction Power Save Standby Power Down

X
X

X
X

X
X X X

X
X X X

X
X

X
X X X

Outros X

Timer

WDT

ADC

I/O

Interrupes
Ativao Origem Timer Parallel Slave Port USART MSSP Internas Conversor A/D Capture/Compare/PWM EEPROM Outras (WDT, analog) Interrupes externas Externas Interrupo externa por nvel ATMEGA168 PIC18F452 10 0 3 2 1 2 1 2 2 3 4 1 2 2 1 2 1 1 3 1

No suporta multi-interrupo

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 por mudana de nvel Fluxo de dados definido por software Suportam at 40mA por pino

Conversor A/D
Mtodo: Aproximao sucessiva Resoluo de 10bits 8 canais multiplexados Possibilidade de converso durante o modo de ADC Noise Reduction Referncia de converso interna ou externa Fmax de sinal: 200kHz com 10bits Converso single ended

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

Fluxo de desenvolvimento
Desenvolvimento AVRStudio 5

Compilao WinAVR Depurao

Avr-gcc

make

Programao

Avrdude

Programao via Serial

Programao do ATMEGA168
Transferncia de arquivo binrio para memria interna do microcontrolador
Flash RAM EEPROM Bootloader Fusveis
WDT Clock Uso do bootloader, etc.

Mtodos de programao do ATMEGA168 Equipamentos


Debuggers (tambm programam!)
AVR-ONE! AVR JTAGICE MKII AVR-Dragon

Programadores
STK500 AVR-ISP MKII FLIP

Mtodos de programao do ATMEGA168 Equipamentos


Vantagens In System Programming Integrao com o AVRStudio4 Alguns possuem Hardware Debugger Desvantagens Custo Pouca flexibilidade

Mtodos de programao do ATMEGA168 - Bootloader


Bootloader
Utiliza a IAP In Application Programming Permite controle da origem do arquivo binrio que ser gravado na memria FLASH
Serial Flash Memria externa Ethernet Bluetooth, etc.

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

Prxima aula
Construo de firmware

Estudo dos perifricos


Kit ATMEGA168 Exerccios

Contato

narmstrong@tecpar.br

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