Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2...

25
Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico Ferlini Aula 2

Transcript of Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2...

Page 1: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

Universidade do Sul de Santa CatarinaEngenharia Elétrica - Telemática

UN

ISU

L –

2012

/ 2

Engenharia de Software para Computação Embarcada

Prof. Frederico Ferlini

Aula 2

Page 2: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

2

1. COMPUTAÇÃO EMBARCADA DEFINIÇÃO EXEMPLOS DESAFIOS DE PROJETO METODOLOGIAS DE PROJETO

2. FLUXO DE PROJETO3. FORMATO DOS RELATÓRIOS DE LABORATÓRIO

CONTEÚDO

Page 3: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

3

• Definição: Qualquer dispositivo que contenha um computador

programável que não seja de propósito geral [Wol08]

Resumo: Dispositivo programável cujo o computador é dedicado ao sistema que ele controla

• O projeto é otimizado observando vantagens características da aplicação:

• Mais otimizado que um computador de propósito geral

Computação Embarcada

Page 4: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

4

• Exemplo básicoComputação Embarcada

CPU

mem

input

output analog

analog

embeddedcomputer © 2008 Wayne Wolf

Page 5: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

5

• Exemplos: Aparelhos eletrônicos

• Celulares• Impressoras• TV Digital• Eletrodomésticos

Avião:• Controlador de vôo• Controle de Navegação/

Comunicação

ETC...

Automóvel• Sistema de frenagem• Sistema de segurança

(colisão = air bags)• Motorização

Computação Embarcada

Page 6: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

6

• Anos 70 Automóveis: começam a ser construídos com

controladores baseados em microprocessador:• Misturador ar / combustível• Motor (tempos)• Emissão de poluente• Eficiência do combustível• Modos de operação:

Warm up Cruzeiro Subida Esportiva

Computação Embarcada

HISTÓ

RIA

Page 7: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

7

• Atualmente Automóveis de ponta possuem mais de 100 PROC

• CTRL de 4-bits para verificação do uso do cinto de segurança• CTRL para computadores de bordo• 16/32-bit microprocessadores para o controle do motor

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABS hydraulicpump

© 2008 Wayne Wolf

Computação Embarcada

HISTÓ

RIA

Page 8: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

8

• Atualmente Automóveis de ponta possuem mais de 100 PROC

• CTRL de 4-bits para verificação do uso do cinto de segurança• CTRL para computadores de bordo• 16/32-bit microprocessadores para o controla do motor

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABS hydraulicpump

© 2008 Wayne Wolf

Computação Embarcada

HISTÓ

RIA

BMW 850i

ASC+T (Automatic Stability Control)

• Aceleração• Tempo de ignição

• Frenagem• Troca de marcha

ABS (Anti-lock Brake System)

Page 9: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

9

• Características Gerais Algoritmos complexos

• Funcionalidade sofisticadas

Aplicações de tempo real

Baixo custo Baixo consumo de energia Projetado por equipes pequenas e com deadlines curtos

Computação Embarcada

Interface Gráfica Múltiplos Algoritmos

Hard Real Time = catastrófico!!Soft Real Time = degradação

Janela de mercado de 6 meses é comum

Page 10: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

10

• Por que usar microprocessadores? Alternativas:

• FPGAs, ASICs, custom logic... NRE (pesquisa, projeto, desenvolvimento e teste) muito caro. Custo justificável?

Muito Eficiente de modo geral• Pode ser utilizado para realizar diversas funções

Simplifica o projeto de diferentes famílias de um mesmo produto• Atualização do firmware = adição de funcionalidades

Tecnologia de ponta

Computação Embarcada

MELHOR ESCOLHA NA GRANDE MAIORIA DOS CASOS!!

Page 11: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

11

Computação Embarcada• PROJETO

LISTA DE REQUISITOS• Não – funcionais

Peso, tamanho, etc. Consumo de energia Confiabilidade Tempo máx. de operação Custo Performance

• Funcionais Entradas Saídas (Saída em função das entradas)

Basicamente são as funcionalidades que o cliente quer!!!

REQUISITOS

Especificação

Arquitetura

DesenvolvimentoHW / SW

Integração

FLUXO DE PROJETO

Page 12: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

12

• PROJETO ESPECIFICAÇÃO

• O que é necessário para implementar cada item da lista de requisitos Recomendações: ITU-T

(ITU’s Telecommunication Standardization Sector)

• Detalhamento da funcionalidade de cada item.

• Diagramas de estados, de tempo.... • Início da divisão entre HW e SW

Computação Embarcada

Requisitos

ESPECIFICAÇÃO

Arquitetura

DesenvolvimentoHW / SW

Integração

Page 13: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

13

• PROJETO ARQUITETURA

• HW e SW separados

• Componentes de HW CPUs, memórias, periféricos, etc.

• Componentes de SW Programas e suas funcionalidades...

• Máquina de estados

• Interação entre unidades do projeto.

Computação Embarcada

Requisitos

Especificação

ARQUITETURA

DesenvolvimentoHW / SW

