introdução aos sistemas embarcados

146
Introdução aos Introdução aos Sistemas Embarcados Sistemas Embarcados Sergio Cavalcante Centro de Informática – UFPE

Upload: libba

Post on 07-Jan-2016

49 views

Category:

Documents


7 download

DESCRIPTION

Introdução aos Sistemas Embarcados. Sergio Cavalcante Centro de Informática – UFPE. Programa. Introdução aos sistemas embarcados. O que são? Arquitetura básica de um S.E. Tecnologias empregadas Metodologias de projeto Arquiteturas Padrão Sistemas operacionais de tempo real. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução aos  Sistemas Embarcados

Introdução aos Introdução aos Sistemas EmbarcadosSistemas Embarcados

Sergio CavalcanteCentro de Informática – UFPE

Page 2: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 2

ProgramaPrograma

• Introdução aos sistemas embarcados

• O que são?• Arquitetura básica de um S.E.• Tecnologias empregadas• Metodologias de projeto• Arquiteturas Padrão• Sistemas operacionais de tempo real

Page 3: Introdução aos  Sistemas Embarcados

Introdução aos Introdução aos Sistemas EmbarcadosSistemas Embarcados

Page 4: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 4

Intro. a Sistemas EmbarcadosIntro. a Sistemas Embarcados

• Visão geral

• Projeto e Arquitetura

• Visão geral– Áreas de aplicação

– Características

– Arquitetura básica

– Mercado

• Projeto e Arquitetura

Page 5: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 5

SE::Visão Geral::SE::Visão Geral::

Sistemas EmbarcadosSistemas Embarcados

• São sistemas computacionais que estão inseridos em máquinas ou em sistemas maiores

• Embutidos em equipamentos eletrônicos:– telefones celulares, vídeo-cassete, forno

microondas,carros, automação de escritório....

• Encontrado em quase todas as aplicações que necessitam de algum tipo de controle....

Page 6: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 6

SE::Visão Geral::SE::Visão Geral::

Áreas de AplicaçãoÁreas de Aplicação

• produtos de consumo: – telefones celulares, pagers, câmaras digitais,

vídeo-cassete, vídeo games portáteis, calculadores, etc;

• eletrodomésticos: – forno de microondas, secretárias eletrônicas,

equipamentos de segurança, termostatos, máquinas de lavar e sistemas de iluminação;

Page 7: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 7

SE::Visão Geral::SE::Visão Geral::

Áreas de AplicaçãoÁreas de Aplicação

• Automação de escritório: – máquinas de fax, copiadoras, impressoras e

scanners;

• Automóveis: – controle de transmissão, injeção eletrônica,

suspensão ativa, freio ABS.

Page 8: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 8

SE::Visão Geral::AplicaçõesSE::Visão Geral::Aplicações

Automóveis - Volvo S80Automóveis - Volvo S80

•2 Redes CAN•250Kbps•125Kbps

•4 Redes baixa velocidade•10,4Kbps

•18 ECUs

Page 9: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 9

SE::Visão Geral::SE::Visão Geral::

CaracterísticasCaracterísticas• Funcionalidade única, executada repetidamente

• Entrada/Saída intensivo

• Executa tarefas em paralelo

• Restrições de projeto mais rígidas: – Custo, tamanho, peso, desempenho, potência dissipada,

etc.

• Tempo real: – O tempo para fornecer resultados é determinado pelo

tempo que o ambiente pode esperar.– Sistemas em que têm aspectos temporais na

especificação.

• Sistemas reativos– Reagem continuamente a estímulos externos

Page 10: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 10

SE::Visão Geral::SE::Visão Geral::

Arquitetura BásicaArquitetura Básica

• Arquitetura de Hardware– Forte comunicação com o ambiente

– Forte restrição de recursos, tamanho, potência, peso...

• Arquitetura de Software– Tratamento rápido de interrupção

– Sistemas operacionais de tempo real

– Softwares eficientes em tamanho e desempenho

Page 11: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 11

SE::Visão Geral::SE::Visão Geral::

Arquitetura de HardwareArquitetura de Hardware

ASIC DSPASIP uP uC Mem

Código DSP

Código uP

RTOS

A/D D/ASensores Atuadores

Eventos

Eventos

Page 12: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 12

SE::Visão Geral::ArquiteturaSE::Visão Geral::Arquitetura

Exemplo: Câmera DigitalExemplo: Câmera Digital

A/D D/ACCD preprocessor Pixel coprocessor

MicrocontrollerJPEG codec

DMA controller

Memory controller ISA bus interface UART

Display ctrl

LCD ctrl

Multiplier/Accum.

Page 13: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 13

SE::Visão Geral::Arquitetura de HardwareSE::Visão Geral::Arquitetura de Hardware

Comparação com PCsComparação com PCs

Característica PC Embed. Sys

clock 180MHz – 2,2 GHz 500KHz – 300 MHz

Instruções/seg. 400M – 8B 1M – 200M

Potência 10 – 250 W .5 – 4W

Transistores 5 – 1000 M 10K – 5 M

Custo $200 – $2000 $0.5 – $100

Page 14: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 14

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de Software

Exemplo: Tempo de BootExemplo: Tempo de Boot

Page 15: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 15

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de Software

Exemplo: Mudança de Exemplo: Mudança de ContextoContexto• MontaVista Linux Kernel 2.4.17

• Pior caso 436us (vs. 1743us)

• 99.9% < 195us (vs. 1420us)

Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03

Page 16: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 16

SE::Visão Geral::SE::Visão Geral::

MercadoMercado

• Crescimento das aplicações– Automóvel:

• 1995: U$ 1237• 2000: U$ 2126• 2002: 15% a 30% do custo de um veículo é com

eletrônica

– Domiciliar:• 35 sistemas por residência em 1994• 240 sistemas em 2000

Page 17: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 17

SE::Visão Geral::SE::Visão Geral:: MercadoMercado• Crescimento de vendas

– U$:• ASIC´s + embed. Micros: U$ 60 B.

• PC´s: 34 B.

– Unidades:• Embed. Micros: 3 Billion

• PC micros: 100 million

Page 18: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 18

SE::Visão Geral::SE::Visão Geral:: Mercado MicrocontroladoresMercado Microcontroladores

0

2

4

6

8

10

12

14

16

18

20

1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

US$ billionsTotal Growth (inc. DSPs)

Up to 16-bit

Up to 8-bit

Up to 4-bit

Page 19: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 19

SE::Visão Geral::SE::Visão Geral:: Time-to-marketTime-to-market

• Redução do “time-to-market”– Maior competitividade de mercado

– Redução na janela de mercado dos produtos

Mar

ket r

ise M

arket fall

TempoTime-to-market

Concepçãodo sistema

Lu

cro

s (d

óla

res)

Tempo de vida

Atraso

Page 20: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 20

Exame 1Exame 1

• O que são Sistemas Embarcados?

• O que é um Sistema de Tempo Real?

• O que são Sistemas Reativos?

• Você diria que todo S.E. é também um Sistema de Tempo Real?E é um Sistema Reativo?

• É fundamental a execução de tarefas em paralelo em um S.E.? Porquê?

• Como você compara o mercado de S.E. em relação ao de desktops?

Page 21: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 21

Intro. a Sistemas EmbarcadosIntro. a Sistemas Embarcados

• Visão geral– Áreas de aplicação

– Características

– Arquitetura básica

– Mercado

• Projeto e Arquitetura

• Visão geral

