A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução aos Sistemas Embarcados

Apresentações semelhantes


Apresentação em tema: "Introdução aos Sistemas Embarcados"— Transcrição da apresentação:

1 Introdução aos Sistemas Embarcados
Sergio Cavalcante Centro 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 Áreas de aplicação Características Arquitetura básica Mercado Projeto e Arquitetura Visão geral Projeto e Arquitetura

5 SE::Visão Geral:: Sistemas 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 SE::Visã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 SE::Visã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 SE::Visão Geral::Aplicações Automóveis - Volvo S80
2 Redes CAN 250Kbps 125Kbps 4 Redes baixa velocidade 10,4Kbps 18 ECUs

9 SE::Visão Geral:: Caracterí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 SE::Visão Geral:: Arquitetura 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 SE::Visão Geral:: Arquitetura de Hardware
Eventos ASIC ASIP DSP uP uC Mem Código DSP Código uP RTOS Eventos Sensores A/D D/A Atuadores

12 SE::Visão Geral::Arquitetura Exemplo: Câmera Digital

13 SE::Visão Geral::Arquitetura de Hardware Comparação com PCs

14 SE::Visão Geral::Arquitetura de Software Exemplo: Tempo de Boot

15 SE::Visão Geral::Arquitetura de Software Exemplo: Mudança de Contexto
MontaVista Linux Kernel Pior caso 436us (vs. 1743us) 99.9% < 195us (vs. 1420us) Fonte: Bill Weinberg, “Linux and XScale for Wireless Consumer Electronics Devices”, IDF’Fall03

16 SE::Visão Geral:: Mercado
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 SE::Visão Geral:: Mercado
Crescimento de vendas U$: ASIC´s + embed. Micros: U$ 60 B. PC´s: 34 B. Unidades: Embed. Micros: 3 Billion PC micros: 100 million

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

19 SE::Visão Geral:: Time-to-market
Redução do “time-to-market” Maior competitividade de mercado Redução na janela de mercado dos produtos Market rise Market fall Tempo Time-to- market Concepção do sistema Lucros (dólares) Atraso 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 Projeto e Arquitetura Metodologia de projeto Hardware Software Visão geral Áreas de aplicação Características Arquitetura básica Mercado Projeto e Arquitetura Visão geral Projeto e Arquitetura

22 SE::Projeto & Arquitetura Metodologia 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 SE::P & A::Metodologia 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 SE::P & A::Metodologia 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 SE::P & A::Metodologia de Projeto Exemplo: Requisitos do cliente
Funcionamento a Bateria: 2 baterias AAA Duração: 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

26 SE::P & A::Metodologia 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 SE::P & A::Metodologia 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 SE::P & A::Metodologia 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 SE::P & A::Metodologia de Projeto Alternativas de implementação
Hardware Program Convolution SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2) IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d) Características - alto desempenho - pequeno tamanho - alto custo - pouco flexível Hardware Algoritmo Layout

30 SE::P & A::Metodologia de Projeto Alternativas de implementação
Software Program Convolution SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2) IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d) Uso de componentes de prateleira (off-the-shelf) Características - baixo custo - flexibilidade - desempenho - tamanho Software

31 SE::P & A::Metodologia de Projeto Alternativas de implementação
Hardware/Software Microprocessador Program Convolution SEQ i=0 FOR 2 PAR IF (x[i]>= 0 c:= x[i], x[i]<0 c:= x[i]/2) IF (x[i+1]>= 0 d:= x[i+1], x[i+1]<0 d:= x[i+1]/2) PAR j=0 FOR 4 e[j]:= x[f(i,j)] w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d) SW HW Circuitos específicos

32 SE::P & A::Metodologia de Projeto Processo de Desenvolvimento
Passado System specification Exploration Alto Custo 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 SE::P & A::Metodologia de Projeto Processo de Desenvolvimento
Presente System specification Cosimulation Exploration 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 SE::P & A::Metodologia de Projeto Processo de Desenvolvimento
Behavior1 Behavior2 Y=sqrt(x) X = x+1 Behavior3 For I in 1,100 m(I)=n(I)+1 Cosimulation Allocation Partitioning Estimation Memories Interfacing Arbitration Generation Presente/Futuro Proc. Inf. Spec. ASIC Inf. Spec. ASIC Inf. Spec. Hw/Sw Co-design Memory Variables. Sw synthesis Highlevel synthesis Proc. C code 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 Processadores Memória Periféricos Software Visão geral Projeto e Arquitetura Metodologia de projeto Hardware Software Visão geral Projeto e Arquitetura Metodologia de projeto Hardware Software

