11/8/10
Contadores
Mário Serafim Nunes
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Conceitos base
Contadores síncronos
Concepção heurística
Concepção formal
Características de contadores
Alteração do módulo de contagem
Interligação de contadores
Mário Serafim Nunes
2010/2011 2
Guilherme Silva Arroz
1
11/8/10
Sistemas Digitais - Taguspark
Um contador é um circuito constituído por
vários flip-flops cuja configuração conjunta
segue uma sequência de palavras de um
determinado código, alterando o seu estado
por cada flanco activo do sinal de relógio.
Mário Serafim Nunes
2010/2011 3
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Por exemplo um
contador de três bits
em código binário
natural conta segundo
a seguinte sequência:
Repare-se que o
contador é cíclico, isto
é, passa do último
estado de contagem
(7) para o primeiro (0).
Mário Serafim Nunes
2010/2011 4
Guilherme Silva Arroz
2
11/8/10
Sistemas Digitais - Taguspark
O contador referenciado tem um ciclo de oito
estados de contagem que se vai repetindo. Diz-
se, por isso que é um contador de módulo 8.
O módulo é o número de estados por que o
contador passa antes de reiniciar a sua
contagem.
Mário Serafim Nunes
2010/2011 5
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Contadores assíncronos: apenas alguns flip-flops
(em geral apenas um, o de menor peso de
contagem) mudam com um flanco de relógio
previamente escolhido. Os outros mudam
depois de alguns ou todos os flip-flops
anteriores (com menor peso) mudarem.
Não estudaremos este tipo de contador.
Mário Serafim Nunes
2010/2011 6
Guilherme Silva Arroz
3
11/8/10
Sistemas Digitais - Taguspark
Contadores síncronos: Num contador síncrono,
os flip-flops que compõem o contador mudam
todos em sincronismo com um determinado
flanco de comutação do relógio.
É sobre este tipo de contador que nos iremos
debruçar.
Mário Serafim Nunes
2010/2011 7
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Vai apresentar-se um processo heurístico de
concepção de um contador binário síncrono
módulo 8.
Um contador desse tipo terá de ter três flip-flops
para suportar os oito estados de contagem.
Esses três flip-flops, uma vez que o contador é
síncrono, terão as suas linhas de relógio
interligadas.
Pode ser usado qualquer tipo. Vão usar-se flip-
flops JK edge-triggered.
Mário Serafim Nunes
2010/2011 8
Guilherme Silva Arroz
4
11/8/10
Sistemas Digitais - Taguspark
O circuito de que se parte é, portanto:
Mário Serafim Nunes
2010/2011 9
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
A sequência de estados
pretendida é a sequinte
Repare-se que Q0 muda
valor em todas as
contagens.
O flip-flop que representa
essa variável deve, por
isso ter as suas entradas
na situação J = K = 1.
Mário Serafim Nunes
2010/2011 10
Guilherme Silva Arroz
5
11/8/10
Sistemas Digitais - Taguspark
O circuito evolui, assim, para:
Mário Serafim Nunes
2010/2011 11
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Repare-se agora que Q1
muda de estado só
quando Q0 = 1.
É então fácil de
compreender que
Mário Serafim Nunes
2010/2011 12
Guilherme Silva Arroz
6
11/8/10
Sistemas Digitais - Taguspark
O circuito evolui, agora, para:
Mário Serafim Nunes
2010/2011 13
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Repare-se por fim que
Q2 muda de estado só
quando Q1 = Q0 = 1.
É então fácil de
compreender que
Mário Serafim Nunes
2010/2011 14
Guilherme Silva Arroz
7
11/8/10
Sistemas Digitais - Taguspark
E o circuito final será:
Este processo pode ser repetido para um
contador binário com qualquer número de bits.
Mário Serafim Nunes
2010/2011 15
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
O diagrama temporal de funcionamento de um
circuito como o exemplificado atrás, omitindo
os tempos de atraso, é o seguinte:
f Tenha-se ainda
f/2 em conta o
f/4
carácter de
divisor de
f/8
frequências
Repare-se na
contagem.
Mário Serafim Nunes
2010/2011 16
Guilherme Silva Arroz
8
11/8/10
Sistemas Digitais - Taguspark
É fácil compreender agora que um contador
pode ter três tipos de aplicações:
Contagem de acontecimentos: Para cada
acontecimento existe um impulso na linha de
relógio. O contador ao contar os impulsos conta os
acontecimentos.
Divisor de frequências: A partir de uma sequência de
impulsos regular com uma determinada frequência f
o contador gera as frequências f/2, f/4, ... f/n.
Temporizador. Se os impulsos surgirem com um
intervalo definido, a contagem do contador
corresponde a um determinado tempo.
Mário Serafim Nunes
2010/2011 17
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Num contador síncrono esperar-se-ia que na
passagem de um estado para o seguinte, a
contagem passasse globalmente de um número
para outro.
No entanto, isso não é verdade porque cada
flip-flop, chegado o flanco activo do relógio,
reage mas o tempo de reacção varia
ligeiramente entre os flip-flops que reagem.
Por isso, durante um intervalo de tempo muito
pequeno surgem estados transitórios.
Mário Serafim Nunes
2010/2011 18
Guilherme Silva Arroz
9
11/8/10
Sistemas Digitais - Taguspark
Exemplifica-se com a passagem de 3 para 4 na
contagem do contador anterior. A figura está
numa escala de tempo muito fina e a sequência
efectiva escolhida podia ser outra.
Note-se que os fabricantes
especificam o tempo de atraso
máximo e o típico de um flip-flop.
Cada um dos flip-flops vai mudar,
porém, num intervalo que pode ser
diferente de flip-flop para flip-flop.
Mário Serafim Nunes
2010/2011 19
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Muitos contadores têm sinais de controlo que
permitem melhorar a sua funcionalidade.
Um sinal de Reset, por exemplo, é interessante,
para se poder colocar o contador a 0 antes de
iniciar uma contagem.
Mário Serafim Nunes
2010/2011 20
Guilherme Silva Arroz
10
11/8/10
Sistemas Digitais - Taguspark
Outro sinal interessante é um controlo que
permita o contador contar ou que mantenha o
estado apesar de surgirem impulsos na linha de
relógio.
Mário Serafim Nunes
2010/2011 21
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Os símbolos dos contadores incluem os
diversos sinais de controlo que podem ter.
Mário Serafim Nunes
2010/2011 22
Guilherme Silva Arroz
11
11/8/10
Sistemas Digitais - Taguspark
Há contadores com diversas características. Por
exemplo, apresentaram-se contadores binários.
É habitual a existência comercial de contadores
binários de quatro bits de módulo 16.
De igual modo existem contadores BCD, isto é
contadores módulo 10.
Existem contadores com a possibilidade de
contar ascendentemente ou descendentemente.
Muitas vezes são designados contadores
bidireccionais ou contadores up/down.
Mário Serafim Nunes
2010/2011 23
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
O comportamento de um contador é definido
por uma tabela de estados. Exemplifica-se com
a tabela de um contador binário de três bits
bidireccional.
Dir = 0 – Contagem
ascendente
Dir =1 – Contagem
descendente
Mário Serafim Nunes
2010/2011 24
Guilherme Silva Arroz
12
11/8/10
Sistemas Digitais - Taguspark
Existem contadores que podem ser carregados
com um valor presente num conjunto de
entradas exteriores quando é activada uma
entrada de controlo correspondente.
Para conseguir isto, coloca-se junto a cada flip-
flop um multiplexador que, quando a linha de
controlo indica contagem, faz as entradas dos
flip-flops terem origem na lógica de contagem e
quando se pretende carregar dados, faz-se essas
entradas dependerem de entradas exteriores.
Mário Serafim Nunes
2010/2011 25
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Mário Serafim Nunes
2010/2011 26
Guilherme Silva Arroz
13
11/8/10
Sistemas Digitais - Taguspark
Símbolo de um contador complexo (74HCT161)
[Count]
[Load]
Reset
Dois Enables
de contagem
TC – Contagem final
Entradas
Mário Serafim Nunes
2010/2011 27
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
É possível conseguir um contador que tenha um
módulo de contagem diferente (inferior) a um
contador de onde se parta.
Para isso há que definir qual o último valor de
contagem que se pretende e obter uma linha que
identifica que se atingiu esse valor.
Essa linha activa o carregamento e nas linhas de
entrada coloca-se o valor a carregar.
No próximo impulso o contador em vez de
contar, carrega esse valor e recomeça a contagem.
Mário Serafim Nunes
2010/2011 28
Guilherme Silva Arroz
14
11/8/10
Sistemas Digitais - Taguspark
Exemplo de construção de um contador módulo
10 a partir de um contador módulo 16
Ordem de
carregamento
Identificação
Valor a do 9 (1001)
carregar: 0000
Porque não
se usam os
bits a 0?
Mário Serafim Nunes
2010/2011 29
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Com alguma lógica exterior ao contador é
possível, partindo de um contador de módulo n,
usando a técnica descrita, realizar um contador
que conte segundo qualquer sequência e em
qualquer módulo até n.
No entanto há técnicas que permitem conceber de
base um contador que conte segundo qualquer
sequência e até segundo mais de uma sequência
de acordo com o valor de entradas de controlo.
Essas técnicas serão estudadas mais tarde.
Mário Serafim Nunes
2010/2011 30
Guilherme Silva Arroz
15
11/8/10
Sistemas Digitais - Taguspark
Muitas vezes tem de se interligar contadores
para obter contadores com um maior número
de bits e, portanto, um módulo maior de
contagem.
Seguidamente ilustra-se a forma de construir
um contador de oito bits usando dois
contadores de quatro.
Mário Serafim Nunes
2010/2011 31
Guilherme Silva Arroz
Sistemas Digitais - Taguspark
Activo quando o primeiro contador está a 1111 Activo quando
ambos os
contadores
estão a 1111.
O Próximo
contador só
contaria quando
ambos estão no
último estado de
contagem
Este contador só conta quando o primeiro está no
último estado de contagem
Mário Serafim Nunes
2010/2011 32
Guilherme Silva Arroz
16
11/8/10
Sistemas Digitais - Taguspark
Livro recomendado, Secção 6.6
Existem muitos livros com capítulos sobre o
assunto.
A Internet é, como de costume, uma fonte que,
explorada com espírito crítico, tem muito para
dar.
Mário Serafim Nunes
2010/2011 33
Guilherme Silva Arroz
17