• Projeto e Arquitetura

• Visão geral

• Projeto e Arquitetura– Metodologia de projeto

– Hardware

– Software

Page 22: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 22

SE::Projeto & ArquiteturaSE::Projeto & Arquitetura

Metodologia de ProjetoMetodologia de Projeto

• Principais diferenças entre o projeto de S.E. e projeto de aplicações para desktops– Requisitos não-funcionais são fundamentais: preço,

tamanho, peso, potência,...

– Flexibilidade: plataforma não definida, vários tipos de S.O., controle total da máquina.

– Grande preocupação com previsibilidade no uso de recursos

– Sistema muito restrito: eficiência no uso de recursos é fundamental

Page 23: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 23

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

ExemploExemplo

• Projeto de um controle remoto de televisão (infra-vermelho)– Controle simples com 3 botões:

• Liga/desliga

• Seleção de canais

– Opera com bateria

– Deve ser leve

– Controla a televisão por infravermelho

Page 24: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 24

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: RestriçõesExemplo: Restrições

• Protocolo de comunicação com a televisão– Proprietário

– Uso de ROM fornecida pelo cliente

• Satisfazer as especificações temporais fornecidas pelo cliente:– Código de assinatura

– Comando

Page 25: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 25

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do clienteExemplo: Requisitos do cliente• Funcionamento a Bateria:

– 2 baterias AAA

– Duração: 10.000 pressões nos botões

• Características do produto final:– Peso < 100 gramas

– Dimensão: 10cm X 5cm X 1.5 cm

– Material: plástico de alta densidade

– Botão liga/desliga: vermelho e circular

– Botão canais: preto e quadrado

– Deve ser robusto o suficiente para cair de 1,5 metros sem danificar

Page 26: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 26

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Requisitos do clienteExemplo: Requisitos do cliente

• Características do produto final:– Sinais de infravermelho transmitidos

conforme especificação do cliente

– Controle deve funcionar a 10 metros da TV quando posicionado até 45 graus da TV e 20 graus do sensor

– O sinal de infravermelho deve ser transmitido até 20 mseg após botão pressionado

Page 27: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 27

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Exemplo: Definição do Hw e SwExemplo: Definição do Hw e Sw• Processador:

– Microcontrolador de 8 bits

• Sistema Operacional:– Não há necessidade

• Linguagem de programação: – C

• Bibliotecas de software:– Nenhuma

• Componentes de Hardware:– Botões

– LED infravermelho

Page 28: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 28

• Como o sistema vai satisfazer requerimentos do usuário dadas as restrições de projeto– Revisar a análise

– Especificar componentes de hardware

– Definir Interface de hardware

– Especificar subsistemas de software

– Definir interfaces de software

– Especificar processos de início e final

– Especificar tratamento de erros

– Verificar resultados da etapa de design

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Requisitos do clienteRequisitos do cliente

Page 29: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 29

HardwareAlgoritmo

Layout

Program Convolution

SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2)

IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] PAR w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d)

Características - alto desempenho- alto desempenho- pequeno tamanho- pequeno tamanho- alto custo- alto custo- pouco flexível- pouco flexível

Hardware

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementaçãoAlternativas de implementação

Page 30: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 30

Software

Program Convolution

SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2) IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] PAR w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d)

Uso de componentesde prateleira (off-the-shelf)

Uso de componentesde prateleira (off-the-shelf)

Características- baixo custo- baixo custo- flexibilidade- flexibilidade- desempenho- desempenho- tamanho- tamanho

Software

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementaçãoAlternativas de implementação

Page 31: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 31

Program Convolution

SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2) IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] PAR w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d)

SW

HW

HW

Microprocessador

Circuitosespecíficos

Hardware/Software

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Alternativas de implementaçãoAlternativas de implementação

Page 32: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 32

Passado

AltoCusto

System specificationSystem specification

ExplorationExploration

Sw designSw design

Implement, Integrate and testImplement, Integrate and test

Proc.Inf. Spec.

Proc.Inf. Spec.

ASICInf. Spec.

ASICInf. Spec.

Hw designHw design

Proc.C code

ASICRTL strc.

ASICRTL strc.

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Processo de DesenvolvimentoProcesso de Desenvolvimento

Page 33: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 33

PresenteSystem specificationSystem specification

ExplorationExploration

Sw synthesis Highlevel synthesisSw synthesis Highlevel synthesis

Compilation Logic synthesis Physical designCompilation Logic synthesis Physical design

Proc.Inf. Spec.

ASICInf. Spec.

ASICInf. Spec.

MemoryVariables.

Proc.C code ASIC

RTL strc.

ASICRTL strc.

Memory

CosimulationCosimulation

SE::P & A::Metodologia de Projeto SE::P & A::Metodologia de Projeto

Processo de DesenvolvimentoProcesso de Desenvolvimento

Page 34: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 34

Presente/Futuro

Allocation Partitioning EstimationAllocation Partitioning Estimation

Sw synthesis Highlevel synthesisSw synthesis Highlevel synthesis

Compilation Logic synthesis Physical designCompilation Logic synthesis Physical design

Proc.Inf. Spec.

ASICInf. Spec.

ASICInf. Spec.

MemoryVariables.

Proc.C code ASIC

RTL strc.

ASICRTL strc.

Memory

CosimulationCosimulation

Behavior1 Behavior2Y=sqrt(x)X = x+1

Behavior3For I in 1,100 m(I)=n(I)+1

Memories Interfacing Arbitration GenerationMemories Interfacing Arbitration Generation

Hw/SwCo-design

SE::P & A::Metodologia de SE::P & A::Metodologia de Projeto Projeto

Processo de Processo de DesenvolvimentoDesenvolvimento

Page 35: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 35

Exame 2Exame 2

• O que diferencia o projeto de S.E. do projeto de aplicativos para computadores?

• Mencione pelo menos 5 restrições de projeto comuns em S.E.?

• Quais as vantagens e desvantagens de usar Software e/ou Hardware para implementar um S.E.?

• O que vem mudando na forma de projetar S.E. ao longo do tempo?

Page 36: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 36

Intro. a Sistemas EmbarcadosIntro. a Sistemas Embarcados

• Visão geral

• Projeto e Arquitetura– Metodologia de projeto

– Hardware

– Software

• Visão geral

• Projeto e Arquitetura– Metodologia de projeto

– Hardware

– Software

• Visão geral

• Projeto e Arquitetura– Metodologia de projeto

– Hardware• Processadores• Memória• Periféricos

– Software

Page 37: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 37

SE::Projeto & Arquitetura::HardwareSE::Projeto & Arquitetura::Hardware Dispositivos Processadores

• Transformam, movem dados, tomam decisões e/ou executam ações.

• Não precisam ser programáveis

• Tipos:– Processadores de uso geral

– Processadores de Aplicação Específica

– Processadores de propósito único

Page 38: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 38

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores

TecnologiaTecnologiaProcessadores variam na adequação ao problema

Processador de uso geral

Processador de

propósito único

Processador de aplicação específica

Funcionalidade

Desejada

Page 39: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 39

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores Processadores de uso geralProcessadores de uso geral

• Programados via software

• Memória para dados e programa

• Vantagens– Pequenos time-to-market e

custo não recorrente

– Alta flexibilidade

• Ex: PowerPC, Pentium, Z80

+ + * /

Memória Disp. E/S

Processador

Page 40: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 40

