Você está na página 1de 62

Universidade Positivo Curso de ps-graduao em Construo e Desenvolvimento de Sistemas Embarcados

Arquitetura de Sistemas Embarcados I


Eng. Nilton Barbosa Armstrong Junior narmstrong@tecpar.br

Currculo acadmico
1994-1998: Curso tcnico em eletrnica UTFPR
Sistemas de automao microprocessada

2000-2004: Engenharia de Computao Universidade Positivo


Sistema de DSP Engenharia biomdica

2005-2008: Mestrado em Informtica Industrial UTFPR


Sistemas de lgica programvel Sistemas paralelizados Cluster Algoritmos de busca Bioinformtica (dobramento de protenas)

Currculo profissional
1999-2004: Procomp Industria eletrnica Manuteno e anlise em sistemas eletrnicos de automao 2004-2006: Esso Brasileira de Petrleo Administrao de acesso e suporte de segundo nvel

Currculo profissional
2006-atual: Instituto de Tecnologia do Paran Tecpar Diviso de Inteligncia Artificial
Pesquisa e desenvolvimento em Inteligncia artificial Sistemas especialistas Sistemas paralelizados Cluster e Grid

Sistemas multi-agentes
Sistemas de automao comercial Inteligncia em dispositivos mveis J2ME, C++ e C# embarcados Anlise cromtica inteligente de gramneas

Anlise de Firmware (C, AHDL e VHDL)


Robtica eletrnica analgica e digital Orientao de bolsista de iniciao cientfica Participao em congressos

Ementa da Disciplina
Avaliar os conceitos iniciais de desenvolvimento de sistemas embarcados. Avaliar solues, obtendo o mximo de otimizao possvel, permitindo desta forma, um melhor desempenho na relao custo X benefcio de um produto final. Criar solues aparentemente complexas utilizando microcontroladores de baixo custo, desempenho relativamente pequeno, pouca memria e perifricos internos.

Projeto da Disciplina
Arquiteturas RISC e CISC de microcontroladores, Diferena entre arquiteturas de 8, 16 e 32 bits,
AVR

ARM

Perifricos comuns a microcontroladores


Timers, PWM, interrupes, UART, SPI, I2C e outros

Aplicaes tpicas
8 bits, 16 bits e 32 bits.

Pr-requisitos
Circuitos digitais e microprocessados Linguagem ANSI C: para a programao dos microcontroladores

Linguagem de programao de alto nvel para a


programao em desktop

Conhecimentos desejveis
Circuitos analgicos:
Interface com os sensores

Instrumentao eletrnica:
Diagnstico e testes

Avaliao
Trabalhos:
Entrega na aula posterior. Valor fixo em 1,0 ponto

Defesa de projeto prtico:


Divulgao na aula n2 e entrega na aula n6

Individual ou em dupla

10

Bibliografia
LABROSSE J.; GANSSLE J.; OSHANA R.; WALLS C.; CURTIS K.; ANDREWS J.; KATZ D.; GENTILE R.; HYDER K.; PERRIN B.; EMBEDDED SOFTWARE - Know it all, 1st ed., Newnes, Oxford: 2008. GANSSLE J.; NOERGAARD T.; EADY F.; EDWARDS L.; KATZ D.; GENTILE R.;

ARNOLD K.; HYDER K.; PERRIN B.; HUDDLESTON C.; EMBEDDED HARDWARE
- Know it all, 1st ed., Newnes, Oxford: 2007 BARR M.; EMBEDDED C CODING STANDARD, 1st ed., Netrino Institute, Maryland: 2009. NOERGAARD, T.; Embedded Systems Architecture; 1st ed.; Elsevier; New York; 2005 MARWEDEK, P.; Embedded System Design; 1st ed.; Elsevier; New York; 2006

11

Bibliografia
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: Princpios e Aplicaes. 10ed. NICOLOSI, D. E. C. Microcontrolador 8051 detalhado. 2 ed.

