SISTEMAS DIGITAIS
Contadores síncronos
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Adaptado para lógica positiva por Guilherme Arroz
Novembro de 2005
Sistemas Digitais
1
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos


Para um contador ser síncrono, todos os
FF devem ser actuados ao mesmo tempo.
Logo, a linha de relógio deve ser comum
Vamos fazer o projecto, de forma
heurística, de um contador binário
ascendente com 3 bits
Novembro de 2005
Sistemas Digitais
2
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos


Começamos com 3 FFs JK ET
Os flancos de comutação não são
importantes
 Mas são os mesmos para os 3 FFS
 Neste exemplo, admite-se que os flancos de
comutação são os ascendentes
Novembro de 2005
Sistemas Digitais
3
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos


Vejamos a saída Q0
Ela muda sempre que
ocorre um impulso
(flanco ascendente) no
relógio
Novembro de 2005
Sistemas Digitais
4
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos


Vejamos agora a saída
Q1
Ela só muda quando
ocorre um impulso
(flanco ascendente)
no relógio e Q0 está a
1
Novembro de 2005
Sistemas Digitais
5
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos

Obtemos, então, o seguinte logigrama
parcial
Q0 muda em todos os
flancos ascendentes
de CLK
Novembro de 2005
Q1 muda com um flanco
ascendente em CLK se e
só se Q0 = 1
Sistemas Digitais
6
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos


Vejamos agora a saída
Q2
Ela só muda quando
ocorre um impulso
(flanco ascendente) no
relógio e Q0 e Q1 estão
ambos e
simultaneamente a 1
Novembro de 2005
Sistemas Digitais
7
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos

Obtemos, então, o seguinte logigrama
(final)
Q2 muda com um flanco
ascendente em CLK se e
só se Q0 = 1 e Q1 = 1
Novembro de 2005
Sistemas Digitais
8
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos

Generalizando para um contador síncrono
de módulo 2n
 Precisamos de n FFs (por exemplo JK), todos a
comutar no mesmo flanco
 Todas as entradas de relógio vêm ligadas ao
CLK
 As entradas J e K do FF (i) vêm ligadas à saída
de um AND cujas entradas são as saídas de
todos os FFs que vêm para trás

desde o FF0 até ao FF (i-1)
Novembro de 2005
Sistemas Digitais
9
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores síncronos

Para não aumentarmos muito o fan-in do
último AND (número muito elevado de
entradas) podemos optar por fazer
Em rigor, este AND não é necessário.
Apenas se inclui para permitir expansão
Novembro de 2005
Sistemas Digitais
10
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Cont. Sínc. com Reset

Reset: permite inciar o processo de
contagem no estado 0; Repare-se que o
Reset usa as entradas directas dos FFs e
é activo a 0.
Novembro de 2005
Sistemas Digitais
11
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Cont. Sínc. com Enable

Enable: permite a contagem ou impede a
progressão da contagem (nesse caso
mantém o estado de contagem)
Novembro de 2005
Sistemas Digitais
12
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Cont. de módulo arbitrário


Pretende-se conceber um contador
síncrono utilizando um procedimento
sistemático de síntese
Este método permite conceber
contadores genéricos, independentemente
de o módulo de contagem ser ou não
potência de 2
Novembro de 2005
Sistemas Digitais
13
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Cont. de módulo arbitrário

Exemplo: contador binário síncrono de
módulo 6 (conta no CBN de 0 a 5)
Estado Actual
Tabela de estados
Novembro de 2005
Estado Seguinte
EA
ES
000
001
001
010
010
011
011
100
100
101
101
000
Sistemas Digitais
14
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Vamos sintetisar este contador
 Isto é, a partir da tabela de estados do
contador vamos obter o seu logigrama
(esquema eléctrico)

O processo de análise seguiria os mesmos
passos pela ordem inversa
 Do logigrama para a tabela de estados
Novembro de 2005
Sistemas Digitais
15
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Depois de estabelecida a tabela de
estados, preenche-se uma tabela de
transições, em que se indicam as
mudanças de estado dos FFs
Novembro de 2005
Sistemas Digitais
16
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador


