Você está na página 1de 64

ESCOLA DE SISTEMAS

EMBARCADOS DO PIAUÍ
2011

Universidade Federal do Piauí

Projeto de Sistemas
Embarcados
Uma Introdução

Prof. Marcos Zurita


zurita@ufpi.edu.br

Teresina - 2011
Sumário

● 1. Introdução
● 1.1. Aplicações
● 2. Sistemas Embarcados

2.1. Características dos SEs
● 3. Projeto de Sistemas Embarcados
● 3.1. Diagrama de Gajski
● 3.2. Metodologias
● 3.3. Fluxo de Projeto
● 4. Aplicações à Robótica
● 4.1. O Projeto Micromouse
● Bibliografia Recomendada
2
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Introdução

3
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1. Introdução

Mercado de Sistemas Embarcados


Mercado Mundial Atual:
● Responde por ~19% dos sistemas eletrônicos vendidos.

● Receita anual: US$ 1 trilhão.

Previsão para 2015 (IDC):


● 1 em cada 3 sistemas eletrônicos

vendidos no mundo será um SE.


● Receita anual: US$ 2 trilhões.

● Consumirão ~14,5 bilhões de

processadores/ano.
4
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1. Introdução

● Cerca de 90% dos processadores produzidos


hoje no mundo são para sistemas embarcados.
● SEs são apontados como a grande oportunidade
de mercado mundial:
● Desenvolvedores de software.
● Desenvolvedores de hardware.
● Engenheiros de verificação.
● Engenheiros de integração!

Ok, mas onde estão os sistemas embarcados


que consomem tantos processadores?
5
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Celulares

6
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

MP3 Players

7
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Automóveis
● Renault Laguna: SEs representam cerca de 25% dos
custos.

8
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Aeronaves

9
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Câmeras

10
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Instrumentos de Teste e Medição

11
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Controle de Tráfego Urbano

12
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Medidores de Consumo de Energia

13
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Controle de Usinas de Energia

14
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Controle e Automação Industrial

15
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Relógios de Pulso

16
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Marcapasso

17
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Robótica

18
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Satélites

19
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
1.1. Aplicações

Adidas 1: Tênis de Corrida


● Um SE calcula a pressão entre o pé do corredor e o solo
e muda continuamente o amortecimento para correspon-
der ao nível de conforto ajustado.
O controle é feito
por meio de um
motor que tensiona
um cabo ligado a
um elemento de
amortecimento.

20
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Sistemas Embarcados

21
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2. Sistemas Embarcados

Sistemas Computacionais Embarcados (SEs)

“Um sistema computacional que faz parte de


um sistema maior e implementa alguns dos
requerimentos deste sistema” (IEEE)

“Um sistema baseado num microprocessador, que


é projetado para controlar uma função ou gama de
funções, e não para ser programado pelo usuário
final como ocorre com os PCs” (Steve Heath)

22
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

Características dos Sistemas Embarcados

● Uma boa maneira de entender melhor o que torna


o projeto de sistemas embarcados peculiar em
relação aos demais tipos de sistemas é examinar
suas características.

● Podemos destacar 12 delas (Arnold Berger)

23
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

1. SEs são dedicados a tarefas específicas


enquanto PCs são plataformas genéricas de
computação.
● Impacto no poder computacional da máquina:
● PCs devem poder rodar um grande número de

aplicativos, com diferentes exigências de


processamento, mantendo um bom desempenho.
● SEs precisam realizar apenas uma ou poucas

tarefas bem específicas.

24
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

2. São suportados por uma vasta gama de


processadores e arquiteturas de processadores.
● PCs/Tablets: 7 empresas dominam o mercado de
CPUs.
● SEs: mais de 40 empresas de semicondutores
disputam o mercado de µPs e µCs;
● Microchip Inc.: Mais de 500 diferentes µCs.

25
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

3. São geralmente sensíveis aos custos.


● Sistemas embarcados geralmente possuem bem
menos componentes e custam bem menos do que um
PC.
● A adição de poucos componentes nesses sistemas
tem impacto muito mais significativo nos custos do
que num desktop.

26
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

4. Possuem requisitos de tempo real.


● SEs geralmente podem ser divididos em dois grupos:
● os que possuem requisitos de “tempo crítico”.

● Tarefas de tempo crítico: são intolerantes a


atrasos, devem ser realizadas dentro de um
intervalo preciso de tempo ou a tarefa falha.
● Ex.: sistema de disparo dos airbags de um veículo.

● os que possuem requisitos de “tempo sensível”


● Tarefas de tempo sensível, são mais tolerantes.
Atrasos causam perda de desempenho ou fuga das
metas do projeto mas não a falha da tarefa.
● Ex.: Impressora.

27
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

5. Quando utilizam um sistema operacional, este é


quase sempre um RTOS.
● RTOS vs SO convencional:
● Num RTOS o tempo de execução de uma tarefa é