PATTERSON, D. A.; HENNESSY, J. L. Organizao e Projeto de


Computadores: A Interface Hardware/Software. 2 ed. TOKHEIM, Roger L. Introduo aos Microcontroladores.

12

Cronograma 30horas/aula
Data 17/mar/2012 31/mar/2011 14/abr/2011 28/abr/2011 12/mai/2011 26/mai/2011 Planejamento Introduo a Sistemas embarcados Arquiteturas AVR e ARM Perifricos Projeto de firmware Projeto de driver de perifericos Gerenciamento de energia Projeto final

13

Objetivos desta aula


Introduzir o conceito de Sistemas Embarcados Mostrar seu ciclo de desenvolvimento Apresentar a arquitetura genrica do Sistema Embarcado e seus componentes Introduzir o conceito e a arquitetura genrica dos microcontroladores

Panorama de Mercado

14

Sistemas Embarcados

Computadores dedicados, eficientes e confiveis porm com alguma limitao funcional em relao ao computador desktop

15

O que so sistemas embarcados?


Sistemas microprocessados portteis ou no, destinados a uma ou a um conjunto definido de funcionalidades, em tempo-real ou no; Funcionalidade global esttica e funcionalidade local dinmica; No so mquinas genricas, como os desktops;

16

Sistemas embarcados Cenrio das dcadas de 50-70


Eletrnica rudimentar Dispositivos eletromecnicos

Circuitos digitais discretos: muitos circuitos integrados


Pouca autonomia Pouca capacidade computacional Exemplos:
Calculadoras mecnicas, circuitos comutados, computadores discretos

17

Motivaes para o surgimento


Substituio de lgica discreta Manuteno de funcionalidade Melhor controle de sistemas eletromecnicos: Proteo da propriedade intelectual

18

Motivaes para o surgimento


Substituio de lgica discreta:
Dcada de 70: primeiros microprocessadores
Ex.: calculadoras

Reduo de custo de fabricao Facilidade de reprogramao

Manuteno de funcionalidade:
Fcil adio e remoo de funcionalidades Upgrades feitos remotamente Software muda e hardware permanece inalterado

19

Motivaes para o surgimento


Melhor controle de sistemas eletromecnicos:
Ex.: Controle de motor veicular:
Perfis de funcionamento (econmico, torque, velocidade) Monitoramento de sensores

Proteo da propriedade intelectual


Em geral, pode-se configurar um dispositivo para no permitir a recuperao do firmware

20

Motivaes para o surgimento


Processamento digital de sinais (DSP):
Capacidade de incorporar funcionalidades analgicas em circuitos digitais:
Filtros digitais Modulao e demodulao Recuperao de informao

Transformao
Codificao: TV digital, mp3 Anlise de imagens: mouse ptico

21

Exemplos de sistemas embarcados


Automveis: ignio, injeo eletrnica, ABS Eletrnicos: TV, DVDs, VCRs, eletrodomsticos, cmeras Indstria: robs e sistemas de controle

Medicina: monitores cardacos, prteses


Telecomunicaes: roteadores, hubs

22

Desafios em um sistema embarcado


Voltar a pensar como era feito o desenvolvimento h 3 dcadas Memria limitada

Poder de processamento e opes de depurao limitados Baixo consumo


Maximizao da vida de baterias
Fonte: A Boss's Quick-Start to Firmware Engineering, Part 1, Ganssle Group, http://www.ganssle.com/articles/abossguidepi.htm

23

Desafios em um sistema embarcado


Processamento em tempo-real Processos que, se no executados no tempo correto, invalidam o sistema Dimenses reduzidas GPS, radar, detector de minas, celular

Fonte: Wayne; What and Why about Architecture for Embedded Systems; Department of Electrical Engineering, Princeton University, 2000;

24

Desafios em um sistema embarcado


Investir em inspeo do cdigo Em grandes equipes o mesmo cdigo revisto por at quatro pessoas

Depurar mais caro e mais difcil