Integração

Page 14: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

14

• PROJETO DESENVOLVIMENTO

• Começa-se a mexer em código!!

• Desenvolvimento por unidades

• Necessidade de mudanças: Especificação e Arquitetura... Processo cíclico

• Já se define os testes necessário para validar cada unidade

Computação Embarcada

Requisitos

Especificação

Arquitetura

DESENVOLVIMENTOHW / SW

Integração

Page 15: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

15

• PROJETO INTEGRAÇÃO

• Integração das unidades desenvolvidas Aparecimento de novos problemas

• Teste com todo o sistema

• Verificação do atendimento dos requisitos Pessoa diferente do desenvolvedor

Computação Embarcada

Requisitos

Especificação

Arquitetura

DesenvolvimentoHW / SW

INTEGRAÇÃO

Page 16: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

16

• PROJETO LINGUAGENS

• UML (Unified Modeling Language)• SysML (Systems Modeling Language)• AADL (Architecture Analysis & Design Language)• …

FERRAMENTAS• Rational ROSE – IBM

UML e SysML

• TOPCASED- (OpenSource) Airbus UML, SysML e AADL (versão OSATE)...

• ...

Computação Embarcada

IBM Rational DOORS-Embraer-Mectron-Elbit / AEL-Boeing-...

Page 17: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

17

• PROJETO LINGUAGENS E FERRAMENTAS

• Objetivo?

Computação Embarcada

Requisitos

Especificação

Arquitetura

DesenvolvimentoHW / SW

Integração

R: VERIFICAR O ATENDIMENTO DOS REQUISITOS

IBM Rational DOORS

IBM Rational DOORS-Ligação de cada item desenvolvido com determinado requisito

Documentação do SWpadrão: MIL-STD-498

Page 18: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

18

• PROJETO Exemplo: Mapa digital com localizador GPS

• Obtém a localização pelo GPS• Imprime o mapa com as

informações da base de dados local

Computação Embarcada

- Funcionalidade: Para uso automotivo. Mostra as principais ruas e pontos de interesse.- Interface (usuário): no mínimo tela de 400 x 600 pixel. No máximo três botões. Menu.- Performance: O mapa deve rolar suavemente. Power-up de no máximo 1s. GPS Lock menor que 15 segundos.- Custo: $120 venda = aprox. $30 total de todos os componentes.

lat: 40 13 lon: 32 19

BR-101

BR-2

82

- Caract. Físicas: Deve caber na palma da mão- Consumo: 8h com 2x AA.

Page 19: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

19

• PROJETO Exemplo: Mapa digital com localizador GPS

• Requisitos

Computação Embarcada

Nome Mapa digital com localizador GPS Objetivo Mapa com localizador GPS para uso automotivo.Entradas 1 botão liga/desliga, 2 de controle.Saídas Visor LCD 400 X 600Descrição (Tarefas)

-Utiliza sistema de 5-receiver GPS;-Usuário pode escolher entre 3 tipos de resoluções- Sempre mostra latitude e longitude

Performance Atualização da tela a cada 25ms quando em movimentoCusto de Fabricação $30Consumo 100 mWPeso/Tamanho 2”X 6”, 12 oz.

Page 20: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

20

• PROJETO Exemplo: Mapa digital com localizador GPS

• Especificação

a) Formato da informação recebida pelo GPS;b) Padrão dos dados salvos no banco de dados do mapa;c) Interface com o usuário;d) Operações necessárias para satisfazer os requisitos do

usuário;e) Operações de background que servem para manter o

funcionamento do sistema.....

Computação Embarcada

Page 21: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

21

• PROJETO Exemplo: Mapa digital com localizador GPS

• Arquitetura

Os principais componentes que constituem o sistema

Computação Embarcada

GPSreceiver

searchengine renderer

userinterfacedatabase

display

© 2008 Wayne Wolf

Page 22: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

22

• PROJETO Exemplo: Mapa digital com localizador GPS

• Arquitetura HARDWARE

CPU? Memória? Antena?....

Computação Embarcada

GPSreceiver

CPU

panel I/O

display framebuffer

memory

© 2008 Wayne Wolf

Page 23: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

23

• PROJETO Exemplo: Mapa digital com localizador GPS

• Arquitetura SOFTWARE

Principais programas e suas funções...

Computação Embarcada

position databasesearch renderer

timeruserinterface

pixels

© 2008 Wayne Wolf

Page 24: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

24

• PROJETO Exemplo: Mapa digital com localizador GPS

• Desenvolvimento Primeiro contato com código... Teste dos componentes separadamente, o máximo que possível Definição dos testes com o sistema integrado

• Integração Novos bugs Verificação do atendimento dos requisitos

• Ok? Fechamento de versão

Computação Embarcada

Page 25: Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

25

• Levantamento de Requisitos Alto nível

• Especificação Detalhamento

• Arquitetura Diagrama de blocos Fluxo do funcionamento

• Desenvolvimento VHDL

• Documentação Print Screens da simulação VHDL (Comentado)

Formato Relatórios Laboratório