Академический Документы
Профессиональный Документы
Культура Документы
APNDICE A
Resumo Terico
E.T.M. e R.C.S./2005 (reviso)
1. CONTADORES E REGISTRADORES
Contadores so circuitos seqenciais que tm por principal objetivo armazenar o nmero de eventos que
ocorrem na sua entrada, sendo tambm utilizados para gerar cdigos seqenciais especficos, ou sinais
de controle e de temporizao em sistemas digitais.
possvel identificar uma caracterstica que classifica os contadores, de forma ampla, em duas
categorias: sncronos e assncronos
H, entretanto, vrios outros aspectos a serem considerados. Assim sendo, dentro de cada uma das duas
categorias, ainda possvel classificar os contadores em funo do:
nmero de estados (mdulo)
nmero de sadas (bits)
tipo de seqncia gerada: binria, decimal, cdigo de Gray, etc.
tipo de operao: fixa ou selecionvel
Para facilitar a exposio, esses aspectos sero inicialmente considerados nos contadores sncronos.
O projeto de circuitos digitais requer conhecimentos tericos, critrio e bom senso em sua aplicao,
alm de experincia prtica. Muitos fenmenos constatados (muitas vezes no previstos no projeto)
podem comprometer o funcionamento dos circuitos. Em outras situaes, o desconhecimento de
determinados artifcios (truques de projeto) pode levar a solues que, embora funcionem
corretamente, requerem um nmero grande de componentes.
A segunda parte desta experincia possibilita a constatao de alguns fenmenos nem sempre previsveis
por um projetista iniciante, e que sero explorados.
Varivei
de
excitao Varivei
de
y estado
X p
k
si z
Bloco Flip-flops m
Bloco
combinatrio sensvei combinatrio
do prximo borda de sada
estado
Relgio
De forma simplificada, pode-se dizer que um contador sncrono um circuito seqencial sncrono onde:
no h entradas externas xk;
h M estados: S0, S1,...., SM-1;
a transio de um estado para outro devida, exclusivamente, ocorrncia da borda de
atuao do sinal de relgio;
cada estado armazena o nmero de bordas de atuao do relgio, ocorridas desde o estado
inicial at o presente instante;
h uma sada z que assume o valor 1 somente enquanto o contador est no estado SM-1.
Relgio
S S S S S S
Estado M-1 0 1 2 M-1 0
Saida
Partindo do estado inicial S0, aps a ocorrncia de M bordas de atuao do relgio, o contador volta ao
estado inicial. O parmetro M definido como sendo o Mdulo do Contador.
Em quase todas as aplicaes de contadores, as variveis de estado so tambm consideradas como
sadas, alm da sada z. Num contador mdulo M, a relao entre o nmero de variveis de estado N e o
nmero de estados M dado pela expresso: M 2N. Por exemplo, num contador binrio, vale a
expresso M = 2N, enquanto num contador decimal, vale M < 2N. Geralmente as variveis de estado N
so denominadas bits do contador.
O nmero de bordas de atuao, que armazenado nos bits do contador, pode ser codificado de vrias
formas: binria, BCD, Gray, etc. (vide Tabela I). Esse cdigo e o mdulo do contador determinam como
sero os blocos combinatrios do prximo estado e da sada, bem como o nmero de flip-flops a ser
utilizado.
Apresenta-se, a seguir, o projeto de dois contadores mdulo 8: um deles binrio e o outro gerando as
variveis de estado segundo o cdigo de Gray.
111/1
D1 = Y0 Y1
D2 = (Y0 .Y1 ) Y2
Z = Y0 . Y1 . Y2
O circuito que implementa esse contador mostrado na figura 1.4, e a forma de onda dos bits e da sada
z so mostradas na figura 1.5.
Y2
D2 Q2
Y1
Y0 D1 Q1 Y2
D0 Q0 C Q2
Y1
Y0 C Q1
C Q0
Relgio
Y0
Y1
Y2
Estado 111 000 001 010 011 100 101 110 111 000 001
Quando se utilizam flip-flops J-K sensveis borda, a metodologia de projeto a mesma, cuidando-se
apenas de estabelecer a tabela de excitao para flip-flops J-K sensveis borda. No caso do contador
binrio mdulo 8, sua implementao com flip-flops J-K at mais simples do que com tipo D, como
mostra a figura 1.6.
Z
1 lgico
Y0 Y1 Y2
J0 Q0 J1 Q1 J2 Q2
C C C
Y0 Y1 Y2
K0 Q0 K1 Q1 K2 Q2
Relgio
D0 = (Y1 Y2 ) D1 = Y0 Y2 + Y0 Y1
D2 = (Y0 . Y1 ) + (Y0 . Y2 ) Z = Y0 . Y1 . Y2
O circuito que implementa o contador Gray sncrono, mdulo 8, mostrado na figura 1.7.
Y2
Y0 Y1 D2 Q2
D0 Q0 D1 Q1
Y2
Y0 Y1
C Q2
C Q0 C Q1
Relgio
A tcnica de projeto mostrada nesse item pode ser adotada para a obteno de qualquer contador
sncrono Mdulo M, com M = 2N; o particular cdigo que os bits do contador devem assumir,
seqencialmente, determina a designao de estados.
Os estados no especificados (K at P) podem ser considerados como tendo por estado seguinte o estado
inicial, assim como a sada (z) a eles correspondente pode ser considerada igual a zero. Essa soluo,
apesar de geralmente no corresponder ao circuito mnimo, tem a vantagem de sempre levar o contador
ao estado inicial se, por alguma causa externa no prevista, o circuito cair num dos estados no
especificados.
Quando se pretende minimizar os blocos combinatrios, adota-se, para estados seguintes aos no
especificados, aqueles mais convenientes sob o aspecto minimizao. necessrio cuidado, entretanto,
para que o contador possa voltar, aps alguns pulsos de relgio, aos estados teis, na eventualidade de
o circuito vir a assumir um estado entre K e P.
Uma vez designados todos os estados, os blocos combinatrios que determinam o prximo estado e a
sada so projetados como exposto nos itens 1.1.1 e 1.1.2.
Outros contadores de Mdulo M 2N, independentemente da seqncia gerada nos seus bits, tambm
podem ser projetados como acima delineado, cuidando-se para fazer uma designao de estados
compatvel. Essa tcnica de projeto foi muito adotada, no passado, quando o projetista s dispunha de
portas lgicas e de flip-flops; foi e continua sendo a tcnica na qual se baseia o projeto de circuitos
integrados com a funo de contadores especficos e voltou a ser utilizada mais recentemente, pelos
usurios finais, aps o aparecimento de PALs (Programmable Array Logic).
No item a seguir mostra-se uma alternativa de projeto de contadores de mdulo M 2N, (que contam na
seqncia natural) utilizando contadores integrados disponveis comercialmente.
Para ilustrar o princpio no qual se baseia o projeto de contadores com essas caractersticas, vide a figura
1.8, onde se detalha o circuito de um bit de um contador desse tipo.
demais
Bloco bits
combinatrio BITS
do prximo
estado
Z
Permite PC
Contagem
Yj
Carga Paralela* CP Yj
D Q
Ej
Yj
C Q
Reset Sncrono* RS
R
Relgio C
Reset Assncrono* R
RESET 0 1 X X X X 0 0
ASSNCR.
RESET SNCR. 1 0 X X X 0 0
CARGA 1 1 X 0 Ei Ei Z
CONTAGEM 1 1 1 1 X contagem Z
INIBIO 1 1 X 0 1 X mantm Z
Quando se dispe de um contador binrio mdulo 16, com as caractersticas acima, pode-se projetar
facilmente vrios outros contadores.
Um contador mdulo 13, que conta de 0 at 12, pode ser implementado facilmente se, ao ser atingido o
estado correspondente ao nmero 12 (1100), for imposto 0 (0000) como prximo estado. A figura 1.9
mostra duas possveis solues utilizando-se contadores sncronos.
Q0 Q1 Q2 Q3 Q0 Q1 Q2 Q3
1 R 1 R
1 RS Z RS Z
1 PC 1 PC
CP 1 CP
C E0 E1 E2 E3 C E0 E1 E2 E3
0 0 0 0 X X X X
Por exemplo, um contador que conta desde 2 at 13, pode ser implementado como mostra a figura 1.10.
Detector
de "13"
Q0 Q1 Q2 Q3
1 R
1 RS Z
1 PC
CP
C E0 E1 E2 E3
Carga de "2"
0 1 0 0
Podem ser obtidos conectando-se em cascata vrios contadores Mdulo-16. Por exemplo, um contador
Mdulo 256 (8 bits) mostrado na figura 1.11.
Q0 Q1 Q2 Q3 Q0 Q1 Q2 Q3
1 R 1 R
1 RS Z
1 RS Z
1 PC PC
1 CP 1 CP
C E0 E1 E2 E3 C E0 E1 E2 E3
X X X X X X X X
UP/DOWN
(crescente) M
BITS
U FLIP-FLOPS
X C
(decrescente)
J0 Q0 J1 Q1 J2 Q2 J3 Q3
Entrada
C C C C
K0 Q0 K1 Q1 K2 Q2 K3 Q3
1 2 3 4 5 6 7 8 9 10 11
Entrada
Q0
Q1
Q2
Q3
Entrada
0
Q0
1
Q1
2
Q2
3
Q3
Y0 Y1 Y2
J0 Q0 J1 Q1 J2 Q2
C C C
Y0 Y1 Y2
K0 Q0 K1 Q1 K2 Q2
R R R
Detector
de "6"
Reset
Descrio Carga Paralela Tipo
Assncrono
Assncrona Sim 74196
Decimal Fixa Assncrona Sim 7490
Assincrona Sim 74176
Assncrona Sim 74197
Mdulo 16 No Sim 7493
Assncrona Sim 74177
Mdulo 12 No Sim 7492
Y0 Y1
D Q D Q
CK Q CK Q
f/2
Y0
f/4
Y1
Pode-se facilmente constatar e generalizar que os contadores binrios, sncronos ou assncronos, podem
ser utilizados para dividir uma freqncia por 2n, onde n o nmero de bits do contador. Mesmo que o
sinal de relgio no apresente uma forma de onda quadrada, o resultado da diviso ser uma forma de
onda quadrada, uma vez que a transio dos biestveis determinada por uma das bordas do sinal.
Naturalmente, as formas de diviso apresentadas permitem apenas a diviso da freqncia por uma
potncia de 2. Uma maneira alternativa de dividir uma freqncia por um fator k inteiro e par
apresentada na figura 1.17, utilizando-se a carga paralela sncrona do contador.
Valores da Carga
PE P0 P1 P2 P3 Y1
D Q
CET
Y0 7474
CEP 74163 TC
CK Q
CP
SR Q0 Q1 Q2 Q3
Nesse circuito, pode-se dividir a freqncia do sinal por um fator proporcional ao fator de carga do
contador, conforme apresentado na Tabela V.
0 0 1 1 f/13 f/26
0 1 0 0 f/12 f/24
0 1 0 1 f/11 f/22 Y0: forma de onda no
0 1 1 0 f/10 f/20 quadrada.
0 1 1 1 f/9 f/18
1 0 0 0 f/8 f/16 Y1: forma de onda
1 0 0 1 f/7 f/14 quadrada.
1 0 1 0 f/6 f/12
1 0 1 1 f/5 f/10
1 1 0 0 f/4 f/8
1 1 0 1 f/3 f/6
1 1 1 0 f/2 f/4
1 1 1 1 - -
Com o mesmo contador utilizado no circuito da figura 1.17, pode-se gerar formas de onda quadradas
cuja feqncia corresponde freqncia do sinal de relgio dividido por 2, 4, 6, 8, 10, 12 e 14, sem o
uso do biestvel. Para tal, configura-se o contador de forma a gerar o sinal desejado em uma das sadas
Q1, no importando a contagem fornecida pelo conjunto. A figura 1.18 apresenta o contador configurado
para dividir o sinal de relgio por 6, sendo esse sinal gerado na sua sada Q3.
Q0 Q1 Q2 Q3
0 0 0 0 Carga
0 1 1 0
1 1 1 0
0 0 0 1 Carga
0 1 1 1
1 1 1 1
0 0 0 0 Carga
0 1 1 0
1 1 1 0
0 0 0 1 Carga
0 1 1 1
1 1 1 1
0 0 0 0 Carga
Da Tabela VI pode-se deduzir que a diviso por 6 foi originada por meio da eliminao de alguns estados
pelos quais passaria a diviso por 16 (eliminados 10 estados). Alm disso os estados eliminados foram
tais que Q3 apresentou forma de onda quadrada.
Divises de freqncia por nmeros inteiros mpares tambm podem ser obtidas. A maior parte dos
circuitos utilizados com essa finalidade no fornece uma forma de onda quadrada, o que normalmente
exigiria circuitos complexos.
DADO Y0 Y1 Y2 Y3
D Q D Q D Q D Q
CK CK CK CK
CLR CLR CLR CLR
Limpa
Relgio
As formas de onda dos principais sinais so apresentadas na figura 1.20. Como se pode observar, a cada
pulso de relgio, o dado deslocado para a direita. Este tipo de registrador de deslocamento conhecido
como registrador de deslocamento direita, com carga em srie.
Estes tipos de registradores apresentam a desvantagem de consumir muitos pulsos de relgio para se
recarregar um estado inicial qualquer.
DADO
LIMPA
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Y0
Y1
Y2
Y3
Pode-se construir, no entanto, registradores de deslocamento com carga em paralelo, como mostra a
figura 1.21. Os sinais de PRESET dos biestveis so utilizados para a carga dos dados, sempre aps o
sinal "Limpa" ter sido gerado.
DADOS
PARARELOS
PR Y0 PR Y1 PR Y2 PR Y3
D Q D Q D Q D Q
CK CK CK CK
CLR CLR CLR CLR
Limpa
Relgio
Da mesma forma como ocorre com os contadores, pode-se encontrar registradores de deslocamento
integrados, como por exemplo, o 74194, 9300, 7494, 74178, etc.
"Delay time" (td - intervalo de tempo decorrido entre uma variao de sinal na entrada e a
correspondente variao na sada; toma-se como referncia o ponto de 50% do valor de tenso,
conforme mostrado na figura 1.22.
Entrada
50%
50%
td
"Rise time" (tr) - intervalo de tempo necessrio para que um sinal v de 10% do seu valor em
tenso at 90% do seu valor em tenso (figura 1.23).
90%
10%
tr
"Fall time" (tf) - intervalo de tempo necessrio para que um sinal v de 90% de seu valor em tenso
at 10% do seu valor em tenso (figura 1.24).
tf
90%
10%
Alm dos parmetros aqui definidos, tambm devem ser considerados o tempo de preparao (set-up
time) e o tempo de manuteno (hold time) j apresentado na Experincia Circuitos Biestveis.
As caractersticas acima citadas, aliadas a fatores tais como, o no sincronismo de eventos, podem levar
gerao de sinais indesejveis em projetos aparentemente corretos. Para que se possa contornar essa
situao deve-se conhecer profundamente todas as caractersticas dos componentes que sero
utilizados.