Você está na página 1de 44

Sistemas Embarcados Hardware parte 1

Prof. Me. Lzaro AS Pinto lazaro.pinto@metodista.br


SE-Apres02
1

Sistemas Embarcados Introduo

Sistemas eletrnicos embarcados (Embedded Electronics Systems) so sistemas computacionais de uso especfico, com seus recursos computacionais como memria e poder de processamento projetados restritamente para este propsito especial.

Sistemas Embarcados Motivao


Popularizao de dispositivos (computacionais) mveis (p.e. two-way pagers, telefones celulares, PDAs e palmtops) devido: custos/preos mais acessveis incorporao de novas funcionalidades Comunicao, mobilidade e poder de processamento integrados em vrios objetos com finalidades distintas. Dimenses reduzidas implicam em limitaes de desempenho, autonomia e maneabilidade. Reduo dos tempos de resposta nas transaes profissionais. Presso por tomada de deciso rpida e acertada.

Sistemas Embarcados Exemplos

Sistemas Embarcados Caractersticas - 1


A maioria dos sistemas embarcados so projetados para executar uma determinada tarefa com baixo custo. Muitos, mas no todos, tem requisitos de processamento em tempo real. Para grandes volumes (exemplo: telefones celulares) a reduo de custos se torna ainda mais determinante no projeto. Ambientes inspitos. Resultados de falhas podem ser catastrfico.
5

Sistemas Embarcados Caractersticas - 2


Interface restritiva: Visor de dimenses limitadas e baixa resoluo; Teclado de pequenas dimenses e funcionalidade restrita. Memria usualmente menor que 1 Mbyte. Capacidade de processamento baixa (devido a consumo e dimenses). Disponibilizaram em muitos casos de interfaces sofisticadas

Sistemas Embarcados Falha do Ariane 5


Guiana

Francesa, 4 de junho de 1996 Foguete destrudo 40 segundos aps o lanamento Perdas de US$800 milhes Problema ao mapear um nmero em ponto flutuante de 64 bits para um inteiro sinalizado de 16 bits Novo foguete mais potente que o anterior (Ariane 4) resultou em velocidade horizontal maior que 32767. Resultou em uma exceo de software Destruio automtica ativada
7

Sistemas Embarcados Falha da Rede Telefnica da AT&T

Sistemas Embarcados Plataformas


Tipos de CPUs utilizadas em sistemas embarcados: 1. Processador:
PowerPC IBM e Freescale (Motorola). X86 Intel e AMD. SuperH Renesas (Hitachi). MIPS MIPS Technologies. ARM Cirrus.

2. Microcontrolador:
8051 Atmel. PIC Microchip. AVR Atmel. MSP430 Texas Instruments. Encore Zilog.
9

Sistemas Embarcados Plataformas


3.DSP:
C6000, C5000 e C2000 Texas Instruments. Blackfin, Shark e TigerShark Analog Devices. Starcore Freescale.

4. FPGA (Field Programmable Gate Array):


Virtex, Spartan e CoolRunner Xilinx. Stratix e Cyclone Altera.

10

Sistemas Embarcados Ferramentas para Desenvolvimento


Compilador, Assembler e Debugger juntos em uma IDE (Integrated Development Environment). Cada fabricante possui uma IDE para o desenvolvimento com seus componentes, por exemplo:
VisualDSP++ da Analog Devices, CodeWarrior da Freescale, CodeComposer da Texas Instruments, etc.

No caso de microcontroladores, a IDE usualmente desenvolvida por terceiros e pode ser usada com componentes de diferentes fabricantes.

11

Sistemas Embarcados Ferramentas para Desenvolvimento


As linguagens C e C++ so largamente utilizadas em projetos de sistemas embarcados. O Assembly pode ser utilizado em pontos crticos do programa, onde exige-se uma grande carga computacional. Uma IDE completa normalmente custa mais do que a placa de desenvolvimento.

12

Sistemas Embarcados Hardware


A parte fsica de um sistema embarcado. Descreve a arquitetura bsica interna de funcionamento da unidade de processamento do sistema embarcado e os principais componentes e conceitos referentes a esse sistema. Um sistema embarcado uma caixa com componentes eletrnicos cujo entendimento facilita muito o desenvolvimento das aplicaes, uma vez que todos esses componentes devem ser corretamente configurados para o funcionamento apropriado do sistema embarcado.

13

Sistemas Embarcados Transistor


