Upload
internet
View
108
Download
5
Embed Size (px)
Citation preview
1 Saulo O. D. Luiz
Arquiteturas de Hardware para sistemas embarcados
Sistemas embarcados
Período 2010.2
2 Saulo O. D. Luiz
Roteiro
Sistemas embarcadosProcessadores de propósito geralMicrocontroladoresHardware embarcado
ProcessadorMemóriaDispositivos de entrada e saídaCoprocessadores
Arquiteturas multicore– Exemplo: plataforma OMAP (ARM e DSP)
3 Saulo O. D. Luiz
Definição
• Sistema embarcado é um dispositivo que possui um processador mas não é um computador de propósito geral
4 Saulo O. D. Luiz
Exemplos
• Controle automotivo:– motor, freios …
• Aviões– motor, controles de vôo …
• Forno de microondas• Câmera digital• Telefone celular• Internet tablet• PDA• ...
5 Saulo O. D. Luiz
Processadores de propósito geral
• Um sistema construído com um microprocessador requer memória, entradas e saídas externas
6 Saulo O. D. Luiz
Microcontroladores
• Um microcontrolador possui processador, memória, dispositivos de entrada e saída e outros elementos num único chip
7 Saulo O. D. Luiz
Exemplos
• Forno de microondas• Controle remoto da TV• Câmera digital• CD player• ...
8 Saulo O. D. Luiz
Microcontrolador
• Microcontrolador• Micro: pequeno• Controlador: aplicações de controle
• Também chamados de controladores embarcados, pois, na maioria das vezes, são construídos dentro dos (ou embarcados em) sistemas que controlam
9 Saulo O. D. Luiz
Exemplo de aplicação
• Sistema de controle de temperatura de um forno
Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006c
10 Saulo O. D. Luiz
Exemplo de aplicação
Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006
11 Saulo O. D. Luiz
Exemplo de aplicação
Fonte: D. Ibrahim, PICBASIC Projects. Newnes, 2006
12 Saulo O. D. Luiz
Qual a arquitetura de hardware necessária para atender os
requisitos das aplicações típicas de Sistemas embarcados?
13 Saulo O. D. Luiz
Processador
• Computador com um conjunto complexo de instruções (CISC):– Muitas operações– Diferentes formatos e comprimentos de
instruções
• Computador com um conjunto reduzido de instruções (RISC):– Menos instruções– Eficiência em processadores com pipeline
14 Saulo O. D. Luiz
Memória
• A memória armazena dados e instruções
• A CPU obtem instruções a partir da memória
• Arquiteturas:– von Neumann– Harvard
15 Saulo O. D. Luiz
Arquitetura von Neumann
16 Saulo O. D. Luiz
Arquitetura Harvard
17 Saulo O. D. Luiz
von Neumann X Harvard
• A arquitetura Harvard permite acessos simultâneos a dados e instruções
• A maioria dos DSPs usa Harvard:– Maior largura de banda
18 Saulo O. D. Luiz
Dispositivos de entrada e saída
• Tipicamente incluem algum componente não digital
• Interface com a CPU:
19 Saulo O. D. Luiz
Coprocessadores
• Coprocessador: unidade funcional chamada através de instrução
• Exemplos– ARM:
• unidades de aritmética de ponto-flututante
– DSPs 5509 e 5510:• DCT/IDCT• Interpolação de pixels• Estimação de movimento
20 Saulo O. D. Luiz
Como esses recursos de hardware estão organizados num
sistema embarcado real?
21 Saulo O. D. Luiz
Exemplo de hardware embarcado
OMAP– Open Multimedia Applications Platform
Família de processadores com arquitetura dual core (ARM + DSP)
Desenvolvida para alto desempenho e baixo consumo de energia
OMAP 1610,1611 e 1612– Podem ser usados em telefones móveis
22 Saulo O. D. Luiz
23 Saulo O. D. Luiz
Plataforma OMAP – Dispositivos
Archos PMA400 Nokia 770
HP Ipaq 6300Palm Tungsten
E
Nokia N800
24 Saulo O. D. Luiz
Plataforma OMAP
Kits de desenvolvimento
OMAP OSK
OMAP 1611
Kit de desenvolvimentousando os OMAP 591x
25 Saulo O. D. Luiz
Plataforma de OMAP1611
Processador OMAP controlando os seguintes dispositivos de I/O– Tela de toque
– Portas seriais
– Controlador Ethernet
– Cartões de memória flash
– MMC
– Keypad
– Cartões Mini-PCI
– Interface Bluetooth
– ...
26 Saulo O. D. Luiz
Tecnologia CMOS de baixo consumo e alto desempenho
Tecnologia 130 nm de baixa tensão
Consome menos de 10 µA em modo standby
Suprimento de energia compartilhado entre processamento de aplicações, banda básica digital e relógio de tempo real permite controle preciso sobre consumo de energia
Gerenciamento de energia a clock otimizado: somente dois relógios necessários em 13 MHz e 32 kHz
27 Saulo O. D. Luiz
Subsistema ARM926TEJ
Máxima frequência: 204 MHz16KB I-cache; 8KB D-cacheAceleração Javasuporte para conjuntos de instruções de
32-bit e 16-bit (thumb mode)MMUs de dados e programa
28 Saulo O. D. Luiz
Subsistema TMS320C55x DSP
Máxima frequência: 204 MHz
32K x 16-bit on-chip dual-access RAM (DARAM) (64 KB)
48K x 16-bit on-chip single-access RAM (SARAM) (96 KB)
24 KB I-cache
Uma/duas instruções executadas por ciclo de relógio
Aceleradores em hardware para DCT, iDCT, interpolação de pixels, e estimação de movimento para compressão de vídeo
29 Saulo O. D. Luiz
Subsistema de aplicação
DMA com 4 canais físicos e 17 lógicos e um 2D graphics engine dedicado
USB On-the-Go (OTG)
Duas portas SD/MMC/SDIO (secure data/multimedia card/secure digital IO)
Dois UARTs (universal asynchronous receiver/transmitter) 3.68 MHz
Controlador I2C (Inter-Integrated Circuit)
uWire
CompactFlash
30 Saulo O. D. Luiz
Subsistema de aplicação
Portas para camera
ETM (Enhanced Debug Trace) para depuração
FIR (Fast IrDA)
SPI (Serial Peripheral Interface Bus)
Controlador LCD
Interface 54-Mbps para WLAN 802.11a/b/g
Controlador de memória para:– 128 MB de SDRAM móvel e DDR móvel
– 256 MB Flash
31 Saulo O. D. Luiz
Depuração de aplicações em:– ARM
– DSP
– JTAG (Joint Test Action Group)– Padrão IEEE 1149.1 (Standard Test Access Port and
Boundary-Scan Architecture)
JTAG
32 Saulo O. D. Luiz
Cross-Compilação
PC
Scratchbox ARM926
• Scratchbox:– toolkit de cross-compilação para targets ARM
e PowerPC
33 Saulo O. D. Luiz
Funcionalidade x Consumo
• Maior consumo de energia:– Câmeras de alta resolução;– Flash;– LCD de alta resolução;– Mais funcionalidades e
aplicações;– etc.
• Quantidade limitada de energia suprida pelas baterias– Com os aparelhos
ganhando mais características, a vida da bateria de torna menor.
34 Saulo O. D. Luiz
Uma solução!
• Os usuários querem aparelhos com características avançadas sem perder a autonomia da bateria!
• Para aliar o alto desempenho ao baixo consumo de potência, o OMAP combina:
• DSP:– baixo consumo de
potência;
– operações de computação intensiva.
• ARM, adequado para:– SO
– interface com o usuário
35 Saulo O. D. Luiz
Desenvolvimento de aplicações para a Plataforma OMAP
• Há grande disponibilidade de aplicações multimídia open-source – para PC
• Exemplos: decodificadores de vídeo, áudio e voz.
• Essas soluções precisam então ser portadas para o DSP alvo.
• DSP:– Aplicações
multimídia
• ARM– SO
– interface com o usuário
36 Saulo O. D. Luiz
Problemas chave
• Comunicação entre os processadores;
• Implementação de algoritmos baseados em aritmética de ponto-fixo;
• Limitações de uso de memória;
• Otimizações.
37 Saulo O. D. Luiz
Comunicação entre os processadores
• DSP Gateway
38 Saulo O. D. Luiz
Exemplo de uso do DSP GatewayDSP Gateway
processo 1
open() returnacompleto
completo
close() returna
ARM DSP
close()close()Desativar tarefa
Tarefa no DSP excluída
dinamicamente
write() write()Entrada de comando de dados/controle
write() returna
read()read()
read() returna
Saída de dados
Tarefa executando
Device driver DSP kernelAplicação Linux Aplicação DSP
open() open()ativar tarefa no DSP
Tarefa no DSP criada
dinamicamente