Departamento de Sistemas
Eletrônicos
Sistemas Digitais
Flip-Flops SR e JK
Contadores assíncronos
Katsuhiro
Circuitos combinacionais vs. sequenciais
Circuito Digital Combinacional: a saída depende
unicamente da entrada, de forma assíncrona, ou seja, o sinal
de saída aparece tão logo o sinal de entrada seja aplicado no
circuito. São circuitos assíncronos implementados com portas
lógicas.
Circuito Digital Sequencial: a saída depende da entrada
e do estado presente (efeito de memória), geralmente
sincronizada com um sinal de clock (relógio). São circuitos
síncronos implementados com flip-flops.
Circuitos digitais complexos são constituídos por circuitos
combinacionais e por circuitos sequenciais.
Funcionamento de um Latch SR (Set/Reset)
Qn = Estado Presente
Qn+1 = Próximo Estado
S R Qn Qn+1 Qn+1 S R Qn+1
0 0 0 0 1 0 0 Qn Mantém
0 0 1 1 0 0 1 0 Reset
0 1 0 0 1 1 0 1 Set
0 1 1 0 1 1 1 ? Proibido
1 0 0 1 0
1 0 1 1 0
1 1 0 0 0
Condição inválida
1 1 1 0 0
Sinal de clock
Sinal de clock : geralmente é um sinal de onda quadrada
que varia de nível baixo (0) a nível alto (1) no tempo.
1
CLOCK
0
Borda de subida do clock : é o instante de tempo em
que o clock varia de nível baixo (0) para nível alto (1).
1
CLOCK
0
Borda de descida do clock : é o instante de tempo em
que o clock varia de nível alto (1) para nível baixo (0).
1
CLOCK
0
Flip-Flop SR (Set/Reset)
Flip-flop é um latch acionado por clock de forma síncrona.
Borda de subida Borda de descida
Flip-Flop SR (Set/Reset)
Flip-flop SR acionado pela borda S R CLK Qn+1
de subida do clock.
0 0 Qn Mantém
0 1 0 Reset
1 0 1 Set
1 1 ? Proibido
CLK
Q
Flip-Flop SR (Set/Reset)
Flip-flop SR acionado pela borda S R CLK Qn+1
de descida do clock.
0 0 Qn Mantém
0 1 0 Reset
1 0 1 Set
1 1 ? Proibido
CLK
Q
Flip-Flop JK
O flip-flop JK funciona de forma semelhante ao flip-flop SR,
no qual J corresponde ao S (Set) e K ao R (Reset).
Porém, no caso do flip-flop JK, a condição de J=1 e K=1 é
permitida causando a comutação de estado (Toggle em inglês).
Esse comportamento pode ser obtido realizando a seguinte
realimentação no flip-flop SR:
Flip-Flop JK
Flip-flop JK acionado pela borda
J K CLK Qn+1
de subida do clock.
0 0 Qn Mantém
0 1 0 Reset
1 0 1 Set
1 1 Qn Comuta
CLK
Q
Flip-Flop JK
Flip-flop JK acionado pela borda
de descida do clock. J K CLK Qn+1
0 0 Qn Mantém
0 1 0 Reset
1 0 1 Set
1 1 Qn Comuta
CLK
Q
Contador assíncrono crescente com FF-JK
São utilizados flip-flops JK com J=1 e K=1. O primeiro fli-flop é acionado
pelo clock e os demais flip-flops são acionados pela saída do flip-flop anterior.
Exemplo: Contador assíncrono crescente de 3 bits com FF-JK acionado
pela borda de descida do clock. A saída Q aciona o FF seguinte.
CLK Q2 Q1 Q0
- 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1 CLK
1 1 0
1 1 1 Q0 0 1 0 1 0 1 0 1 0
LSB - Least Significant Bit: Q1 0 0 1 1 0 0 1 1 0
Bit menos significativo
MSB - Most Significant Bit:
Bit mais significativo Q2 0 0 0 0 1 1 1 1 0
Contador assíncrono decrescente com FF-JK
Exemplo: Contador assíncrono decrescente de 3 bits com FF-JK
acionado pela borda de descida do clock. A saída Q aciona o FF seguinte.
CLK Q2 Q1 Q0
- 0 0 0
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1 CLK
0 1 0
Q0 0 1 0 1 0 1 0 1 0
0 0 1
0 0 0 Q1 0 1 1 0 0 1 1 0 0
Q2 0 1 1 1 1 0 0 0 0
Contador assíncrono crescente com FF-JK
Exemplo: Contador assíncrono crescente de 3 bits com FF-JK
acionado pela borda de subida do clock. A saída Q aciona o FF seguinte.
CLK Q2 Q1 Q0
- 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
CLK
1 0 1
1 1 0 Q0 0 1 0 1 0 1 0 1 0
1 1 1
Q1 0 0 1 1 0 0 1 1 0
Q2 0 0 0 0 1 1 1 1 0
Contador assíncrono decrescente com FF-JK
Exemplo: Contador assíncrono decrescente de 3 bits com FF-JK
acionado pela borda de subida do clock. A saída Q aciona o FF seguinte.
CLK Q2 Q1 Q0
- 0 0 0
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1 CLK
0 1 0
Q0 0 1 0 1 0 1 0 1 0
0 0 1
0 0 0 Q1 0 1 1 0 0 1 1 0 0
Q2 0 1 1 1 1 0 0 0 0