Considerado uma das maiores invenes do sculo passado, o transistor foi idealizado pelos pesquisadores da Bell Labs em dezembro de 1947. Dispositivo tinha funo de controlar o fluxo de corrente, sendo amplamente utilizado na telefonia e no rdio. De ao instantnea, no gera rudos nem atraso por aquecimento. Tambm funcionam como comutadores (chaves), sem atrasos devido ao funcionamento mecnico, o que acontece com os rels.

14

Sistemas Embarcados Circuitos Integrados


Definio: tambm conhecido por chip, um dispositivo microeletrnico que consiste de muitos transistores e outros componentes interligados capazes de desempenhar muitas funes. Suas dimenses so extremamente reduzidas, os componentes so formados em pastilhas de material semicondutor.

15

Sistemas Embarcados Circuitos Integrados


Aps a inveno dos transistores, as implementaes de circuitos digitais tornavam-se cada vez mais complexas. Pequenas calculadoras j utilizavam milhares de pequenos transistores. O nmero desse dispositivo empregado nos circuitos digitais aumentava rapidamente. Com isso veio a necessidade de reduzir a eletrnica envolvida, surgindo o circuito integrado (CI). A cada novo CI lanado aumentava a complexidade das aplicaes, possibilitando aplicaes que antes era quase impossvel de implementar.

16

Sistemas Embarcados CI - Encapsulamento


Os circuitos integrados possuem diversos formatos na indstria eletrnica, denominados de encapsulamentos, devido aos diversos processos de fabricao. s vezes eles so projetados para otimizar os espao, para facilitar a montagem ou em razo dos custos. Assim, diversos formatos da pastilha de silcio e dos terminais (pernas ou pinos) so utilizados. O mais comum o formato PDIP.

40-pinos

28-pinos

17

Sistemas Embarcados Circuito impresso


basicamente, uma placa onde esto montados os componentes eletrnicos de qualquer equipamento eletroeletrnico. Originalmente essa placa de fenolite ou fibra de vidro revestida em um lado ou ambos os lados por uma fina camada de cobre (chamada de placa virgem). Nessa camada de cobre ento transferido um desenho contendo os terminais e as pistas de interligao entre os componentes.

18

Sistemas Embarcados Circuito impresso


Os circuitos impressos foram criados para unir de forma permanente e eficiente os circuitos integrados aos diversos outros componentes de um circuito eletrnico, minimizando e em muitos casos at substituindo a utilizao de fios, realizando as devidas ligaes do circuito. O circuito impresso pode ser fabricado com placas de diversos materiais, e possui uma ou mais superfcies (faces) cobertas por uma fina pelcula de metal em que so desenhadas as trilhas condutoras, que representam o circuito. Nas trilhas so fixados os componentes eletrnicos pelo processo de soldagem.

19

Sistemas Embarcados Circuito impresso exemplos

Circuito impresso, trilhas e fixaes

Circuito impresso com componentes

20

Sistemas Embarcados Circuitos impressos


Existem diversos softwares para a confeco de circuitos impressos. O processo simples. Esquemtico desenho, sem levar em considerao a placa e a disposio dos componentes. Layout circuito gerado a partir do esquemtico (matriz). Neste caso, os softwares usam algoritmos de minimizao de rotas sem cruzamento de linhas.

21

Sistemas Embarcados Sistemas Embarcados


Os sistemas embarcados so compostos por uma unidade de processamento, que um circuito integrado, fixado a um circuito impresso. Um sistema embarcado possui uma capacidade de processamento de informaes vinda de um software que est embarcado na unidade de processamento nessa unidade. O software est embarcado na unidade de processamento (denominado de firmware).

22

Sistemas Embarcados Arquitetura Geral de um Sistema Embarcado


Cases: Play Station 2 Cmeras Sanyo VPC-SX500 Sistema para Controle de Acesso Veculos inteligentes Filtragem e pr-deteco de vazamento em oleodutos

23

Sistemas Embarcados Arquitetura Geral de um Sistema Embarcado


Memria componente mais evidente em um sistema embarcado, pois o local onde o software embarcado armazenado. Memria tambm utilizada para armazenar dados temporrios vindos de processamentos. Memria para armazenar as instrues bsicas do processador. Caractersticas das memrias:
Tempo de Acesso memria para realizar operao de leitura/gravao. Capacidade quantidade efetiva de dados que podem ser armazenados no interior da memria. No volatilidade capacidade de a memria manter seus dados mesmo quando no houver energia eltrica. Tempo de Latncia intervalo mnimo entre cada operao de leitura ou escrita na memria. Pode causar a perda ou manipulao incorreta de dados, se for utilizado espaos indevidos.
24

Sistemas Embarcados Arquitetura Geral de um Sistema Embarcado


