Mudanças entre as edições de "EDI018702 2020 2 AULA02"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 1: Linha 1:
=Flip-Flops=
+
=Apresentação=
  
Os flip-flops são elementos de circuito que podem apresentar em seu funcionamento apenas dois estados
+
Os contadores são circuitos que utilizam flip-flops e são aplicados, principalmente, em contagens, diversas, divisão de frequência, medição de frequência e tempo, divisão de formas de onda e conversão de analógico para digital. Estes circuitos sequenciais são divididos basicamente em duas categorias:
estáveis. Não existem estados intermediários entre estes dois estados.
 
A aplicação de um sinal de entrada pode mudar o dispositivo de um estado para outro e como a qualquer
 
momento podemos saber qual é o estado em que ele se encontra, é possível considerar este circuito como
 
uma memória capaz de armazenar um bit.
 
  
O flip-flop é o elemento básico das chamadas memórias estáticas. Existem diversos tipos de flip-flops
+
*Contadores assíncronos; e
encontrados nos circuitos digitais comerciais.
+
*Contadores síncronos.
  
 +
Basicamente a principal diferença entre eles é que o síncrono utiliza um sinal de ''clock'' comum a todos os flip-flops e o assíncrono possuí um sinal de ''clock'' que é dividido até o último flip-flops.
  
==Tipo RS==
 
  
O Flip-Flop R-S (Reset e Set) funciona da seguinte maneira:
+
=Contadores Assíncronos=
  
O flip-flop R-S tem duas saídas representadas por Q e Q\, assim, na
+
Estes contadores também são conhecidos como seriais ou contadores por pulsação (''ripple counter''). Tal nome advém do fato dos flip-flops (FF) do contador não serem disparados diretamente pelo sinal de ''clock''. Cada FF é disparado pela saída do FF anterior. Esta característica torna estes contadores limitados em termos de velocidade, pois o tempo de ativação (tempo de resposta) é dado aproximadamente pela soma dos tempos de atraso de propagação de cada FF.
condição inicial estável Q estará no nível baixo (0) e Q\ estará no nível alto (1).
 
O processo que leva o flip-flop a este estado inicial pronto para funcionar
 
é muito rápido, não demorando mais do que alguns microssegundos.
 
Quando o flip-flop se encontra na situação indicada, com Q=0 e Q\=1,
 
dizemos que ele se encontra "setado". A Figura 1 mostra o símbolo utilizado pelo Flip-Flop RS com clock.
 
  
  
 +
==Crescente==
  
[[Imagem:fig9_DIG222802.png|center|150px]]
+
Um circuito típico de um contador assíncrono crescente construído com FF do tipo JK é mostrado na Figura 1. Os FF JK estão com ambas entradas J e K permanentemente em nível alto, estando configuradas portanto como FF tipo T. Cada FF é disparado pela saída  do FF anterior. A Figura 2 mostra o diagrama de tempo para esse contador.
 +
 
 +
 
 +
[[Imagem:fig14_DIG222802.png|center|500px]]
 
<center>
 
<center>
Figura 1 - Flip-Flop RS com clock.
+
Figura 1 - Contador assíncrono crescente.
 
</center>
 
</center>
  
  
Assim, estando o flip-flop na condição indicada, se desejarmos mudar
+
[[Imagem:fig15_DIG222802.png|center|600px]]
o estado, aplicamos o pulso na entrada SET, ficando Q=1 e Q\=0. Desta forma, se desejarmos mudar o estado novamente, aplicamos o pulso na entrada RESET,  logo as saídas mudam para Q=0 e Q\=1. A Figura 2 mostra os diagramas de tempo para um FF R-S com clock. <span style="color:red;">Lembre-se que SET e RESET são assíncronos, ou seja, acontecem imediatamente depois de acionados.</span>
 
 
 
 
 
[[Imagem:fig7_DIG222802.png|center|500px]]
 
 
<center>
 
<center>
Figura 2 - Diagrama de tempos para o Flip-Flop RS com entrada de clock.
+
Figura 2 - Diagrama de tempo do contador assíncrono crescente.
 
