EDI018702 2021 2 AULA02

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Contadores Assíncronos

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.


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.

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).

Fig145 DIG222802.gif

Figura 1b - Contador assíncrono crescente (animação).

Vale ressaltar que os FFs estão configurados com J=1 e K=1 que dá a característica de contador "natural", ou seja, a cada pulso de clock a saída é complementada (0->1 e 1->0). Cada FF anterior gera o clock do próximo FF assim realizando a contagem conforme mostra o diagrama da Figura 2 e a Tabela 1. Lembrando que no primeiro FF vai o sinal de clock.


Fig15 DIG222802.png

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


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.


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




Circuito do Contador Assíncrono de 3 bits - falstad

Na página do falstad, copiar o código abaixo e colar em: Arquivo->Importar arquivo de texto...

$ 1 0.000005 10.20027730826997 50 5 43
156 96 96 176 96 0 5
156 256 96 272 96 0 5
156 416 96 448 96 0 0
L 96 96 64 96 2 1 false 5 0
L 96 160 64 160 2 1 false 5 0
L 256 96 240 96 2 1 false 5 0
L 256 160 240 160 2 1 false 5 0
L 416 96 400 96 2 1 false 5 0
L 416 160 400 160 2 1 false 5 0
M 192 96 192 32 2 2.5
M 352 96 352 32 2 2.5
M 512 96 512 32 2 2.5
R 96 128 48 128 1 2 100 2.5 2.5 0 0.5
w 256 128 192 96 0
w 416 128 352 96 0
403 0 240 544 288 0 12_64_0_4099_5_0.00009765625_0_2_12_3
403 0 288 544 320 0 9_64_0_4098_5_0.1_0_1
403 0 336 544 368 0 10_64_0_4098_5_0.1_0_1
403 0 384 544 416 0 11_64_0_4098_5_0.1_0_1

Contador assíncrono no Tinkercad

A Figura 3 mostra o circuito realístico utilizando o 7473 (duplo flip-flop JK) montado e simulado com a página do Tinkercad.


Fig140 DIG222802.png

Figura 3 - Contador assíncrono crescente realístico.

Na Figura 3 podemos visualizar um Gerador de função configurado para uma frequência de 1Hz com 5V de amplitude e um componente CC de 2,5V, que transforma a onda quadrada em sinal de clock oscilando entre 0V e 5V - respectivamente 0 e 1 lógicos. Também temos uma Fonte de energia e uma placa de ensaio pequena. Quanto às ligações (fios) em vermelho são 5V (nível lógico alto), as em verde foram utilizadas para conectar às saídas, às ligações em preto são 0V (nível lógico baixo) e às ligações em roxo foram utilizadas para o clock. Lembrando que o clock sempre vem das saídas anteriores, exceto o clock do primeiro flip-flop que vem do Gerador de função. Os LEDs são ligados no sentido do anodo para o catodo passando por um resistor para limitar a frequência em 20mA (normalmente). A Figura 4 mostra o diagrama de pinos do 7473.

Fig141 DIG222802.gif

Figura 4 - Diagrama de pinos do 7473 (duplo flip-flop JK).

No Diagrama de pinos podemos observar que o sinal do clock (pinos CLK) é por borda de descida e que o clear (pinos CLR) é ativo baixo.

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 5 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 6 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 5 - Contador assíncrono com módulo < .

Fig17 DIG222802.png

Figura 6 - 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. 

A Figura 6b mostra a animação do contador MOD-6. Percebam que foi utilizado uma porta AND ao invés de NAND porque o R (reset) é ativo alto. Então quando a contagem chega a 110b que é 6d a porta AND é ativada e sua saída da reset em todos os FFs recomeçando a contagem de 0. Cuidado com o bit mais significativo e menos significativo.

Fig146 DIG222802.gif

Figura 6b - Contador assíncrono com MOD-6 (animação).


O diagrama de transição de estados do contador de 3 bits MOD-6 é mostrado na Figura 7. 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 7 - 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.

Contador de módulo no Tinkercad

A Figura 7b mostra a montagem do circuito no tinkercad. Quando a contagem chega a 110b (6d) o circuito é resetado pela porta nand. A Figura 7c mostra o diagrama de pinos para o CI 7400 e o diagrama de pinos do CI 7473 pode ser visto na Figura 4.

Fig143 DIG222802.gif

Figura 7b - Circuito contador MOD-6.

'* A animação não está sincronizada.'

Fig142 DIG222802.gif

Figura 7c - Diagrama de pinos do CI 7400 (Portas 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 8 mostra o CI 7490.

Figura111 EDI018702.png

Figura 8 - 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

O circuito do contador pode ser simulado no 'falstad'. A Figura 8b mostra o circuito com o contador (a esquerda), no centro o decodificador - que transforma a contagem binária em contagem decimal num display de 7 segmentos a direita.

Fig144 DIG222802.gif

Figura 8b - Circuito contador 'falstad'.

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 9 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 9 - Contador assíncrono decrescente.


A Figura 10 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. A Figura 11 mostra o diagrama de transição de estados do contador MOD-8 com (a) crescente e (b) decrescente.


Fig20 DIG222802.png

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


Tabela 3 - Contador assíncrono decrescente MOD-8 (3 btis)
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 11 - 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 12. 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 12 - 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


Contador Assíncrono de 3 bits com FF tipo D - falstad

Na página do falstad, copiar o código abaixo e colar em: Arquivo->Importar arquivo de texto...

$ 1 0.000005 10.20027730826997 50 5 43
155 96 144 160 144 0 0
155 272 144 320 144 0 5
155 448 144 480 144 0 0
R 96 176 48 176 1 2 100 2.5 2.5 0 0.5
w 192 208 192 256 0
w 192 256 80 256 0
w 80 256 80 144 0
w 80 144 96 144 0
w 368 208 368 256 0
w 368 256 256 256 0
w 256 256 256 144 0
w 256 144 272 144 0
w 544 208 544 256 0
w 544 256 432 256 0
w 432 256 432 144 0
w 432 144 448 144 0
M 192 144 192 80 2 2.5
M 368 144 368 80 2 2.5
M 544 144 544 80 2 2.5
w 272 176 192 208 0
w 448 176 368 208 0


[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