Buscar

lista Sistemas Embarcados II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

SISTEMAS EMBARCADOS II 
 
Ementa: Microcontroladores. Arquitetura de microcontroladores. Ferramentas de Desenvolvimento. 
Interface. Desenvolvimento de Software para sistemas embarcados. Controladores Lógico Programáveis - 
Confiabilidade de sistemas com microcontrolador. Aplicações. Introdução a sistemas de tempo real. 
 
Bibliografia básica: 
 
OLIVEIRA, André Schneider de; ANDRADE, Fernando Souza de.Sistemas Embarcados - Hardware e 
Firmware na Prática. Editora Saraiva. São Paulo. 06/2010. Ciências Exatas. Livro digital/recurso online 
[Minha Biblioteca]. 
D'AMORE, Roberto.VHDL - Descrição e Síntese de Circuitos Digitais, 2ª edição. Grupo GEN. Rio de 
Janeiro. 04/2012. Ciências Exatas. Livro digital/recurso online [Minha Biblioteca]. 
COSTA, Cesar da.Projetos de Circuitos Digitais com FPGA. Editora Saraiva. São Paulo. 06/2014. Ciências 
Exatas. Livro digital/recurso online [Minha Biblioteca]. 
 
Bibliografia complementar: 
 
SOUZA, David José de; SOUSA, Daniel Rodrigues de.Desbravando o Microcontrolador PIC18 - Ensino 
Didático. Editora Saraiva. São Paulo. 06/2012. Ciências Exatas. Livro digital/recurso online [Minha 
Biblioteca]. 
SOUZA, David José de.Desbravando o PIC - Ampliado e Atualizado para PIC 16F628A. Editora Saraiva. 
São Paulo. 06/2009. Ciências Exatas. Livro digital/recurso online [Minha Biblioteca]. 
STEVAN JR., Sergio Luiz; SILVA, Rodrigo Adamshuk.Automação e Instrumentação Industrial com Arduino 
- Teoria e Projetos. Editora Saraiva. São Paulo. 06/2015. Ciências Exatas. Livro digital/recurso online 
[Minha Biblioteca]. 
CAPUANO, Francisco Gabriel.Sistemas Digitais - Circuitos Combinacionais e Sequenciais. Editora Saraiva. 
São Paulo. 06/2014. Ciências Exatas. Livro digital/recurso online [Minha Biblioteca]. 
GUIMARÃES, Alexandre de Almeida.Eletrônica Embarcada Automotiva. Editora Saraiva. São Paulo. 
06/2007. Ciências Exatas. Livro digital/recurso online [Minha Biblioteca]. 
 
A atividade avaliativa será contemplada na resolução dos exercícios abaixo com valor de 10 pontos. 
PRAZO DE ENTREGA: 04/09/2020 via portal acadêmico. 
Todos os alunos deverão estar postando a resolução no portal individualmente. 
Não será aceito trabalhos fora do prazo ou por e-mail. 
 
Questão 1 - As interrupções são muito utilizadas no mundo dos microcontroladores e dos 
microprocessadores. Um exemplo típico são nossos microcomputadores PC. Sempre que pressionamos 
uma tecla, uma interrupção é gerada para o microprocessador, solicitando o tratamento desta. Assim, o 
PC não é obrigado a varrer constantemente o teclado em busca de uma tecla. Porém é claro que para que 
isso seja feito, “alguém ou alguma coisa” deve fazer esta varredura por ele. Isso é feito por um 
microcontrolador dedicado, interno em todos os teclados de PC. Assim temos a geração de uma 
interrupção no processamento central por parte de um “periférico”. Porém, para utilizar interrupções, é 
necessário que o projetista compreenda o ciclo de ações implementadas pelo microcontrolador a partir do 
momento em que uma interrupção aciona o microcontrolador. Desta forma, apresente todos os passos 
implementados pelo microcontrolador desde o momento em que uma interrupção ocorre, explicando cada 
um desses passos. 
. 
 
 
 
 
 
Questão 2 - Considere que um aluno de Sistemas Embarcados II deseja realizar um pequeno programa 
para compreender a comunicação serial USART de um microcontrolador STM32VL Discovery. 
a) Faça o fluxograma do projeto de um microcontrolador que faça a leitura do estado de um led 
acionado por um botão, e envie a palavra “ON” quando o led estiver aceso. 
b) Desenhe o frame da palavra “ON” considerando uma comunicação Serial com as configurações 
19200/8-N-2, em transmissão RS-232. 
c) Determine o Bef e o Overhead. 
 
 
 
Questão 3 - Um engenheiro pretende realizar a comunicação entre dois microcontroladores e dois 
diferentes periféricos, contando com o seguinte sistema representado em hardware 
 
Represente o comportamento de todos os pinos do master ao longo de uma comunicação do master 1 com 
o slave 2 para escrita de 1 byte. A Tabela 1 representa o byte presente no registrador de saída de cada 
dispositivo no momento do início da transmissão. Despreze os intervalos de transição de sinal. 
 