SE::P & A::Hw::Processadores de Uso GeralSE::P & A::Hw::Processadores de Uso Geral Processadores p/ desktops• Facilidade para desenvolvimento de

software

• Necessário adicionar muitos dispositivos auxiliares

• Conjunto de instruções não ideal

• Alto consumo de energia

Page 41: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 41

SE::P & A::Hw::Processadores de Uso GeralSE::P & A::Hw::Processadores de Uso Geral Processadores Embarcados• Proc. de uso geral adaptados para

sistemas embarcados:– Dispositivos internos

– Menor potência

– Facilidade para desenvolver software

Produto Clock(MHz)

No.I/O

PortasSeriais

Timers/Contad.

CanaisDMA

WDT ControleInterrupção

RefreshDRAM

80386DX 16,20,25,33 0 Não 0 0 Não Não Não

80386EX 25 24 3 3 2 Sim Sim (8259A) Sim

Page 42: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 42

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores Proc. de Aplicação Específica (ASIPs)Proc. de Aplicação Específica (ASIPs)

• Processador programável otimizado para uma classe de problema

• Características– Memória interna

– Unidade de Execução otimizada

– Periféricos especiais internos

• Vantagem– Bom compromisso entre flexibilidade, velocidade, tamanho e potência

• Ex: Microcontroladores (ex.Nitron, 8051) DSPs (Digital Signal Processors)

Page 43: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 43

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores Proc. de Aplicação Específica (ASIPs)Proc. de Aplicação Específica (ASIPs)

• Projeto de ASIPs:

– O ASIP e seu compilador são projetados em paralelo (Hw-Sw co-design)

– Melhor escolha de implementação de instruções (em hardware ou em software)

43

Page 44: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 44

SE::P & A::Hw::Processadores::ASIPsSE::P & A::Hw::Processadores::ASIPs MicrocontroladoresMicrocontroladores• Não há consenso sobre a diferença de microcontroladores e processadores embarcados

• Nossa definição:– microcontroladores não são derivados de famílias de processadores de propósito geral e têm, normalmente, um poder de processamento menor.

• Para diversificar as opções, lançam-se famílias de microcontroladoes

Page 45: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 45

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::Microcontroladores

Família NitronFamília Nitron• Lançada pela Motorola Semicondutores (Brasil) em

setembro/2002

• Vendeu mais de 1 milhão de unidades até dez/2002

• Mais de 40 milhões encomendados

• Prêmio "Product of the Year" como melhor lançamento do ano de 2002 (revista Electronic Products)

• Preço de $0.70 por unidade

Page 46: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 46

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::Microcontroladores

Família NitronFamília Nitron• Baseado na família HC, com 8 ou 16 pinos

• Memória Flash (1,5 K a 4 Kbytes) reprogramável na aplicação

• Timer de dois canais de 16 bits, com comparação e PWM

• Conversor A/D de 8 bits e quatro canais

Page 47: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 47

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::Microcontroladores

Família 8051• Fabricada por várias companhias como Philips, Atmel, Dallas Semiconductors, Intel

• Preços baixos

• Muitas opções

Page 48: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 48

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::Microcontroladores

Família 8051Port

1Port

3

Port

2Port

0

Seri

al

Timer1

CPU RAM EPROM

Timer0Oscil.

Latc

hLa

tch

Latc

hLa

tch

DPTRPC

MBRInterrupt

Data Bus

Address Bus

Page 49: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 49

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::Microcontroladores

Outras Outras Famílias• ARM da Intel, PIC da Microchip, Série HC da

Motorola e Transputers da SGS-Thomson.

• Escolha da família:

– fatores técnicos: velocidade, potência, tamanho, periféricos

– ambientes de desenvolvimento existentes

– conhecimento prévio do time de desenvolvimento

– facilidade de compra, número de fornecedores,etc.

Page 50: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 50

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores

Seleção de ProcessadoresSeleção de Processadores

Processor Clock speed Periph. Bus Width MIPS Power Trans. Price General Purpose Processors

Intel PIII 1GHz 2x16 K L1, 256K L2, MMX

32 ~900 97W ~7M $900

IBM PowerPC 750X

550 MHz 2x32 K L1, 256K L2

32/64 ~1300 5W ~7M $900

MIPS R5000

250 MHz 2x32 K 2 way set assoc.

32/64 NA NA 3.6M NA

StrongARM SA-110

233 MHz None 32 268 1W 2.1M NA

Microcontroller Intel 8051

12 MHz 4K ROM, 128 RAM, 32 I/O, Timer, UART

8 ~1 ~0.2W ~10K $7

Motorola 68HC811

3 MHz 4K ROM, 192 RAM, 32 I/O, Timer, WDT, SPI

8 ~.5 ~0.1W ~10K $5

Digital Signal Processors

TI C5416 160 MHz 128K, SRAM, 3 T1 Ports, DMA, 13 ADC, 9 DAC

16/32 ~600 NA NA $34

Lucent DSP32C

80 MHz 16K Inst., 2K Data, Serial Ports, DMA

32 40 NA NA $75

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

Page 51: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 51

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::Processadores Proc. de Propósito ÚnicoProc. de Propósito Único

• Circuito digital projetado para executar um único algoritmo

• Características– Contém apenas o necessário ao algoritmo

– Não tem memória de programa

• Vantagens– Projeto sob encomenda pode obter o melhor do tamanho,

potência, velocidade, mas perde em flexibilidade

• Ex: co-processadores e periféricos

Page 52: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 52

SE::P & A::Hw::Processadores de Propósito Único SE::P & A::Hw::Processadores de Propósito Único

Application-Specific Integrated Circuit-ASICApplication-Specific Integrated Circuit-ASIC

• Preço elevado inicial

• Perda de flexibilidade com relação a mudanças

• Uso depende dos requisitos de performance, consumo, tamanho, preço, etc.

Page 53: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 53

SE::P & A::Hw::Processadores de Propósito Único SE::P & A::Hw::Processadores de Propósito Único Field-Programable Gate Array – FPGAField-Programable Gate Array – FPGA

• Dispositivos de hardware programáveis

• Reconfigurável on-line (tipo RAM)

• Tipos de programação:

– tipo PROM, programáveis uma única vez

– tipo EPROM, re-programáveis em laboratório

– tipo RAM, re-programáveis durante a execução.

Page 54: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 54

SE::P & A::Hw::Processadores de Propósito SE::P & A::Hw::Processadores de Propósito Único::FPGA Único::FPGA

FPGA - Bloco básicoFPGA - Bloco básicoSaída

Entrada

Look-upTable

ABCD

clock

X

Y

Page 55: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 55

SE::P & A::Hw::Processadores de Propósito SE::P & A::Hw::Processadores de Propósito Único::FPGA Único::FPGA

FPGA: estrutura geralFPGA: estrutura geral

Blocos BásicosBlocos de I/O

Interconexões

Page 56: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 56

SE::P & A::Hw::Processadores de Propósito SE::P & A::Hw::Processadores de Propósito Único::FPGA Único::FPGA

FPGA: estrutura geralFPGA: estrutura geral• Custo por unidade maior que o custo

unitário de um ASIC

• Não tem custo relacionado à fabricação da primeira unidade

Custo

Volume de Produção

ASIC

FPGA

Page 57: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 57

Especificação Especificação InicialInicialEspecificação Especificação InicialInicialSíntese algorítmicaSíntese algorítmica(alto nível)(alto nível)Síntese algorítmicaSíntese algorítmica(alto nível)(alto nível)

