Upload
joao-francisco
View
225
Download
0
Embed Size (px)
Citation preview
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
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/