parte crucial da exatidão do software.


● A importância para o sistema da finalização de

uma tarefa é um valor que varia com o tempo.


● Conceito de deadlines.

28
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

6. Neles as implicações de uma falha de software


são muito mais severas do que num desktop.
● Falhas em SEs podem ter impacto sobre:
● O meio ambiente.

● Exs.: injeção eletrônica, controle de usina;

● Seres humanos.

● Exs.: Maquina de RX, Marcapasso, ABS, etc.;

● A integridade do próprio SE.

● Exs.: Robôs móveis, satélites.

● Muitos SEs incluem mecanismos de detecção e


contorno contra falhas.
● Exs.: Watchdog timer, sistemas redundantes.

29
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

7. Sistemas embarcados costumam ter restrições


no consumo de energia.
● Grande parte dos SEs são alimentados unicamente
por pequenas baterias.
● Redução do consumo: responsabilidade dos
engenheiros de HW e SW!
● PDA: 60% do consumo pode ser reduzido por
mudanças na codificação do SW.

30
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

8. Devem poder operar em condições ambientais


extremas.
● SEs devem poder suportar as mesmas condições
ambientais que seus usuários ou sistemas receptores.
● Requisitos ambientais podem ter impacto sobre o HW
e SW.

31
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

9. Geralmente, possuem bem menos recursos de


sistema do que um PC.
● Sistema embarcado típico:
● CPU: µP com clock inferior a 20 MHz;
● Memória de Programa: < 4 kB;

RAM: < 500 Bytes;
● Interface: teclas, LEDs e buzzers.

32
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

10. Geralmente, todo seu programa fica armaze-


nado numa ROM.
● Tamanho do código reduzido;
● Economizar memória de programa não implica em
aumento da memória de dados;
● Dificuldades na depuração do código: Como inserir um
breakpoint no programa se a memória não pode ser
alterada aleatoriamente?

33
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

11. Requerem ferramentas e métodos especializa-


dos para serem eficientemente projetados.
● SEs são compostos por HW e SW integrados:
● Requerem métodos de concepção próprios, diferentes
dos necessários ao HW e SW feitos isoladamente.
● Como depurar sistemas em que parte dos
componentes estão implementados em HW e parte
em SW?
● Pode requerer o desenvolvimento de uma plataforma
de emulação do sistema alvo.

34
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
2.1. Características dos SEs

12. Microprocessadores embarcados frequente-


mente possuem circuitos dedicados à depuração.
● A depuração do código programado em uma ROM
pode ser feita através de circuitos especialmente
dedicados a este fim.
● Alguns µP incluem estes circuitos. Ex. PIC16F87X.

35
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Projeto de
Sistemas Embarcados

36
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

37
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Importância de Uma Metodologia de Projeto

● Assegurar o cumprimento dos requisitos de


maneira formal a medida que o projeto avança;

● Potencializar o uso de ferramentas de


automação das tarefas (tal como CAD, p.ex.);

● Facilitar a comunicação entre as equipes de


desenvolvimento.

38
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

As 3 Ações Fundamentais de Toda Metodologia

Validação

Especificação
& Síntese
Modelagem

39
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Especificação & Modelagem


● Processo que inicia com a descrição de uma especifi-
cação e termina com a descrição de um modelo.
● O que um modelo formal deve conter?
● Uma especificação funcional:
● conjunto de relações que envolvem entradas, saídas e
possíveis estados internos;
● Um conjunto de propriedades a serem satisfeitas:
● conjunto de relações entre entradas e saídas que
possam ser comparadas com a especificação funcional;
● Um conjunto de índices de desempenho:
● Custo, confiabilidade, velocidade, etc. (equações);
● Um conjunto de restrições sobre os índices de
desempenho. 40
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Validação
● Determinar durante o ciclo de vida do projeto se os
requisitos estão corretos, completos, precisos e
consistentes, assegurando a qualidade do produto.
● Aplica-se a SW e HW.
● Ferramentas:
● Simulação;
● Verificação Formal.
● Detecção de um erro ou não-conformidade:
● → retomada do processo de modelagem.

41
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Síntese
● Processo de se transformar uma especificação mais
abstrata em uma menos abstrata.
● Síntese ≠ Compilação!
● Compilação
● Entrada: Software
● Saída: Software em nível mais baixo
● Síntese:

Entrada: SW; descrição de HW; Mod. Comportamental.
● Saída: SW ou descrição de HW em nível mais baixo.

42
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Níveis de Abstração
● Estabelecem o grau de detalhamento com que um dado
sistema é descrito.
● Maior o nível de abstração:
● menor o nível de detalhamento (mais abstrata);
● descrição mais simples;
● compreensão mais simples.
● Menor o nível de abstração:
● maior o nível de detalhamento (menos abstrata);
● descrição mais complexa;
● compreensão mais difícil.

43
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3. Projeto de Sistemas Embarcados