Corrigir erros ainda mais caro! Reduzir os custos de manufatura Poucos componentes e/ou cdigo executvel reduzido
Fonte: Wayne; What and Why about Architecture for Embedded Systems; Department of Electrical Engineering, Princeton University, 2000;

25

Desafios em um sistema embarcado


Programar eficientemente Custo por linha (sistema final) $15-$30 $100 $1000 Finalidade do firmware Comercial Militar Espacial

Fonte: A Boss's Quick-Start to Firmware Engineering, Part 1, Ganssle Group, http://www.ganssle.com/articles/abossguidepi.htm

26

Metodologia de desenvolvimento
Processo que define os passos a serem tomados Visa fazer com que as equipes pensem todos na mesma direo Fundamental em equipes de qualquer tamanho Importantssima para ser competitivo

27

Importncia da metodologia de desenvolvimento


Time-to-market:
Quem chega antes ganha o mercado Alguns produtos tm ciclo de vida curto: lucra-se por 3 meses apenas Market window: produtos sazonais

Custo de projeto:
Aumento do custo final de manufatura

Qualidade:
No basta um produto eficiente e barato. Tem que ser confivel, usvel e correto

28

Metodologia de desenvolvimento
Modelo Waterfall
Refinamento sucessivo Projeto de hardware e software combinado Modelo hbrido

Modelo Waterfall
Requisitos

Arquitetura Implementao

Teste Manuteno

Fonte: Picking the right system design methodology for your embedded apps: Part 1

Refinamento sucessivo
Especificao Especificao
...

Arquitetura

Arquitetura

Projeto

Projeto

Implementao

Implementao

Teste

Teste
Fonte: Picking the right system design methodology for your embedded apps: Part 1

Projeto de HW/SW combinado


Requisitos e especificao

Arquitetura Projeto de Hardware Projeto de Software

Integrao

Manuteno
Fonte: Picking the right system design methodology for your embedded apps: Part 1

Modelo hbrido
Concepo do produto

Analise dos requisitos


Projeto da arquitetura Desenvolvimento (implementao) do sistema Correes Reviso e teste do sistema

Desenvolvimento da arquitetura

Entrega da verso final da arquitetura

Incorporao do feedback

Implementao da arquitetura

Reviso e feedback

Entrega e manuteno do sistema

Adaptado de: NOERGAARD, T.; Embedded systems architecture: a comprehensive guide for engineers and programmers; Oxford; Elsevier, 2005.

Estratgia genrica (Waterfall)


Requisitos

Arquitetura

Descrio do comportamento Projeto do Sistema Necessidades do cliente


Conformidade a normas Escolha dos componentes e Viabilidade financeira Implementao ferramentas Planejamento da implementao Firmware Teste Soluo de problemas Hardware Software Validao Layout Manuteno Design de produto Correo de erros
Fonte: Picking the right system design methodology for your embedded apps: Part 1

Implementao

Teste

Manuteno

34

Arquitetura genrica de um sistema embarcado


Abstrao do sistema embarcado Composta de elementos que representam relaes estruturais e comportamentais Define poucos detalhes sobre os elementos Deve incluir os elementos internos e externos do sistema embarcado

Arquitetura genrica de um sistema embarcado


FPGA / ASIC Memrias

MCU

Sistemas auxiliares (Alimentao, arrefecimento, comunicao)

Sensores

A/D

CPU

D/A

Interface humana
Sistemas de backup e segurana eletromecnicos

Porta de Diagnstico

Portas de comunicao

Atuadores

Fonte (adaptado): KOOPMAN, P. J., Embedded System Design Issues, Proceedings of the International Conference on Computer Design, 1996.

36

Escolhendo um microcontrolador
DigiKey apresenta mais de 32500 opes (mar/2011) Aprox. 11% a mais que em abr/2010 Diviso entre 8, 16 e 32 bit cada vez menos evidente Deciso errada pode comprometer o futuro do produto Pode significar perda da vantagem competitiva

