Contadores Síncronos
Tiago Alves de OliveiraIntrodução
Os
• problemas encontrados com os contadores assíncronos são provocados pelo acúmulo dos atrasos de propagação dos FFs.
Dito
• de outra maneira, nem todos os FFs mudam de estado em sincronismo com os pulsos de entrada.
Essas
• limitações podem ser superadas com o uso de contadores síncronos ou paralelos nos quais os FFs são disparados simultaneamente (em paralelo) pelos pulsos de clock de entrada.
Introdução
Visto
• que os pulsos de clock de entrada são aplicados em todos os FFs, algum recurso tem de ser usado para controlar o momento em que um FF deve comutar e o momento em que deve permanecer inalterado quando ocorrer um pulso de clock.
Contadores Síncronos (Paralelos)
Isso
• é implementado usando-se as entradas J e K, conforme ilustrado na Figura abaixo para um contador síncrono de quatro bits (módulo 16).
Contadores Síncronos (Paralelos)
Se
• compararmos a configuração do circuito para esse contador síncrono com seu correspondente assíncrono 7.1, veremos as seguintes diferenças:
1. As entradas CLK de todos os FFs estão conectadas juntas, de modo que o sinal de clock de entrada é aplicado simultaneamente em cada FF.
Apenas
2. o flip-flop A, o LSB, tem suas entradas J e K permanentemente em nível ALTO. As entradas J e K dos outros FFs são acionadas por uma combinação lógica das saídas dos FFs.
3. O contador síncrono requer um circuito maior que o contador assíncrono.
Operação do Circuito
Para
• que esse circuito conte adequadamente em determinada borda de descida do clock, apenas aqueles FFs que supostamente devem comutar nessa borda de descida do clock devem ter J = K = 1 quando ocorrer essa transição.
Operação do Circuito
• Vamos analisar a sequência de contagem do circuito mostrado na Figura abaixo para ver o que acontece com cada FF.
Operação do Circuito
• A sequência de contagem mostra que o flip-flop A tem de mudar de estado em cada borda de descida do clock.
Por
• isso, suas entradas J e K estão sempre em nível ALTO; assim, ele comuta em cada borda de descida do clock de entrada.
Operação do Circuito
• A sequência de contagem mostra que o flip-flop B tem de mudar de estado em cada borda de descida que ocorrer enquanto A = 1.
Por
• exemplo, quando a contagem for 0001, a próxima borda de descida deverá comutar B para o estado 1; quando for 0011, terá de comutar B para o estado 0, e assim por diante.
Essa
• operação é implementada conectando a saída A nas entradas J e K do flip-flop B; assim, J = K = 1 apenas quando A = 1.
Operação do Circuito
• A sequência de contagem mostra que o flip-flop C tem de mudar de estado em cada borda de descida que ocorrer enquanto A = B = 1.
Por
• exemplo, quando a contagem for 0011, a próxima borda de descida terá de comutar C para o es- tado 1; quando for 0111, terá de comutar C para o estado 0, e assim por diante.
Conectando
• o sinal lógico AB nas entradas J e K do flip-flop C, esse FF somente comutará quando A = B = 1.
Operação do Circuito
De
• modo análogo, podemos constatar que o flip-flop D tem de comutar em toda borda de descida que ocorrer enquanto A = B = C = 1.
Quando
• a contagem for 0111, a próxima borda de descida terá de comutar D para o estado 1; quando for 1111, terá de comutar D para o estado 0.
Conectando
• o sinal lógico ABC nas entradas J e K do flip-flop D, este comutará apenas quando A = B = C = 1.
Operação do Circuito
• O princípio básico para a construção de um contador síncrono pode, portanto, ser enunciado como:
Cada FF deve ter suas entradas J e K conectadas de modo que estejam no nível ALTO apenas quando as
saídas de todos os FFs de mais baixa ordem estiverem no estado ALTO.
Vantagem dos contadores
síncronos sobre os assíncronos
Em
• um contador paralelo, todos os FFs mudam de estado simultaneamente; ou seja, estão sincronizados com as transições negativas dos pulsos de clock de entrada.
Assim,
• diferentemente dos contadores assíncronos, os atrasos de propagação dos FFs não são somados para se obter o atraso total
Em
• vez disso, o tempo total de resposta de um contador síncrono como o da Figura anterior é o tempo de resposta de um FF para comutar mais o tempo para os novos níveis lógicos se propagarem por uma única porta AND para alcançar as entradas J e K.
Vantagem dos contadores
síncronos sobre os assíncronos
Ou seja, para um contador
• síncrono:
𝐴𝑡𝑟𝑎𝑠𝑜 𝑡𝑜𝑡𝑎𝑙 = 𝑡𝑝𝑑 𝑑𝑜 𝐹𝐹 + 𝑡𝑝𝑑 𝑑𝑎 𝑝𝑜𝑟𝑡𝑎 𝐴𝑁𝐷
Esse
• atraso total não depende do número de FFs do contador e geralmente é muito menor que o atraso de um contador assíncrono com o mesmo número de FFs.
Assim,
• um contador síncrono pode operar com frequência de entrada muito maior.
Naturalmente,
• o circuito de um contador síncrono é mais complexo que o de um assíncrono.
Exemplo
Determine
1. fmax para o contador mostrado na Figura anterior se o tpd de cada FF for 50 ns e o tpd de cada porta AND for 20 ns. Compare esses valores com fmax para um contador assíncrono de módulo 16.
O que deve ser feito para mudar o
2. módulo desse
contador para 32?
Determine
3. fmáx para o contador paralelo de módulo 32.
Solução
1. O atraso total permitido entre os pulsos de clock de entrada é igual ao 𝑡𝑝𝑑 do FF + o 𝑡𝑝𝑑 da porta AND.
Assim, 𝑇𝑐𝑙𝑜𝑐𝑘 ≥ 50 + 20 = 70 𝑛𝑠, e o contador paralelo tem frequência máxima de:
𝑓max = 1
𝑇 = 1
70 = 14,3 𝑀𝐻𝑧 (contador paralelo)
Um contador assíncrono de módulo 16 usa quatro FFs com tpd = 50 ns. Da Equação anterior, 𝑇𝑐𝑙𝑜𝑐𝑘 ≥
𝑁 × 𝑡𝑝𝑑. Assim, 𝑓𝑚𝑎𝑥para o contador assíncrono é: 𝑓𝑚𝑎𝑥 = 1
𝑇 =
1
Solução
Um quinto FF tem de ser acrescentado, visto que 2.
25 = 32. A entrada CLK desse FF também é
conectada nos pulsos de entrada. Suas entradas J e K são acionadas pela saída da porta AND de quatro entradas, A, B, C e D.
3. A 𝑓𝑚𝑎𝑥 ainda é determinada como no item 1, independentemente do número de FFs no contador paralelo. Assim, 𝑓𝑚𝑎𝑥 ainda é 14,3 MHz.
Exercícios
Qual
1. é a vantagem dos contadores síncronos sobre os assíncronos? E a desvantagem?
Quantos
2. dispositivos lógicos são necessários para um contador paralelo de módulo 64?
Qual
3. é o sinal lógico que aciona as entradas J e K do flip-flop MSB para o contador da Questão 2?
Respostas
Pode
1. operar em frequências de clock muito altas e tem um circuito de maior complexidade.
Seis
2. FFs e quatro portas AND.
ABCDE 3.
Contadores de Módulo < 2
N
• O contador básico síncrono mostrado na Figura anterior está limitado ao valor do módulo que é igual a 2𝑁, em que N é o número de FFs.
Esse
• valor é, na realidade, o valor máximo do módulo que pode ser obtido usando N flip-flops.
• O contador básico pode ser modificado para gerar um módulo menor que 2𝑁, fazendo com que o contador pule estados que normalmente são parte da sequência de contagem.
Uma
• sequência de contagem truncada pode ser produzida de maneiras diferentes.
Contadores de Módulo < 2
N
Um
• dos métodos mais comuns para se fazer isso é ilustrado na Figura abaixo, com um contador de três bits
Contadores de Módulo < 2
N
Desconsiderando a porta NAND por um momento
• ,
podemos ver que o contador é um contador binário de módulo 8 que conta em sequência de 000 a 111. • Entretanto, a presença da porta NAND altera essa
sequência da seguinte forma:
1. A saída da porta NAND está conectada nas entradas assíncronas da entrada CLEAR de cada FF. Enquanto a saída da porta NAND estiver em nível ALTO, não terá efeito sobre o contador. Entretanto, quando ela vai para o nível BAIXO, ocorre um sinal de CLEAR em todos os FFs; logo, o contador vai imediatamente para o estado 000.
Contadores de Módulo < 2
N
As
• entradas da porta NAND são as saídas dos flip-flops B e C e, portanto, a saída da porta NAND irá para nível BAIXO sempre que B = C = 1.
Essa
• condição ocorre quando o contador passa do estado 101 para o 110 na borda de descida do pulso 6.
• O nível BAIXO na saída da porta NAND resetará imediatamente (geralmente em poucos nanossegundos) o contador para o estado 000.
Uma
• vez que os FFs foram resetados, a saída da porta NAND retorna para o nível ALTO, visto que a condição B = C = 1 não existe mais.
Contadores de Módulo < 2
N
A
Contadores de Módulo < 2
N
Embora
• o contador chegue ao estado 110, ele se mantém nesse estado por apenas alguns nanossegundos antes de reciclar para 000.
Assim,
• podemos dizer que esse contador conta de 000 (zero) a 101 (cinco) e então recicla para 000. Ele essencialmente pula 110 e 111; logo, passa por apenas seis estados diferentes; assim, trata-se de um contador de módulo 6.
Estados
• temporários de contadores, como o estado 110 para este contador, são chamados estados de
Contadores de Módulo < 2
N
A Figura abaixo apresenta o diagrama de
• transição
de estados para o contador de módulo 6 na Figura anterior, mostrando como os FFs A, B e C mudam de estado à medida que os pulsos são aplicados na entrada CLK do flip-flop A.
Diagrama de Transição de Estados
Lembre
• -se de que cada círculo representa um dos possíveis estados do contador e que as setas indicam como se passa de um estado para outro em resposta a um pulso de clock de entrada.
Se
• considerarmos a contagem iniciando em 000, o diagrama mostra que os estados do contador mudam de maneira crescente até a contagem 101.
Quando
• o próximo pulso de clock ocorre, o contador passa momentaneamente para a conta- gem 110, antes de ir para a contagem estável 000. As linhas tracejadas indicam o estado temporário natural 110.
Conforme
• mencionado anteriormente, a duração desse estado é tão curta que, para a maioria das aplicações, podemos considerar que o contador passa diretamente de 101 para 000 (linha contínua).
Diagrama de Transição de Estados
Observe
• que não há nenhuma seta entrando no estado 111 porque o contador nunca avançará até esse estado.
Entretanto
• , o estado 111 pode ocorrer quando o circuito é energizado, situação na qual os FFs assumem estados aleatórios.
Se
• isso ocorrer, a condição 111 gera um nível BAIXO na saída da porta NAND e imediatamente reseta o contador para 000.
Assim,
• o estado 111 também é uma condição temporária que termina em 000.
Mostrando os estados do
contador
Algumas
• vezes durante a operação normal e frequentemente durante testes, é necessário ter um display que possibilite visualizar como o contador muda de estado em resposta aos pulsos de entrada.
Trataremos
• em detalhes, mais adiante, as diversas maneiras de se fazer isso.
Por
• enquanto, a Figura abaixo mostra um dos métodos mais simples, com indicadores
individuais com LEDs para saída de cada FF.
A
• saída de cada FF está conectada em um
INVERSOR cuja saída provê um caminho para a corrente do LED.
Por exemplo, quando a
• saída A estiver em nível
ALTO, a saída do INVERSOR estará em nível BAIXO e o LED acenderá.
O LED aceso indica A =
• 1. Quando a saída A estiver em nível BAIXO, a saída do INVERSOR estará em nível ALTO e o LED apagará.
O LED apagado indica que A =
Exemplo
Qual
1. será o estado dos LEDs quando o contador na Figura ao lado estiver com a contagem cinco? O que os 2. LEDs mostrarão quando o clock de entrada do contador for de 1 kHz? O estado 3. 110
poderá ser visto nos LEDs?
Solução
Como
1. 510 = 1012, os LEDs das posições 20 (A) e 22
(C) estarão acesos e o LED da posição 21 (B)
estará apagado.
2. A 1 kHz, os LEDs comutarão entre aceso e apagado tão rapidamente que para o olho humano se apresentarão comoacesos todo o tempo com metade da intensidade luminosa.
3. Não; o estado 110 se mantém por apenas alguns nanossegundos enquanto o contador recicla para 000.
Alterando o módulo
O contador mostrado nas figuras anteriores é um •
contador de módulo 6 devido à escolha das entradas da porta NAND.
Qualquer valor de
• módulo desejado pode ser obtido
alterando-se essas entradas.
Por exemplo, usando uma porta NAND de
• três entradas
(A, B e C), o contador contaria normalmente até que a condição 111 fosse alcançada; nesse ponto, ele seria imediatamente resetado para o estado 000.
Ignorando a
• excursão temporária no estado 111, o contador iria de 000 a 110 e, em seguida, reciclaria e voltaria para 000, resultando em um contador de
Exemplo
Determine
• o módulo do contador mostrado na Figura abaixo. Determine também a frequência na saída D.
Solução
Esse
• é um contador de quatro bits que normalmente contaria de 0000 até 1111.
As entradas da NAND
• são D, C e B, o que significa que o contador recicla imediatamente para 0000 quando a contagem 1110 (decimal 14) for alcançada.
Assim, o contador tem
• 14 estados estáveis de 0000 a
1101 e é, portanto, um contador de módulo 14. • Visto que a frequência de entrada é de 30 kHz, a
frequência da saída D será: 30
Procedimento geral
Paraconstruir
• um contador que inicie a contagem a
partir de todos os bits em nível 0 e que tenha um módulo X:
Determine
1. o menor número de FFs, de modo que 2𝑁 ≥ 𝑋, e conecte-os como contador. Se 2𝑁 ≥ 𝑋,
dispense os passos 2 e 3. Conecte
2. a saída de uma porta NAND às entradas assíncronas CLEAR de todos os FFs.
Determine
3. quais são os FFs em nível ALTO na contagem = X; então, conecte as saídas normais desses FFs às entradas da porta NAND.
Exemplo
Construa um contador de
1. módulo 10 que conte de 0000 (zero) a 1001 (decimal 9).
Solução
• 23 = 8 e 24 = 16; assim, são necessários quatro FFs.
Visto
• que o contador deve ter estados estáveis de operação até a contagem 1001, ele tem de ser resetado quando a contagem 1010 é alcançada.
Portanto,
• as saídas dos FFs D e B têm de ser conectadas como entradas da porta NAND
Solução
A Figura abaixo mostra essa
Contadores decádicos/contadores
BCD
• O contador de módulo 10 mostrado no no exemplo anterior também é conhecido como contador
decádico.
Na
• realidade, um contador decádico é qualquer um que tenha dez estados distintos, não importando a sequência.
Um
• contador decádico como o mostrado na Figura anterior, que conta em sequência de 0000 (zero) a 1001 (decimal 9), é em geral denominado contador
BCD, porque usa apenas os dez grupos de códigos
Contadores decádicos/contadores
BCD
Para
• resumir, qualquer contador de módulo 10 é um contador decádico; e qualquer contador decádico que conte em binário de 0000 a 1001 é BCD.
Os
• contadores decádicos, especialmente os tipos BCD, encontram ampla área de aplicações, em que pulsos, ou eventos, têm de ser contados e o resultado, apresentado em algum tipo de display numérico decimal.
Analisaremos
• esses contadores mais adiante. Um contador decádico também é muito usado para dividir frequências de pulsos exatamente por 10.
Os
• pulsos de entrada são aplicados ao flip-flop A e os pulsos de saída são obtidos a partir da saída do flip-flop D, que apresenta frequência que é 1/10 da de entrada.
Exemplo
Construa o contador de
Solução
• 25 = 32 e 26 = 64, portanto necessitamos de seis
FFs.
O contador deve ser resetado quando
• alcança a
contagem 60 (111100).
Assim, as
• saídas dos flip-flops Q5, Q4, Q3 e Q2 têm de ser conectadas na porta NAND.
A
Solução
Contador de módulo
Exercícios
Quais
1. são as saídas dos FFs que devem ser conectadas na porta NAND para se obter um contador de módulo 13?
Verdadeiro
2. ou falso: todos os contadores BCD são contadores decádicos.
Qual
3. é a frequência de saída de um contador decádico cuja entrada de clock tem sinal de 50 kHz?
Respostas
D,C e A. 1.
Verdadeiro, visto que um contador BCD tem dez 2.
estados distintos.