Introdu - PowerPoint PPT Presentation

About This Presentation
Title:

Introdu

Description:

... FPGA FPGA - Bloco ... +1 Memories Interfacing Arbitration Generation Hw/Sw Co-design Vis o geral Projeto e ... SRAM, 3 T1 Ports, DMA, 13 ADC, ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 147
Provided by: S788
Category:

less

Transcript and Presenter's Notes

Title: Introdu


1
Introdução aos Sistemas Embarcados
  • Sergio CavalcanteCentro de Informática UFPE

2
Programa
  • Introdução aos sistemas embarcados
  • O que são?
  • Arquitetura básica de um S.E.
  • Tecnologias empregadas
  • Metodologias de projeto
  • Arquiteturas Padrão
  • Sistemas operacionais de tempo real

3
Introdução aos Sistemas Embarcados
4
Intro. 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

5
SEVisã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....

6
SEVisã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

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

8
SEVisão GeralAplicaçõesAutomóveis - Volvo S80
  • 2 Redes CAN
  • 250Kbps
  • 125Kbps
  • 4 Redes baixa velocidade
  • 10,4Kbps
  • 18 ECUs

9
SEVisã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

10
SEVisã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

11
SEVisão GeralArquitetura de Hardware
Eventos
Código DSP
RTOS
Código uP
Eventos
12
SEVisão GeralArquiteturaExemplo Câmera
Digital
13
SEVisão GeralArquitetura de
HardwareComparação com PCs
14
SEVisão GeralArquitetura de SoftwareExemplo
Tempo de Boot
15
SEVisã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
16
SEVisã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

17
SEVisã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

18
SEVisão Geral Mercado Microcontroladores
19
SEVisã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
20
Exame 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?

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

22
SEProjeto 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

23
SEP 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

24
SEP 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

25
SEP 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

26
SEP 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

27
SEP 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

28
SEP 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

29
SEP AMetodologia de Projeto Alternativas
de implementação
Hardware
Características - alto desempenho - pequeno
tamanho - alto custo - pouco flexível
Hardware
Algoritmo
Layout
30
SEP 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
31
SEP AMetodologia de Projeto Alternativas
de implementação
Hardware/Software
Microprocessador
Circuitos específicos
32
SEP AMetodologia de Projeto Processo de
Desenvolvimento
  • Passado

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
33
SEP AMetodologia de Projeto Processo de
Desenvolvimento
  • Presente

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
34
SEP 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
  • Presente/Futuro

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
35
Exame 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?

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

37
SEProjeto 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

38
SEP AHwProcessadoresTecnologia
  • Processadores variam na adequação ao problema

FuncionalidadeDesejada

Processador de uso geral
Processador de propósito único
Processador de aplicação específica
39
SEP 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
40
SEP 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

41
SEP AHwProcessadores de Uso Geral
Processadores Embarcados
  • Proc. de uso geral adaptados para sistemas
    embarcados
  • Dispositivos internos
  • Menor potência
  • Facilidade para desenvolver software

42
SEP 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)

43
SEP 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
44
SEP 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

45
SEP 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

46
SEP 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

47
SEP AHwProcessadoresASIPsMicrocontrola
doresFamília 8051
  • Fabricada por várias companhias como Philips,
    Atmel, Dallas Semiconductors, Intel
  • Preços baixos
  • Muitas opções

48
SEP AHwProcessadoresASIPsMicrocontrola
doresFamília 8051
49
SEP 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.

50
SEP 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
51
SEP 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

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

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

54
SEP AHwProcessadores de Propósito
ÚnicoFPGA FPGA - Bloco básico
55
SEP AHwProcessadores de Propósito
ÚnicoFPGA FPGA estrutura geral
56
SEP 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

57
Comp.
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
58
SEP 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
59
SEP 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
60
SEP AHwProcessadoresImplementação Lei
de Moore Ilustração Gráfica
  • Um chip de 2002 pode conter 15.000 chips de 1981

61
SEP 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
62
SEP 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
63
SEP 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
64
SEP 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

65
SEProjeto 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)

66
SEP 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)