Vrias tecnologias de fabricao de memrias:
Memria RAM voltil, aleatria e acesso direto. Memria ROM No voltil, apenas leitura, programada pelo fabricante, armazena a BIOS, usada em calculadoras e impressoras. Memria PROM um tipo de ROM, vem em branco a fim de ser programada pelo projetista da aplicao. gravada uma nica vez. Memria EPROM um tipo de memria PROM, cujo contedo pode ser apagado quando submetido a processos especiais, como luz ultravioleta. Pode ser reprogramada algumas vezes. Memria EEPROM do tipo ROM, que pode ser programada e tambm apagada por processos eltricos. Memria FLASH programvel e apagvel eletricamente, sendo possvel repetir esse processo rapidamente, s que com velocidades de leitura e escrita bem superiores a memria EEPROM.

25

Sistemas Embarcados Memria de Programa


Memria de programa o local onde fica armazenado o firmware do sistema embarcado, geralmente uma memria FLASH, que fornece ao programador a possibilidade de gravar muitas vezes o seu software embarcado. O espao livre dessa memria pode ser reutilizado como extenso da memria de dados. Memria no voltil.

26

Sistemas Embarcados Memria de Dados


A memria de dados compreende a parte onde sero alocados (armazenados) os registros, as variveis e todos os espaos reservados para o processamento temporrio. Visto que, quando houver o corte da energia, essa memria perde seus dados (volatilidade). Essa memria tem o funcionamento semelhante memria RAM de um computador pessoal.

27

Sistemas Embarcados Memria de Armazenamento


Em grande parte das aplicaes com sistemas embarcados, necessrio o acoplamento de uma memria no voltil extra para o armazenamento de dados de forma segura. Assim, os fabricantes comeam a introduzir pequenas memrias EEPROM nas pastilhas do componente processador, as quais competem diretamente com o espao fsico de outros perifricos internos. Caractersticas no perder seu contedo. A memria EEPROM usada para guardar dados importantes ou alguns parmetros de processamento.

28

Sistemas Embarcados Processadores RISC x CISC


CISC Conjunto de instrues mais complexos conforme mais complexa a instruo maior ser o espao ocupado no chip, podendo at a comprometer o desempenho. RISC Conjunto reduzido de instrues instruo so mais simplificadas, com formato fixo, e devem levar apenas um ciclo de clock na execuo.

RISC

CISC
29

Sistemas Embarcados Processadores CISC


Contedo explicativo do linfograma
1. Rotinas contendo instrues como MOVE, ADD,MULT, alm de endereos de variveis contidos na memria RAM. 2. As rotinas no so do mesmo tamanho, elas devero ser segmentadas de acordo com os ciclos de execuo do processador. Isto consome mais tempo da CPU. 3. Unidade de decodificao, onde as rotinas so modificadas em microcdigos chamados UOPS. Os quais sero enviados para codificao junto unidade lgica aritmtica. 4. Os microcdigos, so executados passo a passo e isolados at completar a rotina inicial. 5. Para executar os microcdigos, necessrio a participao de vrios circuitos complexos. Isto tambm consome mais tempo, entorno de 4 a 10 ciclos de CLOCK para uma nica instruo.

30

Sistemas Embarcados Processadores RISC


Contedo explicativo do linfograma:
1 - A instruo neste caso, j se encontra no formato de um microcdigo. Estes microcdigos devero ser recompilados e computados para a execuo correta de CPU. 2 - Como estas instrues so mais simples e passam por um nmero menor de transistores, elas acabam sendo executadas mais rapidamente consumindo apenas um ciclo de CLOCK da CPU. Isto torna a plataforma RISC mais rpida que a CISC. 3 - Todos os comandos RISC so do mesmo tamanho, eliminando o retrabalho de segmentao das rotinas. Isto consome menos tempo da CPU. 4 - Neste passo, so definidas quais instrues sero executadas de maneira independente possibilitando a execuo simultnea de at 10 instrues em paralelo.

31

Sistemas Embarcados Clock


O clock fornece a sensibilidade de tempo para o processador, ou seja, ele fornece um sinal que uma onda quadrada, por isso frequentemente chamada de oscilador. A cada nvel alto dele, uma instruo no mnimo executada, dependendo das caractersticas fsicas do processador. Um ciclo de clock consiste na diferena entre dois nveis altos dessa onda do oscilador. O clock define a velocidade de processamento. Quanto mais rpido o oscilador mais veloz ser o processamento. Microcontroladores trabalham geralmente at 40 mHz, enquanto existem DSPs que alcanam at 800 mHz.

32

Sistemas Embarcados Registradores


