Máquinas de estados finitos

Propaganda
Universidade Federal de Itajubá
IESTI - Instituto de Engenharia de Sistemas e Tecnologia da Informação
ELT601 – Eletrônica Digital II
Lista de Exercícios
Máquinas de estados finitos
1) Elabore um diagrama de estados que leve a saída z a nível lógico ‘1’ sempre que a seqüência “11” for detectada em sua
entrada x. Apresente o diagrama tanto por meio de um modelo de Moore quanto de Mealy e desconsidere a sobreposição de
seqüências na entrada.
0
0
x
z
1
0
1
1
0
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
2) Modifique o diagrama de estados de forma que seqüências sobrepostas sejam também detectadas.
0
0
x
z
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
1
3) Levante o diagrama de estados para uma máquina de estado que seja capaz de detectar a seqüência binária “101”. Apresente o
diagrama utilizando o modelo de Moore e considere que a máquina de estado seja capaz de detectar seqüências intercaladas.
0
0
x
z
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
0
0
1
1
0
0
4) Reapresente o diagrama de estado elaborado em (3) segundo o modelo de uma máquina de estado de Mealy.
5) Para os seguintes diagramas de estados, levante o valor de saída para cada bit presente na seqüência de entrada
“011000111001”.
a)
b)
1
0/0
1/1
S0
S1
A/0
1/0
E/1
0
1
1
0
S2
C/0
D/0
1
1/1
B/0
0
0
0/1
0/1
0
1
6) Implemente o circuito inerente ao diagrama de estados obtido em (1). Considere o modelo de Mealy e utilize flip-flops JK.
7) Implemente o circuito inerente ao diagrama de estados em modelo de Moore obtido em (1). Utilize flip-flops D.
8) Implemente o circuito que reproduza o diagrama de estados apresentado em (5)(b). Utilize flip-flops D.
9) Projete uma máquina de estados que contenha uma entrada, de nome x, e duas saída, z2 e z1, tal que a palavra binária formada
por z2z1 contenha o número de bits 1 presentes nos dois últimos bits recebidos em sua entrada. Utilize o modelo de Moore e
flip-flops JK.
10) Implemente uma máquina de estados que seja capaz de gerar a seqüência 001, 010,100 de forma cíclica. Utilize flip-flops JK
e o modelo de Moore para a máquina a ser implementada.
11) À máquina projetada em (10), acrescente uma entrada x tal que para x=0, a contagem seja efetuada de forma crescente e já
para x=1, decrescente.
Prof. Rodrigo de Paula Rodrigues
1/2
12) Em máquinas automáticas de compra de refrigerantes e afins, um mecanismo de contagem de moedas é utilizado para se
controlar tanto a liberação do produto quanto a liberação de troco. Devido a sua operação, este mecanismo pode ser modelado
como uma máquina de estados finitos que receba uma seqüência de moedas depositadas para então controlar a liberação do
produto e a liberação de troco para o montante depositado.
Uma arquitetura possível para o mecanismo citado pode ser como a apresentada na figura abaixo, em que uma unidade de
controle receba dois sinais de entrada (M2 e M1) provenientes de um detector de moedas e então controle, por meio de seus
sinais de saída (P e T), as unidades de liberação do produto e de troco, respectivamente.
P
Detector de
moedas
M
2
Liberação do produto
Unidade de
controle
Liberação de troco
T
Considerando que os sinais de liberação sejam ativos em nível lógico “1” e que o detector de moedas gere sinais como os
apresentados na tabela abaixo, projete uma máquina de estado baseada no modelo de Moore para atuar como unidade de
controle do sistema exemplificado. De uma forma geral, esta unidade de controle deve ser tal que à medida que sejam
depositados valores (e tais valores gerem saídas no detector de moedas), a soma total seja computada e o sinal de liberação
do produto seja ativado tão logo a soma chegue e/ou ultrapasse a quantia de 2 unidades monetárias. Caso a quantia depositada
ultrapasse o limite citado, o sinal de liberação de troco deve ser levado a nível lógico ‘1’. Assuma que a cada depósito
efetuado, um sinal de pulso é enviado à máquina de estado e considere, ainda, que assim que houver a liberação do produto,
o próximo depósito deverá reiniciar a soma.
Moeda
0.25
0.50
1.00
M 2 M1
00
01
10
11
13) Projete uma máquina de estados para controlar a operação de um robô que se movimente e desvie de objetos a sua frente.
Assuma que este robô seja composto basicamente por um detector de objetos e duas rodas que o possibilitem virar tanto à
direita quanto à esquerda.
detector
C2C1
00
01
10
11
rodas
Ação
Seguir em frente
Virar À direta
Virar à esquerda
Não operar
(vista inferior do robô)
Este detector de objetos é posicionado no nariz do robô e sua saída é conectada à entrada de sua unidade de controle por meio
de um sinal x, tal que enquanto x = ‘1’, um objeto é detectado à sua frente. Já as saídas desta unidade de controle, C1C2,
devem controlar o movimento a ser efetuado pelo robô tal qual a codificação apresentada acima.
Um exemplo de estados que possam ser utilizados no projeto é apresentado na tabela abaixo.
saída
blocos
movimentáveis
Prof. Rodrigo de Paula Rodrigues
Estado
A
B
C
D
Descrição
Obstáculo não detectado, última virada à esquerda
Obstáculo detectado e virando à direita
Obstáculo não detectado, última virada à direita
Obstáculo detectado e virando à esquerda
2/2
Download