Process(x)Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;

Process(x)Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;

ComportamentoComportamento

LayoutLayout

ASICASIC

Process(x)Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;

Process(x)Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;

+ + * /

Controle ProcessamentoArquiteturaArquitetura

+ + * /

ArquiteturaArquitetura

EstruturaEstrutura

Alg.RTL

Comp.Estr.

Geom.

Síntese lógicaSíntese lógicaSíntese lógicaSíntese lógicaSíntese de layoutSíntese de layoutPrototipaçãoPrototipaçãoSíntese de layoutSíntese de layoutPrototipaçãoPrototipação

Page 58: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 58

System Design Logic Design Physical Design

Simulation Schematic entry Placement /Routing

Hierarchy,Generators

Logic-Level Synthesis

High-Level SynthesisSystem-Level Synthesis

homem-mês para 20KPortas

70

SE::P & A::Hw::Processadores::Implementação SE::P & A::Hw::Processadores::Implementação

Redução do Tempo de ProjetoRedução do Tempo de Projeto

Page 59: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 59

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação Lei de MooreLei de Moore• Uma tendência que se mantém e foi prevista em 1965 por Gordon Moore

Número de transistores praticamente dobra a cada 18 meses

10,000

1,000

100

10

1

0.1

0.01

0.001

Tra

nsi

stor

es p

or

chip

(em

mil

hõe

s)

1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009

Note: logarithmic scale

Page 60: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 60

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação Lei de Moore: Ilustração Lei de Moore: Ilustração GráficaGráfica

1981 1984 1987 1990 1993 1996 1999 2002

10.000transistores

150.000.000transistores

Um chip de 2002 pode conter 15.000 chips de 1981

Page 61: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 61

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação Produtividade de ProjetoProdutividade de Projeto

100,000

10,000

1,000

100

10

1

0.1

0.01

19831981 1987 1989 1991 19931985 1995 1997 1999 2001 2003 2005 2007 2009

Produtividade(K) Trans./Pessoa – Mës

Page 62: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 62

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação Produtividade de Projeto X Produtividade de Projeto X Tam.ChipTam.Chip• O número de transistores por chip aumentou muito mais que a capacidade de projeto

• Maior chip em 1981 requer 100 homem.mês– 10.000 transistores / 100 transistores / mês

• Maior chip em 2002 requer 30.000 homem.mês– 150.000.000 / 5.000 transistores / mês

• Custo aumentou de $1M para $300M

10,000

1,000

100

10

1

0.1

0.01

0.001

Tra

nsi

stor

es/c

hip

(mil

hõe

s)

100,000

10,000

1000

100

10

1

0.1

0.01

Pro

du

tivi

dad

e(K

) T

ran

s./H

omem

.Mês

1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009

Capacidade do CI

produtividade

Gap

Page 63: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 63

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação The mythical man-monthThe mythical man-month

• O problema é pior na realidade

• O aumento da equipe pode, em algum momento, tornar o projeto mais lento, devido a complexidade de gerenciamento e comunicação

• Esse efeito é conhecido na comunidade de software como “the mythical man-month” (Brooks 1975)

10 20 30 400

10000

20000

30000

40000

50000

60000

43

24

19

1615

1618

23

Tempo

Duração em meses

Designers

Page 64: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 64

SE::P & A::Hw::Processadores::ImplementaçãoSE::P & A::Hw::Processadores::Implementação System-On-A-ChipSystem-On-A-Chip• Sistema completo implementado em um único chip

• Uso de núcleos de processadores (cores)

• Baixo custo de fabricação em série

• Alta qualidade

• Diminuição de defeitos de montagem e fabricação em geral

• Baixa potência consumida

• Pequeno tamanho

• Alta velocidade

Page 65: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 65

SE::Projeto & Arquitetura::HardwareSE::Projeto & Arquitetura::Hardware MemóriaMemória

• Tipos básicos– Memória volátil

• Perde informações quando não tem energia

• Usada para armazenar dados

– Memória não-volátil• Mantém informações quando não tem

energia

• Usada para armazenar programas e dados permanentes (configuração)

Page 66: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 66

SE::P & A::Hw::MemóriaSE::P & A::Hw::Memória Nomenclatura BásicaNomenclatura Básica

Memária volátil– RAM = Random Acces

Memory

– SRAM = Static RAM

– DRAM = Dynamic RAM

– VRAM - Video RAM

– WRAM - Windows RAM

Memória não-volátil– ROM = Read Only Memory

– PROM ou OTP = Programmable ROM ou One-Time Programmable

– EPROM = Erasable PROM

– EEPROM = Electrically Erasable PROM (apagamento byte a byte)

– Flash EPROM = Fast erasable EPROM (apagamento por bloco)

Page 67: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 67

SE::P & A::Hw::MemóriaSE::P & A::Hw::Memória RAM Dinâmica vs. EstáticaRAM Dinâmica vs. Estática

• DRAM (Dynamic Random Acess Memory)– Grande capacidade de integração (baixo custo por Grande capacidade de integração (baixo custo por

bit)bit)

– Perda de informação após algum tempo: Perda de informação após algum tempo: Necessidade de refreshingNecessidade de refreshing

• SRAM (Static Random Acess Memory)– Pequeno tempo de acessoPequeno tempo de acesso

– Não existe necessidade de refreshingNão existe necessidade de refreshing

– Alto custo por bit (baixa integração)Alto custo por bit (baixa integração)

Page 68: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 68

SE::P & A::Hw::MemóriaSE::P & A::Hw::Memória Características BásicasCaracterísticas Básicas

Tipo de Memória Categoria Apagamento Escrita Volatil

Random-Access Mem. (RAM)

Read-Write

Elétrico byte a byte

Elétrica Volátil

Read-Only Mem. (ROM)

Read-

I mpossível

Máscara

Programmable ROM (PROM)

only

Erasable PROM (EPROM)

Ultra-violeta Elétrica

não-

Electrically EPROM (EEPROM)

Read-mostly

Elétrico byte a byte

volátil

Flash EPROM Elétrico por bloco

Page 69: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 69

SE::Projeto & Arquitetura::HardwareSE::Projeto & Arquitetura::Hardware PeriféricosPeriféricos• Teclados e Visores de cristal líquido

• Temporizadores e contadores

• Interfaces Seriais

• Transdutores

• Conversores Digital-Analógicos e Analógico-Digitais

• Modulação de largura de fase - PWM

• Motores de passo

Page 70: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 70

SE::P & A::Hw::PeriféricosSE::P & A::Hw::Periféricos Timer(temporizador)/ContadorTimer(temporizador)/Contador• Dispositivo que gera interrupções em intervalos

regulares de tempo. Ex: Timer do 8051

TH0TH0 TL0TL0

CarryCarryCarry

InterruptClock/12

ContadoresContadores

Data BusData BusRDRD WR RDRD WRWR

Page 71: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 71

SE::P & A::Hw::PeriféricosSE::P & A::Hw::Periféricos

TecladoTeclado

N1N2N3N4

M1M2M3M4

buffer

Controlador de Teclado

Tecla apertada

Código da Tecla

4

• Para saber se esta tecla está apertada, o controlador do teclado põe nível 1 em M2 e testa o valor de N3

Page 72: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 72

SE::P & A::Hw::PeriféricosSE::P & A::Hw::Periféricos Interfaces SeriaisInterfaces Seriais

• Comunicação em que cada bit é enviado em seqüência por um único fio

