Title: Introdu
1Introdução aos Sistemas Embarcados
- Sergio CavalcanteCentro de Informática UFPE
2Programa
- 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
3Introdução aos Sistemas Embarcados
4Intro. 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
5SEVisão GeralSistemas 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....
6SEVisão GeralÁ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
7SEVisão GeralÁ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.
8SEVisão GeralAplicaçõesAutomóveis - Volvo S80
- 2 Redes CAN
- 250Kbps
- 125Kbps
- 4 Redes baixa velocidade
- 10,4Kbps
- 18 ECUs
9SEVisão GeralCaracterí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
10SEVisão GeralArquitetura 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
11SEVisão GeralArquitetura de Hardware
Eventos
Código DSP
RTOS
Código uP
Eventos
12SEVisão GeralArquiteturaExemplo Câmera
Digital
13SEVisão GeralArquitetura de
HardwareComparação com PCs
14SEVisão GeralArquitetura de SoftwareExemplo
Tempo de Boot
15SEVisão GeralArquitetura de SoftwareExemplo
Mudança de Contexto
- MontaVista Linux Kernel 2.4.17
- Pior caso 436us (vs. 1743us)
- 99.9 lt 195us (vs. 1420us)
Fonte Bill Weinberg, Linux and XScale for
Wireless Consumer Electronics Devices,
IDFFall03
16SEVisão GeralMercado
- 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
17SEVisão Geral Mercado
- Crescimento de vendas
- U
- ASICs embed. Micros U 60 B.
- PCs 34 B.
- Unidades
- Embed. Micros 3 Billion
- PC micros 100 million
18SEVisão Geral Mercado Microcontroladores
19SEVisão Geral Time-to-market
- Redução do time-to-market
- Maior competitividade de mercado
- Redução na janela de mercado dos produtos
Tempo de vida
20Exame 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?
21Intro. 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
22SEProjeto ArquiteturaMetodologia 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
23SEP AMetodologia de Projeto Exemplo
- 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
24SEP AMetodologia de Projeto Exemplo
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
25SEP AMetodologia de Projeto Exemplo
Requisitos do cliente
- Funcionamento a Bateria
- 2 baterias AAA
- Duração 10.000 pressões nos botões
- Características do produto final
- Peso lt 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
26SEP AMetodologia de Projeto Exemplo
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
27SEP AMetodologia de Projeto Exemplo
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
28SEP AMetodologia de Projeto Requisitos do
cliente
- 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
29SEP AMetodologia de Projeto Alternativas
de implementação
Hardware
Características - alto desempenho - pequeno
tamanho - alto custo - pouco flexível
Hardware
Algoritmo
Layout
30SEP AMetodologia de Projeto Alternativas
de implementação
Software
Program Convolution
SEQ i0 FOR 2 PAR IF (xigt 0 c xi,
xilt0 c xi/2) IF (xi1gt 0
d xi1, xi1lt0 d xi1/2)
PAR j0 FOR 4 ej xf(i,j) PAR
w kei PAR j 0 FOR 4 yj
yj ej(cd)
Uso de componentes de prateleira (off-the-shelf)
Características - baixo custo - flexibilidade -
desempenho - tamanho
Software
31SEP AMetodologia de Projeto Alternativas
de implementação
Hardware/Software
Microprocessador
Circuitos específicos
32SEP AMetodologia de Projeto Processo de
Desenvolvimento
System specification
Exploration
ASIC Inf. Spec.
ASIC Inf. Spec.
Proc. Inf. Spec.
Sw design
Hw design
Proc. C code
ASIC RTL strc.
ASIC RTL strc.
Implement, Integrate and test
33SEP AMetodologia de Projeto Processo de
Desenvolvimento
System specification
Exploration
Cosimulation
Proc. Inf. Spec.
ASIC Inf. Spec.
ASIC Inf. Spec.
Memory Variables.
Sw synthesis Highlevel synthesis
Proc. C code
ASIC RTL strc.
Memory
ASIC RTL strc.
Compilation Logic synthesis Physical design
34SEP AMetodologia de Projeto Processo de
Desenvolvimento
Behavior2 Ysqrt(x) X x1
Behavior3 For I in 1,100 m(I)n(I)1
Behavior1
Allocation Partitioning Estimation
Cosimulation
Memories Interfacing Arbitration Generation
ASIC Inf. Spec.
ASIC Inf. Spec.
Memory Variables.
Hw/SwCo-design
Sw synthesis Highlevel synthesis
ASIC RTL strc.
Memory
ASIC RTL strc.
Compilation Logic synthesis Physical design
35Exame 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?
36Intro. 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
37SEProjeto ArquiteturaHardware 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
38SEP AHwProcessadoresTecnologia
- Processadores variam na adequação ao problema
FuncionalidadeDesejada
Processador de uso geral
Processador de propósito único
Processador de aplicação específica
39SEP AHwProcessadores Processadores 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
40SEP AHwProcessadores 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
41SEP AHwProcessadores de Uso Geral
Processadores Embarcados
- Proc. de uso geral adaptados para sistemas
embarcados - Dispositivos internos
- Menor potência
- Facilidade para desenvolver software
42SEP AHwProcessadores 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)
43SEP AHwProcessadores 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
44SEP AHwProcessadoresASIPs
Microcontroladores
- 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
45SEP AHwProcessadoresASIPsMicrocontrola
doresFamí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
46SEP AHwProcessadoresASIPsMicrocontrola
doresFamí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
47SEP AHwProcessadoresASIPsMicrocontrola
doresFamília 8051
- Fabricada por várias companhias como Philips,
Atmel, Dallas Semiconductors, Intel - Preços baixos
- Muitas opções
48SEP AHwProcessadoresASIPsMicrocontrola
doresFamília 8051
49SEP AHwProcessadoresASIPsMicrocontrola
doresOutras 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.
50SEP AHwProcessadoresSeleção de
Processadores
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
51SEP AHwProcessadores Proc. 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
52SEP AHwProcessadores de Propósito Único
Application-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.
53SEP AHwProcessadores de Propósito Único
Field-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.
54SEP AHwProcessadores de Propósito
ÚnicoFPGA FPGA - Bloco básico
55SEP AHwProcessadores de Propósito
ÚnicoFPGA FPGA estrutura geral
56SEP AHwProcessadores de Propósito
ÚnicoFPGA FPGA estrutura geral
- Custo por unidade maior que o custo unitário de
um ASIC - Não tem custo relacionado à fabricação da
primeira unidade
57Comp.
Especificação Inicial
Síntese algorítmica (alto nível)
Síntese lógica
Síntese de layout Prototipação
Estr.
Alg.
RTL
Geom.
Process(x) Begin y 0.22 0.889 x i
0 do until i gt 3 loop y
0.5(y x/y) i i 1 end do
58SEP AHwProcessadoresImplementação
Redução do Tempo de Projeto
System Design Logic Design Physical
Design
70
Simulation Schematic entry Placement
/Routing
Hierarchy, Generators
Logic-Level Synthesis
High-Level Synthesis System-Level Synthesis
homem-mês para 20KPortas
59SEP AHwProcessadoresImplementação Lei
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
Note logarithmic scale
60SEP AHwProcessadoresImplementação Lei
de Moore Ilustração Gráfica
- Um chip de 2002 pode conter 15.000 chips de 1981
61SEP AHwProcessadoresImplementação
Produtividade de Projeto
100,000
10,000
1,000
100
Produtividade (K) Trans./Pessoa Mës
10
1
0.1
0.01
1981
1983
1989
1991
1993
1995
1997
1999
2001
2003
2007
2009
1987
1985
2005
62SEP AHwProcessadoresImplementação
Produtividade de Projeto X Tam.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
100,000
1,000
10,000
100
1000
Transistores/chip (milhões)
Gap
Produtividade (K) Trans./Homem.Mês
10
Capacidade do CI
100
1
10
0.1
1
produtividade
0.01
0.1
0.001
0.01
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
63SEP AHwProcessadoresImplementação The
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)
Tempo
15
60000
16
16
18
50000
19
40000
23
24
30000
Duração em meses
20000
43
10000
Designers
10
20
30
40
0
64SEP AHwProcessadoresImplementação
System-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
65SEProjeto ArquiteturaHardware Memó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)
66SEP AHwMemória Nomenclatura 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)
67SEP AHwMemória RAM Dinâmica vs. Estática
- DRAM (Dynamic Random Acess Memory)
- Grande capacidade de integração (baixo custo por
bit) - Perda de informação após algum tempo Necessidade
de refreshing - SRAM (Static Random Acess Memory)
- Pequeno tempo de acesso
- Não existe necessidade de refreshing
- Alto custo por bit (baixa integração)
68SEP AHwMemória Características Básicas
69SEProjeto ArquiteturaHardware Perifé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
70SEP AHwPeriféricos Timer(temporizador)/Co
ntador
- Dispositivo que gera interrupções em intervalos
regulares de tempo. Ex Timer do 8051
Data Bus
RD
WR
Carry
Carry
TH0
TL0
Contadores
Interrupt
Clock/12
71SEP AHwPeriféricosTeclado
- Para saber se esta tecla está apertada, o
controlador do teclado põe nível 1 em M2 e testa
o valor de N3
72SEP AHwPeriféricos Interfaces Seriais
- Comunicação em que cada bit é enviado em
seqüência por um único fio
Data Bus
Write
Registrador de Deslocamento
Clock
73SEP AHwPeriféricos Interfaces Seriais
Receptor
Transmissor
Data Bus
Data Bus
Write
Read
Registrador de Deslocamento
Registrador de Deslocamento
Clock
Clock
74SEP AHwPeriféricosInterfaces
SeriaisRS232
- 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.
75SEP AHwPeriféricosInterfaces
SeriaisRS422 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
76SEP AHwPeriféricosInterfaces
SeriaisUniversal 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
77SEP AHwPeriféricosInterfaces
Sem-FioInfravermelho
- 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.
78SEP AHwPeriféricosInterfaces
Sem-FioBluetooth
- 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.
79SEP AHwPeriféricosVisor 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
80SEP AHwPeriféricos Transdutores
- 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
-
diafragma
corrente
Partículas de carvão
81SEP AHwPeriféricos Transdutores
corrente
Diafragma
- 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
82SEP AHwPeriféricos Transdutores
- 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
83SEP AHwPeriféricos Conversores
Analó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)
84SEP AHwPeriféricosConversores
Analógico/Digitais
4
4
3
3
2
2
Entrada Analógica (V)
Saída Analógica (V)
1
1
tempo
tempo
t1
t2
t3
t1
t2
t3
t4
t4
0100
1000
0110
0101
0100
1000
0110
0101
Entrada Digital
Saída Digital
Conversão Analógico ? Digital
Conversão Digital ? Analógico
85SEP AHwPeriféricosModulação de largura
de pulso (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
Duty cycle
30
70
86SEP AHwPeriféricosModulação de largura
de pulso (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
pwm
clk
duty cycle 25 tensão média 1.25V
pwm
clk
duty cycle 50 tensão média 2,5V
pwm
clk
duty cycle 75 tensão média 3,75V
87SEP AHwPeriféricosModulação de largura
de pulso (PWM)
- Controle de motores de corrente contínua e de
solenóides
88SEP AHwPeriféricosMotores de Passo
- Tipos de motores que giram passo a passo,
girando alguns graus por vez
89SEP AHwPeriféricosMotores de Passo
- 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
V
1K
A
Q1
A
Entrada
Saida
B
B
Q2
Driver de potência
1K
90Intro. 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
91SEProjeto ArquiteturaSoftwareLinguagens
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
92SEP ASwLinguagensLinguagens 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
93SEP ASwLinguagensLinguagens imperativas
- 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
94SEP ASwLinguagensLinguagens especiais
- 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)
95SEP ASoftwareSistemas 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
96SEP ASwSistemas de Tempo RealSTR e o
Ambiente
STR
EstímulosSensores
Respostas Atuadores
97SEP ASwSistemas de Tempo RealSTR 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
98SEP ASwSistemas de Tempo RealÁreas de
Pesquisa
- Escalonamento (mais estudado)
- Modelos e linguagens de programação
- Protocolos de comunicação
- Arquitetura de computadores
- Metodologias de desenvolvimento
- ...
99SEP ASwSistemas de Tempo RealConceitos
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
100SEP ASwSTR Conceitos BásicosCriticidade
- Sistema 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
101SEP ASwSTR Conceitos BásicosCriticidade
- 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
102SEP ASwSTR Conceitos BásicosModelagem
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
103SEP ASwSTR Conceitos BásicosModelagem
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
104SEP ASwSTR Conceitos Básicos Modelagem
das Tarefas
Conclusão(end time)
Início(start time)
Chegada (arrival)
Liberação(release)
deadline
tempo
tempo de execução(execution time)
atraso na liberação(release jitter)
Tempo de resposta (response time)
- Folga (slack) deadline liberação tempo de
execução - Atraso MÁX( 0, conclusão deadline)
105SEP ASwSTR ConceitosModelagem das
TarefasTarefas Periódicas
P
P
D
D
J1
A1
A2
a1
r1
s1
e1
d1
a2r2
s2
e2
d2
tempo
106SEP ASwSTR ConceitosModelagem das
TarefasTarefas Esporádicas
evento2
evento1
minIT
minIT
D
D
E1
E2
0
a1
s1
e1
d1
a2s2
e2
d2
tempo
107SEP ASwSTR ConceitosModelagem das
TarefasRelações entre tarefas
- Relações entre tarefas
- Precedência X?Y
- A tarefa X deve terminar antes de Y começar
- Exclusão mútua X?Y
- As tarefas X e Y não podem executar
simultaneamente - Co-execução XY
- As tarefas X e Y têm que executar simultaneamente
- Preempção X?Y
- A tarefa X é interrompida para que Y possa
executar e, após o término de Y, a tarefa X
continua a executar
108SEP ASwSTR Escalonamento
Métodos de Escalonamento
Abordagens deMelhor Esforço
Abordagens com Garantiaem Tempo de Projeto
Abordagens comGarantia Dinâmica
TécnicasAdaptativas
ExecutivoCíclico
Dirigido aPrioridades
109Escalonamento de Processos Abstração
- Uma máquina para cada processo
- Paralelismo real
T11
mP1
mP2
T0
mP3
T22
mP3
110Escalonamento de ProcessosRealidade
- Compartilhamento do tempo
- Pseudoparalelismo
mP1
1
121
90
51
41
70
t
111Tipos de EscalonamentoPreemptivo
- 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
mP1
1
121
90
51
41
70
t
- Quantum grande
- Diminui núm. de mudanças de contexto e overhead
do S.O. - Ruim para processos interativos
112Escalonamento de ProcessosProcesso
Process Control Block - PCB
ID do Processo
Criação
Pronto
Rodando
Término
Estado
Prioridade
Program Counter
Ponteiros da Memória
Contexto (regs.)
Bloqueado
I/O Status
- Informações gerais
- tempo de CPU
- limites, usuário, etc.
113Filas de Escalonamento
Short-term scheduling
Long- term queue
Short- term queue
Process request
FIM
CPU
High-level scheduling
I/O queue
I/O scheduling
I/O queue
Interrupt Handler
I/O queue
114Tipos de EscalonamentoRound-Robin
- Uso de uma lista de processos sem prioridade
- Escalonamento preemptivo
- Simples e justo
- Bom para sistemas interativos
CPURunning
115Tipos de EscalonamentoFirst-In First-Out (FIFO)
- Uso de uma lista de processos sem prioridade
- Escalonamento não-preemptivo
- Simples e justo
- Bom para sistemas em batch
CPU
B C D E F N
A
FIM
116Tipos de EscalonamentoExemplo
- Três processos
- Cada um consome 1 hora de CPU
- Calcule o tempo de resposta considerando
- a) Round-robin (time-slice 10ms)
- b) FIFO
117Características de Escalonamento
- 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
118SEP ASwSTREscalonamentoGarantia
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
119SEP ASwSTREscalonamentoGarantia
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
120SEP ASwSTREscalonamentoGarantia
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)
valor
Tempo de Resposta
0
d
121SEP ASwSTREscalonamentoGarantia
Dinâmica e de Melhor Esforço
- Reduçã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
122SEP ASwSTREscalonamentoGarantia
Dinâmica e de Melhor Esforço
- 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
123SEP ASwSTREscalonamentoAbordagens 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
124SEP ASwSTREscalonamentoAbordagens 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
125SEP ASwSTREscalonamentoGarantia em
ProjetoModelos 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
126SEP ASwSTREscalonamentoGarantia em
Projeto Time-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.
127SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Exemplo 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
128SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Exemplo 2
129SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Exemplo 3
130SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Executor Cíclico
Função 1
Disp. E/S
Função 2
ExecutorCíclico
Função 3
Disp. E/S
Função 4
Interrupçãodo Timer
131SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
- Sistemas 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
132SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
- Sistemas 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
133SEP ASwSTREscalonamentoGarantia em
Projeto Event-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
134SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
Tarefa 1
Disp. Entrada
Recurso 1
Tarefa 2
Disp. Saída
Sensor
Tarefa 3
Atuador
Recurso 2
Tarefa 4
Interrupçãodo Timer
135SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
- Análise de Escalonabilidade
- Escalonamento 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
136SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
- Escalonamento 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
137SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
- Aná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
138Garantia em Projeto Event-Driven
SystemsAná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)gtPri(i)
139Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
- O 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 - Wix1 Ci ? ?Wix/Tj? x Cj, onde Wi0 Ci
140Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
- Exemplo
- p1 p2 p3
- T17 T212 T320
- C13 C23 C35
- Pri11 Pri22 Pri33
Resposta R1 3 R2 6 R3 20
141Garantia em Projeto Event-Driven
SystemsAná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 ? ?(WiJj)/Tj?
x Cj
142Garantia em Projeto Event-Driven
SystemsAná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 p1Ok, 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 ? ?(WiJj)/Tj? x Cj
143Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
- Seções Críticas e Inversão de Prioridades
144Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
- Protocolo de Herança de Prioridades
145Sistemas Operacionais de Tempo Real
- 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
146Referências
- Livro de Sistemas de Tempo RealJean- Marie
Farines, Joni da Silva Fraga, Rômulo Silva de
Oliveira. Escola de Computação2000 - 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