</center>
 
</center>
  
  
Se a mudança de estado ou disparo (gatilho) ocorre quando o sinal de clock passa de 0 para 1, os
+
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
flip-flops são denominados "positive edge-triggered", enquanto que, se o disparo ocorre quando o clock vai do
+
|+'''Tabela 1 - Contador assíncrono crescente MOD-16'''
nível 1 para 0, ou seja, na queda do nível lógico, os flip-flops são chamados de "negative edge-triggered".
+
|-
Neste tipo de circuito é muito importante levar em conta, num projeto de maior velocidade, os tempos em
+
! style="background:#6A5ACD; color:white; width: 20px;" | Clock
que todo o processo ocorre. Assim, partindo do diagrama de tempos da Figura 3, vemos que a saída
+
! style="background:#6A5ACD; color:white; width: 20px;" | D
do flip-flop só completa sua mudança de estado depois de um certo tempo, do pulso de clock ter sido aplicado.
+
! style="background:#6A5ACD; color:white; width: 20px;" | C
 +
! style="background:#6A5ACD; color:white; width: 20px;" | B
 +
! style="background:#6A5ACD; color:white; width: 20px;" | A
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Decimal
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Estado
 +
|-
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
|-
 +
| 1
 +
| 0
 +
| 0
 +
| 0
 +
| 1
 +
| 1
 +
| 1
 +
|-
 +
| 2
 +
| 0
 +
| 0
 +
| 1
 +
| 0
 +
| 2
 +
| 2
 +
|-
 +
| 3
 +
| 0
 +
| 0
 +
| 1
 +
| 1
 +
| 3
 +
| 3
 +
|-
 +
| 4
 +
| 0
 +
| 1
 +
| 0
 +
| 0
 +
| 4
 +
| 4
 +
|-
 +
| 5
 +
| 0
 +
| 1
 +
| 0
 +
| 1
 +
| 5
 +
| 5
 +
|-
 +
| 6
 +
| 0
 +
| 1
 +
| 1
 +
| 0
 +
| 6
 +
| 6
 +
|-
 +
| 7
 +
| 0
 +
| 1
 +
| 1
 +
| 1
 +
| 7
 +
| 7
 +
|-
 +
| 8
 +
| 1
 +
| 0
 +
| 0
 +
| 0
 +
| 8
 +
| 8
 +
|-
 +
| 9
 +
| 1
 +
| 0
 +
| 0
 +
| 1
 +
| 9
 +
| 9
 +
|-
 +
| 10
 +
| 1
 +
| 0
 +
| 1
 +
| 0
 +
| 10
 +
| 10
 +
|-
 +
| 11
 +
| 1
 +
| 0
 +
| 1
 +
| 1
 +
| 11
 +
| 11
 +
|-
 +
| 12
 +
| 1
 +
| 1
 +
| 0
 +
| 0
 +
| 12
 +
| 12
 +
|-
 +
| 13
 +
| 1
 +
| 1
 +
| 0
 +
| 1
 +
| 13
 +
| 13
 +
|-
 +
| 14
 +
| 1
 +
| 1
 +
| 1
 +
| 0
 +
| 14
 +
| 14
 +
|-
 +
| 15
 +
| 1
 +
| 1
 +
| 1
 +
| 1
 +
| 15
 +
| 15
 +
|-
 +
| 16
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
|-
 +
| 17
 +
| 0
 +
| 0
 +
| 0
 +
| 1
 +
| 1
 +
| 1
 +
|-
 +
| 18
 +
| 0
 +
| 0
 +
| 1
 +
| 0
 +
| 2
 +
| 2
 +
|}
  
  
[[Imagem:fig8_DIG222802.png|center|400px]]
 
<center>
 
Figura 3 - Tempos do flip-flop R-S.
 
</center>
 
  
Dois tempos são importantes neste tipo de circuito.
+
O contador tem como conteúdo (estado interno) a contagem do número de transições negativas do ''clock'', de forma que quando ocorre uma transição o conteúdo é incrementado de uma unidade. O conteúdo do contador é dado pelo número binário DCBA, onde A é o bit LSB (bit menos significativo) e D é o bit MSB (bit mais significativo).
 +
