flip-flops - escola.w3.ptescola.w3.pt/sd/docs/flip-flops.pdf · a um flip-flop cuja saída muda em...
TRANSCRIPT
FLIP-FLOPS L.1 - FLIP-FLOPS L.1.1 - Introdução Os flip-flops, por contraposição aos circuitos combinatórios, são circuitos com memória. O valor das saídas num dado instante não depende apenas da combinação das entradas nesse instante. Depende também das combinações anteriores - história do sistema.
1
Exemplo: circuito com realimentação
A
B
0/1/00/1/1
0/1/1
A
B
Fig 114
Este circuito, para além da entrada externa A, tem uma entrada interna B, que é uma realimentação da saída para a entrada da porta OR. Se inicialmente for A=B=0, a saída é 0. Quando A é colocado a 1, a saída do circuito passa a 1. Devido à realimentação, a entrada B passa também a ter o valor 1.
2
Agora, mesmo que A volte a tomar o valor 0, a saída terá sempre o valor 1, pois é sempre B=1. Considerando que este circuito tem apenas uma entrada (A) e uma saída (B) externas, verifica-se que a um mesmo valor de entrada, não lhe correspondente sempre o mesmo valor de saída. A saída depende da evolução da entrada, ou seja do seu passado.
3
L.1.2 - Flip-flop RS Flip-flop ou báscula RS
S
R0/0
1/00/0
1/1
Q
Q*
S
R
Q
Q*
Fig 115
O nível 0 é o elemento neutro da porta OR, pelo que para S=R=0 o valor das saídas fica dependente apenas das entradas internas.
4
Para S=R=0 o circuito está no estado Q=0 (e Q*=1) ou Q=1 (e Q*=0). Normalmente Q* é Q, mas para S=R=1 Q=Q*=0, pelo que há uma situação em que Q* não é igual a Q. Nas outras situações Q*=Q, pelo que basta conhecer a saída Q que define o estado do flip-flop.
5
Estados do flip-flop RS As entradas S e R a 0 não impõem valores na saída. Quando S=1 e R=0 (set), a saída é Q=1. Se S voltar a 0, a saída mantém-se. Quando S=0 e R=1 (reset), a saída é Q=0. Se R voltar a 0, a saída mantém-se. Deve evitar-se a transição simultânea de S=R=1 para S=R=0 pois o estado final é imprevisível. Teoricamente oscilaria entre Q=Q*=0 e Q=Q*=1. No entanto, devido a diferentes atrasos de propagação, acaba por estabilizar em Q=0 (e Q*=1) ou Q=1 (e Q*=0).
6
Tabela de funcionamento do flip-flop RS
Entradas S R
Saída Q
0 0 mantém-se 1 0 1 0 1 0 1 1 0 (Q*=0)
7
Diagrama temporal
R
S
Q
Q*=Q=0 Fig 116
8
Realização de um flip-flop RS com NAND's
S
R
QS
R
Q
S
R Fig 117
Tem uma tabela de funcionamento idêntica à do circuito anterior excepto para S=R=1 em que Q=Q*=1. Os NAND's foram antecedidos de NOT's pois o elemento neutro do NAND é o 1.
9
Flip-flop RS com entradas activas a 0
QS
R
Q
S
R Fig 118
Neste circuito, para S=0, a saída é Q=1. Para R=0, a saída é Q=0. O estado de não activação das entradas é S=R=1. Este circuito é muito usado para filtrar o ruído gerado pelos interruptores electromecânicos.
10
5V
0V
VA
VA
Fig 119
QS
R
5 V
5 V
1
0
Fig 120
11
L.1.3 - Flip-flop RST O flip-flop RST é um flip-flop RS com uma entrada de controle T.
Q
Q
S
R
T
R'
S'
Fig 121
12
Quando T=1 as portas NAND estão abertas e o circuito transforma-se num RS simples. Quando T=0 as portas NAND estão fechadas, obtendo- -se S'=R'=1 que não afecta o estado do flip-flop. A entrada T tem um efeito de trinco (latch): quando T=1 permite o funcionamento do
circuito; quando T=0 impede qualquer alteração no estado
do flip-flop.
13
Este flip-flop dá origem a uma situação indesejável que é ter S=R=1 com T=1 e em seguida fazer T=0. Como consequência passa-se de S'=R'=0 para S'=R'=1, que leva a um estado indeterminado. L.1.4 - Flip-flop D básico ou latch D O flip-flop D básico é construído com base no RST fazendo R=S.
14
D
Q
Q
T
D
S
R
Q
Q
T
D
T
Q
Q
Fig 122
15
Este flip-flop tem o nome de trinco bi-estável ou trinco de dados (data latch ou D latch). A tabela de funcionamento do latch D pode ser obtida da do RST, notando que não são agora possíveis as entradas S=R=0 e S=R=1. Se T=1, a saída segue a entrada:
se D=0, Q=0; se D=1, Q=1.
Se T=0 a saída Q mantém o valor que tinha no instante em que T transitou para 0.
16
Tabela de funcionamento do latch D
T D Q 1 0 0 1 1 1 0 mantém-se
Diagrama temporal exemplificativo
D
T
Q
*
*
*
* Fig 123
Os valores da entrada D ficam memorizados na saída Q, nos instantes em que T vai a 0, indicados com *.
17
Exemplo de aplicação
a
b
c
d
e
f
g
Conversor
segmentos
BCD - 7
D
TQ
D
TQ
D
TQ
D
TQ
Q
Q
Q
Q
D'
C'
B'
A'
D
C
B
A
D
C
B
A
T Fig 124
18
Variante de logigrama do latch D
Q
Q
T
Da
Fig 125
Esta variante do latch D poupa um circuito inversor. A negação da entrada é feita pelo NAND a que faz parte do flip-flop RST.
19
L.5 - Flip-flop D edge triggered O flip-flop D edge triggered (disparado pelo flanco) pode ser realizado a partir de um latch D. Gerador de picos
A
A'
BA
A'
B
t=3tpd
Fig 126
20
Do ponto de vista lógico, o circuito anterior tem saída sempre nula: B=A.A=0. No entanto se se tiver em conta os tempos de propagação das portas, conclui-se que A' é a negação de A, mas atrasado de três vezes o tempo de propagação de um inversor. Aplicando o gerador de picos na entrada T do latch D, obtemos um novo flip-flop: flip-flop D edge triggered.
21
D
Q
Q
T
D
T
Q
CP
CP
D D QD
CPQ Q
Fig 127
22
O flip-flop D edge triggered é activado no flanco
positivo (0 1) do CP (clock pulse - impulso de relógio). Nesta transição, o valor que estiver na entrada D é memorizado e colocado na saída Q. Diagrama temporal exemplificativo
D
CP
Q
* * *
*
Fig 128
23
Nas transições positivas do relógio (CP), o valor da entradas (assinalado por *) é colocado na saída. Neste flip-flop a saída é síncrona com a entrada de relógio: só pode mudar quando CP transita de 0 1. Exemplo: divisor de frequência
D
CP
Q
Q
CP
Q
Fig 129
Sempre que se dá a transição de CP de 0 1, a saída Q toma o valor de D (=Q).
24
Pode pôr-se a questão de, após Q passar a 0, este valor ser realimentado na entrada e Q passar a 0 novamente. Para tal não acontecer é necessário que a transição de CP seja bastante rápida. No latch D, que fica aberto durante o tempo que o relógio estiver a 1, esta situação origina à saída uma oscilação de alta frequência.
25
Pelo contrário no flip-flop D edge triggered de cada vez que há uma transição do relógio de 0 1 a saída muda de valor apenas uma vez, obtendo-se uma onda quadrada com metade da frequência da onda de entrada. A um flip-flop cuja saída muda em cada transição do relógio (positiva ou negativa) chama-se flip-flop T e é fundamentalmente usado como contador ou divisor de frequência (divisor por 2).
26
Flip-flop D edge triggered (outra realização)
Q
Q
D Q
CPQ
D
CP
Fig 130
27
L.1.6 - Flip-flop JK master-slave Flip-flop SR master-slave
S
R
T
Q
Q
Q
Q
i
i
slavemaster
Fig 131
A estrutura deste flip-flop baseia-se em 2 RST's.
28
O funcionamento dos flip-flop's master-slave efectua-se em 2 fases distintas. Na primeira T=1 abre o master e mantém o slave fechado, permitindo que as entradas S e R determinem o estados das saídas internas Qi e Qi não havendo alterações na saída do flip-flop. Na segunda fase T=0 e nesse instante o master é fechado e o slave abre permitindo assim que o que ficou memorizado em Qi e Qi passe para as saídas externas Q e Q. Conclui-se que neste flip-flop a saída muda apenas quando o relógio ou trigger transita de 1 0
( ).
29
1ª fase
T=1 Master aberto Slave fechado
Aquisição de dados: S e R determinam estado interno
2ª fase
T=0 Master fechadoSlave aberto
Transmissão do estado interno para a saída externa
A tabela de funcionamento do RS master-slave é idêntica à do RST, mas no master-slave a saída está sincronizada com a transição (1 0) do relógio. Para S=0 e R=1, ou S=1 e R=0, enquanto T=1, as entradas determinam o estado interno Qi. Quando T for a 0, Qi é transferido para Q. Se S=R=0 e T=1, o estado Qi não é alterado. No entanto as entradas S=R=1 geram um estado indeterminado.
30
Flip-flop JK master-slave
T
Q
Q
Q
Q
i
i
slavemaster
J
K
S1
R1
Fig 132
31
Flip-flop JK master-slave (outra representação)
T
Q
Q
Q
Q
i
i
slavemaster
K
S1
R1
1
1
1T
Q
Q
S
R
2 2T2
22
JQ
Q
Fig 132a
A realimentação cruzada das saídas para as entradas transforma o flip-flop SR master-slave num JK master-slave e elimina a situação inconveniente de S=R=1.
32
Se for J=K=1 e Q=0, a entrada K fica fechada pelo que S1=1 e R1=0. Se pelo contrário for Q=1, a entrada J fica inibida, ficando S1=0 e R1=1. Em qualquer dos casos o flip-flop muda de estado
quando há uma transição do relógio de 1 0 ( ) e J=K=1. Para outras combinações de entrada, as linhas de realimentação não alteram o funcionamento do flip- -flop.
33
Diagrama temporal exemplificativo
J
K
T
Q
Q
i
Fig 133
34
L.1.7 - Tabelas de funcionamento dos flip-flops
S R Q 0 0 mantém-se
RS básico 0 1 0 1 0 1 1 1 -
T S R Q 0 mantém-se
latch RST 1 0 0 mantém-se 1 0 1 0 1 1 0 1 1 1 1 -
35
T D Q 0 mantém-se
latch D 1 0 0 1 1 1
T D Q 0 0
D edge triggered 1 1
0,1 ou Q
36
T J K Qt 0 0 Q
JK edge triggered 0 1 0
1 0 1
1 1 Q
0,1 ou Q
T J K Qt
0 0 Q
JK master-slave 0 1 0
1 0 1
1 1 Q
0 Q
37
Os símbolos Q e Qt nos flip-flops síncronos referem a saída antes e depois da transição activa do relógio:
Qt = Q flip-flop mantém o estado Qt = Q flip-flop muda de estado
Para além destes existe o flip-flop T síncrono com uma entrada T e cuja saída muda de estado em cada transição activa do relógio. É equivalente ao flip-flop JK com J=K=1 ou ao flip-flop D com D=Q.
Q
Q
D
CP
Q
QT
Q
Q
T CP
1
1
J
K
T
Fig 134
38
L.1.8 - Flip-flops integrados Para além das entradas J e K ou D, nos flip-flops integrados existem normalmente duas outras entradas:
Preset Clear
cujo funcionamento é assíncrono, ou seja cujo efeito sobre a saída do flip-flop não depende da transição do relógio.
39
Flip-flop JK master-slave com entradas assíncronas de Preset e Clear
Q
Q
Q
Q
i
i
J
K
preset
CKclear
Fig 135 As duas entradas são activas a 0, pelo que Preset=Clear=1 não produz efeito algum sobre o circuito.
40
Quando Clear=0, as saídas Qi e Q vão a 0, é feita a limpeza (clear ou reset) dos 2 flip-flops RST master e slave. Quando Preset=0, as saídas Qi e Q vão a 1. Não se deve actuar simultaneamente o Preset e o Clear pois isso dá origem a um funcionamento incorrecto do flip-flop.
41
Símbolos lógicos de flip-flops
Q
Q
CP
J
K
preset
clear
Q
Q
CP
J
K
preset
clear
Q
Q
CP
preset
clear
Q
Q
CP
preset
clear
D D
Fig 136
Os flip-flops com símbolo de negação na entrada de relógio são activos na transição negativa de 1
0 ( ) de CP.
42
Exemplos de flip-flops integrados Flip-flops assíncronos
RS básico com NAND's 74279 (4 flip-flops) D latch 74373 (8 flip-flops)
Flip-flops síncronos
D edge triggered 74175 (4 flip-flops) JK edge triggered 74112 (2 flip-flops) JK master-slave 7476 (2 flip-flops)
43
Na utilização dos flip-flops é necessário atender às seguintes variáveis: set-up time - intervalo de tempo anterior à
transição activa do relógio durante o qual as entradas de dados têm de permanecer estáveis;
hold time - intervalo de tempo posterior à
transição activa do relógio durante o qual as entradas de dados têm de permanecer estáveis.
Estes valores são da ordem de 25 a 40 ns para flip-flops TTL.
44
L.2 - CONTADORES L.2.1 - Contadores assíncronos Os contadores e divisores de frequência são construídos com base em flip-flops síncronos, master-slave ou edge triggered.
45
Divisor por 2
Q
Q
D
CP
Q
QT
Q
Q
CP
1
1
J
K
A AA
B B B
T
T
A
B
Entrada A
Saída B
Fig 137
46
Em cada transição de 1 0 da entrada, a saída muda de valor lógico, obtendo-se na saída um sinal com período duplo do sinal de entrada: TB=2.TA. Ligando 3 flip-flops em cadeia obtém-se
Q
Q
CP
1
1
J
K
Q
Q
CP
1
1 K
Q
Q
CP
1
1
J
K
J0
0
0
0
0 1 1
1
11 2 2
2
22
CK
Q0
Q1 Q
2
Fig 138
47
As formas de onda das saídas deste circuito apresentam-se no diagrama temporal abaixo.
T
CK
Q0 0 1
Q1
Q2
0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1 0 0
0 00 0 1 1 1 1 0 0
000 001 010 011 100 101 110 111 000 001Q2 Q 0Q1 Fig 138a
48
Q0 muda de estado sempre que CK transita de 1 0.
Q0 é o relógio de Q1, pelo que Q1 só muda de estado quando Q0 transitar de 1 0.
Q2 só muda quando Q1 transitar de 1 0. A frequência de Q0 é metade da de CK, Q1 é um quarto de CK e Q2 é um oitavo. Para n flip-flops a saída do último tem uma frequência que é 1/2n da entrada de relógio. O circuito anterior pode ser considerado um contador se se tiver em conta o conjunto das 3 saídas Q2Q1Q0.
49
Para cada combinação das saídas define-se um estado do contador. O contador anterior é, então, um contador de 8 estados, ou contador módulo 8. Cada estado do contador tem uma duração de um período de relógio durante o qual as saídas se mantêm inalteradas.
50
Tabela de contagem
Contagem decimal
Q2 Q1 Q0
0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 0 0 0 0 1 0 0 1 ... ...
51
As 8 combinações possíveis correspondem a uma sequência binária natural, pelo que se trata de um contador crescente ou ascendente. A figura abaixo mostra um contador descendente módulo 16.
Q
Q
CP
1
1
J
K
Q
Q
CP
1
1 K
Q
Q
CP
1
1
J
K
J0
0
0
0
0 1 1
1
11 2 2
2
22
CK
Q0
Q1 Q
2
Q
CP
1
1
J
K
Q3
3
3Q3
3
3
Fig 139
Neste circuito, Q0 muda em cada transição negativa
do relógio (1 0 ).
52
Os flip-flops seguintes mudam também de estado quando a saída Q do flip-flop anterior transita de 1 0, ou seja quando Q transita de 0 1. Diagrama temporal do contador
CK
Q0
Q1
Q2
Q2 Q 0Q1 0000 1111 1110 1101 1100 1011 1010 1001 1000 0111Q3
Q3
Fig 139a
53
Tabela de contagem
Contagem decimal
Q3 Q2 Q1 Q0
0 0 0 0 0 15 1 1 1 1 14 1 1 1 0 13 1 1 0 1 12 1 1 0 0 11 1 0 1 1 10 1 0 1 0 9 1 0 0 1 8 1 0 0 0 7 0 1 1 1 6 0 1 1 0 5 0 1 0 1 4 0 1 0 0 3 0 0 1 1 2 0 0 1 0 1 0 0 0 1 0 0 0 0 0 15 1 1 1 1 ... ...
54
Contadores crescentes e decrescentes
Q
Q
CPCK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q
Q
Q
CPCK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q
Q
Q
CPCK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q1 2 3
1 2 31 2 3
Q
Q
CPCK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q1 2 3
Contadores binários crescentes Contadores binários decrescentes Fig 140
55
Andar típico de um contador Up-Down
Q
Q
Q
Q
n n+1
n+1
n+1
n
n
CK CK
UD=1
UD=0
UD (Up-Down) Fig 141
56
Implementação lógica
Q
Q
Q
Q
n n+1
n+1
n+1
n
n
CK CK
UD Fig 141a
57
Contador crescente-decrescente de 4 bits
QQQ
Q
Q
Q
Q
UD
T0
0
0
CK 1
1
1T
Q
Q
T
Q
Q
Q0
2
2
2
T3
3
3
1 2 3
a
b
a
b
a
b
Fig 142
Quando UD=1, as portas a estão abertas pelo que em T aparece a saída Q do flip-flop anterior, e assim o contador está na posição crescente (Up). Quando UD=0, são as portas b que estão abertas pelo que em T aparece a saída Q do flip-flop anterior, e assim o contador está na posição decrescente (Down).
58
Contadores não binários
Todos os contadores até agora apresentados têm um número de contagem que é uma potência de 2. Para conseguir um contador de módulo diferente de 2n pode utilizar-se um contador binário cuja contagem se interrompe no número pretendido. Contador módulo 10
Q
Q
CKQ
Q
Q
Q
Q
Q
A B C D
DCBA
Clear
T T T T
Cl Cl Cl Cl Fig 143
59
Este contador foi construído com base num contador módulo 16, interrompendo-se a contagem quando se detecta o estado 10(10). O estado 10(10) é descodificado por meio de uma porta NAND e a interrupção é conseguida por actuação das entradas Clear dos 4 flip-flops.
60
Diagrama temporal
CK
000010011000 0111
A
C
D
B
DCBA 0000100110000001 0010 0011 0100 0101 0110
Clear
1010(10) (10)
(8) (9) (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0)
1010
Fig 143a
61
De notar que o estado 10(10) aparece momentaneamente nas saídas do contador. Nessa altura, a porta NAND descodificadora obtém 0 à saída e actua as entradas Clear dos flip-flops.
O contador passa do estado DCBA=1010 para DCBA=0000 desactivando a porta descodificadora e também os Clear.
Normalmente o intervalo de tempo em que o contador está no estado 10(10) é inferior ao período de relógio, o que garante uma contagem correcta.
A porta descodificadora do circuito anterior pode ser simplificada usando o mapa de Karnaugh, no entanto pode observar-se que de 0 a 9 nunca aparece a combinação D=B=1, ou seja a combinação DCBA=11 apenas ocorre para o número 10 e superiores.
62
Descodificando apenas D=B=1 obtém-se:
Q
Q
CKQ
Q
Q
Q
Q
Q
A B C D
ClearT T T T
DB
Fig 144
Pode utilizar-se este método de descodificação de um estado para construir um contador de um módulo qualquer.
63
L.2.2 - Contadores síncronos Nos contadores estudados na secção anterior, a saída de um flip-flop está ligada à entrada de relógio do flip-flop seguinte: são contadores assíncronos ou de transporte (ripple counters). Considerando que existe um tempo de propagação tpd (da ordem de 40 ns) entre a actuação da entrada de relógio e a mudança da saída do flip-flop, verifica-se que nem todos os flip-flops mudam de estado ao mesmo tempo.
64
Analisando o diagrama temporal seguinte verifica-se que a passagem do estado DCBA=0111 para DCBA=1000, não é imediata, mas faz-se pelos estados intermédios 0110, 0100 e 0000. Isto deve-se ao facto de, após a transição do relógio, um flip-flop só poder mudar de estado depois do flip-flop anterior ter mudado.
65
CK
A
B
C
D
DCBA0101 0110 0111 1000 1001
0100 0110 0100 0000
(5) 4 (6) (7) (8) (9)4 06
tpd
Fig 145
66
Esta situação apresenta o seguinte inconveniente: se se usar uma porta descodificadora para detecção de determinado estado, por exemplo o estado 4, essa porta daria saída 1 no estado 4 como se pretende, mas também na transição de 5 para 6 e de 7 para 8. Estes picos nas saídas do contador podem ser evitados se se utilizarem contadores síncronos. Os contadores síncronos têm a característica de as entradas de CK de todos os flip-flops estarem ligadas entre si, garantindo desta forma a simultaneidade nas mudanças de estado dos vários flip-flops, evitando assim os picos.
67
O inconveniente dos contadores síncronos é o de necessitarem de lógica adicional. Contador binário ascendente síncrono
Q
CK
QQ Q
A B C D
1 J
K
J
K
J
K
J
K
Ck Ck Ck Ck
QJ
K
Ck
E
Fig 146
68
Circuito alternativo
A B C D E
Q
CK
QQ QJ
K
J
K
J
K
J
K
Ck Ck Ck Ck
QJ
K
Ck
1
Fig 146a
O circuito alternativo é mais simples pois utiliza portas AND de 2 entradas. Tem no entanto o inconveniente de o tempo de propagação se ir acumulando à medida que se caminha para a direita.
69
Para ambos os circuitos as equações das entradas são:
JA=KA=1 JB=KB=A JC=KC=A.B
JD=KD=A.B.C JE=KE=A.B.C.D
Obtém-se, assim a seguinte tabela de transições:
Estado presente
Entradas actuais
Estado seguinte
E D C B A JE KE JD KD JC KC JB KB JA KA E D C B A 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 - 11 - 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 - 22 - 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 - 33 - 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 - 44 - 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 - 55 - 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 - 6
70
L.2.3 - Síntese de circuitos síncronos
De seguida vai expor-se o método de síntese de ciruitos síncronos, exemplificando para um contador decimal ascendente síncrono, a partir de flip-flops JK.
Antes de mais é necessário conhecer a tabela de excitação dos flip-flops a utilizar. Tabela de excitação do flip-flop D
Estado presente
Estado seguinte
Entrada presente
Qt Qt+1 Dt
0 0
1 1
71
Tabela de excitação do flip-flop JK
Estado presente
Estado seguinte
Entrada presente
Qt Qt+1 Jt Kt
0 0 0 0 1 1 0 1 1 0
72
Para a síntese do circuito é necessário construir a respectiva tabela de transição de estados.
Dt Ct Bt At Dt+1 Ct+1 Bt+1 At+1 0 - 0 0 0 0 0 0 0 1 1 - 0 0 0 1 0 0 1 0 2 - 0 0 1 0 0 0 1 1 3 - 0 0 1 1 0 1 0 0 4 - 0 1 0 0 0 1 0 1 5 - 0 1 0 1 0 1 1 0 6 - 0 1 1 0 0 1 1 1 7 - 0 1 1 1 1 0 0 0 8 - 1 0 0 0 1 0 0 1 9 - 1 0 0 1 0 0 0 0 10 - 1 0 1 0 11 - 1 0 1 1 12 - 1 1 0 0 13 - 1 1 0 1 14 - 1 1 1 0 15 - 1 1 1 1
73
Considerando JD KD as entradas do flip-flop do estado D, JC KC as entradas do flip-flop do estado C etc., constrói-se a tabela que segue. Na primeira linha pretende-se que o contador transite de 0(10) para 1(10). Assim, do estado DtCtBtAt=0000 pretende-se atingir o estado Dt+1Ct+1Bt+1At+1=0001. Para tal, os flip-flops D, C e B devem transitar de 0 para 0 e o flip-flop A deve transitar de 0 para 1. Para obter estas transições escreve-se na 1ª linha da tabela seguinte JDKD=0, JCKC=0, JBKB=0 e
JAKA=1.
74
Dt Ct Bt At JD KD JC KC JB KB JA KA
0 - 0 0 0 0 0 0 0 1 1 - 0 0 0 1 0 0 1 1 2 - 0 0 1 0 0 0 0 1 3 - 0 0 1 1 0 1 1 1 4 - 0 1 0 0 0 0 0 1 5 - 0 1 0 1 0 0 1 1 6 - 0 1 1 0 0 0 0 1 7 - 0 1 1 1 1 1 1 1 8 - 1 0 0 0 0 0 0 1 9 - 1 0 0 1 1 0 0 1 10 - 1 0 1 0 11 - 1 0 1 1 12 - 1 1 0 0 13 - 1 1 0 1 14 - 1 1 1 0 15 - 1 1 1 1
75
As funções JD, KD, JC, KC, JB, KB, JA e KA podem ser simplificadas através de mapas de Karnaugh. A partir das equações correspondentes pode construir-se o circuito pretendido, ou seja, o contador decimal ascendente.
76
Simplificação das funções
Fig 147
Fig 148
77
Fig 149
Fig 150
78
Circuito correspondente
Q
CK
QQ Q
A B C D
1 J
K
J
K
J
K
J
K
Ck Ck Ck Ck
QQQQ
A B C D
Fig 151
79
Exercício 1: sintetizar o mesmo contador com base em flip-flops do tipo D. Exercício 2: sintetizar um contador binário reflectido.
80
Os contadores podem classificar-se quanto à estrutura, ao módulo e modo de contagem. Estrutura: Síncronos Assíncronos Módulo de contagem: Potência de 2 Diferente duma potência de 2 Sequência de contagem: Binária natural
Crescente, decrescente, crescente e decrescente
Outras sequências Ex: Código reflectido (ou de Gray)
81
L.2.4 - Contadores integrados Existem no mercado diversos tipos de contadores integrados nas famílias TTL e CMOS, alguns dos quais são analisados nesta secção. Contador decimal: 7490
1 2 3 4 5 6 7
891011121314
VCC
GND
7490
QA Q BQ QD CCKA
CKBD R0 9R
14
1
CKA
CKBD R0 9R
2 3 6 7
QA BQ QC QD
12 9 8 11
CKA
QA CKBD BQ QC QD
:2 :5
Fig 152
82
O 7490 é constituído por 2 subcontadores, um divisor por 2 e um divisor por 5. As entradas R0 e R9 são utilizadas para inicializar o contador no estado 0 e 9 respectivamente. Para efectuar uma contagem decimal é necessário ligar a saída QA à entrada de relógio CKBD. Exercício 3: desenhar as formas de onda das saídas do contador decimal.
83
Os contadores 7492 e 7493 têm uma estrutura análoga à do 7490, mas têm módulos de contagem diferentes. O 7492 é um contador módulo 12 e tem um divisor por 2 e um divisor por 6. O 7493 é um contador módulo 16 e tem um divisor por 2 e um divisor por 8.
84
L.2.5 - Contadores de diversos módulos de contagem Contador de 2 estados
D
CP
Q
Q
Q
Q
CP
1
1
J
K
QA Q
A
CP
QA
Fig 153
85
Contador de 3 estados
Q
Q
CP
1
J
K
QA
CP
QA
Q
Q1
J
K
QB
Q
0
0 0
01
1B
Fig 154
86
Contador de 4 estados
Q
Q
CP
1
J
K
QA
CP
QA
Q
Q
J
K
QB
Q
0
0 0
01
1
1
1
1
B
Fig 155
87
Contador de 5 estados
CKBD
BQ QC D
Q
Q
0
0 0
01
1 1
1
:5 do 7490
QBD
B
C
0
Q 0 0 0 0D1
0
CK
Fig 156
88
Contador de 6 estados
Q
Q
0
0 0
01
1 1
1
B
C
0A
ACK
Q 0 0 0 0 1
0
1
0
1
CKA
CKBD
R0
QA BQ QC QD
7490
Fig 157
O contador módulo 6 pode também ser realizado directamente a partir do divisor por 6 do circuito integrado 7492.
89
O contador módulo 7 pode ser obtido a partir de um circuito integrado 7492, com CPBD=QA, e QA e QD ligados nas entradas R0 (ver tabela de funcionamento do 7492).
O contador módulo 8 obtém-se da ligação de 3 flip-flops em cadeia.
O contador módulo 9 pode ser obtido a partir de um circuito integrado 7490 ou 7493, com CPBD=QA, e QA e QD ligados nas entradas R0.
O contador módulo 10 obtém-se directamente do circuito integrado 7490.
90
L.2.6 - Realização de um relógio digital Pode realizar-se um relógio digital utilizando contadores decimais 7490. Para contar minutos e segundos é necessário um contador módulo 60 que pode ser executado ligando em cadeia um contador módulo 10 e um módulo 6.
91
Contador módulo 60
CKA
CKBD
R
Q Q Q Q
7490R01 02 CKA
CKBD
R
Q Q Q Q
7490R01 02
D C B A
D C B A
Desc: BCD - 7 segm
D C B A
Desc: BCD - 7 segm
UnidadesDezenas
Entrada docontador
Para o próximocontador(horas ouminutos)
D C B A
Fig 158
92
Para as horas é necessário um contador módulo 12. Este contador é composto por um contador de unidades e um contador de dezenas. O contador de dezenas conta apenas entre 0 e 1. A sequência de contagem deverá ser 123...10111212.... Como o reset do 7490 coloca o contador a 0, tem que utilizar um flip- -flop e actuar a sua entrada de Preset.
93
Contador das horas
D C B A
Desc: BCD - 7 segm
QA
CKBD
BQ QC QD
:2 :5
Q J
K
HorasDezenasde horas
R0
preset
1
1
CKA
CK
7490 Fig 159
94
Relógio digital
Q Q Q Q
7490R
Q Q Q Q
7490
D C B A D C B A
0 R0
Descodificador Descodificador
D C B A D C B A
Q Q Q Q
7490R
Q Q Q Q
7490
D C B A D C B A
0 R0
Descodificador Descodificador
D C B A D C B AD C B A
QA BQ QC QD Q J
K
1
1
7490
Descodificador
R0
Horas Minutos Segundos
Osc.1 Hz
Fig 160
95
L.2.7 - Contadores de entradas paralelas Os contadores 74160 (decimal) e 74161 (binário) são síncronos e podem ser carregados de modo paralelo. A entrada PL de carregamento paralelo (parallel load) permite alterar a sequência de contagem fazendo o contador saltar para o estado pretendido.
96
CK
0 2 3
Q0 1Q Q2 Q3
P P1 P PPL
CLR
ENP
ENTRCO74160/1 0
9
1
2 3
4
5
6
78
PL=1
PL=1
PL=1 PL=0
PL=0
PL=0PL=0
Fig 161
ENP, ENT - Entradas de inibição de contagem, para ligação de contadores em cadeia. Devem ser 1 para um único contador.
CLR - Clear PL - Parallel Load RCO - Ripple Carry Output
97
Formas de onda
CK
P P P P3 2 1 0
PL
3 2 1 0Q Q Q Q
5 8 6 4
1 2 3 4 8 8 6 7 8 9 0 Fig 161a
Quando PL=1, o contador muda de estado em cada
transição positiva ( ) da entrada de relógio CK, segundo o código binário natural crescente. Se PL=0 o contador muda para o estado definido pelas entradas paralelas P3P2P1P0, na próxima
transição positiva ( ) do relógio.
98
Uma aplicação possível destes circuitos é o contador programável apresentado abaixo.
Entradas paralelas P3P2P1P0
Divisão de frequência
CK
0 2 3
Q0 1Q Q2 Q3
P P1 P PPL
RCO74160
Entradasprogramáveis
Fig 162
8 - 1 0 0 0 7 - 0 1 1 1 6 - 0 1 1 0 5 - 0 1 0 1 4 - 0 1 0 0 3 - 0 0 1 1 2 - 0 0 1 0 1 - 0 0 0 1 0 - 0 0 0 0
2 3 4 5 6 7 8 9 10
No fim de cada contagem RCO vai a 1 e o estado do contador é carregado com P3P2P1P0.
99
L.2.8 - Contadores crescentes/decrescentes Os contadores 74192 (decimal) e 74193 (binário) são bidireccionais, ou seja, do tipo crescente/decrescente. Têm duas entradas de relógio, uma para contagem crescente (UP) e outra para decescente (DOWN). Contador UP/DOWN
Q Q Q Q
P P P PPL
3210
3210
CLR
74192/3UP
DOWN BO
CO
CO - Carry Out - Borrow Out BO
Fig 163
100
Quando PL=1, o estado do contador é incrementado ou decrementado consoante a entrada UP ou DOWN em
que se der a transição positiva ( ) do relógio. A entrada de relógio que não estiver a ser usada deve manter-se a 1 para não haver incorrecção na contagem. Ligação de 2 contadores UP/DOWN
PL
74192/3UP
DOWN BO
CO74192/3
UP
DOWN BO
CO
Fig 164
101
L.3 - REGISTOS DE DESLOCAMENTO L.3.1 - Estruturas de registos de deslocamento Os registos de deslocamento (shift registers) são circuitos síncronos com uma estrutura muito simples: a saída de cada flip-flop está ligada à entrada do próximo.
Q
Q
CP
CK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q1 2 3
D D D D0 1 2 3 Q
Q
CP
CK
Q0
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q Q Q1 2 3
0 1 2 3J J J J
0 1 2 3K K K K
D D
Fig 165
102
Os dois registos apresentados são síncronos e têm um funcionamento igual, pois no registo de deslocamento realizado com flip-flops JK o flip- -flop da esquerda está ligado de forma a simular um flip-flop D. Em ambos os casos, quando vem uma transição
negativa do relógio ( ), o estado de um flip-flop é guardado no flip-flop seguinte.
103
0 0 0 01 0 0 0 0 0 01
0 0 0 0 0 0 0
0 1
0 1 1 0 1 1 0 1
1
0 0 00 00 0 1 0 0
Estado inicial Após 1º impulso Após 2º impulso
Após 4º impulso Após 5º impulsoApós 3º impulso
Após 6º impulso Após 7º impulso
0 00 0 0
Após 8º impulso
Fig 166
104
Registo de deslocamento de entrada paralela e saída série (74165)
Q
Q
CP
CK
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q
Q
CP
Q
Q
CP
S
R
S
R
S
R
S
R
S
R
S
R
S
R
S
RA
A
H
H
G
G
F
F
E
E
D
D
C
C
B
B
A HGFEDCB
Shift/Load
EntradaSérie
Preset
Clear
Saídasérie
QH
Fig 167
105
Quando a entrada Shift/Load é 1, o circuito desloca os dados de cada flip-flop sempre que há
uma transição positiva ( ) da entrada de relógio CK. Se a entrada Shift/Load é 0, todos os NAND's ficam abertos e deste modo é feito o preset ou ou clear de cada flip-flop consoante a entrada paralela é 1 ou 0, respectivamente.
106
Registo de deslocamento universal (74195)
QQQ
Q
0 0
0
1
1
1 Q
Q
Q
Q
Q0
2
2
2 3
3
3
1 2 3
D D D D
CLR
CK
D
PE
0 1 2 3P P P P
a
b
a
b
a
b
a
b
Q
Fig 168
Neste registo o carregamento paralelo é síncrono. A entrada PE selecciona uma das entradas a ou b do multiplexer que actua cada flip-flop.
107
Se PE=0 os AND a estão abertos e os AND b fechados, permitindo o carregamento paralelo na
próxima transição positiva ( ) do relógio. Se PE=1 os AND a estão fechados e os b abertos, permitindo o deslocamento na próxima transição positiva do relógio.
108
Registo de deslocamento para a esquerda e para a direita
QA BQ QC QD
PE
CP
D
Entrada sérieno deslocamentopara a esquerda
Entrada sérieno deslocamentopara a direita
A B C DP P P P
Fig 169
109
Registo de deslocamento com diversos modos de funcionamento (74198)
A B C DP P P P A B C DP P P P
A B C D A B C DQ Q Q Q Q Q Q Q
CP
SL
74198
SR
CLR
S1 S0
Fig 170
Entradas de controlo S1 S0
Modo de funcionamento (74198)
0 0 0 1 1 0 1 1
Inibe o relógio: mantém o estado Desloca para a direita Deloca para a esquerda Carregamento paralelo síncrono
110
L.3.2 - Contadores em anel Um contador em anel é constituído por um registo de deslocamento em que a saída do último flip-flop está ligada à entrada série. Este circuito passa por vários estados que se repetem ciclicamente, definindo o seu módulo de contagem.
111
Contador em anel de 5 estados
1 0 0 0 0D
Q Q Q Q Q0 1 2 3 4
CP
Q Q Q Q Q0 1 2 3 4
1 0 0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 1
0 1
0 1
0 1 Fig 171
112
CK
Q0
Q1
Q2
Q3
Q4
Fig 171a
Um contador em anel com n flip-flops tem apenas n estados, enquanto que um contador binário tem 2n estados.
A vantagem do contador em anel anterior é que só tem uma saída a 1, ou seja, as saídas estão já descodificadas.
113
Se o estado inicial do contador em anel não possuir apenas 1 zero, o contador terá uma sequência de estados diferente do que se pretende. Ciclos de contagem do contador em anel
0000
1111
0001 1000
0010 0100
1001 1100
0011 0110
0111
1110
1011
1101
1010
0101
Q Q QQ0 1 2 3
Fig 172
114
Para evitar esta situação acrescenta-se ao contador um circuito de auto-arranque.
Q
CK
QQ QD D D D
Q Q Q Q0 1 2 3
Fig 173
115
0000
1111
0001
1000
0010
0100 1001
1100
0011
0110
0111
1110
1011
1101
1010
0101
Fig 173a
116
Os contadores de Johnson diferem dos contadores em anel pelo facto de ligar à entrada série do registo de deslocamento a saída negada do último flip-flop.
Q
CK
QQ QD D D D
Q Q Q Q0 1 2 3
Q
Fig 174
Os contadores de Johnson têm um ciclo de contagem de 2 n estados.
117
Nos contadores de Johnson as saídas estão semi- -descodificadas, pelo que são uma solução de compromisso entre os contadores em anel que têm muitos flip-flops e as saídas descodificadas e os contadores binários que têm poucos flip-flops e as saídas codificadas. Geradores de sequências aleatórias módulo 255
Q0Q Q Q Q Q Q Q1 2 3 4 5 6 7
D0
0D = Q
3Q4
Q5
Q7
Fig 175
118
119
Nestes circuitos a sequência de contagem é pseudo-aleatória. Com a ligação adequada de algumas saídas do registo de deslocamento pode conseguir-se um ciclo de 2n-1 estados.