Buscar

Exercicios FSM 2

Prévia do material em texto

1 
Sistemas Digitais II 
Prof.: Vinicius R. Martins 
 
 
Lista de Exercícios – FSM 
 
 
1) Implementar um jogo tipo roleta eletrônica, possuindo as seguintes entradas e 
saídas: 
 
Entradas: Botão (switch “spare”), Moeda (switch “reset”); 
Saídas: (display de 7 segmentos, ativos em nível alto). 
 
A máquina de estado (FSM) do jogo fica normalmente no estado 0 aguardando uma 
aposta. Neste estado, o display deve mostrar a letra “J” de joga. Para iniciar uma 
jogada (aposta), deve-se introduzir uma moeda, que produz um pulso ativo na entrada 
Moeda, após o que o jogador, no momento que quiser, aperta o Botão. Flip Flop’s 
internos (nodes) funcionam como um contador binário crescente de 3 bits, controlado 
por Moeda e Botão. No início, enquanto uma moeda não é introduzida, o contador fica 
esperando em 0. Ao detectar a moeda, começa a contar de 1 a 4, voltando a 1, até 
que detecte o Botão (cujo tempo é aleatório). Nestes estados, o display deve mostrar 
a letra “b” (minúscula, idêntica ao número 6) de botão. Quando Botão for pressionado, 
a FSM do jogo deverá ir para o estado 5, ficando ai por ½ segundo, correspondente a 
um número de ciclos de clock (controlado por outra máquina de estados de 
temporização funcionando também como contador) para permitir a visualização do 
resultado no display: se no instante de evento do botão o valor da contagem estava 
em 3 (número de sorte), o jogador ganha e o display deve mostrar a letra “G” de 
ganha. Caso contrário, a letra “P” de perde. 
Terminada a temporização, a FSM do jogo deverá retornar ao estado 0, onde voltará a 
aguardar outra moeda. 
 
Note que as duas FSM’s se controlam mutuamente: enquanto a FSM1 (do jogo) não 
atingir o estado 5, a FSM2 (da temporização) deve ficar travada no estado 0. Por outro 
lado, enquanto a FSM2 não atingir o estado correspondente a ½ segundo, a FSM1 
não sairá do estado 5. 
 
 
2) Dois sensores óticos S1 e S2 são responsáveis pela detecção de peças que se 
movimentam (uma por vez) nas duas direções possíveis, conforme figura abaixo. A 
distância entre os dois sensores é menor que o menor comprimento das peças. Um 
contador é acionado de tal modo que: 
 
 Peças no sentido esquerda → direita são contadas crescentemente (UP); 
 Peças no sentido direita → esquerda são contadas decrescentemente 
(DOWN_L – ativo em nível lógico ‘0’). 
 
Assuma que o contador, já previamente “zerado”, além da entrada de clock possua 
duas outras: conta e UP/DOWN_L. Projete uma máquina de estados que realize a 
contagem acima usando Flip Flop’s tipo D. Suponha gatilhamento pela borda de 
descida tanto para os Flip Flop’s quanto para o contador. 
 
 
 
 
 
 
 
2 
 
 
 
3) Uma FSM síncrona possui 4 entradas (G1-G4) feitas por chaves de pressão. Cada 
uma das chaves corresponde a um LED (portanto 4 LED’S L1-L4) que, em conjunto 
com 2 outros LED’S (ACERTO e ERRO) caracterizam a saída de máquina. A máquina 
implementa na verdade um jogo onde se deseja medir a velocidade de reação de uma 
pessoa. Um sinal de clock e aplicado à máquina de modo que os LED’S sejam 
ativados em sequência (apenas um deles aceso por vez) e a uma taxa de 5Hz. Caso 
a pessoa consiga pressionar o botão no momento exato em que o LED corresponde 
ao botão pressionado esteja aceso, a máquina acende o LED ACERTO que assim 
permanece até que o botão não seja mais pressionado. Caso a pessoa erre, a 
máquina deve acender o LED ERRO e só retornar ao seu funcionamento normal 
quando o botão pressionado for liberado. Faça o diagrama de bolhas (FSM) da 
máquina. 
 
4 – Faça uma FSM síncrona com uma entrada X e duas saídas U e H tal que U seja 1 
se e somente se X é 0 e a sequência de entrada recebida em X para a transição de 7 
período de clock foi 0110111. H deve ser 1 se e somente se o valor corrente de X está 
correto, conduzindo a máquina para a detecção da sequência, com o qual U deve 
assumir valor 1. Sua solução deve privilegiar a utilização mínima de Flip-Flops. 
 
 
5 – Uma pequena central de alarmes monitora, de forma contínua e seqüencial, 16 
sensores espalhados em um local, sendo o tempo total de monitoramento de 1 
segundo. Assuma que cada sensor informa apenas 1 bit: N.L.0 se não houver disparo 
e N.L.1 se houver disparo (em caso de invasão). Faça um sistema digital que, no caso 
de haver uma intrusão, acione uma sirene AC (127 VRMS – 60Hz) e, ao mesmo 
tempo, mostre em displays de 7 segmentos o código BCD referente ao sensor 
disparado, permanecendo assim em ambos os casos mesmo que status do sensor 
retorne para N.L.0. Desenhe o circuito digital da central, assim como o acionamento 
da sirene e dos displays (não é necessário fazer sua lógica decodificadora, mas 
indique-a). 
 
 
 
Tocci: (10 Edição) 
Cap. 7 – Projeto de contadores síncronos: 7.43, 7.44, 7.45, 7.46, 7.47, 7.48. 
 
Uyemura 
Cap. 10 – Circuitos Lógicos Seqüenciais: 10.3, 10.4, 10.12, 10.14. 
 
Ercegovac 
Cap. 7 – Sistemas Seqüenciais: 7.1, 7.3, 7.4, 7.6, 7.7, 7.9, 7.25. 
Cap. 8 – Redes Seqüenciais: 8.5, 8.13, 8.23, 8.25, 8.33.

Continue navegando