Você está na página 1de 15

Sistemas Embarcados

Qualidade de
So sistemas computacionais que esto inseridos em mquinas
Software ou em sistemas maiores
Embutidos em equipamentos eletrnicos:
Aula 04 - QS - Sistemas telefones celulares, vdeo-cassete, forno microondas,carros,
automao de escritrio....
Embarcados
Encontrado em quase todas as aplicaes que necessitam de
algum tipo de controle....
Prof. Ms. Luiz Alberto
Contato: lasf.bel@gmail.com

Aula 04 - QS - Sistemas Embarcados 1 Prof. Luiz Alberto -

reas de Aplicao reas de Aplicao


produtos de consumo: Automao de escritrio:
telefones celulares, pagers, cmaras digitais, vdeo- mquinas de fax, copiadoras, impressoras e scanners;
cassete, vdeo games portteis, calculadores, etc;
Automveis:
eletrodomsticos:
controle de transmisso, injeo eletrnica,
forno de microondas, secretrias eletrnicas,
equipamentos de segurana, termostatos, mquinas suspenso ativa, freio ABS.
de lavar e sistemas de iluminao;

Aula 04 - QS - Sistemas Embarcados 2 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 3 Prof. Luiz Alberto -
Caractersticas Arquitetura Bsica
Funcionalidade nica, executada repetidamente Arquitetura de Hardware
Entrada/Sada intensivo Forte comunicao com o ambiente
Executa tarefas em paralelo Forte restrio de recursos, tamanho, potncia, peso...
Restries de projeto mais rgidas: Arquitetura de Software
Custo, tamanho, peso, desempenho, potncia dissipada, etc. Tratamento rpido de interrupo
Tempo real: Sistemas operacionais de tempo real
O tempo para fornecer resultados determinado pelo tempo que o
ambiente pode esperar. Softwares eficientes em tamanho e desempenho
Sistemas em que tm aspectos temporais na especificao.
Sistemas reativos
Reagem continuamente a estmulos externos

Aula 04 - QS - Sistemas Embarcados 4 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 5 Prof. Luiz Alberto -

Caracterizao Sistema de Tempo real


So usados para controlar sistemas de diferentes O funcionamento depende dos resultados
tipos: mquinas domsticas, fbricas, carros, jogos produzidos pelo sistema e do tempo em que
etc. esses resultados so produzidos
O software embutido no hardware do sistema e STR Leve: se a operao for degradada caso
com ele interage os resultados no sejam produzidos de acordo
O tempo de resposta o diferencia de outros com os requisitos de tempo/desempenho.
sistemas.
STR Rgido: se a operao for incorreta caso
tipo de sistema mais comum, com grande os resultados no forem produzidos de acordo
impacto econmico. com os requisitos de tempo/desempenho.
Aula 04 - QS - Sistemas Embarcados 6 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 7 Prof. Luiz Alberto -
Sistema de Tempo real Geralmente:
Rgido (hard) O software que executa em um computador e controla
Perda de um prazo estabelecido uma falha outras mquinas um sistema embarcado de tempo real.
Marcapasso, sistema de controle de motores de carros Recebe eventos (sinais) gerados pelo hardware e emite
sinais de controle para o hardware em resposta a esses
Leve (soft)
eventos.
Operao degradada se resultados no forem obtidos de
acordo com requisitos de temporizao especificados A resposta pode estar condicionada a restries de tempo.
A utilidade de um resultado aps um deadline Nem todo sistema embarcado de tempo real e vice-
degradada, levando degradao da qualidade do versa.
sistema

Aula 04 - QS - Sistemas Embarcados 8 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 9 Prof. Luiz Alberto -

Engenharia de Sistemas Embarcados Projeto de Sistemas Embarcados


