Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Engenharia
Electronica Digital
Vamos ver neste capítulo como podemos combinar flipflops e portas lógicas e
obter diferentes tipos decontadores e registradores
Vamos revisitar os contadores assíncronos
Nos contadores assíncronos, o sinal de clock é aplicado apenas ao primeiro flip-
flop
A saída do primeiro flip-flop será o clock do segundo e assim por diante
1
Contadores assíncronos
O termo assíncrono se refere aos eventos que não têm uma relação temporal fixa entre si
e, geralmente, não ocorrem ao mesmo tempo. Um contador assíncrono é aquele no qual
os flip-flops (FF) que constituem o contador não mudam de estado exatamente ao mesmo
tempo porque eles não têm um pulso de clock comum.
Ao final do estudo desta seção você devemos ser capaz de:
Descrever a operação de um contador binário assíncrono de 2 bits;
Descrever a operação de um contador binário assíncrono de 3 bits;
Definir o termo ondulante (ripple) em relação a contadores;
Descrever a operação de um contador de década assíncrono;
Desenvolver diagramas de temporização para contadores;
Discutir o CI contador binário assíncrono de 4 bits 74LS93.
Nesse tipo de contador, o pulso de relógio é aplicado apenas no primeiro bloco flip-flop,
enquanto para os demais blocos, a saída do bloco anterior é que vai servir como sinal de
relógio. Os principais tipos de contadores assíncronos são:
Contadores de Pulso
Contadores de Década
Contador Sequencial de O a N
Contadores Assíncronos Decrescentes
Contadores Assíncronos Up-Down (crescente/decrescente)
2
Contadores Assíncronos (Ripple)
Exemplo:
Um contador é necessário para contar o número de itens que passam por uma esteira em
uma fábrica. Uma fotocélula e um feixe de luz são usados para gerar um pulso único cada
vez que um item passa pelo local. O contador deve permitir a contagem de pelo menos
1000 objetos. Quantos flip-flops são necessários?
Resposta:
2N > 1000
Como 29 = 512, 9 flip-flops não são suficientes.
210 = 1024
Portanto, são necessários 10 flip-flops
Exemplo:
Um contador assíncrono com 4 flip-flops começa no estado 0000 e em seguida um sinal
de clock é aplicado. Algum tempo depois, o sinal de clock é removido e o contador mostra
0011. Quantos pulsos de clock ocorreram?
Resposta:
3
A resposta não é necessariamente 3.
O contador pode ter zerado 1, 2, 3, ... N vezes.
Portanto poderia ser 19, 35, 51, ou 19978403 pulsos
MOD número
O contador apresentado também é chamado de MOD número
Neste caso, número = 24
É um contador assíncrono MOD-16
Em geral um contador com N flip-flops é MOD 2N
Divisão de Frequência
Como foi visto no Cap. 5, após cada FF em um contador, a freqência é a metade
da frequência do seu clock
No exemplo dado com 4 bits (MOD-16), se a frequência do clock de entrada for
16 KHz, na saída do último flipflop teremos 1 KHz.
De modo geral:
Em qualquer contador, o sinal da saída do último flip-flop (isto é, o MSB) terá
frequência igual à frequência do clock de entrada dividido pelo número MOD do
contador.
Por exemplo:
No contador MOD 16, a frequência do último flip-flop do contador será 1/16 da
frequência do clock.
4
Exemplo:
Construção de um relógio digital.
Precisamos de um método para obtermos um contador onde o MOD número seja menor
que 2N.
5
𝑇𝑐𝑙𝑜𝑐𝑘 ≥ 𝑁 × 𝑡𝑝𝑑
1
𝑓𝑚𝑎𝑥 =
𝑁 × 𝑡𝑝𝑑
1
𝑓𝑚𝑎𝑥 = = 10,4 𝑀𝐻𝑧
4 × 24 𝑛𝑠
1
𝑓𝑚𝑎𝑥 = = 6,9 𝑀𝐻𝑧
6 × 24 𝑛𝑠
6
Questões de Revisão
Explique por que a limitação de frequência máxima diminui quanto mais flip flops
são adicionados
Um certo flip-flop JK tem tpd = 12ns. Qual é o maior número MOD do contador
que pode operar a 10 MHz?
Contadores Síncronos
São contadores em que todos os flip-flops são disparados ao mesmo tempo, com
o mesmo clock.
O atraso não fica multiplicado por N
Desvantagem: há necessidade de hardware extra: portas lógicas além dos flip
flops
7
Exemplo:
Determine fmax para o contador síncrono da figura anterior se o tpd de cada FF é 50ns e
o tpd de cada porta AND é 20ns. Compare esse fmax com o fmax de um contador
assíncrono.
Resposta:
Devemos considerar o tpd do FF e da porta AND:
𝑇𝑐𝑙𝑜𝑐𝑘 ≥ 50 + 20 = 70 𝑛𝑠
1
𝑓𝑚𝑎𝑥 = = 14,3 𝑀𝐻𝑧
70 𝑛𝑠
1
𝑓𝑚𝑎𝑥 = = 5 𝑀𝐻𝑧
4 × 50 𝑛𝑠
No exemplo anterior, o que precisa ser feito para transformá-lo em um contador MOD
32?
Quais são as frequências máximas para os dois casos?
Resposta:
Para transformar em MOD-32 basta que um quinto FF seja adicionado, com uma porta
AND de 4 entradas ligadas nas saídas Qs dos FFs anteriores
Para o contador síncrono, a frequência máxima será a mesma (14,3 MHz)
Para o contador assíncrono, a frequência máxima será:
1
𝑓𝑚𝑎𝑥 = = 4 𝑀𝐻𝑧
5 × 50 𝑛𝑠
8
Contadores com MOD-number < 2N
Diagrama de Estados
9
Exemplo:
Na figura anterior:
a. Qual será o estado dos LEDs quando o contador está armazenando a contagem de
5?
b. O que os LEDs vão mostrar quando o clock aplicado ao contador tiver a
frequência de 1kHz?
c. O estado 110 será visível nos LEDs?
Resposta:
a. Como 510 = 1012, os LEDs estarão: LIGADO, DESLIGADO, LIGADO.
b. Com a frequência de 1kHz, os LEDs estarão ligando e desligando tão rápido que
para a vista humana vão parecer constantemente acesos, embora com uma
intensidade reduzida.
c. Não. O estado 110 persiste por apenas alguns nanosegundos ao retornar para o
estado 000.
10
Exemplo: Determine o MOD número para a figura abaixo.
Determine também a frequência na saída D.
11
Contadores Síncronos DOWN e UP/DOWN
Um contador decrescente (DOWN) utiliza as saídas Q invertidas para controlar as
entradas J K (toggle):
Contador UP/DOWN
12
Contadores com PRESET
O circuito abaixo é um contador com PRESET assíncrono
• Também existem os contadores com PRESET síncronos (ex.: 74LS160, 161, 162, 163)
13
Exemplo:
Um contador 74LS163 tem as entradas dadas pelo diagrama de tempo dado. A entrada de
dados paralela está permanentemente ligada a 1100. Assuma que o contador começa em
0000. Determine as formas de onda de saída do contador.
14
A saída RCO fica ativa quando o contador chega no final da contagem:
Resposta:
15
16
Arranjos Multi-estágios
Decodificando um Contador
17
• Considere o circuito abaixo, onde as entradas de controle dos flip-flops estão ligadas
segundo as expressões ao lado.
𝐽𝐶 = 𝐴 × 𝐵
𝐾𝐶 = 𝐶
𝐽𝐵 = 𝐾𝐵 = 𝐴
𝐽𝐴 = 𝐾𝐴
18
Diagrama de transição de estados
Uma análise semelhante pode ser feita se o circuito usa flip-flops tipo D:
𝐷𝐶 = 𝐶𝐵̅ + 𝐶𝐴̅ + 𝐶̅ 𝐵𝐴
𝐷𝐵 = 𝐵̅ 𝐴 + 𝐵𝐴̅
𝐷𝐴 = 𝐴̅
𝐷𝐵 = 𝐵̅ 𝐴 + 𝐵𝐴̅ = 𝐵⨁𝐴
𝐷𝐴 = 𝐴̅
19
Tabela:
Procedimento de projeto:
1. Determine o número de flip-flops necessários
2. Desenhe o diagrama de estados desejado. Por exemplo:
20
3. Desenhe uma tabela que lista os estados presentes e o próximo estado de cada estado
presente:
21
4. Acrescente as colunas J e K para cada flip-flop:
5. Projete o circuito lógico que gera as saídas J e K tendo como entradas o estado
presente.
22
Circuito final:
23
Circuito:
24
25
Contadores de pulso
26
Contadores de década
É o circuito que efetua a contagem, em números binários, de zero a nove (10 algarismos),
ou código BCD, isso significa seguir uma sequência binária 8421 de 0000 a 1001. Para
construir esse circuito, utilizamos o contador de pulso, interligando as entradas clear dos
flip-flops. Para que o contador conte somente de 0 a 9, deve-se jogar um nível zero na
entrada clear assim que surgir o caso (1010), ou seja, no 10º pulso.
Para que isso aconteça, ligamos as saídas "Q" dos flip-flops 4 e 2 e as saídas "Q*" (Q
barra) dos flip-flops 3 e 1, em uma porta NAND, já que para a combinação descrita, Q4=1,
Q2=1, Q*3=1 e Q*1=1 a porta NAND só vai ter entradas 1, e resultará uma saída 0,
ativando os clears dos flip-flops.
Contador sequencial de O a N
Funciona com o mesmo princípio do contador de década, porém o nível zero a ser jogado
no clear mudará. Por exemplo, se tivermos 3 flip-flops, a contagem será feita até 7, sendo
que esse será observado por um tempo mais curto, pois 7 em binário é 111, e teremos que
ligar todas as saídas Q na porta NAND para o nível zero ativar o clear do flip-flops,
resultando em um tempo menor de observação para o número 7.
27
Contadores de pulso crescente/decrescente
Contadores síncronos
Em aplicações práticas, indo para níveis mais baixos de abstração, contadores são
formados pela ligação em cascata de flip flops, os quais são compostos por portas logicas,
e as portas logicas por sua vez, por transístores, pode ser do tipo bipolares (TBJ) ou
mosfets.
28
conduzir quando nenhum sinal é aplicado em seu terminal de controlo, no caso, o terminal
da base em transístores bipolares de junção, e o terminal da porta em transístores mosfets,
salvo uma possível corrente de fuga, que é insignificante, a qual não alteraria os estados
de funcionamento do circuito". Partindo deste princípio, no estado inicial, todos os flip
Flops dos contadores deveriam apresentar idealmente em suas saídas Q e nível logico
binário 0, e nas saídas Q’ o nível logico 1, contudo na prática isto é bem difícil de
acontecer pelos flip flops por si só, se não forem tomadas medidas de inicialização.
No caso de flip flops com transístores bipolares de junção, seja um circuito discreto, ou
circuitos integrados (chip) TTL, os transístores até são polarizados de forma a se ter 0 em
Q e 1 em Q'. Mas o problema é que mesmo com a atual precisão na fabricação de
transístores, sempre haverá uma diferença de dopagem entre eles, o que ocasiona uma
diferença de resistividade entre eles, e por consequência uma diferença em seus ganhos.
Assim sendo, o transístor mais fortemente dopado, terá por consequência um ganho
maior, e conduzirá mais do que outro transístor menos dopado durante o processo de
fabricação. Isso pode acarretar em estados indesejáveis e erros de contagem. Além disso
existe o fenômeno chamado de "carregamento da base" em TBJs, no qual ao ser desligado
um transístor do tipo NPN por exemplo, sua base ficará com alguns elétrons em excesso
acumulados, polarizando a mesma reversamente, de modo que ao se desligar um flip flop
com TBJ, e liga-lo novamente em seguida, percebe-se que o transístor que estava saturado
anteriormente entra em corte, e o que estava em corte satura, devido a este fato. Contudo
este fenômeno dura apenas alguns segundos, devido ao das três regiões estarem unidas
eletricamente no TBJ, com o passar do tempo os elétrons acumulados na base se
distribuem para as demais regiões semicondutoras, e o transístor volta a operar
normalmente.
29
Contador Binário Síncrono de 2 Bits
A Figura abaixo mostra um contador binário síncrono de 2 bits. Observe que um arranjo
diferente do contador assíncrono tem que ser usado para as entradas J1 e K1 do FF1 para
conseguir uma sequência binária.
30
Contador Binário Síncrono de 3 Bits
Um contador binário síncrono de 3 bits é mostrado na Figura 9 e o seu diagrama de
temporização é mostrado na Figura abaixo. Podemos entender essa operação do contador
examinando sua seqüência de estados como mostra a Tabela.
31
Tabela: Sequência de estados binários para um contador binário de 3 bits
Pulso de clock 𝑄2 𝑄1 𝑄0
Valor inicial 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 (reciclagem) 0 0 0
32
.
Contador de Década Sícrono de 4 Bits
Como sabemos, um contador de década BCD exibe uma seqüência binária truncada
passando pelos estados de 0000 a 1001. Em vez de passar do estado 1001 para o estado
1010, ele recicla para o estado 0000. Um contador de década BCD síncrono é mostrado
na Figura 14. O diagrama de temporização do contador de década é mostrado na Figura .
33
DECODIFICAÇÃO DE CONTADOR
Em muitas aplicações, é necessário que alguns ou todos os estados do contador sejam
decodificados.
A decodificação de um contador envolve o uso de decodificadores ou portas lógicas para
determinar quando o contador estiver num determinado estado binário de sua seqüência.
Por exemplo, a função de contagem final discutida anteriormente é um estado de
decodificação único (o último estado) na seqüência do contador.
Ao final do estudo desta seção você deverá ser capaz de:
Implementar a lógica de decodificação para qualquer estado dado na seqüência de
um contador;
Explicar porque ocorrem glitches na lógica de decodificação de contadores;
Usar o método de strobing para eliminar glitches de decodificação.
Suponha que queremos decodificar o estado binário 6 (110) de um contador binário de 3
bits.
Quando Q2 = 1, Q1 = 1 e Q0 = 0, um nível ALTO aparece na saída da porta de
decodificação indicando que o contador está no estado 6. Isso pode ser feito como mostra
a Figura 35. Essa decodificação é denominada decodificação ativa em nível ALTO. A
substituição da porta AND por uma porta NAND resulta numa decodificação ativa em
nível BAIXO.
34
Aplicações de contadores
O contador digital é um dispositivo útil e versátil que é encontrado em muitas aplicações.
Nesta seção, algumas aplicações representativas de contadores são apresentadas.
Ao final do estudo desta seção você deverá ser capaz de:
Descrever como os contadores são usados em sistemas digitais com clock;
Explicar como um contador/divisor por 60 é implementado e como ele é usado
num relógio digital;
Explicar como o contador de horas é implementado;
Discutir a aplicação de um contador num sistema de controle de estacionamento
de veículos;
Descrever como um contador é usado no processo de conversão de dados de
paralelo para série.
Um Relógio Digital
Um exemplo comum de uma aplicação de contador é em sistemas de contagem de tempo.
A Figura abaixo é um diagrama lógico simplificado de um relógio digital que mostra
segundos, minutos e horas. Primeiro, uma tensão ca senoidal de 60 Hz é convertida numa
forma de onda de pulsos é dividida para uma forma de onda de pulsos de 1 Hz por um
contador/divisor por 60 formado por um contador/divisor por 10 seguido de um
contador/divisor por 6. Os contadores de segundos e minutos também são produzidos por
contadores/divisores por 60 cujos detalhes são mostrados na Figura abaixo. esses
contadores contam de 0 a 59 e em seguida reciclam para 0; contadores de década
síncronos são usados nessa implementação em particular. Observemos que a parte que
divide por 6 é formada por um contador de década com uma sequência truncada
conseguida usando um decodificador da contagem 6 para resetar o contador de forma
assíncrona. A contagem final (59) também é decodificada para habilitar o próximo
contador da cadeia.
35
36
Conclusão
Chegando ao final da pesquisa percebi que um contador é um circuito digital que evolui
sob o comando de um sinal de relógio, de forma que seus estados reproduzam uma
sequência pré-determinada. Contadores digitais são utilizados principalmente para
contagens, geração de palavras, divisão de frequências, medição de frequência e tempo.
São basicamente divididos em duas categorias: contadores assíncronos e síncronos.
37
Referências bibliográficas
Vlsi Design Techniques for Analog and Digital Circuits - Randall L. Geiger, Phillip E.
Allen, Noel R. Strader
38