Note-se que os estados 110 e 111 foram
deliberadamente omitidos, por não
pertencerem ao ciclo de contagem
Em seguida escolhemos os FFs a utilizar
 Não é indiferente essa escolha, embora não
possamos decidir, nesta fase, qual o tipo de FF
que conduz à solução mínima (a solução mais
económica em termos de circuito)
Novembro de 2005
Sistemas Digitais
17
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Podemos, contudo, atender a algumas
questões
 Os FFs JK são os que têm mais funcionalidade
 4 funções, a saber: mantêm o estado, comutam,
fazem Set e fazem Reset
 Os FFs SR só têm 3 funções (não comutam)
 Os FFs D apenas possuem uma função (copiam
a tensão na entrada)
Novembro de 2005
Sistemas Digitais
18
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Como regra geral (que, contudo, não é
certa) podemos dizer que, quanto maior a
funcionalidade, mais simples serão as
expressões das equações de excitação a
aplicar às entradas síncronas (J, K, etc.)
 As entradas síncronas dos FFs designam-se,
nos contadores, por entradas de excitação

Mas, é claro, um FF do tipo D apenas
precisa de uma eq. de excitação, enquanto
que um JK ou um SR precisa de duas
Novembro de 2005
Sistemas Digitais
19
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador


A escolha é, por conseguinte, algo
arbitrária
No nosso caso vamos utilizar FFs JK ET
que comutem nos flancos ascendentes
 A escolha do flanco de comutação e a
estrutura dos FFs (ET ou MS) também é
arbitrária
 Logo, não garantimos uma solução mínima no
processo de síntese
Novembro de 2005
Sistemas Digitais
20
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Podemos começar a esboçar o logigrama
do contador
O processo de síntese há-de conduzir à lógica de
excitação dos FFs, a aplicar às entradas J e K

Os estados de contagem do contador
podem observar-se nas saída dos Ffs
Novembro de 2005
Sistemas Digitais
21
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador


Para podermos escrever as equações de
excitação dos FFs precisamos de começar
por elaborar uma tabela de excitações
para os FFs (JK no caso)
Cada tipo de FF possui uma tabela de
excitações diferente
Novembro de 2005
Sistemas Digitais
22
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador



A tabela de excitações para um dado tipo
de FF obtém-se da sua tabela de verdade,
lendo-a “ao contrário”
A tabela de verdade diz como se
comportam as saídas quando aplicamos
determinados níveis e flancos às entradas
síncronas
A tabela de excitações diz que níveis é
que devemos aplicar às entradas para
termos determinadas mudanças nas saídas
Novembro de 2005
Sistemas Digitais
23
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Tabela de excitações
de um FF JK
CP
J
(t)
K
(t)
Q(t+∆t)
0
0
Q(t)
0
1
0
1
0
1
1
1
Q(t)
x
x
Q(t)
0
x
x
Q(t)
1
x
x
Q(t)
A tabela de excitações
de um JK obtém-se a
partir da tabela de
verdade do JK
Novembro de 2005
Sistemas Digitais
24
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Com a tabela de transições
do contador
e a tabela de excitações dos
FFs JK
podemos construir a tabela
de excitações do contador
(acetato seguinte)
Novembro de 2005
Sistemas Digitais
25
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Tabela de excitações do contador
Novembro de 2005
Sistemas Digitais
26
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Notemos agora que, para cada coluna (J2,
K2, etc.) temos funções combinatórias
 Porque J2, K2, etc, sendo funções de Q2, Q1 e