37

Questes-chave na escolha
Finalidade Matemtica x Controle Largura de barramento da arquitetura Aplicao do produto final Impacto no desempenho Custo Freqncia de operao Freqncia x Desempenho x Custo Dificuldade de layout (High-Speed design)

38

Questes-chave na escolha
Desempenho Kernel: Execuo de cdigos de mquina (MIPS) Sintticos: Dhrystone, CoreMark, Whetstone

Outros: I/O Benchmarchs, Parallel benchmarks


Arquitetura adequada para o produto

RISC sinnimo de desempenho, porm diversos CISC atingem 80MIPS a 80MHz

39

Questes-chave na escolha
Funcionalidades do microcontrolador PoR, BrownOut, DSP, on-board debug, PLL, timers, comunicao Planos para o futuro: compatibilidade de novas verses, novos perifricos

Tempos de escrita e apagamento da flash


Tamanho x Tempo de Gravao Velocidade X Custo

40

Questes-chave na escolha
Velocidade da CPU x velocidade da Flash Preferivelmente zero Wait-States

Tamanho do armazenamento em Flash


Tamanho x Custo x Expansibilidade

rea ocupada
rea x Dissipao x Custo da PCI

41

Questes-chave na escolha
Consumo Sleep mode, longevidade da bateria, necessidade de emisso eletromagntica Tenso de alimentao x Consumo Freqncia de operao x Custo Tipo, tamanho e custo da bateria

42

Questes-chave na escolha
Necessidade de atendimento a normas: Ambientais: ROHS, Pb-free, etc. Tcnicas: Anatel, FCC, IEC, SIL, , DO-178B, MISRA, Netrino, etc. Faixa de temperatura Normal, Militar, Espacial

43

Questes-chave na escolha
Ferramentas de desenvolvimento Linguagem Suporte futuro

Preo
Reusabilidade Depurador (emulado e on-chip)

Otimizador
Profiler
Fonte: Before Selecting A Microcontroller, Ask Yourself These Seven Questions,By Roland Gehrmann, January 23, 2007 Selecting an embedded MCU: How to avoid evaluation trap? by Didier MAURER , Aurlie DESCOMBES from Dolphin Integration, 2010

RISC x CISC
RISC Reduced Instruction Set Computer
Instrues de mquina Execuo da instruo

CISC - Complex Instruction Set Computer


Instrues de mquina Converso para microcdigo

Microcdigo

Execuo do microcdigo

Comparao CISC x RISC


CISC Filosofia Instrues Tamanho do cdigo executvel Tipos de dados N de instrues por programa Utilizao Projeto HW simples Multi-clock RISC Projeto de SW simples Single Clock

Pequeno
Numerosos Poucas Assembly fcil de usar Restrio de tamanho de ROM

Grande
Somente os bsicos Muitas Mais fcil o uso de compiladores de alto-nvel Necessidade de clock reduzido

Arquitetura Von Neumann


Memria Flash
Instrues + dados

Memria RAM
Dados

Endereo

Dados

CPU

47

Arquitetura Von Neumann com cache


Memria Flash
Instrues + constantes Endereo

Memria RAM
Dados

Dados

Controle
Controlador cache

Memria cache Dados

CPU

Dados

Arquitetura Harvard modificada


Memria Flash
Instrues + constantes

Memria RAM
Dados

CPU

Endereo B

Endereo A

Dados B

Dados A

Arquitetura Harvard + Von Neumann


Memria principal (Flash + RAM)

Endereo C

Memria cache Instrues Instrues + constantes Endereo A

Dados

Memria cache Dados Dados

Controlador da cache

Controle

CPU

Endereo B

Dados B

Dados A

50

Arquiteturas de memria
Memrias cache so muito caras O processo de cache no determinstico Arquitetura Harvard pode ser mais rpida, porm potencialmente mais cara Tendncia de se utilizar abordagens hbridas

51

Alternativas ao microcontrolador
ASIC

