Engenharia de Sistemas Embarcados 2011. 1 Prof. Sergio Cavalcante cin / ufpe



Baixar 152,19 Kb.
Página1/2
Encontro15.09.2018
Tamanho152,19 Kb.
  1   2
Engenharia de Sistemas Embarcados 2011.1 - Prof. Sergio Cavalcante - CIn / UFPE

1. (1.5) Nas perguntas abaixo, use apenas o espaço disponível para suas respostas.

a) Cite 5 requisitos não funcionais comuns em sistemas embarcados.

b) Você diria que todo Sistema Embarcado é também um Sistema de Tempo Real? E se for vice-versa? Justifique sua resposta.

c) Quais são as vantagens e desvantagens de usar Software, Hardware (projetando um ASIC) ou ambos para implementar um Sistema Embarcado?

d) Escreva abaixo o que você entende por sistema embarcado (não escreva mais do que as linhas disponíveis).
e) O que são Sistemas Reativos?


2. (0,5) Escreva as características e em que condições são usados os seguintes dispositivos.

a) Embedded processor

b ) Micro-controlador de 8 bits

c) ASIP (Application-Specific Instruction-set Processor)

d) Processador de propósito único baseado em FPGA (Field Programmable Gate Array)

e) Processador de propósito único baseado em Circuitos Integrados de Aplicação Específica (ASICs)



3. (0,5) Nos conjuntos de requisitos da 2ª coluna, indique que plataforma de implementação é a mais adequada.

Conjunto de requisitos

Plataforma de implementação

1) Embedded processor (ex. PowerPC ou 80386 especial para sistemas embarcados

( ) Sistema que requer alta capacidade de processamento, demandando processamento com paralelismo real. Previsto, inicialmente, para vender algumas centenas de unidades. Seu time-to-market é crítico. É um produto original e, por isso, o custo final não é um fator crítico.

2 ) Micro-controlador de 8 bits

( ) Sistema que requer razoável capacidade de processamento, sem grandes problemas de espaço e potência elétrica, previsto para vender alguns milhares de unidades. A funcionalidade pode requerer alterações freqüentes.

3) ASIP (Processador de Aplicação Específica ou Application-Specific Instruction-set Processor)

( ) Sistema de controle que requer baixa capacidade de processamento, potência elétrica é um problema. O mercado não é muito conhecido, podendo vender desde centenas a milhares de unidades. Depois de lançado talvez seja necessário alterar características funcionais deste produto, mas não se deseja mudar a plataforma de implementação. Seu time-to-market é crítico. O custo final é um fator crítico.

4) Processador de propósito único baseado em FPGA (Field Programmable Gate Array)

( ) Sistema extremamente crítico em relação à capacidade de processamento, à potência elétrica e ao espaço físico. Deve vender centenas de milhares de unidades. O custo final é um fator crítico.

5) Processador de propósito único baseado em Circuitos Integrados de Aplicação Específica (ASICs)

( ) Sistema extremamente crítico em relação à capacidade de processamento, mas não crítico em relação à potência elétrica e ao espaço. A equipe de desenvolvimento é familiar ao desenvolvimento de software para desktops.

4. (2.0) Relacione os conjuntos de características da 2ª coluna com os tipos de processadores da 1ª coluna. A relação entre a primeira coluna e a segunda é de um pra um, ou seja, uma mesma opção não pode ser usada duas vezes.

Processador

Características







(A) Processador de propósito geral

( ) Processador programável otimizado para uma classe de problema

  • Pequeno time-to-market (se for usado um processador comercial; se for necessário projetar um, o time-to-market aumenta bastante)

  • Baixo custo não recorrente, médio custo recorrente (em relação a outras opções, e caso seja usado um processador comercial; se for necessário projetar um, o custo não recorrente aumenta bastante)

  • Dispõe de:

    • Memória interna

    • Unidade de Execução otimizada

    • Periféricos especiais internos

    • Conjunto de instruções direcionado para a classe de problemas do componente

  • Bom compromisso entre flexibilidade, velocidade, tamanho e potência elétrica




