Digital Technology">
Nothing Special   »   [go: up one dir, main page]

Contadores Assincronos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 30

Assíncronos X Síncronos

l  Contadores Assíncronos:


–  O CLK é colocado apenas no primeiro FF (LSB)

l  Contadores Síncronos:


–  O mesmo CLK é ligado em todos os FFs;
Contador Assíncrono

FF Tipo T (“Toggle”)

T J Q T Q
Ck Ck 0 Q0
K Q 1 Q0

Ck

Q fQ = fCk / 2

T=1
Divisor por 2
Contador Assíncrono
Contador Assíncrono de 4 bits
Pulsos Ck Q3 Q2 Q1 Q0
0 0 0 0
1º 0 0 0 1
2º 0 0 1 0
3º 0 0 1 1
4º 0 1 0 0
5º 0 1 0 1
6º 0 1 1 0
7º 0 1 1 1
8º 1 0 0 0
9º 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
16º ... 0 0 0 0
Contador Assíncrono
Contador Assíncrono de 4 bits

Z0 Z1 Z2 Z3

J0 Q0 J1 Q1 J2 Q2 J3 Q3
Ck Ck↓ Ck↓ Ck↓ Ck↓
K0 Q0 K1 Q1 K2 Q2 K3 Q3

Ck
1

Q0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Q1

Q2

Q3
Contador Assíncrono

Módulo de um contador binário

•  Módulo = 2n (nº de estados)

•  Para n FFs, pode-se dividir a fCK por até 2n


•  fn = fCK/2n

•  Um contador binário de n bits tem Qn = MSB e Q0 = LSB

•  Também corresponde a um divisor de frequências:

•  f de Q0 = fCK / 2
•  f de Q1 = fQo / 2 = fCK / 4
•  f de Q2 = fQ1 / 2 = fCK / 8
•  f de Q3 = fQ2 / 2 = fCK / 16
Contador Assíncrono

Contadores
•  Podem ser crescentes ou decrescentes
•  Crescente: inicia em zero e vai até o valor máximo,
dependendo do seu módulo

•  Decrescente: Inicia no valor máximo, que depende do seu


módulo, e termina em zero.

•  Exemplos:
•  Contador crescente de módulo 8 → 000 – 111 (0 - 7)
•  Contador decrescente de módulo 8 → 111 – 000 (7 - 0)
Contador Assíncrono

Contador Crescente

•  FF tipo T sensível à borda de descida


–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF

•  FF tipo T sensível à borda de subida


–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF
Contador Assíncrono Crescente de 4 bits
MSB LSB
Contador Assíncrono

CONTADOR CRESCENTE E DECRESCENTE


Crescente Decrescente
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 7 1 1 1
1 0 0 1 6 1 1 0
2 0 1 0 5 1 0 1
3 0 1 1 4 1 0 0
4 1 0 0 3 0 1 1
5 1 0 1 2 0 1 0
6 1 1 0 1 0 0 1
7 1 1 1 0 0 0 0

Para fazer um contador decrescente de módulo = 2n,


considere as saídas invertidas de um contador crescente.
Contador Assíncrono

Contador Decrescente

– Montar um contador crescente e considerar as


saídas invertidas*:
•  FF sensível à borda de descida
–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF

•  FF sensível à borda de subida


–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF

* Só vale para módulo = 2n


Contador Assíncrono

Contador Decrescente

– Montar um contador decrescente*:

•  FF sensível à borda de descida


–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF

•  FF sensível à borda de subida


–  Saída Q do FF ligada no Ck do próximo FF
–  A contagem fica registrada nas saídas Q dos FF

* Vale para qualquer módulo


Contador decrescente de módulo 8

MSB LSB
Contador Assíncrono

Contagem crescente/decrescente

Qn-1

CKn

Qn-1
1

Porta Ou-Exclusivo = inversor controlado:


A + 0 = A
A + 1 = A
Contadores Assíncronos de
Módulo < 2n

Crescente
Contador Assíncrono Crescente de
Módulo < 2n

•  Uso o Clear do FF para reiniciar a contagem;

•  Projeto: se desejo contar até X:


•  Determinar o menor número de FFs necessários (2n ≥
X) e monte o contador assíncrono crescente
•  Conecte a saída de uma porta NAND ao Clear de
todos os FFs
•  Determine quais os FFs que estão em nível alto na
contagem (X+1) e conecte na porta NAND
Contador Assíncrono Crescente

Contador Assíncrono de Década (Módulo 10)


Pulsos Ck Q3 Q2 Q1 Q0 CL
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 1
9 1 0 0 1 1
10 * 1 0 1 0 0*

