SISTEMAS DIGITAIS
CONTADORES - 2
H. Neto, N. HortaSetembro de 04
SUMÁRIO:CONTADORES SÍNCRONOS
CONTADORES DE MÓDULO 2N
PROJECTO DE CONTADORES
FREQUÊNCIA MÁXIMA DE FUNCIONAMENTO
SITUAÇÃO DE “LOCKOUT”
SIMBOLOGIA
CONTADOR EM ANEL
CONTADOR JOHNSON
LINEAR FEEDBACK SHIFT-REGISTER
CONTADORES ASSÍNCRONOSCONTADORES POR PULSAÇÃO
CONTADORES ASSÍNCRONOS VS. SÍNCRONOS
SISTEMAS DIGITAIS
CONTADORES - 3
H. Neto, N. HortaSetembro de 04
CONTADOR BINÁRIO
1K1J
C1
1K1J
C1
1K1J
C1
1K1J
C1
& &1
Q0 Q1 Q2 Q3
CLK
CLK
Q0
Q1
Q2
Q3
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
0 1 2 3 4 5 6 7 8Um contador binário é um registo que, por aplicação sucessiva de impulsos de relógio, segue uma sequência de estados correspondente à numeração binária.
Utilizando FFs Toggle (p.ex. JK com J = K), o projecto do circuito aproveita o facto de, na contagem binária, o Q0 estar sempre a variar, o Q1 variar quando Q0 = 1, o Q2 variar quando Q0 = Q1 = 1, etc.
SISTEMAS DIGITAIS
CONTADORES - 4
H. Neto, N. HortaSetembro de 04
CONTADOR BINÁRIO (cont.)
1K1J
C1
1K1J
C1
1K1J
C1
1K1J
C1
& &1
Q0 Q1 Q2 Q3
CLK
1K1J
C1
&
Q7
A estrutura do contador é facilmente generalizável para contadores módulo 2N.
No entanto, esta estrutura está limitada pelo facto de o fanin das portas AND ir aumentando sucessivamente até à última porta, que tem N entradas.
suFFpANDpFF tttTf
++== 11
minmax
A frequência máxima de relógio a que este contador pode funcionar é:
SISTEMAS DIGITAIS
CONTADORES - 5
H. Neto, N. HortaSetembro de 04
CONTADOR BINÁRIO (cont.)
1K1J
C1
1K1J
C1
1K1J
C1
1K1J
C1
& &1
Q0 Q1 Q2 Q3
CLK
1K1J
C1
&
Q7
suFFpANDpFF ttntTf
+−+==
)2(11
minmax
Aproveitando os produtos parciais já realizados, é possível modificar a estrutura do contador para usar apenas portas AND de 2 entradas, mantendo a funcionalidade.
No entanto, o caminho crítico entre FFs aumenta substancialmente, limitando a frequência máxima a que o contador pode funcionar.
SISTEMAS DIGITAIS
CONTADORES - 6
H. Neto, N. HortaSetembro de 04
CONTADOR BINÁRIO COM FF D
1K1J
C1
Q0T1D
C1
Q0=1T⇔⇔⇔⇔
& &
CLK
1D
C1
Q0=1 1D
C1
Q1=1 1D
C1
Q2=1 1D
C1
Q3=1
1
O mesmo contador pode ser realizado definindo um FF Toggle a partir de FF D e aproveitando directamente a mesma estrutura.
SISTEMAS DIGITAIS
CONTADORES - 7
H. Neto, N. HortaSetembro de 04
PROJECTO DE CONTADORES COM FF JK
Tabela de Estados
Entradas dos FFsEstado Seguinte
Estado Actual
1X1X1X000111X10X0X1110111XX10X011101X1X00X1010011X1XX1001110X10XX01100101XX1X0010100X1X0X0100000K0J0K1J1K2J2Q0Q1Q2Q0Q1Q2
Tabela de Excitaçãodo FF JK
X10 → 11X1 → 00X1 → 1
X00 → 0KJQn → Qn+1
O procedimento de projecto de um contador, como de qualquer outro circuito sequencial síncrono, passa pela definição da tabela de estados do circuito.
A lógica combinatória do circuito é projectada de modo a forçar nas entradas dos FFs os valores que impõem as transições de estado especificadas na tabela de estados.
Exemplo - Contador módulo 8
SISTEMAS DIGITAIS
CONTADORES - 8
H. Neto, N. HortaSetembro de 04
PROJECTO DE CONTADORES COM FF JK (cont.)
Q2
Q1Q0
0100 1011
0
1
0100
XXXX
Q2
Q1Q0
0100 1011
0
1
XXXX
0100
Q2
Q1Q0
0100 1011
0
1
XX10
XX10
Q2
Q1Q0
0100 1011
0
1
01XX
01XX
Q2
Q1Q0
0100 1011
0
1
1XX1
1XX1
Q2
Q1Q0
0100 1011
0
1
X11X
X11X
J2 = Q1 Q0 K2 = Q1 Q0
J1 = Q0 K1 = Q0
J0 = 1 K0 = 1
Estado Actual
1X1X1X111X10X0X0111XX10X101X1X00X0011X1XX1110X10XX00101XX1X0100X1X0X0000K0J0K1J1K2J2Q0Q1Q2
A lógica combinatória força nas entradas dos FFs os valores que concretizam as transições especificadas, em função do estado actual.
SISTEMAS DIGITAIS
CONTADORES - 9
H. Neto, N. HortaSetembro de 04
PROJECTO DE CONTADORES COM FF D
Estado Seguinte
Estado Actual
000000111111111011011011101101101001001001110110110010010010100100100000
D0D1D2Q0Q1Q2Q0Q1Q2
1X → 10X → 0DQn → Qn+1
Q2
Q1Q0
0100 1011
0
1
0100
1011
Q2
Q1Q0
0100 1011
0
1
1010
1010
Q2
Q1Q0
0100 1011
0
1
1001
1001
00 QD =
01
01011
QQQQQQD
⊕=+=
( ) ( )012
012012
02120122
QQQQQQQQQQQQQQQQD
⊕=++=
++=
O projecto de contadores com FF D, segue exactamente o mesmo procedimento. No caso dos FF D, os valores necessários nas entradas dos FF para concretizar uma determinada transição de estado, são directamente os valores do estado para o qual se pretende transitar (estado seguinte).
Tabela de excitação do FF D
SISTEMAS DIGITAIS
CONTADORES - 10
H. Neto, N. HortaSetembro de 04
CONTADORES: Projecto de um Contador Síncrono de Módulo 5 (PM5)
100S1010S2110S3001S4
110
0Q1
11S7
01S6
11S5
00S0
Q0Q2Estado
Estado Seguinte (n+1)Estado Presente (n)
11110
Q2
11001
Q1
10101
Q0
101011111
1
0Q1
10
01Q0Q2
A existência de 5 estados de contagem impõe, pelo menos, a utilização de 3 FFs
3 7654
Tabela de Transição de Estados
Diagrama de Estados de Contagem (Exemplo)
Tabela de Codificação de Estados
SISTEMAS DIGITAIS
CONTADORES - 11
H. Neto, N. HortaSetembro de 04
CONTADORES: PM5(cont)
0X111X01X110X000KJQn+1Qn
Tabela de Excitação do FF JK
FF JK vs FF D - O FF JK é mais versátil devido às duas entradas resultando numa menor complexidade de portas lógicas adicionais, contudo, possui em contrapartida um processo de síntese mais trabalhoso.
111001110000DQn+1Qn
Tabela de Excitação do FF D
Selecção do Tipo de FF
SISTEMAS DIGITAIS
CONTADORES - 12
H. Neto, N. HortaSetembro de 04
CONTADORES: PM5(cont)
0X111X01X110X000KJQn+1Qn
Estado Seguinte (n+1)Estado Presente (n)
11110
Q2
11001
Q1
10101
Q0
101011111
1
0Q1
10
01Q0Q2
J2= 1
Q2Q1 00 01 11 10Q0
0
1 x
x
x x
x
1
x x0 2 6 4
1 3 7 5
Q2Q1 00 01 11 10Q0
0
1 x
x
x 1
0
x
x x0 2 6 4
1 3 7 5
Q2Q1 00 01 11 10Q0
0
1 x
x
x x
1
x
x 10 2 6 4
1 3 7 5
J1= Q0
J0= 1
Q2Q1 00 01 11 10Q0
0
1 x
x
1 0
0
x
x 00 2 6 4
1 3 7 5
Q2Q1 00 01 11 10Q0
0
1 x
x
0 x
x
1
x 00 2 6 4
1 3 7 5
Q2Q1 00 01 11 10Q0
0
1 x
x
0 1
x
1
x x0 2 6 4
1 3 7 5
K2= Q1Q0
K1= Q2
K0= Q2+Q1
Tabela de Transição de Estados
Tabela de Excitação do FF JK
Mapas de Karnaugh por Entrada de FFs
SISTEMAS DIGITAIS
CONTADORES - 13
H. Neto, N. HortaSetembro de 04
CONTADORES: PM5(cont)
&
1≥
C1
1K
1J
C1
1K
1J
C1
1K
1J "1""1"
Clock
FF2 FF1 FF0
1
1
0
01
2
===
JQJ
J
120
21
012
QQKQK
QQK
+===
Clock
SAÍDA FF2
SAÍDA FF1
SAÍDA FF0
Estado S3 S4 S5 S6 S7 S3
Diagrama Lógico do Circuito Contador
Diagrama Temporal
Funções de Excitação dos FFs
SISTEMAS DIGITAIS
CONTADORES - 14
H. Neto, N. HortaSetembro de 04
CONTADORES: Projecto de um Contador Ascendente/Descendente Síncrono de Módulo 5. (PADM5)
01011
Q0
01111
Q2M=1
11100
Q1
Estado Seguinte (n+1)Estado Presente (n)
M=0
11110
Q2
11001
Q1
10101
Q0
110001101
1
1Q1
11
01Q0Q2
3 7654M=1
M=0
Diagrama de Estados
Tabela de Transição de Estados
SISTEMAS DIGITAIS
CONTADORES - 15
H. Neto, N. HortaSetembro de 04
CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF0
01011
Q0
01111
Q2M=1
11100
Q1
Estado Seguinte (n+1)Estado Presente (n)
M=0
11110
Q2
11001
Q1
10101
Q0
110001101
1
1Q1
11
01Q0Q2
00
x
x
00 01 11 10
x
x
1
x
x
x
x
1
1 x
x x
1 x
01
11
10
Q2Q1
Q0M
00
x
x
00 01 11 10
1
1
x
0
x
0
x
x
x 1
x x
x 1
01
11
10
Q2Q1
Q0M
J0= 1 K0= Q1+MQ2+M Q2
SISTEMAS DIGITAIS
CONTADORES - 16
H. Neto, N. HortaSetembro de 04
01011
Q0
01111
Q2M=1
11100
Q1
Estado Seguinte (n+1)Estado Presente (n)
M=0
11110
Q2
11001
Q1
10101
Q0
110001101
1
1Q1
11
01Q0Q2
00
x
x
00 01 11 10
x
1
x
x
x
x
x
1
x x
x x
0 0
01
11
10
Q2Q1
Q0M
00
x
x
00 01 11 10
1
x
0
0
x
0
x
x
1 0
x x
x x
01
11
10
Q2Q1
Q0M
J1= MQ0+MQ0 K1= MQ0+M Q2
CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF1
SISTEMAS DIGITAIS
CONTADORES - 17
H. Neto, N. HortaSetembro de 04
01011
Q0
01111
Q2M=1
11100
Q1
Estado Seguinte (n+1)Estado Presente (n)
M=0
11110
Q2
11001
Q1
10101
Q0
110001101
1
1Q1
11
01Q0Q2
00
x
x
00 01 11 10
1
x
x
1
x
x
x
x
x x
x x
x x
01
11
10
Q2Q1
Q0M
00
x
x
00 01 11 10
x
0
0
x
x
1
x
1
0 0
x x
0 0
01
11
10
Q2Q1
Q0M
J2= 1 K2= MQ1Q0+MQ1Q0
CONTADORES: PADM5 (cont) – Síntese das Funções de Entrada do FF2
SISTEMAS DIGITAIS
CONTADORES - 18
H. Neto, N. HortaSetembro de 04
001111110
011001100101101010
0101
1Q0
0111
1Q2
M=1
1110
0Q1
Estado Seguinte (n+1)Estado Presente (n)
M=0
1111
0Q2
1100
0Q1
1010
0Q0
110001101
1
1Q1
11
11Q0Q2
J0= 1 K0= Q1+M Q2+MQ2
J2= 1K1= MQ0+MQ2K2= MQ1Q0+M Q1Q0
J1= M Q0+MQ0
Funções de Excitação dos FFs
Tabela de Transição de Estados
CONTADORES: PADM5 (cont) – Funções e Tabela de Estados da Solução
SISTEMAS DIGITAIS
CONTADORES - 19
H. Neto, N. HortaSetembro de 04
Diagrama de Estados
3 7654M=1
M=0
2 0
1
M=0M=1
M=1
M=0
CONTADORES: PADM5 (cont) – Diagrama de Estados da Solução
Os estados não considerados para efeito da contagem (S0,S1 e S2) permitem passar para a sequência de contagem pretendida, ao fim de um ciclo de relógio (justifique), na solução apresentada, mas terá sido isso uma imposição do projecto?
SISTEMAS DIGITAIS
CONTADORES - 20
H. Neto, N. HortaSetembro de 04
CONTADORES: “LOCK-OUT”
3 7654M=1
M=0
1M=1 20M=0
M=1
M=0
3 7654M=1
M=0
0
1
M=1M=0
M=1
M=0
2M=0;1Estados de LOCKOUT: no caso de não serem utilizados todos os estados disponíveis, pode ocorrer a situação do contador se encontrar num estado não desejado (fora da sequência de contagem) devido a ruído no circuito ou à não imposição de estado inicial. Nessa situação ou o contador entra na sequência de contagem pretendida ou fica indefinidamente no exterior (Lockout).
Solução: impôr a transição de qualquer estado externo para um estado da sequência de contagem ou considerar uma entrada extra, de inicialização, que coloque o sistema num dos estados de contagem pretendido.
Exemplo de Lock-Out (1)
Exemplo de Lock-Out (2)
SISTEMAS DIGITAIS
CONTADORES - 21
H. Neto, N. HortaSetembro de 04
SIMBOLOGIA
CP
LOAD_L
D0
D1
D2
D3
M1[Load]
C5/2,3,4+
1, 2D Q0
Q1
Q2
Q3
CTR DIV 1674161
EN1_H
EN2_H
COUNT_H
G4
G3
M2[Count]
CLEAR_L CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
CP
LOAD_L
D0
D1
D2
D3
M1[Load]
C5/2,3,4+
1, 2D Q0
Q1
Q2
Q3
CTR DIV 1674LS163A
EN1_H
EN2_H
COUNT_H
G4
G3
M2[Count]
CLEAR_L 5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
CP
LOAD_L
D0
D1
D2
D3
M1[Load]
1, 2D Q0
Q1
Q2
Q3
CTR DIV 1674LS169B
EN1_L
EN2_L
COUNT_H
G6
G5
M2[Count]
1,7D [1]
[2]
[4]
[8]
3,5CT=15
4,5CT=0
M3[Up]
M4[Down]
2,3,5,6+/C7
2,4,5,6-
CUP_H
CDO_L
SISTEMAS DIGITAIS
CONTADORES - 22
H. Neto, N. HortaSetembro de 04
OUTROS CONTADORESPodem ser projectados contadores para evoluirem segundo uma qualquer sequência periódica de estados (p.ex: os contadores decimais seguem a sequência dos dígitos BCD; os contadores Gray seguem a sequência dos dígitos com codificação Gray – têm a propriedade importante de variarem um único bit de cada vez).
Exemplo
15 0
1
213
12
11
3
4
5
6
10
9
8 7
14
Um contador decimal pode ser realizado directamente de um contador módulo 16, forçando a reinicialização do contador após o estado 9.
Nota: este contador não tem lockout. Porquê?
M1[Load]
C5/2,3,4+
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
&DETECTA_NOVE_LCLK
1
1
Q0
Q1
Q2
Q3
SISTEMAS DIGITAIS
CONTADORES - 23
H. Neto, N. HortaSetembro de 04
LIGAÇÃO EM SÉRIE DE CONTADORESUm contador módulo 256 pode ser realizado ligado em série 2 contadores módulo 16 (o 2º contador só é habilitado quando o 1º chega ao fim de contagem).
M1[Load]
C5/2,3,4+
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
CLK
ENABLE_H
COUNT_H
Q0
Q1
Q2
Q3
D0
D1
D2
D3
M1[Load]
C5/2,3,4+
CTR DIV 16
G4
G3
M2[Count]
5CT=0
1,5D [1]
[2]
[4]
[8]
3CT=15
Q4
Q5
Q6
Q7
D4
D5
D6
D7
RESET_L
SISTEMAS DIGITAIS
CONTADORES - 24
H. Neto, N. HortaSetembro de 04
CONTADOR EM ANEL – “Ring Counter”
1000 0100 0010 0001
1DC1
1DC1
1DC1
1DC1CLK
A ligação de N flip-flops em cascata, como registo de deslocamento, pode também ser usada como um contador simples, usando o mínimo de hardware.
O contador evolui segundo a sequência de 4 estados, ao lado, e depois repete.
O contador é muito rápido (não existem portas lógicas no caminho entre FFs),
mas é ineficiente em termos do número total de estados de contagem disponíveis (só usa N estados, dos 2N estados disponíveis).
suFFpFF ttTf
+== 11
minmax
SISTEMAS DIGITAIS
CONTADORES - 25
H. Neto, N. HortaSetembro de 04
CONTADOR EM ANEL: LOCKOUT
1100 0110 0011 1001 0000
O contador em anel usa apenas N estados, dos 2N estados disponíveis, pelo que é necessário inicializá-lo num dos N estados de contagem.Existem várias sequências alternativas de contagem/lockout:
1DC1
1DC1
1DC1
1DC1CLK
≥1 & & &INIT
1DC1
S
1DC1
R
1DC1
R
1DC1
R
CLK
INIT
Alternativas de Inicialização no Estado “1000”:
SISTEMAS DIGITAIS
CONTADORES - 26
H. Neto, N. HortaSetembro de 04
CONTADOR JOHNSON
O contador Johnson usa 2N dos 2N estados disponíveis, mantendo a rapidez do contador em anel.
1DC1
S
1DC1
R
1DC1
R
1DC1
R
CLK
INIT
1000 1100 1110 1111
0000 0001 0011 0111
SISTEMAS DIGITAIS
CONTADORES - 27
H. Neto, N. HortaSetembro de 04
LINEAR FEEDBACK SHIFT-REGISTER
O LFSR usa 2N-1 dos 2N estados disponíveis, usando apenas uma porta lógica adicional.
1DC1
S
1DC1
R
1DC1
R
1DC1
R
CLK
INIT
=1
1000 0100 0010 1001
0001 0011 0111
1100 0110 1011 0101
1111 1110 1101 1010
0000
SISTEMAS DIGITAIS
CONTADORES - 28
H. Neto, N. HortaSetembro de 04
CONTADORES POR PULSAÇÃO – “Ripple Counters”
Os contadores por pulsação são extremamente simples de realizar.
No entanto, o facto de serem assíncronos (os FF não estão em sincronismo) torna-os pouco fiáveis, por dependentes dos atrasos de propagação do sinal.
1K1J
C1
1K1J
C1
1
Q0 Q1
CLK
1
1K1J
C1
Q2
1
1K1J
C1
Q3
1
CLK
Q0
Q1
Q2
Q3
0 1 0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 1
0 1 2 3 4 5 6 7 8 9
SISTEMAS DIGITAIS
CONTADORES - 29
H. Neto, N. HortaSetembro de 04
CONTADORES ASSÍNCRONOS VS. SÍNCRONOS
No contador assíncrono, as mudanças de estado não ocorrem todas na transição de relógio! De facto e por exemplo, na transição de 7 para 8, o contador passa sucessivamente por vários estados intermédios.
Quanto mais FFs existirem, mais o bit de maior peso demora a transitar, o que torna os contadores por pulsação de grande dimensão muito lentos (o que limita, neste caso, o período de relógio?).
As realizações assíncronas são, portanto e genericamente, de evitar .
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
1
1
1
0
0
0
0
1
CLK
Q0
Q1
Q2
Q3
tP
tP
tP
tP
4tP
1
1
1
0
0
0
0
1
6 4 07 8Contagem
Contador Assíncrono
Contador Síncrono