Registradorde

Deslocamento Clock

Data BusData Bus

WriteWrite

Page 73: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 73

SE::P & A::Hw::PeriféricosSE::P & A::Hw::Periféricos Interfaces SeriaisInterfaces Seriais

• Exemplo de Comunicação

Registradorde

DeslocamentoClock

Data BusData Bus

WriteWrite

Registradorde

DeslocamentoClock

Data BusData Bus

ReadRead

ReceptorReceptor TransmissorTransmissor

Page 74: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 74

SE::P & A::Hw::Periféricos::Interfaces SeriaisSE::P & A::Hw::Periféricos::Interfaces Seriais

RS232RS232• RS232: Recommended Standard 232 da EIA

– Comunicações ponto a ponto

– Usado por modems, mouses e algumas impressoras

– Baixa imunidade a ruído

– Mencionado no padrão:

• limite de transmissão 20kbps

• distância máxima entre dispositivos: 15 metros

– Na prática:

• pode-se transmitir até cerca de 200kbps

• atinge 100m.

Page 75: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 75

SE::P & A::Hw::Periféricos::Interfaces SeriaisSE::P & A::Hw::Periféricos::Interfaces Seriais

RS422 e RS485RS422 e RS485• Adequadas para condições adversas de

operação

• comunicação por pares de fio trançados

• velocidades superiores a 100Mbps

• distâncias de vários quilômetros

• conexão de vários dispositivos na mesma linha

Page 76: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 76

SE::P & A::Hw::Periféricos::Interfaces SeriaisSE::P & A::Hw::Periféricos::Interfaces Seriais

Universal Serial Bus - USBUniversal Serial Bus - USB• Taxas de até 12Mbps

• Até 127 periféricos por linha

• Conexão com sistema ligado (hot plugging)

• Reconhecimento automático do dispositivo(Plug-and-Play)

• Microcontroladores dotados de interfaces USB

Page 77: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 77

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::Interfaces Sem-FioInterfaces Sem-Fio

InfravermelhoInfravermelho• IrDA (Infrared Data Association – 1993)

– Vários padrões de comunicação

• IrDA-Data, IrDA-Control, e o Air

– IrDA-Data

• ponto-a-ponto

• cone de incidência estreito (30º)

• distância máxima de 1 metro

• velocidades de 9600 bps a 16 Mbps.

– base instalada com alta taxa de crescimento.

Page 78: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 78

SE::P & A::Hw::Periféricos::Interfaces Sem-FioSE::P & A::Hw::Periféricos::Interfaces Sem-Fio

BluetoothBluetooth• ondas de rádio• comunicação de voz e dados

• pequenas distâncias (10cm a 10m)

• ponto-a-multiponto (broadcast)

• faixa de frequência usada é de 2.4 GHz

• suporta rede de até 8 dispositivos

• fácil integração com protocolo TCP/IP.

• Várias companhias adotando como Motorola, Ericsson, Nokia, IBM, Toshiba, Intel, entre outras.

Page 79: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 79

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Visor de Cristal Líquido - LCDVisor de Cristal Líquido - LCD• vários modelos

– alfanuméricos, que só apresentam letras, números e caracteres de pontuação

– gráficos que permitem o acesso a cada ponto independentemente

• vários tamanhos

• com ou sem iluminação (backlight)

• interface, em geral, paralela.

• Ponto importante da interface com o usuário

Page 80: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 80

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos:: TransdutoresTransdutores• Capazes de converter tipos de energia

• Exemplo: microfones de carvão– A pressão do ar (onda sonora) desloca o diafragma– que muda a densidade de partículas de carvão– variando a resistência elétrica– que produz uma onda elétrica similar à sonora

corrente

-+diafragma

Partículas de carvão

Page 81: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 81

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos:: TransdutoresTransdutores

•A corrente elétrica variável é aplicada à bobina•que induz um campo magnético•que movimenta o diafragma•que desloca o ar formando uma onda sonora

SN imã

Diafragma

Bobina

corrente

• Alto-falante

Page 82: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 82

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos:: TransdutoresTransdutores

• Materiais especiais

– piezzo-elétricos, são capazes de se expandir ou contrair de acordo com a voltagem (e vice-versa)

• sensores de pressão, peso, e em microfones e tweeters

– termopares, geram voltagens proporcionais à sua temperatura

– células fotoelétricas, geram voltagens ou modificam a resistência proporcionalmente à iluminação sobre elas

Page 83: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 83

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos:: Conversores Conversores Analógico/DigitaisAnalógico/Digitais

• Conversão de valores analógicos (contínuos no tempo e na amplitude) em valores digitais (números binários)

Onda sonora

Onda elétrica

analógica

Valores binários(amostras temporais)

Page 84: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 84

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Conversores Analógico/DigitaisConversores Analógico/Digitais

Relação de Valores

Vmax = 7.5V

0V

11111110

0000

0010

0100

0110

1000

1010

1100

0001

0011

0101

0111

1001

1011

1101

0.5V1.0V1.5V2.0V2.5V3.0V

3.5V4.0V4.5V5.0V

5.5V6.0V6.5V7.0V

ConversãoAnalógico Digital

4

3

2

1

t1 t2 t3 t40100 1000 0110 0101

tempoEntrada Analógica

(V)

Saída Digital

ConversãoDigital Analógico

4

3

2

1

0100 1000 0110 0101

t1 t2 t3 t4tempo

Saída Analógica (V)

Entrada Digital

Page 85: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 85

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Modulação de largura de pulso Modulação de largura de pulso (PWM)(PWM)

• Onda quadrada– definição do período

– definição do duty cycle (percentual do tempo em que o sinal fica em 1)

Período

30%30% 70%

Duty cycleDuty cycle

Page 86: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 86

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Modulação de largura de pulso (PWM)Modulação de largura de pulso (PWM)

clkpwm

duty cycle 25% – tensão média = 1.25V

clkpwm

clkpwm

• Gera pulsos com “duty cycle” definido

• Controla a tensão média de um dispositivo externo (ex: motor, lâmpada)

– Mais simples que conversor DC-DC ou A/D

duty cycle 50% – tensão média = 2,5V

duty cycle 75% – tensão média = 3,75V

Page 87: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 87

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Modulação de largura de pulso (PWM)Modulação de largura de pulso (PWM)

• Controle de motores de corrente contínua e de solenóides

Mola

Bobina

Imãpermanente

Page 88: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 88

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Motores de PassoMotores de Passo

• Tipos de motores que giram “passo a passo”, girando alguns graus por vez

Page 89: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 89

SE::P & A::Hw::Periféricos::SE::P & A::Hw::Periféricos::

Motores de PassoMotores de Passo

AA’BB’

Sequencia A B A’ B’ 1 + + - - 2 - + + - 3 - - + + 4 + - - + 5 + + - -

• Para rodar o motor é necessário seguir uma seqüência de acionamento das bobinas

• Existem controladores para facilitar esta tarefa

• Requer “driver” de potência

Q2

1K

1KQ1

+V

EntradaSaida

Driver de potência

Page 90: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 90

Intro. a Sistemas EmbarcadosIntro. a Sistemas Embarcados

• Visão geral

• Projeto e Arquitetura– Hardware

• Processadores• Memória• Periféricos

– Software

• Visão geral

• Projeto e Arquitetura– Hardware

– Software

• Visão geral

• Projeto e Arquitetura– Hardware

– Software• Linguagens

• Sistemas operacionais de tempo real