37 SE::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

38 SE::P & A::Hw::Processadores Tecnologia
Processadores variam na adequação ao problema Funcionalidade Desejada Processador de uso geral Processador de aplicação específica Processador de propósito único

39 SE::P & A::Hw::Processadores 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 SE::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

41 SE::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

42 SE::P & A::Hw::Processadores 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 SE::P & A::Hw::Processadores 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 SE::P & A::Hw::Processadores::ASIPs 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 SE::P & A::Hw::Processadores::ASIPs::Microcontroladores Famí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 SE::P & A::Hw::Processadores::ASIPs::Microcontroladores Famí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 SE::P & A::Hw::Processadores::ASIPs::Microcontroladores Família 8051
Fabricada por várias companhias como Philips, Atmel, Dallas Semiconductors, Intel Preços baixos Muitas opções

48 SE::P & A::Hw::Processadores::ASIPs::Microcontroladores Família 8051
Port1 Port3 Port2 Port0 Serial Timer1 CPU RAM EPROM Timer0 Oscil. Latch DPTR PC MBR Interrupt Data Bus Address Bus

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

50 SE::P & A::Hw::Processadores Seleçã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 SE::P & A::Hw::Processadores 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 Perda de flexibilidade com relação a mudanças
SE::P & A::Hw::Processadores 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 Dispositivos de hardware programáveis
SE::P & A::Hw::Processadores 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 SE::P & A::Hw::Processadores de Propósito Único::FPGA FPGA - Bloco básico

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

56 Custo por unidade maior que o custo unitário de um ASIC
SE::P & A::Hw::Processadores de Propósito Único::FPGA 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 Custo Volume de Produção ASIC FPGA

57 Especificação Inicial Síntese lógica Síntese algorítmica (alto nível)
Comp. Especificação Inicial Síntese lógica Síntese algorítmica (alto nível) Síntese de layout Prototipação Estr. Alg. RTL Geom. + + * / Controle Processamento Arquitetura + + * / Arquitetura Estrutura Process(x) Begin y := x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do; Comportamento Process(x) Begin y := x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do; Layout ASIC

58 SE::P & A::Hw::Processadores::Implementaçã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 SE::P & A::Hw::Processadores::Implementação Lei de Moore
Uma tendência que se mantém e foi prevista em por Gordon Moore Número de transistores praticamente dobra a cada 18 meses 10,000 1,000 100 10 1 0.1 0.01 0.001 Transistores por chip (em milhões) 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 Note: logarithmic scale

60 Um chip de 2002 pode conter 15.000 chips de 1981
SE::P & A::Hw::Processadores::Implementação Lei de Moore: Ilustração Gráfica 1981 1984 1987 1990 1993 1996 1999 2002 10.000 transistores Um chip de 2002 pode conter chips de 1981

61 SE::P & A::Hw::Processadores::Implementação Produtividade de Projeto
100,000 10,000 1,000 100 (K) Trans./Pessoa – Mës Produtividade 10 1 0.1 0.01 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009

62 SE::P & A::Hw::Processadores::Implementaçã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 transistores / 100 transistores / mês Maior chip em 2002 requer homem.mês / transistores / mês Custo aumentou de $1M para $300M 10,000 100,000 1,000 10,000 Transistores/chip (milhões) 100 1000 Gap 10 Capacidade do CI 100 Produtividade (K) Trans./Homem.Mês 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 SE::P & A::Hw::Processadores::Implementaçã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 60000 15 16 16 18 50000 19 40000 23 24 30000 Duração em meses 20000 43 10000 Designers 10 20 30 40