(B) Embedded processor (ex. PowerPC ou 80386 especial para sistemas embarcados


( ) Dispositivo de hardware programável

  • Permite desenvolver projetos com alta performance, específicos para uma determinada aplicação, mas que tem flexibilidade para serem alterados posteriormente

  • Pequeno time-to-market

  • Baixo custo não recorrente, médio custo recorrente (em relação a outras opções)




(C) ASIP (Processador de Aplicação Específica ou Application-Specific Instruction-set Processor)

( ) Facilidade para desenvolvimento de software (conhecimento prévio da equipe)

  • Pequeno time-to-market

  • Baixo custo não recorrente, alto custo recorrente (em relação a outras opções)

  • Alta flexibilidade para alterações futuras

  • Dispõe de alguns dispositivos auxiliares no processador

  • Famílias de processadores com número reduzido de opções

  • Conjunto de instruções parcialmente adaptado, mas semelhante ao dos processadores de propósito geral

  • Grande poder computacional

  • Consumo médio de energia




(D) Processador de propósito único baseado em Circuitos Integrados de Aplicação Específica (ASICs)

( ) Facilidade para desenvolvimento de software (conhecimento prévio da equipe)

  • Pequeno time-to-market

  • Baixo custo não recorrente, alto custo recorrente (em relação a outras opções)

  • Alta flexibilidade para alterações futuras

  • Necessário adicionar muitos dispositivos auxiliares não presentes no processador

  • Famílias de processadores têm grande número de opções

  • Conjunto de instruções não ideal

  • Grande poder computacional

  • Alto consumo de energia

.

(E) FPGA (Field Programmable Gate Array)

( ) Circuito digital projetado para executar um único algoritmo

  • Grande time-to-market

  • Alto custo não recorrente e baixo custo recorrente (quando produzido em milhares de unidades por vez)

  • Unidade de execução e conjunto de instruções contém apenas o necessário ao algoritmo

  • Não tem memória de programa

  • Projetado para obter o melhor do tamanho, potência, velocidade, mas perde muito em flexibilidade




5. Marque V para verdadeiro e F para falso para cada uma das afirmativas abaixo.

( ) O mercado de sistemas embarcados é maior que o de computadores pessoais, tanto em


número de dispositivos vendidos anualmente quanto em faturamento.

( ) Transdutores são dispositivos de transmissão de informações por condutores elétricos.

( ) Semelhante à comunicação por infra-vermelho, a interface de comunicação do tipo Bluetooth também utiliza luz,
mas na faixa azul

( ) Conversores analógico-digitais são usados para “traduzir” informações do mundo externo


(ex. temperatura, umidade) para os processadores.

( ) Segundo a Lei de Moore, a capacidade de colocar transistores num único chip dobra a cada 24 meses.



6. Enumere a 2ª coluna de acordo com a 1ª.

(A) DRAM

( ) Memória não-volátil que só pode ser gravada uma vez

(B) SRAM

( ) Memória volátil que precisa de refresh periódico

(C) ROM

( ) Memória não-volátil que pode ser gravada e apagada
centenas de milhares de vezes

(D) OTP

( ) Memória não-volátil que pode ser gravada e apagada byte a byte

(E) EPROM

( ) Memória não-volátil que já vem gravada de fábrica

(F) Flash EPROM

( ) Memória volátil que não requer refresh


7. O que é e quais as características de cada um dos dispositivos abaixo:

A) DRAM B) SRAM C) OTP D) EPROM E) EEPROM F) Flash EPROM



8. (1,0) Na figura abaixo, diga quais flags são controlados por software e quais são sinais externos controlados por hardware. Se você quisesse usar o Timer 0 como um contador de pulsos externos, mas que a contagem pudesse ser habilitada/desabilitada por uma chave externa, que valores você usaria nos flags de software e onde você ligaria os sinais de hardware?