Page 91: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 91

SE::Projeto & Arquitetura::SoftwareSE::Projeto & Arquitetura::Software

Linguagens Empregadas• Segundo uma pesquisa recente da www.8052.com

– 49% assembly

– 33% C

– 5% Basic

– 3% Pascal

– 9% outras linguagens

• A previsibilidade no uso de recursos e tempo de execução é fundamental para sistemas críticos

Page 92: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 92

SE::P & A::Sw::LinguagensSE::P & A::Sw::Linguagens

Linguagens orientadas a objetosLinguagens orientadas a objetos• Linguagens orientadas a objeto

– ciclo de desenvolvimento mais rápido

– melhores métodos de estruturação e modularização

– reutilização de objetos

– criação e destruição dinâmica de objetos, garbage collectors criam problemas para previsibilidade temporal e de alocação de memória

– Java, não há um modelo definido para o escalonamento das threads. Inviabiliza tempo real

Page 93: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 93

• C e Assembly– Excelente controle do hardware e do tempo de execução

– Alta performance

– Dificuldades no desenvolvimento

– Assembly:

• Difícil modularização e reutilização

SE::P & A::Sw::LinguagensSE::P & A::Sw::Linguagens

Linguagens imperativasLinguagens imperativas

Page 94: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 94

• Ada

– Projetada pelo Department of Defense dos EUA

• Esterel

– Voltada para sistemas reativos

– Baseada em eventos e ações

– Semelhante às linguagens visuais (ex. Visual Basic)

SE::P & A::Sw::LinguagensSE::P & A::Sw::Linguagens

Linguagens especiaisLinguagens especiais

Page 95: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 95

SE::P & A::SoftwareSE::P & A::Software

Sistemas de Tempo RealSistemas de Tempo Real

• Sistemas computacionais de tempo real:– Tem aspectos temporais em sua especificação

– Submetidos a requisitos de natureza temporal

– Resultados devem estar corretos lógica e temporalmente “Fazer o trabalho usando o tempo disponível”

– Requisitos definidos pelo ambiente físico

• Aspectos temporais– Não estão limitados a uma questão de desempenho

– Estão diretamente associados com a funcionalidade

Page 96: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 96

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real

STR e o AmbienteSTR e o Ambiente

STR

Ambiente

EstímulosSensores

RespostasAtuadores

Page 97: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 97

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real

STR e o AmbienteSTR e o Ambiente

• Fluxo de controle definido pelo ambiente– Tarefas ativadas por estímulos do ambiente– STR geralmente não tem como limitar estes

estímulos

• Tempos de resposta ao ambiente definem deadlines

• Dados com prazos de validade– Dados desatualizados podem conduzir a

respostas incorretas

Page 98: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 98

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real

Áreas de PesquisaÁreas de Pesquisa

• Escalonamento (mais estudado)

• Modelos e linguagens de programação

• Protocolos de comunicação

• Arquitetura de computadores

• Metodologias de desenvolvimento

• ...

Page 99: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 99

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo Real

Conceitos BásicosConceitos Básicos

Tarefa ( task )• Segmento de código cuja execução possui atributo temporal próprio• Exemplo: método em OO, subrotina, trecho de um programa

Deadline• Instante máximo desejado para a conclusão de uma tarefa

Page 100: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 100

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos

CriticidadeCriticidadeSistema de tempo real crítico (Hard real-time system)

• Todas as tarefas têm Hard Deadline

– Perda do deadline pode ter conseqüências catastróficas

• É necessário garantir requisitos temporais ainda durante o projeto

• Exemplo: usina nuclear, industria petroquímica, mísseis

Sistema de tempo real não crítico (Soft real-time system)

• O requisito temporal descreve apenas o comportamento desejado

• Perda do deadline não tem conseqüências catastróficas

• Existe interesse em terminar a tarefa mesmo com atraso

• Exemplo: início de gravação de vídeo-cassete

Page 101: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 101

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos

CriticidadeCriticidade

Deadline Firm

• Perda do deadline não tem conseqüências catastróficas

• Não existe valor em terminar a tarefa após o deadline

• Exemplo: ler o valor da temperatura

Page 102: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 102

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das TarefasModelagem das Tarefas

• Deadline – Tempo máximo para término de uma tarefa

• Release-time – Tempo mínimo para início de uma tarefa

• Tempo de execução: considera o pior caso

– WCET – Worst-Case Execution Time

Page 103: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 103

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das TarefasModelagem das Tarefas

• Periodicidade

– Tarefas Aperiódicas

• São disparadas em intervalos imprevisíveis de tempo

• Não garantem escalonabilidade

– Tarefas Esporádicas

• É conhecido o intervalo mínimo entre execuções (inter-arrival time)

– Tarefas Periódicas

• Devem ser executadas em intervalos regulares de tempo

Page 104: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 104

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos Básicos

Modelagem das TarefasModelagem das Tarefas

• Folga (slack) = deadline – liberação – tempo de execução

• Atraso = MÁX( 0, conclusão – deadline)

deadlineChegada(arrival)

Liberação(release)

Início(start time)

Conclusão(end time)

tempo de execução(execution time)

atraso na liberação(release jitter)

tempo

Tempo de resposta (response time)

Page 105: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 105

SE::P & A::Sw::STR:: ConceitosSE::P & A::Sw::STR:: Conceitos::::Modelagem das Modelagem das TarefasTarefas

Tarefas PeriódicasTarefas Periódicas

A1

tempo

P

D

a1 r1 s1 e1 d1

A2

P

D

a2=r2 s2 e2 d2

J1

Page 106: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 106

SE::P & A::Sw::STR:: ConceitosSE::P & A::Sw::STR:: Conceitos::::Modelagem das Modelagem das TarefasTarefas

Tarefas EsporádicasTarefas Esporádicas

E1

tempo

minIT

D

a1 s1 e1 d1

E2

minIT

D

a2=s2 e2 d20

evento1evento2

Page 107: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 107

SE::P & A::Sw::STR:: ConceitosSE::P & A::Sw::STR:: Conceitos::::Modelagem das Modelagem das TarefasTarefas

Relações entre tarefasRelações entre tarefas• Relações entre tarefas

– Precedência: XY• A tarefa X deve terminar antes de Y começar

– Exclusão mútua: XY• As tarefas X e Y não podem executar simultaneamente

– Co-execução: X||Y• As tarefas X e Y têm que executar simultaneamente

– Preempção: XY• A tarefa X é interrompida para que Y possa executar e, após o

término de Y, a tarefa X continua a executar

Page 108: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 108

Abordagens deMelhor Esforço

Abordagens com Garantiaem Tempo de Projeto

ExecutivoCíclico

Dirigido aPrioridades

TécnicasAdaptativas

Abordagens comGarantia Dinâmica

SE::P & A::Sw::STR SE::P & A::Sw::STR

EscalonamentoEscalonamento

Métodos de Escalonamento

Page 109: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 109

Escalonamento de ProcessosEscalonamento de Processos AbstraçãoAbstração

• Uma máquina para cada processo

• Paralelismo real

T11

T12

T0

P1

P2

P3

T22P3

Page 110: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 110

Escalonamento de ProcessosEscalonamento de Processos

RealidadeRealidade

• Compartilhamento do tempo

• Pseudoparalelismo

T11T12

T0 T22T0

1 121905141 t70

P1

Page 111: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 111

Tipos de EscalonamentoTipos de Escalonamento