64 SE::P & A::Hw::Processadores::Implementaçã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 SE::Projeto & Arquitetura::Hardware 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 SE::P & A::Hw::Memó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) By 1998, Intel expects that the system bus will move to 100MHz and require SDRAM operating at 100MHz and higher. Current SDRAM designs can meet the 100MHz speed range, and SDRAM manufacturers claim that they can meet the industry's needs up to about 200MHz to 250MHz. To reach beyond that range will require a complete redesign of the SDRAM chip, which will very likely increase its footprint and cost. Neither of these alternatives is appealing to the industry as a whole. Two designs address Intel's memory speed and bandwidth needs: SyncLink and Rambus. SyncLink is a consortium of nine DRAM manufacturers, including Hyundai, IBM, Micron, NEC, and TI, which have proposed a draft standard to the IEEE for a uniform memory architecture that will evolve over several iterations. The SyncLink standard will be royalty-free and open to all. The proposal calls for a command-driven, packet-oriented bus operating at 400MHz, with a 16-bit-wide data path. SyncLink is slow in coming and has not progressed much past the conceptual stage. Rambus, on the other hand, has a working architecture, called Rambus DRAM (RDRAM), that comes close to meeting Intel's needs right now. Current RDRAM designs hit the 500MHz to 600MHz range to the memory controller. Additionally, Intel has entered an agreement with Rambus to develop even faster main DRAM. By using multiple channels or widening Rambus' current 8-bit channel size, Intel hopes to increase throughput to 1.6GB/sec. With that, Rambus will meet Intel's design needs for faster processors and a higher speed bus, as well as for AGP.

67 SE::P & A::Hw::Memó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 SE::P & A::Hw::Memória Características Básicas

69 SE::Projeto & Arquitetura::Hardware 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 pulso - PWM Motores de passo

70 SE::P & A::Hw::Periféricos Timer(temporizador)/Contador
Dispositivo que gera interrupções em intervalos regulares de tempo. Ex: Timer do 8051 Data Bus RD WR RD WR Carry Carry TH0 TL0 Contadores Interrupt Clock/12

71 SE::P & A::Hw::Periféricos Teclado
Para saber se esta tecla está apertada, o controlador do teclado põe nível 1 em M2 e testa o valor de N3 N1 N2 N3 N4 M1 M2 M3 M4 buffer Controlador de Teclado Tecla apertada Código da Tecla 4

72 SE::P & A::Hw::Perifé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 SE::P & A::Hw::Periféricos Interfaces Seriais
Exemplo de Comunicação Receptor Transmissor Data Bus Data Bus Read Write Registrador de Deslocamento Registrador de Deslocamento Clock Clock

74 SE::P & A::Hw::Periféricos::Interfaces Seriais RS232
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 SE::P & A::Hw::Periféricos::Interfaces Seriais RS422 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 Até 127 periféricos por linha
SE::P & A::Hw::Periféricos::Interfaces Seriais Universal 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 SE::P & A::Hw::Periféricos::Interfaces Sem-Fio Infravermelho
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 SE::P & A::Hw::Periféricos::Interfaces Sem-Fio Bluetooth
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 SE::P & A::Hw::Periféricos:: Visor 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 SE::P & A::Hw::Perifé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 SE::P & A::Hw::Periféricos:: Transdutores
Alto-falante Bobina corrente S N imã 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 SE::P & A::Hw::Perifé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 SE::P & A::Hw::Perifé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 SE::P & A::Hw::Periféricos:: Conversores Analógico/Digitais
Relação de Valores Vmax = 7.5V 0V 1111 1110 0000 0010 0100 0110 1000 1010 1100 0001 0011 0101 0111 1001 1011 1101 0.5V 1.0V 1.5V 2.0V 2.5V 3.0V 3.5V 4.0V 4.5V 5.0V 5.5V 6.0V 6.5V 7.0V 4 4 3 3 Entrada Analógica (V) 2 Saída Analógica (V) 2 1 1 tempo tempo t1 t2 t3 t1 t2 t3 t4 t4 0100 1000 0110 0101 0100 1000 0110 0101 Saída Digital Entrada Digital Conversão Analógico  Digital Conversão Digital  Analógico

