introdução aos sistemas embarcados sergio cavalcante [email protected]: usem assunto com [ese]...
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