PreemptivoPreemptivo• Permite a suspensão temporária de processos

• Quantum ou time-slice: período de tempo durante o qual um processo usa o processador a cada vez

T11T12

T0 T22T0

1 121905141 t70

P1

Preempção

Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos

Page 112: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 112

Escalonamento de ProcessosEscalonamento de Processos

ProcessoProcesso• Estados de um processo

Pronto Rodando

Bloqueado

Criação TérminoID do Processo

Estado

Program Counter

Ponteiros da MemóriaContexto (regs.)

I/O Status

Prioridade

Informações gerais• tempo de CPU• limites, usuário, etc.

Process Control Block - PCB

Page 113: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 113

Filas de Filas de EscalonamentoEscalonamento

Long-term

queue

Short-term

queueCPU

I/Oqueue

I/Oqueue

I/Oqueue

I/O

I/O

I/O

Processrequest FIM

High-levelscheduling

Short-termscheduling

I/O scheduling

InterruptHandler

Interruptof process

Interrupt from I/O

Page 114: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 114

Tipos de EscalonamentoTipos de Escalonamento

Round-RobinRound-Robin• Uso de uma lista de processos sem

prioridade• Escalonamento preemptivo• Simples e justo• Bom para sistemas interativos

Tar. BContextoTar. BContexto

Tar. CContextoTar. CContexto

CPU:RunningCPU:Running

Tar. AContextoTar. AContexto

Tar. AContextoTar. AContexto

Tar. AContexto

Page 115: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 115

Tipos de EscalonamentoTipos de Escalonamento

First-In First-Out (FIFO)First-In First-Out (FIFO)

• Uso de uma lista de processos sem prioridade

• Escalonamento não-preemptivo

• Simples e justo

• Bom para sistemas em batch B C D E F … N B C D E F … NCPUCPU

A

FIM

Page 116: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 116

Tipos de EscalonamentoTipos de Escalonamento

ExemploExemplo

• Três processos

• Cada um consome 1 hora de CPU

• Calcule o tempo de resposta considerando

a) Round-robin (time-slice = 10ms)

b) FIFO

Page 117: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 117

Características de Características de EscalonamentoEscalonamento• Justiça (fairness)

– Todos os processos têm chances iguais de uso dos processador

• Eficiência– O objetivo é manter o processador 100% ocupado

• Tempo de Resposta– Tempo entre a requisição da ação e a obtenção do resultado

• Throughput– Número de tarefas por unidade de tempo

Page 118: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 118

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço• Não existe garantia que os deadlines serão cumpridos

• Sempre que uma tarefa é ativada ocorre uma análise da sua escalonabilidade

• Passível de sofrer sobrecarga

• Capaz de fornecer análise probabilística– Simulação, teoria das filas de tempo real, etc

• Algumas abordagens oferecem Garantia Dinâmica– Garante o deadline (ou não) no início da ativação

Page 119: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 119

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::EscalonamentoGarantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço

Descarte de Tarefas na Sobrecarga • As tarefas executadas cumprem o deadline

• Mais apropriado para tarefas com deadline firm

• Pode cancelar ativações individuais ou tarefas completas

• Objetivo é maximizar o número de tarefas executadas

• Tarefas podem ter importância (peso) diferentes

– Maximiza o somatório dos pesos das tarefas executadas

• Abordagem semelhante: aumenta o período das tarefas

Page 120: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 120

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::Escalonamento

Garantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço

Perda de deadlines na sobrecarga• Em sobrecarga ATRASA algumas tarefas

• Possui uma função que indica o valor de cada tarefa em função do seu instante de conclusão (time-value function)

• Objetivo é maximizar o valor total do sistema (somatório de todas as tarefas)

d0

valor

Tempo de Resposta

Page 121: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 121

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::Escalonamento

Garantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor EsforçoRedução da Precisão na Sobrecarga• Em sobrecarga diminui a precisão de algumas tarefas

• Objetivo é fazer o possível dentro do tempo disponível

• Exemplos:

– Ignorar bits menos significativos de cada pixel

– Trabalhar com amostras de áudio menos precisas

– Alterar resolução e tamanho de imagem na tela

– Simplificar animações

– Usar algoritmos de controle mais simples

– Interromper pesquisa em algoritmos de inteligência artificial

Page 122: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 122

Sistemas de Prioridade Dinâmica

• Earliest-Deadline-First (EDF)– Escalonamento preemptivo de prioridade dinâmica

– O deadline é calculado quando a tarefa é disparada.

– O escalonador põe para executar a tarefa com menor deadline

• Least Slack Scheduling– Escalonamento não-preemptivo de prioridade dinâmica

– A tarefa com menor sobra (slack) tem maior prioridade

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::Escalonamento

Garantia Dinâmica e de Melhor EsforçoGarantia Dinâmica e de Melhor Esforço

Page 123: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 123

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::Escalonamento

Abordagens com Garantia em ProjetoAbordagens com Garantia em Projeto

• Para obter garantias em projeto é necessário:

– Conhecimento completo das tarefas e do método de implementação

– Análise feita em projeto

– Carga limitada e conhecida

Page 124: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 124

SE::P & A::Sw::STR::EscalonamentoSE::P & A::Sw::STR::Escalonamento

Abordagens com Garantia em ProjetoAbordagens com Garantia em Projeto

• Vantagens

– Determina em projeto que todos os deadlines serão cumpridos

– Necessário para aplicações críticas

• Desvantagens

– Necessário conhecer exatamente a carga

– Necessário reservar recursos para o pior caso

– Difícil determinar o pior caso em soluções off- the- shelf

– Gera enorme subutilização de recursos

Page 125: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 125

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em ProjetoProjeto

Modelos de ImplementaçãoModelos de Implementação• Time-driven systems

– Sistemas em que a execução é regida pelo tempo

– Não existe outra fonte de eventos além do timer interno

– A ordem de execução é toda definida a priori

• Event-driven systems– A execução é regida por eventos externos e eventos do timer

– A garantia em projeto se dá pelo uso de prioridades fixas para as tarefas

Page 126: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 126

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Time-Driven SystemsTime-Driven Systems

Executor Cíclico

• Tarefas são arranjadas numa lista que define a ordem e tempo de execução de cada uma

• Cada tarefa é colocada em execução em momentos controlados por um temporizador (timer)

• A lista é executada repetidamente, caracterizando ciclos de execução

• Não é usada concorrência: tarefas grandes devem ser quebradas manualmente se necessário.

Page 127: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 127

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Time-Driven Systems: Time-Driven Systems: Exemplo 1Exemplo 1• Considere 4 funções com as seguintes características:

– Função 1: ciclo de 50Hz (20ms)

– Função 2: ciclo de 25 Hz (40ms)

– Função 3: ciclo de 12,5 Hz (80ms)

– Função 4: ciclo de 6,25Hz (160ms)

Ciclo Principal (160ms) Ciclo Principal (160ms)

10ms

Page 128: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 128

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Time-Driven Systems: Time-Driven Systems: Exemplo 2Exemplo 2

20 50

0 50

10 60 70

C ( = 20) D ( = 20)

A ( = 20)

Relations: A C B C

Processor1

Processor2

40 80

20

30

d’Ar’A

d’B d’C d’Dr’C r’B, r’

D

B ( = 20)cB cCcD

cA

20 50

0

10 60 70

B ( = 20)C ( = 20) D ( = 20)

A ( = 20)

Relations: C A B C

Processor1

Processor2

40 80

30

30

