Prévia do material em texto
Sistemas Digitais Aula 17 Projeto de Máquinas de Estado Eduardo Peixoto Departamento de Engenharia Elétrica Faculdade de Tecnologia Universidade de Braśılia 1 / 21 Sumário Aula 17 Detector de Sequência Contador Gray Moedeiro Linha de Enchimento de Garrafas Portão de Garagem Vidro Elétrico Veicular Ford Thunderbird Exerćıcios Diversos 2 / 21 Exerćıcios Para todos os exerćıcios propostos, o projeto consiste em escrever: A tabela de transição de estados / sáıda. O Diagrama de Estados As equações de excitação dos flip-flops e da sáıda. O esquemático do circuito. 3 / 21 Exerćıcios Detector de Sequência Projete um detector de sequência que poderia detectar a seguinte sequência: 10001. 4 / 21 Exerćıcios Contador Gray Projete um contador com uma entrada de enable que conte da seguinte forma: 000 → 001 → 011 → 010 → 110 → 111 → 101 → 100 → 000... 5 / 21 Exerćıcios Moedeiro (Slide 1 de 2) Considere o problema de um moedeiro para uma máquina de refrigerantes. O refrigerante custa R$ 1, 50, e a máquina aceita somente moedas de R$ 0, 25, R$ 0, 50 e R$ 1, 00. O usuário vai colocando moedas na máquina até atingir o valor desejado. Assim que o usuário tiver inserido o valor correto (no caso, uma quantidade de moedas equivalentes a R$ 1, 50), a máquina deverá indicar que o valor correto foi atingido e colocar um refrigerante na bandeja. No entanto, se o usuário tiver inserido um valor maior que o preço do refrigerante, a máquina deverá indicar um erro e devolver ao usuário as moedas que ele inseriu. O usuário não pode abortar o processo no meio - a máquina vai continuar a receber moedas enquanto uma das duas condições não for alcançada. 6 / 21 Exerćıcios Moedeiro (Slide 2 de 2) No circuito, deverá haver quatro possibilidades para a moeda: R$ 0, 25, R$ 0, 50, R$ 1, 00 e n.d.a. (no caso de nenhuma das anteriores, o sistema apenas rejeita a moeda e continua no estado anterior). O Clock é considerado como o ato de empurrar a moeda para dentro da máquina. O usuário irá definir a moeda que foi colocada através da entrada M e irá confirmar sua escolha através da entrada C (clock). Podemos pensar que M é a sáıda de um subsistema que detecta qual moeda foi inserida, e trabalharmos apenas com o valor binário de qual moeda foi inserida. A sáıda R irá indicar à máquina que um refrigerante (previamente escolhido pelo usuário) deve ser colocado na bandeja, e a sáıda E indica à máquina que um erro foi detectado e, portanto, todas as moedas inseridas pelo usuário devem ser devolvidas. Ao fim do processo, tanto em caso de sucesso ou erro, uma nova batida do clock deverá retornar a máquina ao estado inicial. Projete a máquina de estados descrita. 7 / 21 Exerćıcios Linha de Enchimento de Garrafas Considere uma linha para encher garrafas. Esta linha é constitúıda por uma esteira que conduz as garrafas vazias até a posição de enchimento e por uma torneira que abre ou fecha de forma a encher cada garrafa. O sistema de controle possui duas entradas G e C e duas sáıdas M e T. A entrada G fica ativa assim que uma garrafa está pronta na posição de enchimento. A entrada C sinaliza o fim do enchimento de uma garrafa. A sáıda M, quando ativa, faz a esteira avançar, enquanto a sáıda T ativa uma válvula que comanda o enchimento da garrafa. Considere que, ao ser ligado, o circuito encontra-se em um estado inicial em que as sáıdas M e T não estão ativas. A máquina deve decidir, com base nas entradas, se move a esteira ou se enche a garrafa, conforme a leitura das entradas G e C. Projete o circuito descrito. 8 / 21 Exerćıcios Portão de Garagem Considere o controle do motor de um portão de garagem. O motor tem duas entradas, SOBE e DESCE, que indicam a direção para a qual o motor deve girar para abrir e fechar o portão. Além disso, o circuito tem os sensores CIMA, que fica ativo quando a porta está completamente aberta, e BAIXO, que fica ativo quando a porta está completamente fechada. Para evitar colisões, o circuito conta com um sensor PASSA, que fica ativo enquanto um objeto estiver passando pelo sensor. O comando do sensor é feito por uma entrada IV, que fica ativo quando ele recebe o comando do controle remoto. A porta fecha automaticamente. Projete o circuito descrito. 9 / 21 Exerćıcios Vidro Elétrico Veicular Considere um sistema para controlar o acionamento do vidro elétrico veicular. O sistema possui os seguintes requisitos: o usuário deve controlar o sistema usando uma pequena alavanca que, ao ser puxada, aciona o sinal BS e, ao ser empurrada, aciona o sinal BD. Enquanto a alavanca for pressionada o motor girará no sentido anti-horário para a abertura da janela se a mesma estiver fechada ou entre-aberta. Entretanto, se a alavanca for puxada, o motor girará no sentido horário para fechar o vidro. Uma caracteŕıstica importante que o sistema deve ter é o sistema de fechamento ou abertura automática - ao acionar a alavanca duas vezes seguidas na mesma direção, o fechamento (ou abertura) do vidro deve ser realizado sem o acionamento manual da alavanca. Por questões de usabilidade e segurança, a abertura ou fechamento automáticos devem ser interrompidos quando o condutor acionar a alavanca uma vez. Adicione quantas entradas achar necessário para cumprir os requisitos do sistema. A sáıda do sistema deverá controlar um motor que possui duas entradas: A, que indica se o motor está ativo, e D, que indica a direção do motor (0 para anti-horário e 1 para horário). Projete o circuito descrito. 10 / 21 Exerćıcio Um Exerćıcio Clássico de projeto de máquinas de estados envolve o Ford Thunderbird 1965. 11 / 21 Exerćıcio Mais especificamente, envolve as lanternas traseiras do Thunderbird. 12 / 21 Exerćıcio Esse carro tem 6 lanternas traseiras: LC, LB, LA, RC, RB e RA. ZOTTFFS CALIFORNIA RA RB RCLC LB LA 13 / 21 Exerćıcio E essas lanternas acendem de forma distinta, como uma seta: LC(a) LB LA RA(b) RB RC 14 / 21 Exerćıcios Exerćıcio Projete a máquina de estados do Ford Thunderbird considerando que ela tem apenas duas entradas: LEFT e RIGHT (isto é, as setas para a esquerda e para a direita). 15 / 21 Exerćıcios Exerćıcio Projete a máquina de estados do Ford Thunderbird considerando que ela tem três entradas: LEFT, RIGHT e HAZ,isto é, as setas para a esquerda, para a direita e o pisca-alerta. Caso o pisca-alerta esteja acionado, todas as seis lâmpadas piscam. Além disso, ele pode entrar no pisca-alerta a qualquer momento. 16 / 21 Exerćıcios Exerćıcio - Prova 02/2014 (Slide 1 de 2) Em um bitstream de v́ıdeo em formato digital é necessário rotular todos os pacotes que fazem parte dessa bitstream para que o decodificador consiga realizar a decodificação (por exemplo, para que o decodificador entenda aonde termina cada frame). Isto é ainda mais importante caso essa bitstream seja transmitida em um canal sem retransmissão (via rádio, por exemplo), em que o aparelho possa começar a decodificação a qualquer momento (uma vez que o usuário pode ligar o aparelho a qualquer momento). Para que se estabeleça essa comunicação, o bitstream contém periodicamente frames chamados de IDR (instantaneous decoder refresh), que podem ser decodificados sem a utilização de qualquer informação prévia (isto é, de frames anteriores), uma vez que essa informação pode não estar dispońıvel no decodificador. Estes frames são indicados no bitstream através de um cabeçalho bem definido, através de uma sequência de sincronização (syncword ou preamble). Portanto, é de extrema importância para esta aplicação circuitos que consigam detectar rapidamente a localização dessa sequência no bitstream, para que o decodificador possa sincronizar com a sequência e começar a decodificar o sinal (no caso, o v́ıdeo). 17 / 21 Exerćıcios Exerćıcio - Prova 02/2014 (Slide 2 de 2) Projete uma máquina de estados comuma entrada X e uma sáıda Z. A sáıda Z deverá ser 1 apenas quando os sete últimos valores de X forem iguais à sequência: 1011110 (onde o primeiro bit da sequência é o bit mais à esquerda), não importa qual seja o bit atual (isto é, o oitavo bit). Um sinal de clock indica quando um novo bit de X deve ser lido. Além disso, quando a sáıda Z = 1, a máquina reseta no próximo ciclo de clock (isto é, começa a procurar uma nova sequência) não importando qual seja a entrada nesse momento. 18 / 21 Exerćıcios Exerćıcio - Prova 01/2015 Joãozinho quer tunar sua bicicleta, utilizando um sistema que mostra, em um mostrador decimal, a marcha atualmente engatada. A bicicleta de Joãozinho é uma bicicleta vintage, que possui apenas 7 marchas na coroa traseira (a coroa dianteira é fixa) em um câmbio puramente sequencial. Para realizar o seu circuito, Joãozinho achou melhor utilizar o sinal de comando da bicicleta, que possui apenas duas posições: up e down, para incrementar e decrementar a marcha. Além desse sinal, Joãozinho utilizou um outro sinal para indicar (em ńıvel alto) quando a bicicleta está em movimento (mais precisamente, quando a corrente está girando - isto é importante, pois a marcha só é efetivamente trocada se a corrente estiver girando). Note também que, neste tipo de câmbio, é imposśıvel mudar da primeira para a sétima marcha ou vice-versa. Projete uma máquina de estados com duas entradas: X, que corresponde à direção da mudança de marchas, e Y, que indica se a corrente está girando (ativo em ńıvel alto), e uma sáıda Z, que corresponde à marcha engatada em BCD (de 1 a 7). O ato da troca de marchas é indicado pelo clock da máquina. 19 / 21 Exerćıcios Exerćıcio - Prova 02/2015 Joãozinho está desenvolvendo um circuito para controlar o câmbio de sua bicicleta. O câmbio da bicicleta de Joãozinho é um câmbio sequencial, que possui apenas 7 marchas. Neste tipo de câmbio, é imposśıvel mudar da primeira para a sétima marcha ou vice-versa. Entretanto, como Joãozinho quer utilizá-lo para competições, ele pensou em controlar o câmbio com dois comandos: um comando de direção e um comando de velocidade. O comando de direção D indica a direção da troca da marcha (para cima ou para baixo), e o comando de velocidade V indica se ele vai passar apenas uma marcha ou duas marchas de uma vez. Projete, utilizando flip-flops D, uma máquina de estados com estas entradas e uma sáıda Z, que corresponde à marcha engatada em BCD (de 1 a 7). O ato da troca de marchas é indicado pelo clock da máquina. 20 / 21 Exerćıcios Exerćıcio - Prova 01/2016 Considere um circuito detector de toques em uma tela touchscreen. Considere um circuito especicamente projetado para decidir as ações posśıveis que o toque na tela pode realizar. O circuito tem apenas uma entrada, T, que indica o toque na tela, e quatro sáıdas, que indicam o gesto realizado. As sáıdas são: Clique simples; Clicar e segurar; Clicar duas vezes (duplo clique); e Clicar duas vezes e segurar (no segundo clique). As sáıdas devem ser mutuamente exclusivas e só devem ser acionadas quando o dispostivo tiver certeza de qual gesto foi executado. Uma vez ativada uma determinada sáıda, ela deve ser mantida em ńıvel alto por pelo menos um tick do clock, e o circuito deve retornar a análise da entrada o mais rápido posśıvel. Projete o circuito descrito. Inclua no seu projeto o diagrama de estados e o esquemático do circuito. Podem ser utilizados quaisquer CIs encontrados no Anexo I, além de portas lógicas adicionais. Identifique claramente os CIs utilizados, bem como todos os seus sinais de entrada e sáıda relevantes. 21 / 21