Deve considerar em detalhes o projeto e o Um processo top down pode ser difcil de usar.
desempenho do hardware do sistema. Decises de baixo nvel relacionadas ao hardware precisam ser
tomadas no incio do projeto, o que diminui a flexibilidade do
preciso decidir que recursos deve ser projeto.
implementado em software e que parte de Os sistemas so geralmente reativos e baseados numa abordagem
estmulo-resposta.
hardware
O estmulo uma entrada e deve produzir uma resposta, que uma
Custos e consumo de energia so crticos. sada e geralmente dirigido a atuadores
necessrio decidir se sero usados processadores Os estmulos podem ser de duas categorias:
Peridicos
de prateleira (ex. fpga) ou se dever ser projetado Aperidicos
e construdo um novo hardware.
Aula 04 - QS - Sistemas Embarcados 10 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 11 Prof. Luiz Alberto -
Sistemas estmulo-resposta
Um modelo sensor-sistema-atuador
Dado um estmulo, o sistema deve produzir uma resposta
dentro de um tempo especificado.
Estmulos peridicos. Estmulos que ocorrem em
intervalos de tempo previsveis
Por exemplo, um sensor de temperatura pode ser estimulado10
vezes por segundo.
Estmulos aperidicos. Estmulos que ocorrem em
tempos imprevisveis
Por exemplo, uma falha de sistema de energia pode disparar uma Diretriz geral: processos separados para cada tipo de sensor e atuador.
interrupo que deve ser processada pelo sistema.

Aula 04 - QS - Sistemas Embarcados 12 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 13 Prof. Luiz Alberto -

Sistemas de tempo real


Arquitetura genrica abstrata
Contm 3 tipos de processos As linguagens de programao precisam incluir
recursos de baixo nvel. Ex. C.
Para cada atuador existe um processo gerenciador
Java vem sendo atualizada para incluir vrios
Para cada atuador h um processo gerenciador mecanismos que permitam o uso em sistemas
H um ou mais processos controladores/processadores. de tempo real.
O mecanismo bsico so as threads
Essa arquitetura genrica pode ser instanciada para
arquiteturas especficas. Exs: sistemas de monitorao e
de aquisio de dados.
Aula 04 - QS - Sistemas Embarcados 14 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 15 Prof. Luiz Alberto -
Projeto de Sistemas
Projeto de Sistemas: Atividades Principais
Deciso importante: quais partes sero Seleo da plataforma (Hardware e SO)
implantadas como hardware e quais partes Identificar os estmulos/respostas
sero implantadas como software. Analisar restries temporais (timing) para
Para muitos sistemas de TR embutidos, os cada estmulo (restries de tempo)
custos, consumo de energia e espao so Alocar estmulo e processamento a processos
crticos. concorrentes
Muitas vezes, um processo top-down no Projeto de processos (concorrentes), de acordo
prtico, pois h decises de baixo nvel que com a arquitetura do sistema.
precisam ser tomadas.
Aula 04 - QS - Sistemas Embarcados 16 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 17 Prof. Luiz Alberto -

Projeto de Sistemas: Atividades Principais Projeto de Sistemas: Atividades Principais


Projetar os algoritmos para fazer o
processamento necessrio
Projeto de dados
Programao de processo: projetar um sistema
de alocao (scheduling) que permita atender s
restries temporais.

Processos de sensores e atuadores