67
SEP 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)

68
SEP AHwMemória Características Básicas
69
SEProjeto 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

70
SEP 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
71
SEP 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

72
SEP 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
73
SEP AHwPeriféricos Interfaces Seriais
  • Exemplo de Comunicação

Receptor
Transmissor
Data Bus
Data Bus
Write
Read
Registrador de Deslocamento
Registrador de Deslocamento
Clock
Clock
74
SEP 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.

75
SEP 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

76
SEP 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

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

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

79
SEP 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

80
SEP 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
81
SEP AHwPeriféricos Transdutores
  • Alto-falante

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

82
SEP 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

83
SEP 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)
84
SEP 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
85
SEP 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
86
SEP 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
87
SEP AHwPeriféricosModulação de largura
de pulso (PWM)
  • Controle de motores de corrente contínua e de
    solenóides

88
SEP AHwPeriféricosMotores de Passo
  • Tipos de motores que giram passo a passo,
    girando alguns graus por vez

89
SEP 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
90
Intro. 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

91
SEProjeto 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

92
SEP 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

93
SEP 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

94
SEP 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)

95
SEP 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

96
SEP ASwSistemas de Tempo RealSTR e o
Ambiente
  • Ambiente

STR
EstímulosSensores
Respostas Atuadores
97
SEP 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

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

99
SEP 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

100
SEP 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

101
SEP 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

102
SEP 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

103
SEP 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

104
SEP 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)

105
SEP ASwSTR ConceitosModelagem das
TarefasTarefas Periódicas
P
P
D
D
J1
A1
A2
a1
r1
s1
e1
d1
a2r2
s2
e2
d2
tempo
106
SEP ASwSTR ConceitosModelagem das
TarefasTarefas Esporádicas
evento2
evento1
minIT
minIT
D
D
E1
E2
0
a1
s1
e1
d1
a2s2
e2
d2
tempo
107
SEP 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

108
SEP 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
109
Escalonamento de Processos Abstração
  • Uma máquina para cada processo
  • Paralelismo real

T11
mP1
mP2
T0
mP3
T22
mP3
110
Escalonamento de ProcessosRealidade
  • Compartilhamento do tempo
  • Pseudoparalelismo

mP1
1
121
90
51
41
70
t
111
Tipos 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

112
Escalonamento de ProcessosProcesso
  • Estados de um processo

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.

113
Filas 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
114
Tipos de EscalonamentoRound-Robin
  • Uso de uma lista de processos sem prioridade
  • Escalonamento preemptivo
  • Simples e justo
  • Bom para sistemas interativos

CPURunning
115
Tipos 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
116
Tipos 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

117
Caracterí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

118
SEP 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

119
SEP 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

120
SEP 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
121
SEP 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

122
SEP 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

123
SEP 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

124
SEP 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

125
SEP 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

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

127
SEP 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
128
SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Exemplo 2
129
SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Exemplo 3
130
SEP ASwSTREscalonamentoGarantia em
Projeto Time-Driven Systems Executor Cíclico
  • Arquitetura de Software

Função 1
Disp. E/S
Função 2
ExecutorCíclico
Função 3
Disp. E/S
Função 4
Interrupçãodo Timer
131
SEP 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

132
SEP 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

133
SEP 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

134
SEP ASwSTREscalonamentoGarantia em
Projeto Event-Driven Systems
  • Arquitetura de Software

Tarefa 1
Disp. Entrada
Recurso 1
Tarefa 2
Disp. Saída
Sensor
Tarefa 3
Atuador
Recurso 2
Tarefa 4
Interrupçãodo Timer
135
SEP 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

136
SEP 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

137
SEP 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

138
Garantia 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)

139
Garantia 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

140
Garantia 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
141
Garantia 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

142
Garantia 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
143
Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
  • Seções Críticas e Inversão de Prioridades

144
Garantia em Projeto Event-Driven
SystemsAnálise de Escalonabilidade
  • Protocolo de Herança de Prioridades

145
Sistemas 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

146
Referê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
Write a Comment
User Comments (0)
About PowerShow.com