9. (1,0) O que é um executor cíclico e como funciona?
10. (1,0) O programa abaixo foi feito em um 8051 para mudar o valor de P0 a cada 3 segundos. Porém algumas vezes isso não acontece. Você pode dizer por quê? Altere o programa, sem alterar a rotina de interrupção, para solucionar este problema.

unsigned int contador;

void timer0_inicializa() {

... O timer é inicializado para interromper a cada 10ms

}
void int1 (void) interrupt 1 using 2 {

... O timer é recarragado.

if (contador != 0)

contador--;

}

void main (){



unsigned char aux = 0;

timer0_inicializa();

EA = 1;
while (1){

contador = 300;

while (contador != 0);
if (contador == 0){

aux = ~aux;

P0 = aux;

}

else



P0 = 0;

}

}


11. (2,0) Explique como funciona o download e a depuração cruzada (cross debugging) na placa de desenvolvimento da keil usada em sala de aula. Explique o que ocorre quando colocamos breakpoints e como eles funcionam. Como o arranjo uVision + Placa permitem verificar no uVision o valor de variáveis do código que está sendo executado na placa.
12. (0,5) No código abaixo, pra que serve o valor “17”? Podemos alterar os valores FrClk e FreqTimer0_emHz indiscriminadamente? Se não, que cuidados devemos tomar?

#define FrClk 12000000

#define FreqTimer0_emHz 100

#define VALOR_TH0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) >>8)

#define VALOR_TL0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 17 ))) & 0xFF)
13. (0,5) No código abaixo, explique os comandos que estão em destaque:

void timer0_int (void) interrupt 1 using 2 {

TR0 = 0;

TH0 += VALOR_TH0; // porque usamos “+=” e não apenas “=” ?

TL0 += VALOR_TL0;

TR0 = 1;

}
14. (2,0) Responda as perguntas abaixo:



  1. Porque as interfaces seriais RS422 e RS485 têm mais imunidade a ruídos do que a RS232?

  2. Numa comunicação serial assíncrona, como o hardware receptor consegue identificar a chegada de um byte válido?

  3. Pra que serve o bit de paridade e como é gerado?

  4. O que é um transdutor?

  5. O que é um piezzo-elétrico?

  6. O que é um termopar?

  7. Qual o tempo limite de boot aceitável pelo usuário e qual o tempo ideal?

  8. Porque a taxa de amostragem de áudio em CDs é de 44,1KHz?

  9. O que é PWM e pra que serve? Dê um exemplo de utilização. Explique o que são período e ciclo de trabalho (duty cycle).

  10. Porque precisamos de um flag extra “TxOcupado” para controlar a transmissão da interface serial do 8051? O flag “TI” não é suficiente?

  11. No 8051, que valor devemos escrever em uma porta para que ela seja considerada como porta de saída? Porque temos que escrever este valor?

  12. Porque é importante utilizar o conceito de maquinas de estado finito no desenvolvimento de software embarcado?

  13. Que problemas podemos enfrentar ao utilizar Java para o desenvolvimento de sistemas embarcados críticos?

  14. Como funciona o transdutor abaixo (microfone de carvão).



15. (2,0) Responda as perguntas abaixo:

  1. O que está errado neste trecho de código?

case trans:

if(ch == 1) {

P1 = (P0&0xF0);

P1 = P1 | (P1&0x0F);

estado = espera;

}

break;




  1. O que está errado neste trecho de código?

void serial_int() interrupt 4 using 2

{


if(RI){

RI = 0;


}

else if(TI) {



TI = 0;

}



}


  1. Explique porque no código abaixo, a comparação não funciona e conserte.

char c;


if (c==0x80)

...

  1   2


©bemvin.org 2016
enviar mensagem

    Página principal