Aula 04 - QS - Sistemas Embarcados 18 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 19 Prof. Luiz Alberto -
Algumas consideraes Algumas consideraes
Coordenao de processos (semforos, regies Os processos podem executar com diferentes
crticas. velocidades.
Anlises tericas para avaliar se as restries Isso pode ser resolvido implementando trocas
temporais sero atendidas. Isso pode ser difcil de informaes por meio de buffers
Linguagens OO podem no ser eficientes para compartilhados e uso de excluso mtua para
implementar um STR. controlar o acesso ao buffer.

Aula 04 - QS - Sistemas Embarcados 20 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 21 Prof. Luiz Alberto -

Algumas consideraes
Modelagem de STR
A resposta aos estmulos muitas vezes
dependem do estado do sistema
uso de diagramas de estado
UML: statecharts
Um modelo de estado considera que em
qualquer momento o sistema est em um dos
vrios estados possveis. Os estmulos causam a
transio para outros estados.
Exemplo: uma bomba de gasolina automtica
Aula 04 - QS - Sistemas Embarcados 22 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 23 Prof. Luiz Alberto -
Padres de arquitetura
Modelagem de STR
Um padro de arquitetura pode ser pensado
como um projeto genrico para ser instanciado.
Os padres de SE so orientados a processos,
em vez de orientados a objetos e componentes.
Trs padres:
Observar e reagir
Controle de ambiente
Pipeline de processo

Aula 04 - QS - Sistemas Embarcados 24 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 25 Prof. Luiz Alberto -

Padres de arquitetura Padres de arquitetura


Observar e reagir
Usado quando um conjunto de sensores monitorado e exibido
rotineiramente. Quando os sensores mostram que ocorreu algum evento, o
sistema reage, iniciando o processo para tratar esse evento.
Controle de ambiente
Quando o sistema inclui sensores que fornecem informaes sobre o
ambiente e atuadores capazes de alterar o ambiente.
Pipeline de processo
Usado quando os dados precisam ser transformados de uma representao para
outra antes de ser processados. A transformao implementada como uma
sequncia de etapas de processamento que podem ser realizadas
concorrentemente.

Aula 04 - QS - Sistemas Embarcados 26 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 27 Prof. Luiz Alberto -
Padres de arquitetura Padres de arquitetura

Aula 04 - QS - Sistemas Embarcados 28 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 29 Prof. Luiz Alberto -

Padres de arquitetura Padres de arquitetura

Aula 04 - QS - Sistemas Embarcados 30 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 31 Prof. Luiz Alberto -
Padres de arquitetura Sist. Operacional de Tempo Real
Responsveis pelo gerenciamento do processo e pela
alocao de recursos (processador e memria).
Muitos sistemas embutidos funcionam com um SOTR
Os SOTR podem ser muito simples ou grandes e
complexos.
Em geral possuem: relgio de tempo real, tratador de
interrupes, alocador (scheduler) gerenciador de recurso
e despachador

Aula 04 - QS - Sistemas Embarcados 32 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 33 Prof. Luiz Alberto -

Sist. Operacional de Tempo Real Padres de arquitetura


Relgio de tempo real
Fornece informaes para programar processos periodicamente.
Tratador de interrupes
Gerencia solicitaes aperidicas por servios.
Programador (escalonador)
Escolhe o prximo processo a ser executado.
Gerenciador de recursos
Aloca recursos de memria e processador.
Despachador
Inicia a execuo de processo.

Aula 04 - QS - Sistemas Embarcados 34 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 35 Prof. Luiz Alberto -
Gerenciamento de Processos Servio de interrupo
preciso tratar processos com prioridades O controle transferido automaticamente para uma
posio de memria predeterminada.
Deve haver pelo menos dois nveis de
Essa posio contm uma instruo para pular para uma
prioridade: rotina de servio de interrupo.
Nvel de interrupo, para os processos que precisam As interrupes adicionais so desabilitadas, a interrupo
de resposta muito rpida atendida e o controle retorna ao processo interrompido.
Nvel de relgio, para os processos peridicos Rotinas de servio de interrupo DEVEM ser curtas,
simples e rpidas.

Aula 04 - QS - Sistemas Embarcados 36 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 37 Prof. Luiz Alberto -

Estratgias de programao Sistemas de monitorao e controle


Programao no preemptiva uma categoria importante de STR
Uma vez que o processo foi programado para execuo, ele ser executado at a
concluso ou at que seja interrompido por alguma razo (por exemplo, Verificam sensores que fornecem informao
aguardando por E/S).
Programao preemptiva
sobre o ambiente do sistema e executam aes que
A execuo de um processo pode ser interrompida se um processo de maior dependem da leitura do sensor
prioridade solicitar servio.
Sistema de monitorao executam aes de acordo
Algoritmos de escalamento com os valores/sinais dos sensores
Round-robin; Os sistemas de monitorao controlam
Rate monotonic;
Deadline mais curto primeiro.
continuamente os atuadores de hardware de acordo
com os valores dos sensores associados.
Aula 04 - QS - Sistemas Embarcados 38 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 39 Prof. Luiz Alberto -
Arquitetura genrica de um STR Exemplo: sistema de alarme contra
de monitorao e controle roubos para edifcios comerciais
Sensores de movimento em salas (200)
Sensores em janelas (50)
Sensores de porta (30)
Chama um telefone da polcia e sintetiza voz para indicar
onde foi ativado o alarme
liga alarme sonoro
Acende luzes ao redor do sensor ativado
Tem back-up de energia e monitora a queda de energia,
mudando para a conjunto de baterias.

Aula 04 - QS - Sistemas Embarcados 40 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 41 Prof. Luiz Alberto -

Estmulos Estmulos
H duas categorias: Falha de energia e alarme de intrusos
Lista de estmulos-respostas
Interrupo por falha de energia (50ms)
Alarme de porta (2/s)
Alarme de janela (2/s)
Detector de movimentos (2/s)
Alarme sonoro (aps 0.5s)
Interruptor de luzes (aps 0.5s)
Comunicao (aps 2s)
Sintetizar voz (aps 4s)

Aula 04 - QS - Sistemas Embarcados 42 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 43 Prof. Luiz Alberto -
Metodologia de Projeto Exemplo
Principais diferenas entre o projeto de S.E. e projeto de Projeto de um controle remoto de televiso (infra-vermelho)
aplicaes para desktops Controle simples com 3 botes:
Requisitos no-funcionais so fundamentais: preo, tamanho, peso, Liga/desliga
potncia,...
Seleo de canais
Flexibilidade: plataforma no definida, vrios tipos de S.O., controle total
da mquina. Opera com bateria
Grande preocupao com previsibilidade no uso de recursos Deve ser leve
Sistema muito restrito: eficincia no uso de recursos fundamental Controla a televiso por infravermelho

Aula 04 - QS - Sistemas Embarcados 44 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 45 Prof. Luiz Alberto -

Exemplo: Restries Exemplo: Definio do Hw e Sw


Protocolo de comunicao com a televiso Processador:
Microcontrolador de 8 bits
Proprietrio
Sistema Operacional:
Uso de ROM fornecida pelo cliente
No h necessidade
Satisfazer as especificaes temporais fornecidas pelo cliente: Linguagem de programao:
Cdigo de assinatura C
Comando Bibliotecas de software:
Nenhuma
Componentes de Hardware:
Botes
LED infravermelho

Aula 04 - QS - Sistemas Embarcados 46 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 47 Prof. Luiz Alberto -
Requisitos do cliente Alternativas de implementao
Como o sistema vai satisfazer requerimentos do usurio dadas as
restries de projeto
Revisar a anlise
Hardware Program Convolution
SEQ i=0 FOR 2
Especificar componentes de hardware PAR
Definir Interface de hardware IF (x[i]>= 0 c:= x[i],
x[i]<0 c:= x[i]/2)
Especificar subsistemas de software
Definir interfaces de software
Caractersticas IF (x[i+1]>= 0 d:= x[i+1],
x[i+1]<0 d:= x[i+1]/2)

Especificar processos de incio e final - alto desempenho PAR j=0 FOR 4


e[j]:= x[f(i,j)]

Especificar tratamento de erros - pequeno tamanho PAR


w := k*e[i]
PAR j= 0 FOR 4
Verificar resultados da etapa de design
- alto custo y[j] := y[j] + e[j]*(c+d)
Hardware
- pouco flexvel
Algoritmo

Layout
Aula 04 - QS - Sistemas Embarcados 48 Prof. Luiz Alberto - Prof. Luiz Alberto -

Alternativas de implementao Linguagens Empregadas

Segundo uma pesquisa recente da www.8052.com


Hardware/Software 49% assembly
Microprocessador 33% C
Program Convolution

SEQ i=0 FOR 2


5% Basic
PAR
IF (x[i]>= 0 c:= x[i], 3% Pascal
x[i]<0 c:= x[i]/2)

IF (x[i+1]>= 0 d:= x[i+1], 9% outras linguagens


x[i+1]<0 d:= x[i+1]/2) HW
PAR j=0 FOR 4
e[j]:= x[f(i,j)]
A previsibilidade no uso de recursos e tempo de execuo
SW
PAR
w := k*e[i] fundamental para sistemas crticos
PAR j= 0 FOR 4 HW
y[j] := y[j] + e[j]*(c+d)

Circuitos
especficos
Aula 04 - QS - Sistemas Embarcados 50 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 51 Prof. Luiz Alberto -
Linguagens orientadas a objetos Linguagens imperativas

Linguagens orientadas a objeto C e Assembly


ciclo de desenvolvimento mais rpido Excelente controle do hardware e do tempo de execuo
melhores mtodos de estruturao e modularizao Alta performance
reutilizao de objetos Dificuldades no desenvolvimento
Java, no h um modelo definido para o escalonamento das threads. Assembly:
Inviabiliza tempo real Difcil modularizao e reutilizao

Aula 04 - QS - Sistemas Embarcados 52 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 53 Prof. Luiz Alberto -

Sistemas de Tempo Real Sistemas Embarcados


Sistemas computacionais de tempo real:
Tem aspectos temporais em sua especificao
Desafios
Submetidos a requisitos de natureza temporal Confiabilidade
Resultados devem estar corretos lgica e temporalmente
Fazer o trabalho usando o tempo disponvel Robustez
Requisitos definidos pelo ambiente fsico
Performance
Aspectos temporais Complexidade do sistema
No esto limitados a uma questo de desempenho Gerenciamento de requisitos
Esto diretamente associados com a funcionalidade
Otimizao
Gerenciamento de projetos global
Verificao e ferramentas
Aula 04 - QS - Sistemas Embarcados 54 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 55 Prof. Luiz Alberto -
Concluses Concluses
Falhas em software embarcado so mais graves Sistemas de tempo real esto ligados a monitoramento e
controle
Mais software, mais sistemas, mais falhas
O tempo fator crtico
Diversos desafios Hard e soft real time
Qualidade Software envolvido neste sistema necessita caractersticas
especficas
Ex: SO com suporte a multitarefa necessrio
Escolha de mtodos baseada no contexto Projeto de Sistemas de Tempo real
Riscos Devem levar em conta as restries de tempo
Padres Arquiteturais
Oportunidades de pesquisa!
Aula 04 - QS - Sistemas Embarcados 56 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 57 Prof. Luiz Alberto -

Exerccio Referncia
1. Usando exemplos, explique por que, geralmente, os sistemas de tempo SOMMERVILLE, Ian.
real precisam ser implementados usando processos concorrentes.
2. O que diferencia o projeto de Sistema Embarcados do projeto de
Engenharia de Software -Ed.
aplicativos para computadores? Prentice Hall, 2007. 9 Edio
3. Mencione pelo menos 5 restries de projeto comuns em Sistema Capitulo 20 Software Embutido
Embarcados?
4. Quais as vantagens e desvantagens de usar Software e/ou Hardware
para implementar um Sistema Embarcados?
5. O que vem mudando na forma de projetar Sistema Embarcados ao
longo do tempo?

Aula 04 - QS - Sistemas Embarcados 58 Prof. Luiz Alberto - Aula 04 - QS - Sistemas Embarcados 59 Prof. Luiz Alberto -

Você também pode gostar