Q0, estão definidas no mesmo instante t
Novembro de 2005
Sistemas Digitais
27
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Logo, podemos obter as equações de
excitação dos FFs (usando, por exemplo, o
método de Karnaugh), directamente da
tabela de excitações do contador
Novembro de 2005
Sistemas Digitais
28
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Quadros de Karnaugh
para J2, K2, J1 e K1
Novembro de 2005
Sistemas Digitais
29
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Para J0 e K0 não
precisamos de
quadros de Karnaugh,
porque Q0 muda a
cada impulso de
relógio
Novembro de 2005
Sistemas Digitais
EA
ES
000
001
001
010
010
011
011
100
100
101
101
000
30
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Equações de excitação para J2, K2, J1,
K1, J0 e K0
Com J0 = K0 = 1,
obrigamos o FF Q0 a mudar a
cada flanco de comutação
Como será o quadro de Karnaugh
de J0 e de K0?
Novembro de 2005
Sistemas Digitais
31
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Síntese de um contador

Finalmente, o logigrama do contador
Novembro de 2005
Sistemas Digitais
32
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores bidireccionais

Vamos considerar um contador bidireccional de
módulo 10
 Bidireccional quer dizer ascendente/descendente
(“up/down”)

Conta de 0 a 9 ou de 9 a 0, consoante o nível de
tensão aplicado a uma linha de controlo designada
por UP/DOWN
 Com um 0 na linha de controlo deve contar
ascendentemente
 Com um 1 deve contar descendentemente
Novembro de 2005
Sistemas Digitais
33
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores bidireccionais

Tabela de transições do contador
Novembro de 2005
Sistemas Digitais
34
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contadores bidireccionais


O processo de síntese deste contador é
semelhante ao do contador anterior
Contudo, ter em atenção que as equações
de excitação para J3, K3, J2, etc.,
dependem agora, para além de Q3, Q2,
Q1 e Q0, também da entrada UP/DOWN
Novembro de 2005
Sistemas Digitais
35
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo


A capacidade de poder inicializar um
contador com um valor à escolha é por
vezes muito importante
Os contadores com Carregamento em
Paralelo têm essa funcionalidade
Novembro de 2005
Sistemas Digitais
36
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo

Para adicionar a funcionalidade de
Carregamento em Paralelo a um contador
é necessário adicionar uma variável de
controlo que comande o modo de
funcionamento, e alterar a lógica que
actua as entradas dos FFs
Novembro de 2005
Sistemas Digitais
37
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo

Exemplo – Alterar um contador de módulo
8 para realizar carregamento paralelo
 Adicionamos uma linha de controlo COUNT
que, quando activa, permite a contagem
 Adicionamos ainda uma linha de controlo LOAD
que permite o carregamento em paralelo do
contador quando está a 1 e que permite os
outros modos (Count, Reset) quando a 0
 Finalmente, uma linha RESET que, quando a 0,
faz o Reset assíncrono do contador
Novembro de 2005
Sistemas Digitais
38
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo

A lógica dos Ji e Ki vem determinada pela
necessidade de carregar o nível aplicado à
entrada Ii quando LOAD = 1, e por ter de
levar em consideração o nível na linha
COUNT quando LOAD = 0
Novembro de 2005
Sistemas Digitais
39
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo
Novembro de 2005
Sistemas Digitais
40
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Carregamento em paralelo



Evidentemente, não devemos activar
simultaneamente as variáveis de controlo
COUNT e LOAD
Mas podemos desactivar as duas em
simultâneo e, nesse caso, o contador deve
manter o estado de contagem
Isto é, nem carrega em paralelo nem
conta
Novembro de 2005
Sistemas Digitais
41
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Símbolos IEC de contadores

Contador assíncrono 74LS293
Ripple counter
Reset (Count=0) assíncrono
aos dois contadores,
desde que G1 esteja activo
Divisores de frequência
por 2 e por 8
2 contadores ascendentes
e independentes (excepto
pelo Reset, que é comum)
Novembro de 2005
Sistemas Digitais
42
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Símbolos IEC de contadores

Contador síncrono genérico


CTR 4 – Contador de 4 bits construído a
partir de FFs que podem ser carregados com
um comportamento do tipo D
M1,M5 – Modos de funcionamento
 M1 – conta (a linha está a 1)
 M5 – carrega em paralelo (a linha está a 0)