O modulo (MOD) de um contador é o seu número de estados distintos, portanto, o módulo de um contador com N FF pode ser no máximo o número de possíveis saídas (<math>2^N</math>). A Tabela mostra os estados de contagem de um contador assíncrono com 4 FF (4 bits). Podemos perceber que após 16 transições de ''clock'' o contador reinicia a contagem. Por isso, este contador é de MOD-16, ou seja, tem 16 estados  distintos (0000b até 1111b).
 +
Nos contadores assíncronos, a frequência do ''clock'' é dividida por 2 em cada FF, ou seja: na saída A temos ''clock/2'', e na saída D temos ''clock/16''. Portanto, os contadores assíncronos são divisores de frequência e no último FF a frequência de ''clock'' é dividida pelo módulo do contador.
  
*tH: Hold Time ou Tempo de Manutenção é o tempo em que a entrada
+
==Contadores de Módulo==
deve permanecer ainda no circuito para que seu nível lógico seja
 
reconhecido pelo flip-flop.
 
*tS: Setup Time ou tempo em que a entrada do flip-flop deve permanecer
 
no estado desejado antes da transição do clock que vai provocar a
 
mudança de estado do circuito.
 
  
==Tipo D==
+
Para obter um contador com módulo menor do que <math>2^N</math> é necessário adicionar um circuito decodificador para reiniciar a contagem antes de chegar ao valor máximo (ou mínimo). A Figura 3 mostra um contador MOD-6. Se não houvesse a porta NAND ligada nas entradas CLR dos FF o módulo do contador seria 8. A sequência de estados do contador MOD-6 é mostrada nas Figura 4 e Tabela 2.  Note que na transição do 6º ''clock'' o estado do contador passa temporariamente pelo estado (110b), o qual faz com que a saída da porta NAND passe para o estado BAIXO, causando o CLR nos FF, e consequentemente levando o contador para o estado (000b).
  
O Flip-Flop tipo D funciona da seguinte maneira: Quando houver variação do clock, o valor guardado na saída do flip-flop será igual ao valor da entrada D (dados) naquele momento.
 
  
O circuito do flip-flop do tipo D pode ser construído a partir do circuito do flip-flop RS controlado, basta adicionar uma porta inversora entre R e S fazendo com que as entradas sempre sejam invertidas uma da outra. Desse modo não vamos ter R=0 e S=0 ou R=1 e S=1 o que evita o chamado "estado proibido". A Figura 4 mostra essa configuração.
+
[[Imagem:fig16_DIG222802.png|center|500px]]
 +
<center>
 +
Figura 3 - Contador assíncrono com módulo < <math>2^N</math>.
 +
</center>
  
[[Imagem:fig10_DIG222802.png|center|250px]]
+
[[Imagem:fig17_DIG222802.png|center|600px]]
 
<center>
 
<center>
Figura 4 - Circuito do flip-flop tipo D utilizando o RS controlado.
+
Figura 4 - Diagrama de tempo do contador com módulo < <math>2^N</math>.
 
</center>
 
</center>
  
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
|+'''FF D'''
+
|+'''Tabela 2 - Contador assíncrono crescente MOD-6'''
 +
|-
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Clock
 +
! style="background:#6A5ACD; color:white; width: 20px;" | C
 +
! style="background:#6A5ACD; color:white; width: 20px;" | B
 +
! style="background:#6A5ACD; color:white; width: 20px;" | A
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Decimal
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Estado
 +
|-
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
|-
 +
| 1
 +
| 0
 +
| 0
 +
| 1
 +
| 1
 +
| 1
 +
|-
 +
| 2
 +
| 0
 +
| 1
 +
| 0
 +
| 2
 +
| 2
 +
|-
 +
| 3
 +
| 0
 +
| 1
 +
| 1
 +
| 3
 +
| 3
 +
|-
 +
| 4
 +
| 1
 +
| 0
 +
| 0
 +
| 4
 +
| 4
 +
|-
 +
| 5
 +
| 1
 +
| 0
 +
