Baixe o app para aproveitar ainda mais
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
Compartilhar