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 0/1/0 B 0/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. uando 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 1/0 0/0 S * R * R 0/0 1/1 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 =0 (e *=1) ou =1 (e *=0). Normalmente * é, mas para S=R=1 =*=0, pelo que há uma situação em que * não é igual a. Nas outras situações *=, pelo que basta conhecer a saída que define o estado do flipflop. 5
Estados do flip-flop RS As entradas S e R a 0 não impõem valores na saída. uando S=1 e R=0 (set), a saída é =1. Se S voltar a 0, a saída mantém-se. uando S=0 e R=1 (reset), a saída é =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 =*=0 e =*=1. No entanto, devido a diferentes atrasos de propagação, acaba por estabilizar em =0 (e *=1) ou =1 (e *=0). 6
Tabela de funcionamento do flip-flop RS Entradas S R Saída 0 0 mantém-se 1 0 1 0 1 0 1 1 0 (*=0) 7
Diagrama temporal S R *==0 Fig 116 8
Realização de um flip-flop RS com NAND's S S S R R R Fig 117 Tem uma circuito tabela de funcionamento anterior excepto para idêntica à do S=R=1 em que =*=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 S S R Fig 118 R Neste circuito, para S=0, a saída é =1. Para R=0, a saída é =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 V A 0V V A Fig 119 5 V S 1 R 0 5 V Fig 120 11
L.1.3 - Flip-flop RST O flip-flop RST é um flip-flop RS com uma entrada de controle T. S S' R T R' Fig 121 12
uando T=1 as portas NAND estão abertas e o circuito transforma-se num RS simples. uando 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 T D T S D T R 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, =0; se D=1, =1. Se T=0 a saída mantém o valor que tinha no instante em que T transitou para 0. 16
Tabela de funcionamento do latch D T D 1 0 0 1 1 1 0 mantém-se Diagrama temporal exemplificativo * D T * * Fig 123 Os valores da entrada D ficam memorizados na saída, nos instantes em que T vai a 0, indicados com *. * 17
Exemplo de aplicação D C B A D T D T D T D T D C B A D' C' B' A' Conversor BCD - 7 segmentos a b c d e f g T Fig 124 18
Variante de logigrama do latch D D a T 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 t=3t pd A A' B A A' B 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 CP T D D D D CP T CP 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. Diagrama temporal exemplificativo D * * * * CP 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 CP Fig 129 Sempre que se dá a transição de CP de 0 1, a saída toma o valor de D (=). 24
Pode pôr-se a questão de, após passar a 0, este valor ser realimentado na entrada e 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 flipflop T e é fundamentalmente usado como contador ou divisor de frequência (divisor por 2). 26
Flip-flop D edge triggered (outra realização) CP D D CP Fig 130 27
L.1.6 - Flip-flop JK master-slave Flip-flop SR master-slave S master i slave R i T 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 i e i 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 i e i passe para as saídas externas e. 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 2ª fase Master aberto Slave fechado T=0 Master fechado Slave aberto Aquisição de dados: S e R determinam estado interno 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 i. uando T for a 0, i é transferido para. Se S=R=0 e T=1, o estado i não é alterado. No entanto as entradas S=R=1 geram um estado indeterminado. 30
Flip-flop JK master-slave master slave J S 1 i K R 1 i T Fig 132 31
Flip-flop JK master-slave (outra representação) master slave J K S 1 T 1 R 1 1 1 i i S 2 2 T 2 R 2 2 T 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 =0, a entrada K fica fechada pelo que S1=1 e R1=0. Se pelo contrário for =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 i Fig 133 34
L.1.7 - Tabelas de funcionamento dos flip-flops S R 0 0 mantém-se RS básico 0 1 0 1 0 1 1 1 - latch RST T S R 0 mantém-se 1 0 0 mantém-se 1 0 1 0 1 1 0 1 1 1 1-35
T D 0 mantém-se latch D 1 0 0 1 1 1 D edge triggered T D 0 1 0,1 ou 0 1 36
JK edge triggered JK master-slave T J K 0 0 0 1 1 0 1 1 0,1 ou T J K t 0 0 0 1 0 1 0 1 1 1 0 t 0 1 37
Os símbolos e t nos flip-flops síncronos referem a saída antes e depois da transição activa do relógio: t = flip-flop mantém o estado t = 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=. 1 J D T T 1 K CP T CP 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 preset J i K i CK clear Fig 135 As duas entradas são activas a 0, pelo que Preset=Clear=1 não produz efeito algum sobre o circuito. 40
uando Clear=0, as saídas i e vão a 0, é feita a limpeza (clear ou reset) dos 2 flip-flops RST master e slave. uando Preset=0, as saídas i e 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 preset preset preset preset J J D D CP CP CP CP K K clear clear clear clear 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 D latch 74279 (4 flip-flops) 74373 (8 flip-flops) Flip-flops síncronos D edge triggered JK edge triggered JK master-slave 74175 (4 flip-flops) 74112 (2 flip-flops) 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 B 1 J B D B A T A 1 CP K A CP T A Entrada A Saída B T 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: T B =2.T A. Ligando 3 flip-flops em cadeia obtém-se 0 1 2 CK 1 J 0 1 K CP 0 0 1 1 J K CP 0 1 1 0 1 1 1 J K CP 1 1 2 2 2 2 2 Fig 138 47
As formas de onda das saídas deste circuito apresentam-se no diagrama temporal abaixo. T CK 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 2 0 0 0 0 1 1 1 1 0 0 2 1 0 000 001 010 011 100 101 110 111 000 001 Fig 138a 48
0 muda de estado sempre que CK transita de 1 0. 0 é o relógio de 1, pelo que 1 só muda de estado quando 0 transitar de 1 0. 2 só muda quando 1 transitar de 1 0. A frequência de 0 é metade da de CK, 1 é um quarto de CK e 2 é 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 2 1 0. 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 2 1 0 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. 0 1 2 3 1 J 0 1 J 0 1 1 1 J 2 2 1 J 3 3 CK CP 0 CP 1 CP 2 CP 3 1 K 0 0 1 K 1 K 1 1 2 2 1 K 3 3 Fig 139 Neste circuito, 0 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 do flip-flop anterior transita de 1 0, ou seja quando transita de 0 1. Diagrama temporal do contador CK 0 1 2 3 3 2 1 0 0000 1111 1110 1101 1100 1011 1010 1001 1000 0111 Fig 139a 53
Tabela de contagem Contagem decimal 3 2 1 0 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 0 1 2 3 0 1 2 3 CK CP CP CP CP CK CP CP CP CP 0 1 2 3 0 1 2 3 CK CP CP CP CP CK CP CP CP CP Contadores binários crescentes Contadores binários decrescentes Fig 140 55
Andar típico de um contador Up-Down CK n UD=1 CK n+1 n n+1 n UD=0 n+1 UD (Up-Down) Fig 141 56
Implementação lógica CK n n n+1 n CK n+1 n+1 UD Fig 141a 57
Contador crescente-decrescente de 4 bits 0 1 2 3 CK T 0 0 a T 1 1 a T 2 2 a T 3 3 0 b 1 b 2 b 3 UD Fig 142 uando UD=1, as portas a estão abertas pelo que em T aparece a saída do flip-flop anterior, e assim o contador está na posição crescente (Up). uando UD=0, são as portas b que estão abertas pelo que em T aparece a saída 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 A B C D DCBA CK T T T T Clear 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 A B C D Clear DCBA 1000 1001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 (8) (9) (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (0) 1010 1010 (10) (10) 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=1 1 apenas ocorre para o número 10 e superiores. 62
Descodificando apenas D=B=1 obtém-se: A B C D DB CK T T T T Clear 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 t pd (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 verificase 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
t pd CK A B C D (5) 4 (6) (7) 6 40 (8) (9) DCBA 0101 0110 0111 1000 1001 0100 0110 0100 0000 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 A B C D E 1 J J J J Ck Ck Ck Ck K K K K CK J Ck K Fig 146 68
Circuito alternativo A B C D E 1 CK J J J J Ck Ck Ck Ck K K K K J Ck K 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: J A =K A =1 J D =K D =A.B.C J B =K B =A J E =K E =A.B.C.D J C =K C =A.B Obtém-se, assim a seguinte tabela de transições: Estado presente Entradas actuais Estado seguinte E D C B A J E K E J D K D J C K C J B K B J A K A 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-1 1-0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0-2 2-0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1-3 3-0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0-4 4-0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1-5 5-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 t t+1 D t 0 0 1 1 Entrada presente 71
Tabela de excitação do flip-flop JK Estado presente Estado seguinte t t+1 J t K t 0 0 0 0 1 1 0 1 1 0 Entrada presente 72
Para a síntese do circuito é necessário construir a respectiva tabela de transição de estados. D t C t B t A t Dt+1 C t+1 B t+1 A t+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 J D K D as entradas do flip-flop do estado D, J C K C 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 D t C t B t A t =0000 pretende-se atingir o estado D t+1 C t+1 B t+1 A t+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 J D K D =0, J C K C =0, J B K B =0 e J A K A =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 A B C D A B C D 1 J J J J Ck Ck Ck Ck K K K K CK 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 CK A 14 13 A D 12 11 GND B 10 9 C 8 12 9 8 11 A CK BD B C D 7490 14 1 CK A A B C D CK BD R 0 R 9 CK A :2 :5 1 2 3 4 5 6 7 CK V BD R CC 0 R 9 23 67 Fig 152 82
O 7490 é constituído por 2 subcontadores, um divisor por 2 e um divisor por 5. As entradas R 0 e R 9 são utilizadas para inicializar o contador no estado 0 e 9 respectivamente. Para efectuar uma contagem decimal é necessário ligar a saída A à entrada de relógio CK BD. 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 A A CP 1 1 J K CP D CP A Fig 153 85
Contador de 3 estados A B J J CP A 0 1 0 CP 1 K 1 K B 0 0 1 Fig 154 86
Contador de 4 estados A B 1 J J CP A 0 1 0 1 CP 1 K K B 0 0 1 1 Fig 155 87
Contador de 5 estados CK B C D BD B 0 1 0 1 0 CK BD :5 do 7490 C 0 0 1 1 0 D 0 0 0 0 1 Fig 156 88
Contador de 6 estados A B C D CK A 7490 CK A CK BD R 0 A B 0 1 0 0 0 1 1 1 0 0 1 0 C 0 0 0 0 1 1 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 CP BD = A, e A e D ligados nas entradas R 0 (ver tabela de funcionamento do 7492). O contador módulo 8 obtém-se da ligação de 3 flipflops em cadeia. O contador módulo 9 pode ser obtido a partir de um circuito integrado 7490 ou 7493, com CP BD = A, e A e D ligados nas entradas R 0. 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 Dezenas Unidades Desc: BCD - 7 segm D C B A Desc: BCD - 7 segm D C B A Para o próximo contador (horas ou minutos) CK BD D C B A D C B A CK BD 7490 7490 R01 R 02 R01 R CK 02 A CK A Entrada do contador 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 1 2 3... 10 11 12 1 2... 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 Dezenas de horas Horas Desc: BCD - 7 segm D C B A preset A D C B J 1 CK CK A :2 :5 CK BD K 1 7490 R 0 Fig 159 94
Relógio digital Horas Minutos Segundos Descodificador Descodificador Descodificador Descodificador Descodificador D C B A D C B A D C B A D C B A D C B A A D C B J K 1 1 D C B A D C B A 7490 7490 R 0 R 0 D C B A D C B A 7490 7490 R 0 R 0 Osc. 1 Hz 7490 R 0 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
PL=0 PL=1 PL=1 2 3 PL=0 PL=1 PL=0 ENP ENT PL P 0 P 1 P 2 P 3 74160/1 RCO 0 1 4 5 PL=0 CK CLR 0 1 2 3 9 6 8 7 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 P 3 2 1 0 5 8 6 4 PL 3 2 1 0 1 2 3 4 8 8 6 7 8 9 0 Fig 161a uando 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 P 3 P 2 P 1 P 0, na próxima transição positiva ( ) do relógio. 98
Uma aplicação possível destes circuitos é o contador programável apresentado abaixo. CK PL Entradas programáveis 74160 P 0 P 1 P 2 P 3 RCO 0 1 2 3 Entradas paralelas P3P2P1P0 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 Divisão de frequência 2 3 4 5 6 7 8 9 10 Fig 162 No fim de cada contagem RCO vai a 1 e o estado do contador é carregado com P 3 P 2 P 1 P 0. 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 PL UP DOWN CLR P P P P 0 1 2 3 CO BO 0 1 2 3 74192/3 CO - Carry Out BO - Borrow Out Fig 163 100
uando 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 UP DOWN 74192/3 CO BO UP DOWN 74192/3 CO BO 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. D CK 0 1 2 3 D D D D D 0 1 2 3 J J J J 0 1 2 3 CP CP CP CP CP CP CP CP K K K K 0 1 2 3 CK 0 1 2 3 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
1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 Estado inicial Após 1º impulso Após 2º impulso 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 Após 3º impulso Após 4º impulso Após 5º impulso 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 Após 6º impulso Após 7º impulso Após 8º impulso Fig 166 104
Registo de deslocamento de entrada paralela e saída série (74165) A B C D E F G H Entrada Série Preset S A CP R A Clear S B CP R B S C CP R C S D CP R D S E CP R E S F CP R F S G CP R G S H CP R H Saída série H Shift/ Load CK Fig 167 105
uando 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) PE P P P P 0 1 2 3 CLR CK D a b D 0 D D 0 1 D 1 2 2 3 3 b b b 0 0 a 1 a 2 3 1 2 3 a 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 Entrada série no deslocamento para a direita D PE CP P A P B P C P D A B C D Entrada série no deslocamento para a esquerda Fig 169 109
Registo de deslocamento com diversos modos de funcionamento (74198) S1 S0 SR CP P A P B P C P D 74198 P A P B P C P D SL Entradas de controlo S1 S0 0 0 0 1 1 0 1 1 CLR A B C D A B C D Modo de funcionamento (74198) Inibe o relógio: mantém o estado Desloca para a direita Deloca para a esquerda Carregamento paralelo síncrono Fig 170 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 CP D 1 0 0 0 0 0 1 2 3 4 0 1 2 3 4 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 Fig 171 112
CK 0 1 2 3 4 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 0 1 2 3 0000 0001 1000 1001 1100 0111 1011 1010 1111 0010 0100 0011 0110 1110 1101 0101 Fig 172 114
Para evitar esta situação acrescenta-se ao contador um circuito de auto-arranque. 0 1 2 3 D D D D CK Fig 173 115
0000 1110 1000 0111 0011 0001 0100 1001 1111 0010 0110 0101 1101 1100 1011 1010 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. 0 1 2 3 D D D D CK 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 D 0 0 D= 1 2 3 4 5 6 7 0 3 4 5 7 Fig 175 118
Nestes circuitos a sequência de contagem é pseudoaleatória. Com a ligação adequada de algumas saídas do registo de deslocamento pode conseguir-se um ciclo de 2n-1 estados. 119