1 saulo o. d. luiz arquiteturas de hardware para sistemas embarcados sistemas embarcados período...

Post on 17-Apr-2015

109 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related