Novembro de 2005
A linha de Modo define dois modos
diferentes. Os valores 1 e 5 apenas servem
para indicar quais as linhas que dependem
desta linha. Para se saber o que faz cada
modo é necessário analisar todo o símbolo e
procurar os valores 1 e 5
Sistemas Digitais
43
Símbolos IEC de contadores
Prof. Carlos Sêrro
Prof. João Paulo Carvalho

Linha de relógio: A linha é dividida em duas
para facilidade de leitura do símbolo. Isso
pode ser interpretado como tendo a linha
duas funções (tal como acontece com a linha
de Modo)
 1,3,4+: Indica que, se estiverem activas as
entradas com os qualificadores 1, 3 e 4, o
contador conta ascendentemente (se o
contador tivesse o sinal - contaria
descendentemente). Portanto, quando houver
um flanco ascendente no relógio (o triângulo), e
as linhas com qualificadores M1, G3 e G4
tiverem níveis 1, o contador conta.
 C2: É uma linha de clock que serve para
despoletar outras operações descritas algures
no símbolo (o carregamento paralelo, como
veremos)
Novembro de 2005
Sistemas Digitais
44
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Símbolos IEC de contadores


Novembro de 2005
G3 e G4: Enables de contagem. A diferença
entre os dois está em que um deles influencia a
saída (de que já trataremos) enquanto que o
outro, não.
CT = 0: Linha de Reset assíncrono do contador.
Quando activada coloca a contagem a 0 (CT=0).
Sistemas Digitais
45
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Símbolos IEC de contadores


Novembro de 2005
5,2D: Entrada de carregamento paralelo de cada
um dos FF. O carregamento dá-se quando a linha
M5 está activa (a 0) e quando surge um flanco
ascendente no relógio (C2). Se tivessemos 5D
(em vez de 5,2D), isso significaria que o
carregamento seria assíncrono, isto é, que se
verificava logo que a linha de modo era activada,
não dependendo do relógio.
A notação é semelhante para cada um dos 4 FFs,
mas não precisa de vir repetida
Sistemas Digitais
46
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Símbolos IEC de contadores



Novembro de 2005
3CT=15: Linha de saída que indica que o
contador atingiu o último estado de contagem
(CT=15). A linha fica activa enquanto o contador
estiver no estado 15 (1111), desde que o Enable
G3 esteja activo
[1], [2], [4] e [8]: Comentários (tudo o que
estiver dentro de parêntesis rectos é
comentário). Indicam o peso dos diversos flipflops na contagem
Saídas (é onde se vê a contagem...)
Sistemas Digitais
47
Símbolos IEC de contadores
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Exemplo de contador
Up/Down de 4 bits





Novembro de 2005
Reparar na existência de modos de
contagem ascendente (2,3+),
descendente (2,4-) e carregamento
paralelo síncrono (1,7)
G5 e G6 são Enables
M1 e M2 indicam se há contagem ou
carregamento paralelo
M3 e M4 definem a direcção da
contagem
O contador assinala quando chega a 15
se estiver em modo ascendente, ou a 0
se estiver em modo descendente
Sistemas Digitais
48
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Estados Instáveis

Apesar de todos os FF de um contador
síncrono reagirem ao mesmo flanco de
comutação, verifica-se que cada FF pode
ser mais ou menos lento a reagir
 devido a vários aspectos envolvidos no seu
fabrico – dispersão de características, neste
caso que afectam o tempo de propagação tpd
Novembro de 2005
Sistemas Digitais
49
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Estados Instáveis


Logo, num contador síncrono (também)
surgem estados instáveis sempre que
numa mudança de estado está envolvido
mais do que um FF
O número de estados instáveis depende
do número de FFs que mudam de estado
Novembro de 2005
Sistemas Digitais
50
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Estados Instáveis

Exemplo: Mudança de 7 (0111) para 8
(1000)
Estado (estável) 7
Estado (estável) 8
Estados instáveis
Novembro de 2005
Sistemas Digitais
51
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Interligação de contadores