85 SE::P & A::Hw::Periféricos:: Modulaçã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 SE::P & A::Hw::Periféricos:: Modulaçã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 SE::P & A::Hw::Periféricos:: Modulação de largura de pulso (PWM)
Controle de motores de corrente contínua e de solenóides

88 SE::P & A::Hw::Periféricos:: Motores de Passo
Tipos de motores que giram “passo a passo”, girando alguns graus por vez

89 SE::P & A::Hw::Periféricos:: Motores 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 Q1 A Entrada A’ Saida B Driver de potência Q2 B’ 1K

90 Intro. a Sistemas Embarcados
Visão geral Projeto e Arquitetura Hardware Software Linguagens Sistemas operacionais de tempo real Visão geral Projeto e Arquitetura Hardware Processadores Memória Periféricos Software Visão geral Projeto e Arquitetura Hardware Software

91 SE::Projeto & Arquitetura::Software Linguagens Empregadas
Segundo uma pesquisa recente da 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 SE::P & A::Sw::Linguagens Linguagens orientadas a objetos
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 SE::P & A::Sw::Linguagens Linguagens 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 SE::P & A::Sw::Linguagens Linguagens 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 SE::P & A::Software Sistemas 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 SE::P & A::Sw::Sistemas de Tempo Real STR e o Ambiente
Estímulos Sensores Respostas Atuadores

97 SE::P & A::Sw::Sistemas de Tempo Real STR 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 SE::P & A::Sw::Sistemas 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 SE::P & A::Sw::Sistemas de Tempo Real Conceitos 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 SE::P & A::Sw::STR:: Conceitos Básicos Criticidade
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 SE::P & A::Sw::STR:: Conceitos Básicos Criticidade
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 SE::P & A::Sw::STR:: Conceitos Básicos Modelagem 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 SE::P & A::Sw::STR:: Conceitos Básicos Modelagem 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 SE::P & A::Sw::STR:: Conceitos Básicos Modelagem das Tarefas
Chegada (arrival) Liberação (release) Início (start time) Conclusão (end time) 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 SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas Tarefas Periódicas
J1 A1 A2 a1 r1 s1 e1 d1 a2=r2 s2 e2 d2 tempo

106 SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas Tarefas Esporádicas
evento1 evento2 minIT minIT D D E1 E2 a1 s1 e1 d1 a2=s2 e2 d2 tempo

107 Relações entre tarefas
SE::P & A::Sw::STR:: Conceitos::Modelagem das Tarefas Relaçõ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: X||Y 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 SE::P & A::Sw::STR Escalonamento
Métodos de Escalonamento Abordagens com Garantia em Tempo de Projeto Abordagens com Garantia Dinâmica Abordagens de Melhor Esforço Técnicas Adaptativas Executivo Cíclico Dirigido a Prioridades

109 Escalonamento de Processos Abstração
Uma máquina para cada processo Paralelismo real mP1 T11 T12 mP2 T0 mP3 mP3 T22

110 Escalonamento de Processos Realidade
Compartilhamento do tempo Pseudoparalelismo T12 T22 T0 T11 T0 mP1 1 41 51 70 90 121 t

111 Tipos de Escalonamento Preemptivo
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 Preempção T12 T22 T0 T11 mP1 T0 1 41 51 70 90 121 t Quantum grande: Diminui núm. de mudanças de contexto e overhead do S.O. Ruim para processos interativos

112 Escalonamento de Processos Processo
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 I/O queue I/O scheduling I/O queue I/O Interrupt of process from I/O Interrupt Handler I/O I/O queue

114 Tipos de Escalonamento Round-Robin
Uso de uma lista de processos sem prioridade Escalonamento preemptivo Simples e justo Bom para sistemas interativos CPU:Running Tar. A Contexto Tar. A Contexto Tar. B Contexto Tar. C Contexto Tar. A Contexto

115 Tipos de Escalonamento First-In First-Out (FIFO)
Uso de uma lista de processos sem prioridade Escalonamento não-preemptivo Simples e justo Bom para sistemas em batch CPU B C D E F … N A FIM