Dispositivo Byte 
Master 1 10011100 
Master 2 01010101 
Slave 1 10100101 
Slave 2 00111100 
 
 
 
 
 
 
 
 
 
 
 
Questão 4 - Considere um sistema com múltiplos microcontroladores se comunicando por meio de uma 
rede zigbee. Um determinado microcontrolador informa o valor de temperatura lido em uma determinada 
caldeira, que deve ser devidamente escrito em um display conectado a outro microcontrolador da mesma 
rede. Após alguns erros de controle, um determinado engenheiro percebeu que a informação escrita no 
display era consideravelmente diferente daquela enviada originalmente (vide Tabela 1, das últimas dez 
medições realizadas). Escreva qual serviço do Kernel de um RTOS é capaz de solucionar este problema 
e explique como é realizada a solução. 
 
Temperatura enviada (ºC) Temperatura Display (ºC) 
098 099 
099 000 
100 109 
099 098 
098 000 
100 102 
102 104 
 
 
Questão 5 - Dois microcontroladores estão operando como mestre e devem realizar uma comunicação 
I²C para dois periféricos, um sensor de temperatura que escreve informações no microcontrolador que 
requisitou e um painel de LCD que lê informações do microcontrolador que requisitou. Considere que, 
simultaneamente, um microcontrolador faça uma requisição para leitura do sensor de 
temperatura (end. 0xA0) enquanto o segundo microcontrolador realiza uma operação de escrita no painel 
de LCD (end. 0x9F). Faça um diagrama de tempo representando o processo de arbitragem da comunicação 
realizada, apontando qual dos microcontroladores ganha o processo de arbitragem. 
 
Questão 6 - Descreva cada instrução do código abaixo da linguagem Assembly do ARM e explique a 
função que o código executa. 
 
(x, y e z estão mapeados na memória) 
 
0x00 inicio: ldr r1,x 
0x04 ldr r2,y 
0x08 loop: cmp r1,r2 
0x0C subgt r1,r1,r2 
0x10 sublt r2,r2,r1 
0x14 bne loop 
0x18 str r1,z 
0x1C .end 
 
 
 
 
 
 
 
 
 
 
 
 
 
Questão 7 - O trecho do programa a seguir é um exemplo de função que calcula o n-ésimo termo da 
sequência de Fibonacci, dada por (1,1,2,3,5,8,13,21,...), na qual cada termo subsequente corresponde à 
soma dos dois termos anteriores (com exceção dos dois primeiros termos, 1 e 1). O valor de entrada é n 
(n>0) e o valor de saída é x, que é o n-ésimo termo. 
 
(n e x estão mapeados na memória) 
 
0x00 inicio: ldr r0,n @Carrega o valor de n no registrador r0 
0x04 cmp r0,0x01 @Compara r0 com 0x01 
0x08 beq termo1 @Desvia para termo1 caso positivo 
0x0C sub r0,r0,0x01 @r0 = r0 - 0x01 
0x10 mov r1,0x01 @r1 = 0x01 
0x14 mov r2,0x01 @r2 = 0x01 
0x18 mov r3,0x01 @r3 = 0x01 
0x1C loop: cmp r0,0x01 @Compara r0 com 0x01 
0x20 beq fim @Desvia para fim caso positivo 
0x24 sub r0,r0,0x01 @r0 = r0 - 0x01 
0x28 add r3,r1,r2 @r3 = r1 + r2 
0x2C mov r2,r1 @r2 = r1 
0x30 mov r1,r3 @r1 = r3 
0x34 b loop @desvia para loop 
0x38 termo1: mov r3,0x01 @r3 = 0x01 
0x3C fim: str r3,x @armazena o valor de r3 em x 
0x40 nop @nenhuma operação 
0x44 nop @nenhuma operação 
 
 
Para n = 4, pede-se: 
 
a) Realize a execução do programa, indicando, para cada ciclo de relógio: 
 i) O estágio de cada instrução utilizando a técnica de pipeline (veja o exemplo), com a seguinte 
legenda: B=busca, D=decodificação, X=execução. 
 ii) O endereço de instrução armazenado no registrador PC (hexa) 
 iii) Os valores dos registradores r0, r1, r2 e r3 (decimal) ao final do ciclo de relógio 
(Utilize a tabela seguinte para escrever sua resolução) 
b) Quantos ciclos de relógio são necessários para executar o trecho de programa utilizando a técnica de 
pipeline? E se não fosseutilizado o pipeline? 
 
 
 
 
 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
0x00
0x04
0x08
0x0C
0x10
0x14
0x18
0x1C
0x20
0x24
0x28
0x2C
0x30
0x34
0x38
0x3C
0x40
0x44
PC
r0
r1
r2
r3
Ciclos de Relógio
In
s
tr
u
ç
õ
e
s
R
e
g
is
tr
a
d
o
re
s

Continue navegando