Muitas vezes é necessário proceder à
interligação entre vários contadores
integrados para aumentar o módulo de
contagem
 por exemplo, utilizar contadores de 4 bits de
módulo 10 (contadores BCD) para fazer um
contador de módulo 100, com um (o de menor
peso) a contar as unidades, e o outro a contar
as dezenas
Novembro de 2005
Sistemas Digitais
52
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Interligação de contadores


Uma solução óbvia consiste em interligar
os contadores de modo que um deles
passe a ser o menos significativo, e os
seguintes contem apenas quando todos os
anteriores chegam ao último estado de
contagem e passam para o primeiro estado
Por exemplo, no contador de módulo 100 o
contador das unidades, quando passa de 9
para 0, faz incrementar o das dezenas
Novembro de 2005
Sistemas Digitais
53
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Interligação de contadores

Afim de manter o carácter síncrono, a
solução passa por interligar os contadores
de forma a que
 o relógio seja comum
 o Enable de cada um dependa do facto de o
conjunto dos contadores menos significativos
terem chegado ao último estado de contagem
Novembro de 2005
Sistemas Digitais
54
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Interligação de contadores

Exemplo de ligação síncrona para formar um
contador binário com 8 bits módulo 256
(16x16=256)
Atenção ao facto de a
função 3CT=15 vir
activada no estado 15,
depois do flanco
ascendente de início
desse estado.
Ou seja, no fim do estado
15 é que aparece o flanco
ascendente de relógio que
incrementa o segundo
contador
Novembro de 2005
Sistemas Digitais
55
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias



O carregamento paralelo dos contadores
tem ainda a utilidade de permitir
modificar os módulos de contagem
Suponhamos que pretendemos
transformar um contador de módulo 16
num de módulo 10
A solução consiste em detectar o último
estado de contagem pretendido e usar
essa linha para activar o carregamento em
paralelo do contador
Novembro de 2005
Sistemas Digitais
56
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias


As linhas de carregamento paralelo serão
utilizadas para impor o estado zero
Note-se que não pode ser usado o Reset
se ele for assíncrono e, supostamente,
pretendemos manter o contador síncrono
Novembro de 2005
Sistemas Digitais
57
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias

Exemplo: Obter um
contador de módulo
10 (conta de 0000 a
1001) a partir de um
contador integrado de
módulo 16
Novembro de 2005
Sistemas Digitais
58
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias


A primeira vez que, na
sequência de contagem,
se encontram as duas
linhas dos extremos a
H, temos o estado de
contagem 9
A detecção do estado 9
activa o carregamento
em paralelo porque
LOAD_L vem activo e
M1 também
Novembro de 2005
Sistemas Digitais
59
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias


O carregamento em
paralelo é do estado 0
Nos outros estados
de contagem (0 a 8)
COUNT_H vem
activado e o contador
conta (porque M2 vem
activo nesses casos)
Novembro de 2005
Sistemas Digitais
60
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias

A menos que haja uma
falha no
funcionamento do
contador, este nunca
entra nos estados 10
a 15, para os quais foi
originalmente
desenhado
Novembro de 2005
Sistemas Digitais
61
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias


Poderia ter-se usado outro valor para
carregar nas entradas de carregamento
paralelo se a sequência pretendida a isso
obrigasse
Se se pretendesse, por exemplo, a
sequência .…,4,5,6,7,8,9,4,… então
detectar-se-ia o 9 da mesma forma, mas
em vez de carregar o número 0, carregarse-ia o número 4
Novembro de 2005
Sistemas Digitais
62
Prof. Carlos Sêrro
Prof. João Paulo Carvalho
Contagens arbitrárias

E que tal utilizar a detecção de um estado
para fazer o Reset ao contador
 Reset síncrono?
 Reset assíncrono?


E porque não utilizar o carregamento em
paralelo e o Reset para obter ciclos de
contagem mais complicados?
E porque não detectar mais do que um
estado?
Novembro de 2005
Sistemas Digitais
63
Download

Contadores