* Para Clear = 0 ➨ Estado 1010 ➨ Clear = Q3Q1


Contador Assíncrono Crescente

Circuito do Contador BCD (Módulo 10)


Z0 Z1 Z2 Z3

J0 Q0 J1 Q1 J2 Q2 J3 Q3
Ck Ck↓ Ck↓ Ck↓ Ck↓
K0 Q0 K1 Q1 K2 Q2 K3 Q3
CL CL CL CL

1
Contador Assíncrono Crescente

Circuito do Contador Assíncrono BCD


Onda quadrada de frequência f
e ciclo de trabalho de 50%

Ck

Q0

Q1

Q2

Q3

1000 = 8 1001 = 9
0000 = 0

Onda quadrada de frequência Ação do CLEAR


f/10 e ciclo de trabalho de 20%
Contadores Assíncronos de
Módulo < 2n

Decrescente
Contador Assíncrono

Contador crescente e decrescente

•  Crescente: inicia em zero e vai até o valor máximo,


dependendo do seu módulo

•  Decrescente: Inicia no valor máximo, que depende do seu


módulo, e termina em zero.

•  Exemplos:
–  Contador crescente de módulo 10 → 0000 – 1001 (0 - 9)
–  Contador decrescente de módulo 10 → 1001 – 0000 (9 - 0)
Contador Assíncrono decrescente de
Módulo < 2n

•  Use o Clear do FF para reiniciar a contagem;

•  Projeto: se desejo contar até X:


•  Determinar o menor número de FFs necessários (2n ≥
X) e monte o contador decrescente assíncrono*
•  Conecte a saída de uma porta NAND ao Clear apenas
dos FFs que devem ir para zero no início da contagem.
Isso dependerá do módulo do contador.
•  Conecte todas as saídas do contador na entrada dessa
porta NAND.
*não monte o crescente e use saídas invertidas!
Contador Decrescente de Década (BCD)
Contagem Q3 Q2 Q1 Q0 CL
9 1 0 0 1 1
8 1 0 0 0 1
7 0 1 1 1 1
6 0 1 1 0 1
5 0 1 0 1 1
4 0 1 0 0 1
3 0 0 1 1 1
2 0 0 1 0 1
1 0 0 0 1 1
0 0 0 0 0 1
15 * 1 1 1 1 0*

* O clear é gerado quando todos os FF estiverem em 1, mas


apenas é ligado nos FFs que devem ser zerados para reinício da
contagem, nesse caso, Q1 e Q2.
Circuito do Contador Assíncrono
Decrescente BCD (Módulo 10)

Z0 Z1 Z2 Z3

J0 Q0 J1 Q1 J2 Q2 J3 Q3
Ck Ck↑ Ck ↑ Ck ↑ Ck ↑
K0 Q0 K1 Q1 K2 Q2 K3 Q3
CL CL CL CL

1
Contador Assíncrono Decrescente

Circuito do Contador Decrescente BCD


Onda quadrada de frequência f
e ciclo de trabalho de 50%

Ck

Q0
9 8 7 6 5 4 3 2 1 0 9 8

Q1

Q2

Q3

1001 = 9 1001 = 9

Ação do CLEAR Ação do CLEAR


em Q1 e Q2 Onda quadrada de frequência f/ em Q1 e Q2
10 e ciclo de trabalho de 20%
Contadores Assíncronos de Módulo < 2N

•  Na saída MSB do contador, a frequência do clock


na entrada é dividida pelo módulo do contador.
•  O ciclo de trabalho da onda de saída só é de 50%
se o contador for de módulo = 2n
•  Para contadores de módulo < 2n, o ciclo de
trabalho da onda resultante será sempre menor do
que 50%, sendo crescente ou decrescente.
Ex: Contador Assíncrono Crescente de Módulo 6

Ciclo de trabalho em C = 2/6 = 33.3%


fc = fck / 6
Ex: Contador Assíncrono Crescente de Módulo 14

Ciclo de trabalho em D = 6/14 ~ 42.86%


fD = 30k/14 ~ 2,14 kHz
Contador Assíncrono Crescente

Ex: Contador Assíncrono Crescente de Módulo 60

•  26 = 64 Ciclo de trabalho em Q5 = 28/60 ~ 46.67%


•  60(d) = 111100(b)
Exercício
Um circuito fornece pulsos quadrados de
período igual a 2 µs e ciclo de trabalho de 50%.
Queremos obter um sinal de período igual a 8 µs
e ciclo de trabalho de 25%. Monte o circuito
usando contadores assíncronos e portas lógicas
se necessário.
FIM

Você também pode gostar