116 Tipos de Escalonamento Exemplo
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 Não existe garantia que os deadlines serão cumpridos
SE::P & A::Sw::STR::Escalonamento Garantia 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 Descarte de Tarefas na Sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia 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 Perda de deadlines na sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia 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 d

121 Redução da Precisão na Sobrecarga
SE::P & A::Sw::STR::Escalonamento Garantia 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 Sistemas de Prioridade Dinâmica
SE::P & A::Sw::STR::Escalonamento Garantia 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 SE::P & A::Sw::STR::Escalonamento Abordagens 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 SE::P & A::Sw::STR::Escalonamento Abordagens 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 Time-driven systems Event-driven systems
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Modelos 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 SE::P & A::Sw::STR::Escalonamento::Garantia 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 Considere 4 funções com as seguintes características:
SE::P & A::Sw::STR::Escalonamento::Garantia 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 SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Exemplo 2

129 SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Exemplo 3

130 Arquitetura de Software
SE::P & A::Sw::STR::Escalonamento::Garantia em Projeto Time-Driven Systems: Executor Cíclico Arquitetura de Software Função 1 Disp. E/S Executor Cíclico Função 2 Função 3 Disp. E/S Função 4 Interrupção do Timer

131 Sistemas de Prioridade Fixa
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Sistemas de Prioridade Fixa
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Sistemas de Prioridade Fixa
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Arquitetura de Software
SE::P & A::Sw::STR::Escalonamento::Garantia 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ção do Timer

135 Análise de Escalonabilidade
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Escalonamento Rate-Monotonic (RMS)
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Análise de Escalonabilidade
SE::P & A::Sw::STR::Escalonamento::Garantia 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 Interferência entre tarefas
Garantia em Projeto :: Event-Driven Systems Análise de Escalonabilidade Interferência entre tarefas Seja Pj uma tarefa com prioridade maior que Pi Quantas vezes Pj pode acontecer durante a execução de Pi ? Ri/Tj Qual a interferência total de Pj sobre Pi ? Ri/Tj x Cj Qual a interferência total sobre Ti ? ∑ Ri/Tj x Cj, onde Pri(j)>Pri(i)

139 Garantia em Projeto :: Event-Driven Systems Aná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 Wix+1 = Ci + ∑ Wix/Tj x Cj, onde Wi0= Ci

140 Garantia em Projeto :: Event-Driven Systems Análise de Escalonabilidade
Exemplo p1 p2 p3 T1=7 T2=12 T3=20 C1=3 C2=3 C3=5 Pri1=1 Pri2=2 Pri3=3 Resposta: R1 = 3 R2 = 6 R3 = 20

141 Garantia em Projeto :: Event-Driven Systems Aná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 tarefa Ri = Ji + Wi, Wi = Ci + ∑ (Wi+Jj)/Tj x Cj

142 Garantia em Projeto :: Event-Driven Systems Análise de Escalonabilidade
Bloqueios Ocorrem devido às relações de exclusão mútua Suponha p1 e p2, p1 com maior prioridade Se p2 fica bloqueada esperando por p1 Ok, p1 tem mesmo prioridade superior Se p1 fica bloqueada, esperando por p2 Cálculo do tempo de resposta deve incluir a espera máxima Bi Ri = Ji + Wi Wi = Ci + Bi + ∑ (Wi+Jj)/Tj x Cj

143 Seções Críticas e Inversão de Prioridades
Garantia em Projeto :: Event-Driven Systems Análise de Escalonabilidade Seções Críticas e Inversão de Prioridades

144 Protocolo de Herança de Prioridades
Garantia em Projeto :: Event-Driven Systems Aná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 Real Jean- Marie Farines, Joni da Silva Fraga, Rômulo Silva de Oliveira. Escola de Computação’ IME- USP www. lcmi. ufsc. br/ gtr/ livro/ principal. Htm IEEE Computer Society, Technical Committee on Real- Time Systems (IEEE- CS TC- RTS) www. cs. bu. edu/ pub/ ieee- rts The Concise Handbook Of Real-Time Systems. TimeSys Corporation, Versão 1.1,


Carregar ppt "Introdução aos Sistemas Embarcados"

Apresentações semelhantes


Anúncios Google