Desempenho

Microcontroladores

Lgica discreta

FPGA

Flexibilidade

52

Alternativas ao microcontrolador
Lgica discreta

Custo seriado

FPGA

ASIC Microcontroladores

Desempenho

53

Alternativas ao microcontrolador
Clculo matemtico
DSP

MSP

Microcontroladores

Manipulao de dados

54

Panorama de mercado
Participao no mercado das diversas arquiteturas:
Arquitetura 8bit 16bit 32bit Outros Participao no mercado 60% 15% 9% 16%

Fonte: http://www.ganssle.com/articles/8and16bit.htm

55

Panorama de mercado
Quantidade de projetos que contm pelo menos um processador de:
Tamanho do registrador 4 bit 8 bit Quantidade 0% 42.3%

12/14 bit
16bit 24 bit 32 bit 64 bit

4.5%
36.3% 1.5% 64.5% 3.4%

Fonte: GANSSLE, J.; The Embedded Muse; n. 132; agosto, 2006.

56

Panorama de mercado
Quantidade de projetos em que as empresas investiram por segmento:
Segmento Eletro-eletrnicos Automao comercial Automotivo Militar/aeroespacial Mdico Telecomunicaes Automao industrial Outros Quantidade 22.8% 9.1% 11.3% 16.4% 11.4% 24.5% 27.8% 19.4%
Fonte: GANSSLE, J.; The Embedded Muse; n. 132; agosto, 2006.

57

Panorama de mercado
Perfil de paradigma de programao de firmware:
Recurso de Orientao a Objetos Encapsulamento Herana Polimorfismo Nenhum deles Percentual 34.7% 22.2% 14.5% 63.5%

Fonte: GANSSLE, J.; The Embedded Muse; n. 132; agosto, 2006.

58

Futuro do mercado
Cenrio ps crise 2008-2009: Previso de aumento nas vendas de chips, mais de $270 bilhes em 2010

Previso de crescimento nas vendas at 2014


Previso de aumento da produo de ARM de 4 bilhes para 5 bilhes

Fontes: GANSSLE, J.; The Embedded Muse; n. 191; Marco, 2010. e Yiu, J.; What s next for microcontrollers? em www.embedded.com, acessado em 22/mar/2010

59

Futuro do mercado
Cenrio ps crise 2008-2009: Previso de crescimento no segmento de embarcados de mais de 4% at 2013

Previso da industria automotiva de crescer o nmero de linhas de cdigo de 100 milhes para 200-300milhes por carro (de luxo)

Fontes: GANSSLE, J.; The Embedded Muse; n. 191; Marco, 2010. e Yiu, J.; What s next for microcontrollers? em www.embedded.com, acessado em 22/mar/2010

60

Futuro do mercado
Tendncia de migrao de 8bit para 32bit Desempenho muito maior Melhor a acesso s instrues Complexidade dos projetos cada vez maior Pensamento em expanso do sistema Em geral, menor consumo Executveis menores Diferena de custo cada vez menor
Fontes: GANSSLE, J.; The Embedded Muse; n. 191; Marco, 2010. e Yiu, J.; What s next for microcontrollers? em www.embedded.com, acessado em 22/mar/2010

61

Referncias
http://www.eetimes.com/ http://www.ganssle.com/

http://embeddedgurus.com/

http://microcontroller.com/

http://www.netrino.com/

http://www.embedded-systems.com/

http://circuitcellar.com/

http://www.iqmagazineonline.com/current/

62

Artigos interessantes
http://www.embedded.com/columns/guest/223500065 http://www.ganssle.com/articles/8and16bit.htm http://www.embedded.com/design/222200229

http://www.eetimes.com/design/embedded/4008863/Whatnext-for-microcontrollers http://www.ganssle.com/tem/tem191.htm http://www.embedded.com/columns/technicalinsights/21160 0577 http://microcontroller.com/wp/MicrosDSPs/micros_dsps.htm

Você também pode gostar