| 1
 +
| 5
 +
| 5
 
|-
 
|-
! style="background:#6A5ACD; color:white; width: 20px;" | D
+
| 6*
! style="background:#6A5ACD; color:white; width: 20px;" | Q
+
| 1
 +
| 1
 +
| 0
 +
| 6
 +
| 6
 
|-
 
|-
 +
| 6
 +
| 0
 +
| 0
 +
| 0
 
| 0
 
| 0
 
| 0
 
| 0
 
|-
 
|-
 +
| 7
 +
| 0
 +
| 0
 
| 1
 
| 1
 
| 1
 
| 1
 +
| 1
 +
|-
 +
| 8
 +
| 0
 +
| 1
 +
| 0
 +
| 2
 +
| 2
 
|}
 
|}
 +
*Não atingível.
 +
 +
 +
O diagrama de transição de estados do contador de 3 bits MOD-6 é mostrado na Figura 5. No diagrama de transição as linhas contínuas indicam a passagem pelos estados estáveis (000b  101b) e as linhas tracejadas indicam a passagem pelos estados temporários (110b). O estado (111b) embora possível não é atingível.
 +
 +
 +
[[Imagem:fig18_DIG222802.png|center|350px]]
 +
<center>
 +
Figura 5 - Diagrama de transição de estados de um contador MOD-6.
 +
</center>
 +
 +
Para a construção de um contador módulo X menor que o módulo máximo, o procedimento deve seguir as etapas:
  
 +
*Determinar o menor número ''N'' de FF tal que <math>2^N \le X</math>.
 +
::Exemplo:  MOD-12  <math>\rightarrow</math> N = 16.
 +
*Conectar a porta NAND nas entradas assíncronas <math>\overline{CLR}</math> de todos os FF. Se <math>2^N = X</math>, não é necessário conectar nada a entrada;
 +
*Conectar as saídas que estarão em ALTO na contagem X, na porta NAND.
 +
::Exemplo:  12 = 1100b D = 1 e C = 1, conectar D e C a porta NAND.
  
Observe que pelo fato do flip-flop tipo D possuir apenas uma entrada faz com que a sua tabela verdade possua somente duas linhas, já que com uma entrada são possíveis apenas dois valores 0 ou 1. O C, de controle, na verdade se transforma em clock (CK) nas distribuições comerciais, além do possuir preset (PR) e clear (CLR). A Figura 5 apresenta um flip-flop tipo D com preset e clear ativos pela borda de subida do clock (a) e borda de descida do clock (b).
+
==Decádicos==
  
 +
Os contadores de década (ou decádico) são contadores que possuem 10 estados distintos, não importando a sequência de contagem. Quando um contador decádico realiza a contagem em sequência binária crescente de 0000b a 1001b (0 a 9), ele é chamado de contador BCD. A Figura 6 mostra o CI 7490.
  
[[Imagem:fig11_DIG222802.png|center|250px]]
+
[[Imagem:figura111_EDI018702.png|300px|center]]
 
<center>
 
<center>
Figura 5 -Flip-flop tipo D com preset e clear ativos pela: (a) borda de subida e (b) borda de descida do clock.
+
Figura 6 - Circuito Integrado Contador 7490.  
 
</center>
 
</center>
  