d’Ar’A

d’B d’Dr’C d’Cr’,BD

cBcCcD

cA

50

r’

Page 129: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 129

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Time-Driven Systems: Time-Driven Systems: Exemplo 3Exemplo 3Relations: A B, B C, C D

Relations: B A, B C, C D

20 60 70

1

2

9540 100

4025

d’C

d’D

r’C

r’A d’A r’D

0

r’B

5

d’Er’E

45 55

D

80

E

60

d’B

C

B

70

2

95

4525

d’C

d’D

r’C

r’,A r’D

0

r’B

5

d’Er’Ed’A

45 55 80

60

d’B

25

C

EDA B

75

A

Relations: A B, B C, C D

Relations: B A, B C, C D

20 60 70

1

2

9540 100

4025

d’C

d’D

r’C

r’A d’A r’D

0

r’B

5

d’Er’E

45 55

D

80

E

60

d’B

C

B

70

2

95

4525

d’C

d’D

r’C

r’,A r’D

0

r’B

5

d’Er’Ed’A

45 55 80

60

d’B

25

C

EDA B

75

A

Page 130: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 130

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Time-Driven Systems: Executor CíclicoTime-Driven Systems: Executor Cíclico

Função 1

Função 2

Função 3

Função 4

Disp. E/S

Disp. E/S

ExecutorCíclico

Interrupçãodo Timer

• Arquitetura de Software

Page 131: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 131

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven SystemsSistemas de Prioridade Fixa• Tarefas têm prioridades definidas em tempo de projeto

• Tarefas de maior prioridade preemptam as de menor prioridade

• Prioridades são definidas com base nas restrições temporais

• A concorrência requer mecanismos para evitar deadlock e inversão de prioridade (exemplo: semáforos, herança de prioridade)

• Para garantir respostas previsíveis, tarefas aperiódicas não são tratadas

Page 132: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 132

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven SystemsSistemas de Prioridade Fixa• Escalonamento Rate-Monotonic (RMS)

– Escalonamento preemtivo de prioridade fixa

– Tarefas mais freqüentes têm maior prioridade

– Os deadlines devem ser iguais aos períodos

– Tarefas não têm nenhuma relação entre si (precedência, exclusão, etc)

– É ótimo, ou seja, nenhum outro método é melhor que este com estas condições

Page 133: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 133

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven Systems

Sistemas de Prioridade Fixa

• Deadline-Monotonic Scheduling:

– Semelhante ao RMS, mas quanto menor o deadline da tarefa maior sua prioridade

– Os deadlines são fixos e relativos aos começos dos períodos

Page 134: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 134

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven Systems

Tarefa 1

Tarefa 2

Tarefa 3

Tarefa 4

Disp. Entrada

Interrupçãodo Timer

Recurso 1

Recurso 2

Atuador

Disp. SaídaSensor

Arquitetura de Software

Page 135: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 135

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven SystemsAnálise de EscalonabilidadeEscalonamento Rate-Monotonic (RMS)• Notação:

Processo: pi Período: Ti Tempo de Computação: Ci

Deadline: Di

• Em um conjunto de n processos periódicos independentes escalonados pelo RMS sempre obedecerá o seu deadline se (condição suficiente mas não necessária):

onde, U(n) é o limite de utilização para n processos.

n U(n) 69%

12...1

1

1 n

n

n nnUTC

TC

Page 136: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 136

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven SystemsEscalonamento Rate-Monotonic (RMS)

• U(n) = 1,0 se o conjunto de tarefas é harmônico– Um conjunto de tarefas é harmônico se os períodos

de todas as tarefas são múltiplos ou sub-múltiplos entre si

• U(n) = 0,88 na média de tarefas randômicas

Page 137: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 137

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto

Event-Driven SystemsEvent-Driven SystemsAnálise de Escalonabilidade • Análise baseada em Tempo de Resposta

• Calcula tempo de resposta no pior caso e compara ao deadline

• Para a tarefa mais prioritária R1 = C1

• Demais tarefas sofrem interferência das tarefas com prioridade maior

Neste caso, Ri = Ci + Ii

• Interferência é máxima a partir do Instante Crítico– Instante onde todas as tarefas são liberadas simultaneamente

Page 138: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 138

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

Interferência entre tarefas

Seja Pj uma tarefa com prioridade maior que Pi– Quantas vezes Pj pode acontecer durante a execução de Pi ?

Ri/Tj

– Qual a interferência total de Pj sobre Pi ?

Ri/Tj x Cj

– Qual a interferência total sobre Ti ?

∑ Ri/Tj x Cj, onde Pri(j)>Pri(i)

Page 139: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 139

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de EscalonabilidadeO tempo máximo de resposta de pi é Ri = Ci + Ii

Ri = Ci + ∑ Ri/Tj x Cj

O cálculo é feito recursivamente em iterações sucessivas, até:– Tempo de resposta passar do deadline (falha)

– Resultado convergir, ou seja, iteração x+ 1 igual a iteração x

Wix+1 = Ci + ∑ Wi

x/Tj x Cj, onde Wi0= Ci

Page 140: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 140

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

Exemplo

p1 p2 p3

T1=7 T2=12 T3=20

C1=3 C2=3 C3=5

Pri1=1 Pri2=2 Pri3=3

Resposta:

R1 = 3 R2 = 6 R3 = 20

Page 141: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 141

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

Suponha uma tarefa esporádica liberada por evento externo

– Eventos podem ser amostrados periodicamente

– Sinalização do evento pode ter atraso variável

– Release Jitter: Atraso máximo na liberação da tarefaRi = Ji + Wi, Wi = Ci + ∑ (Wi+Jj)/Tj x Cj

Page 142: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 142

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

Bloqueios

• Ocorrem devido às relações de exclusão mútua

• Suponha p1 e p2, p1 com maior prioridade– Se p2 fica bloqueada esperando por p1

Ok, p1 tem mesmo prioridade superior

– Se p1 fica bloqueada, esperando por p2Cálculo do tempo de resposta deve incluir a espera máxima Bi

Ri = Ji + Wi

Wi = Ci + Bi + ∑ (Wi+Jj)/Tj x Cj

Page 143: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 143

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

• Seções Críticas e Inversão de Prioridades

Page 144: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 144

Garantia em Projeto :: Event-Driven SystemsGarantia em Projeto :: Event-Driven Systems

Análise de EscalonabilidadeAnálise de Escalonabilidade

• Protocolo de Herança de Prioridades

Page 145: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 145

Sistemas Operacionais de Tempo Sistemas Operacionais de Tempo RealReal

• Escalonamento preemptivo

• Escalona processos com base em prioridades (não é justo, pode provocar starvation)

• Todas as chamadas ao S.O. tem tempo máximo de execução definido e otimizado

• A mudança de contexto tem tempo limitado, conhecido (fixed overhead) e otimizado

• Tratamento de inversão de prioridade

Page 146: Introdução aos  Sistemas Embarcados

Sérgio Cavalcante - CIn/UFPE Introdução aos Sistemas Embarcados 146

ReferênciasReferências

• Livro de Sistemas de Tempo RealJean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’2000 - IME- USPhttp:// www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm

• IEEE Computer Society, Technical Committee on Real- Time Systems (IEEE- CS TC- RTS)http:// www. cs. bu. edu/ pub/ ieee- rts

• The Concise Handbook Of Real-Time Systems.TimeSys Corporation, Versão 1.1, 2000.http://www.timesys.com