So pequenas unidades de memria para alocao temporria de dados. Ou seja, trabalham diretamente com o processador, armazenando os resultados de suas operaes lgicas e aritmticas temporariamente at que esse dados seja reutilizado em outra instruo ou transferido para outra forma de memria.

33

Sistemas Embarcados Contador de Instruo


um registrador cuja funo armazenar o endereo da prxima instruo a ser executada. Quando essa instruo inicia a execuo, o contedo desse registrador logo atualizado para o endereo da prxima instruo a ser executada. Funes de um processador:
Buscar uma instruo na memria; Interpretar a operao desta instruo; Buscar os possveis dados necessrios para execuo desta instruo; Executar a operao com os dados e armazenar o resultado. Reiniciar o processo buscando uma nova instruo.

Essa sequncia chamamos de ciclo de instruo.

34

Sistemas Embarcados Contador de Instruo


Um processador simplesmente uma unidade de processamento matemtico (ALU) Toda instruo decomposta nas operaes fundamentais: aritmticas (adio, subtrao, multiplicao e diviso), lgicas boolianas (And, Or, Xor), nos deslocamentos, nos complementos ou nos decrementos e incrementos.

35

Sistemas Embarcados Contador de Instruo


A multiplicao realizada como somas e deslocamentos sucessivos (o mesmo acontece para a diviso que realizada por subtraes e deslocamentos sucessivos), ressaltando novamente que todas as operaes se realizam com algarismos binrios. Prxima pgina mostra um exemplo de como se realiza uma multiplicao de 2 (0010 em binrio) por 3 (0011 em binrio) que resulta 6 (0110 em binrio).

36

Sistemas Embarcados Contador de Instruo


Repeti o
0 1 1 2 2 3 3 4 4 Valores Iniciais Produto(Alto) = Produto (Alto) + Multiplicando Deslocamento direita do Produto Produto(Alto) = Produto (Alto) + Multiplicando Deslocamento direita do Produto Nenhuma operao Deslocamento direita do Produto(Alto) Nenhuma operao Deslocamento direita do Produto(Alto)

Instruo

Multiplic ando
0010 0010 0010 0010 0010 0010 0010 0010 0010

Produto Alto
0000 0010 0001 0011 0001 0001 0000 0000 0000

Produto Baixo
0011 0011 0001 0001 1000 1000 1100 1100 0110

37

Sistemas Embarcados Contador de Instruo


Todos os componentes eletrnicos possuem uma descrio completa fornecida pelos fabricantes (datasheet) e seu entendimento extremamente necessrio para o correto conhecimento e uso do componente. O desenho da pgina seguinte detalha o microprocessador PIC16F84A.

38

Sistemas Embarcados Contador de Instruo

39

Sistemas Embarcados Contador de Instruo


As memrias de programa (flash), de dados (ram) e de armazenamento (eeprom) j foram vistas, com seus registradores EEDATA e EEADR que representam, respectivamente, o dado e o endereo da memria. Program Counter com seus oito nveis de pilha (stack) apenas uma forma de organizao de memria. Data Bus e Program Bus barramento de dados e de programa so separados, pois utilizam a arquitetura Harvard com filosofia RISC. I/O Ports portas de entradas e sadas, que nada mais so que seus terminais (pinos) para a entrada e sada de sinais. Instruction Decode & Control decodificador e controlador de instruo e o gerador de clock (Timing Generation) so ligados ao oscilador externo.
40

Sistemas Embarcados Contador de Instruo


Alimentao (VDD), o terra (VSS), o reset externo (MCLR) e alguns registradores especiais, como:
O registro de status que contm o status aritmtico da ALU. O registro FSR que um ponteiro para o endereamento indireto de memria.

Multiplexador de endereos (ADDR MUX), que realiza o chaveamento entre os endereamentos direto e indireto da memria. A unidade de processamento contm diversas unidades independentemente que trabalham em paralelo. Uma delas busca as instrues e outras as decodificam e executam. Pipeline conceito importante quando se fala em processamento.
41

Sistemas Embarcados Contador de Instruo

42

Sistemas Embarcados Contador de Instruo


O RISC utiliza largamente o conceito de pipeline, forando a iniciar a execuo de uma instruo por ciclo de clock, desprezando seu trmino. Em uma mdia, temos a execuo de uma instruo por ciclo de clock, que representa um desempenho considervel. O Risc atinge uma velocidade de duas a quatro vezes maior que os processadores Cisc, utilizando tecnologia de semicondutor equivalente e os mesmos valores de clock.

43

Sistemas Embarcados

FIM

44

Você também pode gostar