==Tipo JK==
+
O circuito integrado TTL 7490 consiste num contador de década, divisor por 2 e por 5, com saídas BCD. Cada circuito integrado exige uma corrente de 32 mA e a máxima frequência de contagem é 18 MHz. A contagem ocorre nas transições negativas do sinal de ''clock''. Este circuito é encontrado em versões mais rápidas nas subfamílias TTLs correspondentes. [https://www.jameco.com/Jameco/Products/ProdDS/50690.pdf Datasheet 7490 - Contador Decádico]
  
No Flip-Flop JK quando houver variação do clock, o valor guardado no flip-flop será alternado se as entradas J e K forem iguais a 1 e será mantido se ambas forem iguais a 0. No caso de serem diferentes, então o valor se tornará 1 se a entrada J (Jump) for 1 e será 0 se a entrada K (Kill) for 1. A Figura 6 mostra o símbolo utilizado para o flip-flop JK.
+
==Decrescente==
  
[[Imagem:fig12_DIG222802.png|center|150px]]
+
Os contadores que contam progressivamente a partir do zero são denominados contadores crescentes (ou ascendentes). Já os contadores que contam do valor máximo até zero são chamados decrescentes (ou descendentes). A Figura 7 mostra a configuração para um contador decrescente construído com FF do tipo JK. A configuração é semelhante à do contador crescente, com a única diferença de cada FF é disparado pela saída '''Q\''' no lugar de '''Q'''.
 +
 
 +
 
 +
[[Imagem:fig19_DIG222802.png|center|500px]]
 
<center>
 
<center>
Figura 6 - Flip-flop JK com preset e clear.
+
Figura 7 - Contador assíncrono decrescente.
 
</center>
 
</center>
 +
 +
 +
A Figura 8 mostra o diagrama de tempo das saídas do contador, enquanto que a Tabela 3 mostra a contagem das transições do ''clock'' e os estados correspondentes ao contador. O diagrama de estados do contador decrescente é mostrado na Figura 9 (b), enquanto que o diagrama do contador crescente é mostrado na Figura 9 (a). Note que nos dois diagramas o contador passa por todos os estados.
 +
 +
 +
[[Imagem:fig20_DIG222802.png|center|350px]]
 +
<center>
 +
Figura 8 - Diagrama de tempo do contador assíncrono decrescente.
 +
</center>
 +
  
  
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
|+'''FF JK'''
+
|+'''Tabela 2 - Contador assíncrono decrescente MOD-6'''
 
|-
 
|-
! style="background:#6A5ACD; color:white; width: 20px;" | J
+
! style="background:#6A5ACD; color:white; width: 20px;" | Clock
! style="background:#6A5ACD; color:white; width: 20px;" | K
+
! style="background:#6A5ACD; color:white; width: 20px;" | C
! style="background:#6A5ACD; color:white; width: 20px;" | Q
+
! style="background:#6A5ACD; color:white; width: 20px;" | B
 +
! style="background:#6A5ACD; color:white; width: 20px;" | A
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Decimal
 +
! style="background:#6A5ACD; color:white; width: 20px;" | Estado
 
|-
 
|-
 
| 0
 
| 0
 
| 0
 
| 0
| Q
+
| 0
 +
| 0
 +
| 0
 +
| 0
 
|-
 
|-
 +
| 1
 +
| 1
 +
| 1
 +
| 1
 +
| 7
 +
| 1
 +
|-
 +
| 2
 +
| 1
 +
| 1
 
| 0
 
| 0
 +
| 6
 +
| 2
 +
|-
 +
| 3
 +
| 1
 +
| 0
 +
| 1
 +
| 5
 +
| 3
 +
|-
 +
| 4
 
| 1
 
| 1
 
| 0
 
| 0
 +
| 0
 +
| 4
 +
| 4
 
|-
 
|-
 +
| 5
 +
| 0
 +
| 1
 
| 1
 
| 1
 +
| 3
 +
| 5
 +
|-
 +
| 6
 
| 0
 
| 0
 
| 1
 
| 1
 +
| 0
 +
| 2
 +
| 6
 
|-
 
|-
 +
| 7
 +
| 0
 +
| 0
 
| 1
 
| 1
 
| 1
 
| 1
| Q\
+
| 7
 +
|-
 +
| 8
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
| 0
 +
|-
 +
| 9
 +
| 1
 +
| 1
 +
| 1
 +
| 7
 +
| 1
 +
|-
 +
| 10
 +
| 1
 +
| 1
 +
| 0
 +
| 6
 +
| 2
 
|}
 
|}
  
  
O flip-flop JK aprimora o funcionamento do flip-flop RS interpretando a condição S = R = 1 (proibido) como um comando de inversão.
+
[[Imagem:fig21_DIG222802.png|center|450px]]
 +
<center>
 +
Figura 9 - Diagrama de transição de estados do contador MOD-8.
 +
</center>
  
Especificamente, a combinação J = 1, K = 0 é um comando para ativar (set) a saída do flip-flop. A combinação J = 0, K = 1 é um comando para desativar (reset) a saída do flip-flop; e a combinação J = K = 1 é um comando para inverter o flip-flop, trocando o sinal de saída pelo seu complemento.
+
==Atrasos de Propagação==
  
==Tipo T==
+
Em um contador assíncrono cada FF é disparado pela saída de um FF anterior. Essa característica traz como desvantagem o acumulo dos tempos de '''atraso de propagação'''. Isso pode ser visto na Figura 10. Ao passar por um FF, o sinal de ''clock'' sofre um atraso de propagação <math>t_{pd}</math> e esse efeito é somado até o último FF, gerando um atraso total de <math>N.t_{pd}</math>, onde N é o número de FF.
  
Assim como se modifica o flip-flop R-S colocando um porta inversora entre as entradas R e S para criar o flip-flop tipo D, podemos fazer um curto-circuito entre J e K e o flip-flop J-K se torna um flip-flop T. A Figura 7 apresenta como transformar um flip-flop do tipo JK em tipo T.
 
  
[[Imagem:fig13_DIG222802.png|center|250px]]
+
[[Imagem:fig23_DIG222802.png|center|450px]]
 
<center>
 
<center>
Figura 7 - Transformando flip-flip JK em T.
+
Figura 10 - Contador assíncrono ascendente-descendente.
 
</center>
 
</center>
  
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
+
Para que um contador assíncrono funcione de modo confiável é necessário que o atraso total de propagação seja menor que o período de ''clock'' usado: <math>T_{clk} \ge  N.t_{pd}</math>, ou ainda, em termos de frequência máxima, que <math>f_{max}=\frac{1}{N.t_{pd}}</math>.
|+'''FF T'''
 
|-
 
! style="background:#6A5ACD; color:white; width: 20px;" | T
 
! style="background:#6A5ACD; color:white; width: 20px;" | Q
 
|-
 
| 0
 
| Q
 
|-
 
| 1
 
| Q\
 
|}
 
 
 
O flip-flop tipo T funciona da seguinte forma: Quando houver variação do clock, o valor guardado no flip-flop será alternado ou mantido dependendo se o valor na entrada T (Toggle) for 1 ou 0. Assim, quando T=1 a saída vai para Q\ e quando T=0 a saída permanece como estava.
 
  
=Referências=
+
=Exercício=
  
[1] TOCCI, Ronald J.; WIDMER N. S.; GREGOGRY L. M. Sistemas digitais: princípios e aplicações. São Paulo: Prentice Hall, 2003.
+
[1] Complete o circuito abaixo para que funcione como contador '''assíncrono''' crescente.
  
[2] http://www.inf.ufsc.br/~guntzel/isd/isd4.pdf
+
[[Imagem:fig78_DIG222802.png|center|600px]]
 
 
[3] http://www.cburch.com/logisim/docs/2.7/pt/html/libs/mem/flipflops.html
 
  
 +
[2] Utilizando o mesmo circuito, faça as modificações necessárias para que funcione como contador '''assíncrono''' decrescente.
  
 +
=Referências=
  
 +
[1] Apostila do CURSO DE ELETRÔNICA DIGITAL. CEFET/SC: São José, 2011.
  
  

Edição das 14h04min de 23 de outubro de 2020

Apresentação

Os contadores são circuitos que utilizam flip-flops e são aplicados, principalmente, em contagens, diversas, divisão de frequência, medição de frequência e tempo, divisão de formas de onda e conversão de analógico para digital. Estes circuitos sequenciais são divididos basicamente em duas categorias:

  • Contadores assíncronos; e
  • Contadores síncronos.

Basicamente a principal diferença entre eles é que o síncrono utiliza um sinal de clock comum a todos os flip-flops e o assíncrono possuí um sinal de clock que é dividido até o último flip-flops.


Contadores Assíncronos

Estes contadores também são conhecidos como seriais ou contadores por pulsação (ripple counter). Tal nome advém do fato dos flip-flops (FF) do contador não serem disparados diretamente pelo sinal de clock. Cada FF é disparado pela saída do FF anterior. Esta característica torna estes contadores limitados em termos de velocidade, pois o tempo de ativação (tempo de resposta) é dado aproximadamente pela soma dos tempos de atraso de propagação de cada FF.


Crescente

Um circuito típico de um contador assíncrono crescente construído com FF do tipo JK é mostrado na Figura 1. Os FF JK estão com ambas entradas J e K permanentemente em nível alto, estando configuradas portanto como FF tipo T. Cada FF é disparado pela saída do FF anterior. A Figura 2 mostra o diagrama de tempo para esse contador.


Fig14 DIG222802.png

Figura 1 - Contador assíncrono crescente.


Fig15 DIG222802.png

Figura 2 - Diagrama de tempo do contador assíncrono crescente.


Tabela 1 - Contador assíncrono crescente MOD-16
Clock D C B A Decimal Estado
0 0 0 0 0 0 0
1 0 0 0 1 1 1
2 0 0 1 0 2 2
3 0 0 1 1 3 3
4 0 1 0 0 4 4
5 0 1 0 1 5 5
6 0 1 1 0 6 6
7 0 1 1 1 7 7
8 1 0 0 0 8 8
9 1 0 0 1 9 9
10 1 0 1 0 10 10
11 1 0 1 1 11 11
12 1 1 0 0 12 12
13 1 1 0 1 13 13
14 1 1 1 0 14 14
15 1 1 1 1 15 15
16 0 0 0 0 0 0
17 0 0 0 1 1 1
18 0 0 1 0 2 2


O contador tem como conteúdo (estado interno) a contagem do número de transições negativas do clock, de forma que quando ocorre uma transição o conteúdo é incrementado de uma unidade. O conteúdo do contador é dado pelo número binário DCBA, onde A é o bit LSB (bit menos significativo) e D é o bit MSB (bit mais significativo). O modulo (MOD) de um contador é o seu número de estados distintos, portanto, o módulo de um contador com N FF pode ser no máximo o número de possíveis saídas (). A Tabela mostra os estados de contagem de um contador assíncrono com 4 FF (4 bits). Podemos perceber que após 16 transições de clock o contador reinicia a contagem. Por isso, este contador é de MOD-16, ou seja, tem 16 estados distintos (0000b até 1111b). Nos contadores assíncronos, a frequência do clock é dividida por 2 em cada FF, ou seja: na saída A temos clock/2, e na saída D temos clock/16. Portanto, os contadores assíncronos são divisores de frequência e no último FF a frequência de clock é dividida pelo módulo do contador.

Contadores de Módulo

Para obter um contador com módulo menor do que é necessário adicionar um circuito decodificador para reiniciar a contagem antes de chegar ao valor máximo (ou mínimo). A Figura 3 mostra um contador MOD-6. Se não houvesse a porta NAND ligada nas entradas CLR dos FF o módulo do contador seria 8. A sequência de estados do contador MOD-6 é mostrada nas Figura 4 e Tabela 2. Note que na transição do 6º clock o estado do contador passa temporariamente pelo estado (110b), o qual faz com que a saída da porta NAND passe para o estado BAIXO, causando o CLR nos FF, e consequentemente levando o contador para o estado (000b).


Fig16 DIG222802.png

Figura 3 - Contador assíncrono com módulo < .

Fig17 DIG222802.png

Figura 4 - Diagrama de tempo do contador com módulo < .

Tabela 2 - Contador assíncrono crescente MOD-6
Clock C B A Decimal Estado
0 0 0 0 0 0
1 0 0 1 1 1
2 0 1 0 2 2
3 0 1 1 3 3
4 1 0 0 4 4
5 1 0 1 5 5
6* 1 1 0 6 6
6 0 0 0 0 0
7 0 0 1 1 1
8 0 1 0 2 2
*Não atingível. 


O diagrama de transição de estados do contador de 3 bits MOD-6 é mostrado na Figura 5. No diagrama de transição as linhas contínuas indicam a passagem pelos estados estáveis (000b 101b) e as linhas tracejadas indicam a passagem pelos estados temporários (110b). O estado (111b) embora possível não é atingível.


Fig18 DIG222802.png

Figura 5 - Diagrama de transição de estados de um contador MOD-6.

Para a construção de um contador módulo X menor que o módulo máximo, o procedimento deve seguir as etapas:

  • Determinar o menor número N de FF tal que .
Exemplo: MOD-12 N = 16.
  • Conectar a porta NAND nas entradas assíncronas de todos os FF. Se , não é necessário conectar nada a entrada;
  • Conectar as saídas que estarão em ALTO na contagem X, na porta NAND.
Exemplo: 12 = 1100b D = 1 e C = 1, conectar D e C a porta NAND.

Decádicos

Os contadores de década (ou decádico) são contadores que possuem 10 estados distintos, não importando a sequência de contagem. Quando um contador decádico realiza a contagem em sequência binária crescente de 0000b a 1001b (0 a 9), ele é chamado de contador BCD. A Figura 6 mostra o CI 7490.

Figura111 EDI018702.png

Figura 6 - Circuito Integrado Contador 7490.

O circuito integrado TTL 7490 consiste num contador de década, divisor por 2 e por 5, com saídas BCD. Cada circuito integrado exige uma corrente de 32 mA e a máxima frequência de contagem é 18 MHz. A contagem ocorre nas transições negativas do sinal de clock. Este circuito é encontrado em versões mais rápidas nas subfamílias TTLs correspondentes. Datasheet 7490 - Contador Decádico

Decrescente

Os contadores que contam progressivamente a partir do zero são denominados contadores crescentes (ou ascendentes). Já os contadores que contam do valor máximo até zero são chamados decrescentes (ou descendentes). A Figura 7 mostra a configuração para um contador decrescente construído com FF do tipo JK. A configuração é semelhante à do contador crescente, com a única diferença de cada FF é disparado pela saída Q\ no lugar de Q.


Fig19 DIG222802.png

Figura 7 - Contador assíncrono decrescente.


A Figura 8 mostra o diagrama de tempo das saídas do contador, enquanto que a Tabela 3 mostra a contagem das transições do clock e os estados correspondentes ao contador. O diagrama de estados do contador decrescente é mostrado na Figura 9 (b), enquanto que o diagrama do contador crescente é mostrado na Figura 9 (a). Note que nos dois diagramas o contador passa por todos os estados.


Fig20 DIG222802.png

Figura 8 - Diagrama de tempo do contador assíncrono decrescente.


Tabela 2 - Contador assíncrono decrescente MOD-6
Clock C B A Decimal Estado
0 0 0 0 0 0
1 1 1 1 7 1
2 1 1 0 6 2
3 1 0 1 5 3
4 1 0 0 4 4
5 0 1 1 3 5
6 0 1 0 2 6
7 0 0 1 1 7
8 0 0 0 0 0
9 1 1 1 7 1
10 1 1 0 6 2


Fig21 DIG222802.png

Figura 9 - Diagrama de transição de estados do contador MOD-8.

Atrasos de Propagação

Em um contador assíncrono cada FF é disparado pela saída de um FF anterior. Essa característica traz como desvantagem o acumulo dos tempos de atraso de propagação. Isso pode ser visto na Figura 10. Ao passar por um FF, o sinal de clock sofre um atraso de propagação e esse efeito é somado até o último FF, gerando um atraso total de , onde N é o número de FF.


Fig23 DIG222802.png

Figura 10 - Contador assíncrono ascendente-descendente.

Para que um contador assíncrono funcione de modo confiável é necessário que o atraso total de propagação seja menor que o período de clock usado: , ou ainda, em termos de frequência máxima, que .

Exercício

[1] Complete o circuito abaixo para que funcione como contador assíncrono crescente.

Fig78 DIG222802.png

[2] Utilizando o mesmo circuito, faça as modificações necessárias para que funcione como contador assíncrono decrescente.

Referências

[1] Apostila do CURSO DE ELETRÔNICA DIGITAL. CEFET/SC: São José, 2011.



Icone voltar.png Icone menu.png Icone prox.png