Máquinas de Estado Eletrônica Digital. Introdução Máquinas de Estados são usadas para...
Transcript of Máquinas de Estado Eletrônica Digital. Introdução Máquinas de Estados são usadas para...
Máquinas de Estado
Eletrônica Digital
Introdução Máquinas de Estados são usadas para representar o funcionamento de circuitos sequenciais. um circuito sequencial consiste de um circuito combinacional e uma rede de memória formada por elementos de armazenamento (usualmente flip-flops). a rede de memória define o estado atual da máquina de estados. o circuito sequencial difere de um circuito combinacional puro na medida em que o próximo estado será definido não só a partir das entradas atuais, como também do estado atual, aumentando enormemente as possibilidades de projeto.
Tipos de Implementações Máquinas de Estados podem ser dos tipos seguintes:
Máquina de Moore: a saída muda apenas na transição do relógio
Máquina de Mealy: a saída pode mudar a qualquer instante em função da entrada
Tipos de Implementações O comportamento das máquinas de Moore e Mealy é idêntico, mas suas implementações diferem, como mostrado a seguir.
Máquina de Moore: somente os sinais de entrada causadores da transição de um estado para outro são representados nos arcos do grado
Máquina de Mealy: nos arcos do grafo são representados os sinais de entrada causadores da transição de um estado para outro, com os respectivos valores para a saída
Etapas de Projeto de Circuitos Sequenciais
1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver;2º passo: opcionalmente pode-se minimizar o número de estados no diagrama de estados;3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas;4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops);5º passo: construir a tabela de excitação do tipo de flip-flop utilizado;
6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação;7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh;8º passo: fazer o mesmo procedimento para as equações das variáveis de saída;9º passo: finalmente, elaboração do diagrama lógico do circuito, lembrando que todos os elementos de memória (flipflops) recebem o mesmo sinal de relógio.
Etapas de Projeto de Circuitos Sequenciais
Detector de Começo de MensagemO começo de uma mensagem em um sistema de comunicação é indicado pela ocorrência de três ‘1’ consecutivos em uma linha x.
Projete um circuito que forneça em sua saída o valor ‘1’ apenas durante o período de relógio coincidente com o terceiro ‘1’ consecutivo na linha x.
Supor que um mecanismo externo inicializa o detector no estado de “reset” após o término da mensagem.
Detector de Começo de Mensagem1º passo: elaborar diagrama de estados que interprete fielmente o problema que se deseja resolver
Identificação dos Estados:
1) Não recebeu nenhum 1, q0;
2) Recebeu o primeiro 1, q1;
3) Recebeu o segundo 1, q2;
4) Recebeu o terceiro 1, q3;
5) Recebeu 0 após receber 1 ou 2 uns, q4.
Detector de Começo de Mensagem
Construção de Diagrama de Estados usando Máquina de Mealy
Detector de Começo de Mensagem3º passo: escrever a tabela de estados, com os estados atuais, próximos estados e saídas
Detector de Começo de Mensagem4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)
Detector de Começo de Mensagem4º passo: atribuir a cada estado uma combinação de variáveis de estado (flip-flops)
Detector de Começo de Mensagem5º passo: construir a tabela de excitação do tipo de flip-flop utilizado
qt (y1y0)txt 0 1
0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X
Detector de Começo de Mensagem6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação
qt (y1y0)txt 0 1
0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X
7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh
Detector de Começo de Mensagem
qt (y1y0)txt 0 1
0 1 J1 K1 J0 K0 J1 K1 J0 K0q0 00 00 11 0 X 0 X 1 X 1 Xq1 11 00 01 X 1 X 1 X 1 X 0q2 01 00 10 0 X X 1 1 X X 1q3 10 10 10 X 0 0 X X 0 0 X
6º passo: montar o mapa de Karnaugh para cada uma das entradas dos flip-flops do circuito, com o auxílio da tabela de excitação
7º passo: obter a equação final de cada entrada para cada um dos flip-flops do circuito a partir da simplificação do mapa de Karnaugh
Detector de Começo de Mensagem8º passo: fazer o mesmo procedimento para as equações das variáveis de saída
Detector de Começo de Mensagem9º passo: finalmente, elaboração do diagrama lógico do circuito, lembrando que todos os elementos de memória (flip-flops) recebem o mesmo sinal de relógio
01
10
10
01
1
yyxZ
yxK
yxJ
yK
xJ
y
y
y
y
Considerações Importantes
Detector de Paridade Obter o diagrama de estados de um circuito que detecte a paridade de um sinal serial. Considere paridade ímpar e máquina de Moore.
Identificação dos Estados
• Número de 1s acumulados é par, q0;
• Número de 1s acumulados é ímpar, q1. S0/0 S1/10 0
1
1
Máquina de Moore
Detector de Paridade Prossiga com o projeto!
S0/0 S1/10 0
1
1
Divisível por 3 Obter o diagrama de estados de um circuito que indique se o número de 1s recebidos é divisível por 3 (considerar zero divisível por 3).
Exemplo:Máquina de Moore
Máquina de Mealy
S0 S10/1 0/0
1/0
1/0S2
1/1
0/0
S0/1 S1/00 0
1
1S2/0
1
0
Identificação dos Estados1) Divisível por 3, S0;2) Divisível por 3 + 1, S1;3) Divisível por 3 + 2, S2.
Detector de Paridade Prossiga com o projeto considerando primeiramente a Máquina de Moore e depois a Máquina de Mealy.
Máquina de Moore
Máquina de Mealy
S0 S10/1 0/0
1/0
1/0S2
1/1
0/0
S0/1 S1/00 0
1
1S2/0
1
0
Indicação de Números de Zeros Obter o diagrama de estados de um circuito que indique se o número de zeros recebidos é par, maior que zero, e desde que NUNCA ocorram dois 1s consecutivos.
Identificação dos Estados1) Não recebeu nada, S0;2) Em S0, recebeu 1, S1;3) Em S0, recebeu 0 (ímpar), S2;4) Em S2, recebeu 0 (par), S3;5) Em S3, recebeu 1, S4;6) Em S3, recebeu 0 (ímpar), S2;7) Em S2, recebeu 1, S5;8) Em S1, recebeu 0 (ímpar), S2;9) Em S1, recebeu 1, S6;10) Em S4, recebeu 0 (ímpar), S2;11) Em S4, recebeu 1 (dois 1s consecutivos), S6;12) Em S5, recebeu 0 (ímpar), S2;13) Em S5, recebeu 1 (dois 1s consecutivos), S6;14) Em S6, recebeu X, S6.
Prossiga com o projeto!
Detector de Sequência 0010 Obter o diagrama de estados de um circuito que detecte todas as sequências 0010. Se ocorrer mais do que dois zeros consecutivos a máquina deve ser reiniciada após a ocorrência de um 1.
Exemplo:
Faça o projeto!