introdução aos sistemas embarcados sergio cavalcante [email protected]: usem assunto com [ese]...

97
Introdução aos Introdução aos Sistemas Embarcados Sistemas Embarcados Sergio Cavalcante [email protected]: Usem assunto com [ese] http://www.cin.ufpe.br/~svc/ese 3425.4714 8835.0950

Upload: barbara-ana-vitoria-pinhal-diegues

Post on 07-Apr-2016

222 views

Category:

Documents


2 download

TRANSCRIPT

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

Sergio [email protected]: Usem assunto com

[ese]

http://www.cin.ufpe.br/~svc/ese

3425.4714

8835.0950

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

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

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

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

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....

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

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;

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• 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.

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

SE::Visão Geral::AplicaçõesSE::Visão Geral::AplicaçõesAutomóveis - Volvo S80Automóveis - Volvo S80

•2 Redes CAN•250Kbps•125Kbps

•4 Redes baixa velocidade•10,4Kbps

•18 ECUs

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

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

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

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

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

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

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

SE::Visão Geral::ArquiteturaSE::Visão Geral::ArquiteturaExemplo: 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.

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

SE::Visão Geral::Arquitetura de HardwareSE::Visão Geral::Arquitetura de HardwareComparaçã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

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

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de SoftwareExemplo: Tempo de BootExemplo: Tempo de Boot

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

SE::Visão Geral::Arquitetura de SoftwareSE::Visão Geral::Arquitetura de SoftwareExemplo: 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

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

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

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

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

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

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

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

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

Marke

t rise

Market fall

TempoTime-to-market

Concepçãodo sistema

Lucr

os (d

ólar

es)

Tempo de vida

Atraso

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

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?

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

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

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

SE::Projeto & ArquiteturaSE::Projeto & ArquiteturaMetodologia 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

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

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

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

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

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

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

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• 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

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

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

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

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?

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

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

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

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

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

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

FuncionalidadeDesejada

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

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

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

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

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

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

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

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)

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

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)

35

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

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

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

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::MicrocontroladoresFamí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

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

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::MicrocontroladoresFamí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

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

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::MicrocontroladoresFamília 8051• Fabricada por várias companhias como Philips, Atmel, Dallas Semiconductors, Intel• Preços baixos• Muitas opções

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

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::MicrocontroladoresFamília 8051

Port1

Port3 Po

rt2Po

rt0

Seria

l

Timer1

CPU RAM EPROM

Timer0Oscil.

Latc

hLa

tch

Latc

hLa

tch

DPTRPC

MBRInterrupt

Data Bus

Address Bus

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

SE::P & SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresA::Hw::Processadores::ASIPs::MicrocontroladoresOutras 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.

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

SE::P & A::Hw::ProcessadoresSE::P & A::Hw::ProcessadoresSeleção de ProcessadoresSeleção de ProcessadoresProcessor 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

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

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

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

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.

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

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.

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

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 unidadeCusto

Volume de Produção

ASIC

FPGA

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

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

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

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)

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

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)

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

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)

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

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

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

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 pulso - PWM• Motores de passo

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

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

Interrupt Clock/12ContadoresContadores

Data BusData BusRDRD WR RDRD WRWR

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

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

C1C2C3C4

L1L2L3L4

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 0 em L2, mantém nível 1 em L1, L3 e L4 e testa o valor de C3

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

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

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

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

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

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.

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

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

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

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

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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)

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

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

tempo

Ent

rada

Ana

lógi

ca (V

)

Saída Digital

ConversãoDigital Analógico

4

3

2

1

0100 1000 0110 0101

t1 t2 t3 t4tempo

Saíd

a A

naló

gica

(V)

Entrada Digital

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

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

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

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)

clk

pwm

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

clk

pwm

clk

pwm

• 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

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

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

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

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

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

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

Entrada SaidaDriver de potência

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

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

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

SE::Projeto & Arquitetura::SoftwareSE::Projeto & Arquitetura::SoftwareLinguagens 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

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

SE::P & A::Sw::LinguagensSE::P & A::Sw::LinguagensLinguagens 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

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

• 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::LinguagensLinguagens imperativasLinguagens imperativas

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

• 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::LinguagensLinguagens especiaisLinguagens especiais

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

SE::P & A::SoftwareSE::P & A::SoftwareSistemas 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

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

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo RealSTR e o AmbienteSTR e o Ambiente

STR

Ambiente

EstímulosSensores

RespostasAtuadores

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

SE::P & A::Sw::Sistemas de Tempo RealSE::P & A::Sw::Sistemas de Tempo RealSTR 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

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

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos BásicosModelagem 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

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

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos BásicosCriticidadeCriticidadeSistema 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

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

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos BásicosCriticidadeCriticidadeDeadline 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

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

SE::P & A::Sw::STR:: Conceitos BásicosSE::P & A::Sw::STR:: Conceitos BásicosModelagem 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

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

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em ProjetoProjetoModelos 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

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

SE::P & A::Sw::STR::Escalonamento::Garantia em SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Projeto Time-Driven SystemsTime-Driven SystemsExecutor 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.

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

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

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

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’

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

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 3

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

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

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

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

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

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

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

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

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

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• 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

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

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 2Atuador

Disp. SaídaSensor

Arquitetura de Software

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

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

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

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

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

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