Ex.: Uma soma descrita em 5 níveis de abstração.

Nível Funcional c=a+b


Redução do nível de abstração

a Somador c
Nível de Blocos b Completo
cin de 1 bit cout
c

Nível de Portas Lógicas

Nível de Transistores

Nível de Leiaute

44
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.1. Diagrama de Gajski

O Diagrama em Y de Gajski

Sistema
ss
Comportamental Proce ador Estrutural
Lógica
rcuito
Ci

Caminho
do projeto
(design path)

Física
45
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.1. Diagrama de Gajski

Processo de Síntese no Nível do Sistema


Ligação dos processos e canais
Alocação das Conexões Definição dos componentes de HW/SW
Alocação dos componentes Agendamento
Perfilamento e estimação Refinamento do modelo
Sistema
Comportamental Estrutural

Modelo Comportamental
do Sistema

Modelo Estrutural do Sistema


Física
46
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.1. Diagrama de Gajski

Processo de Síntese no Nível do Processador


Ligação das operações
Ligação das variáveis Ligação dos barramentos
Agendamento “cycle-accurate” Síntese do controlador
Seleção de componentes Refinamento do modelo
e conexões
Comportamental Estrutural
r ocessador
P

Modelo Comportamental
do Processador Modelo Estrutural do Processador
Física
47
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.1. Diagrama de Gajski
● Número de níveis de abstração de um projeto não é
rígido. Pode variar com:
● Tipo de projeto;
● Metodologia adotada.
● Na maior parte das vezes são definidos pelas
ferramentas de projeto adotadas:
● Conjuntos bem definidos para as mais populares.
● Diferença gradual de detalhamento entre níveis
consecutivos de abstração:
● → possibilidade de síntese automática ou semi-

automática.
● → ferramentas de verificação podem ser utilizadas

para analisar a coerência entre os modelos.


48
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Metodologias de Projeto de SEs


● De maneira geral podemos enquadra-las em 3 principais
grupos:
● Bottom-up

● Top-down

● Meet-in-the-middle

49
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Metodologias Bottom-up

Sistema
ss
Comportamental Proce ador Estrutural
Lógica
rcuito
Ci

Física
50
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Metodologias Bottom-up

Sistema
ss
Comportamental Proce ador Estrutural
Lógica
rcuito
Ci

Física
51
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Metodologias Top-down

Sistema
ss
Comportamental Proce ador Estrutural
Lógica
rcuito
Ci

Física
52
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Metodologias Meet-in-the-middle

Sistema
ss
Comportamental Proce ador Estrutural
Lógica
rcuito
Ci

Física
53
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
3.2. Metodologias

Estimadores
● Ferramentas que, a partir de uma descrição em mais
alto nível, são capazes de estimar características de
um nível mais baixo de abstração, tais como:
● Consumo;
● Desempenho;
● Vazão e Latência;
● Área de silício ocupada, etc.

54
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Fase 1 – Especificação do Produto

Fase 2 – Particionamento HW/SW

Fase 3 – Iteração e
Refinamento do
Particionamento
Fase 4 – Projeto

Projeto do HW

Projeto do SW
Detalhado
do HW e SW
4.3. Fluxo de Projeto

Fase 5 – Integração
do HW e SW

Projeto de Sistemas Embarcados – Prof. Marcos Zurita Fase 6 – Aceitação e Testes


Produto

Fase 7 – Manutenção
e Atualização
Lançamento do
Fluxo de Projeto de Sistemas Embarcados

55
Aplicações à Robótica

56
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
4. Aplicações à Robótica

<Micromouse maze competition video>


57
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
4.1. O Projeto Micromouse

O Projeto Micromouse

58
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
4.1. O Projeto Micromouse

59
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
4.1. O Projeto Micromouse

60
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
4.1. O Projeto Micromouse

61
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Dúvidas?

62
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Bibliografia
Recomendada

63
Projeto de Sistemas Embarcados – Prof. Marcos Zurita
Bibliografia Recomendada
● Arnold S. Berger, “Embedded Systems Design – An
Introduction to Process, Tools, & Techniques”, CMP Books,
USA, 2002.
● Thomas Braunl, “Embedded Robotics: Mobile Robot Design
and Applications with Embedded Systems”, Springer, 2008.
● Heath, Steve, “Embedded System Design”, 2ª ed., Elsevier,
2003.
● Marwedel, P., “Embedded System Design - Embedded
Systems Foundations of Cyber-Physical Systems”, 2ª ed.,
Springer, 2011.
● Wolf, W., “Computers as Components - Principles of
Embedded Computing System Design”, Morgan Kaufmann
Publishers, 2ª ed., 2008.
● Gajski, D.D. et Al., G., “Embedded System Design - Modeling,
Synthesis and Verification”, Springer, 2009.
64
Projeto de Sistemas Embarcados – Prof. Marcos Zurita

Você também pode gostar