1 / 146

Introdução aos Sistemas Embarcados

Introdução aos Sistemas Embarcados. Sergio Cavalcante Centro de Informática – UFPE. 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.

libba
Download Presentation

Introdução aos Sistemas Embarcados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Á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çõesAutomó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 ASIC DSP ASIP uC Mem uP Sensores Atuadores A/D D/A Eventos Código DSP RTOS Código uP Eventos

  12. SE::Visão Geral::ArquiteturaExemplo: Câmera Digital

  13. SE::Visão Geral::Arquitetura de HardwareComparação com PCs

  14. SE::Visão Geral::Arquitetura de SoftwareExemplo: Tempo de Boot

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

  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 Lucros (dólares) Market rise Market fall Atraso Concepção do sistema Time-to- market Tempo • 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 • Projeto e Arquitetura • 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

  22. SE::Projeto & 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. 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: 10.000 pressões nos botões • Características do produto final: • Peso < 100 gramas • Dimensão: 10cm X 5cm X 1.5 cm • Material: plástico de alta densidade • Botão liga/desliga: vermelho e circular • Botão canais: preto e quadrado • Deve ser robusto o suficiente para cair de 1,5 metros sem danificar

  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 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)] PAR w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d) Hardware 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)] PAR 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 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)] PAR w := k*e[i] PAR j= 0 FOR 4 y[j] := y[j] + e[j]*(c+d) HW SW HW Hardware/Software Microprocessador Circuitos específicos

  32. SE::P & A::Metodologia de Projeto Processo de Desenvolvimento Alto Custo 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. 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 Proc. Inf. Spec. Proc. C code Behavior2 Y=sqrt(x) X = x+1 Behavior3 For I in 1,100 m(I)=n(I)+1 Behavior1 Presente/Futuro Cosimulation Allocation Partitioning Estimation 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

  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. SE::Projeto & Arquitetura::HardwareDispositivos 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::ProcessadoresTecnologia Processadores variam na adequação ao problema FuncionalidadeDesejada Processador de uso geral Processador de aplicação específica Processador de propósito único

  39. SE::P & A::Hw::ProcessadoresProcessadores 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 Disp. E/S Memória Processador

  40. SE::P & A::Hw::Processadores de Uso GeralProcessadores 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 GeralProcessadores Embarcados • Proc. de uso geral adaptados para sistemas embarcados: • Dispositivos internos • Menor potência • Facilidade para desenvolver software

  42. SE::P & A::Hw::ProcessadoresProc. 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::ProcessadoresProc. 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::ASIPsMicrocontroladores • 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::MicrocontroladoresFamí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::MicrocontroladoresFamí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::MicrocontroladoresFamí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::MicrocontroladoresFamília 8051 EPROM RAM CPU Latch Latch Port1 Port0 Address Bus Serial DPTR Interrupt PC MBR Latch Port2 Latch Data Bus Port3 Timer1 Oscil. Timer0

  49. SE::P & A::Hw::Processadores::ASIPs::MicrocontroladoresOutras 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::ProcessadoresSeleçã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

More Related