Você está na página 1de 8

CEATEC - PUC CAMPINAS - ENGENHARIA ELÉTRICA - TELECOMUNICAÇÕES

Gabarito Exercício em Classe - Preparação para 2a. Prova

Questão 1: Determine a forma de onda da saída Q para os três flip-flops abaixo e


explique o que ocorre nos diversos instantes marcados por letras.

S
S Q

R Q Q ilegal

Q ilegal
(a) (b)

D Q
CLK
CLK
CLR
Q
D
CLR
Q
(c) (d) (e)

CLK
PRE

J Q CLR

CLK PRE

Q J
K
CLR K

Q
(f) (g) (h)

Explicação dos instantes marcados:


(a) Indefinido, pois não se sabe o valor anterior.
(b) S=R=1 é uma combinação ilegal, pois os comandos SET e RESET são
simultâneos. Pode-se deixar hachurado como em (a).
(c) Indefinido, pois não se sabe o valor anterior.
(d) Ocorre CLEAR ativo em ´1´ (clear ativo-alto), que faz a saída ir para ´0´. CLEAR
tem prioridade sobre o CLK, por isso a 1ª. borda de subida não tem efeito.
(e) Idem (d).
(f) Ocorre PRESET ativo em ´0´, que faz a saída ir para ´1´. PRESET tem prioridade.
(g) Na borda de descida, J=K=1 faz a saída inverter seu valor.
(h) Ocorre CLEAR ativo em ´0´, que faz a saída ir para ´0´.
Questão 2: A figura abaixo mostra o diagrama de blocos de um circuito lógico que produz
uma saída numérica em código BCD sempre que for apertado algum botão de um teclado
de seis botões. O circuito também fornece uma saída Q = 1 para indicar quando o teclado
não está acionado. Projete o circuito para armazenar os bits N3,N2,N1 e N0. Utilize a
saída Q para sincronizar o armazenamento. Qual o nome deste circuito?

X0
0 N3
X1
1
Teclado X2 N2
2 Circuito
numérico Número N
X3 Lógico
0a5 3 N1 em BCD
X4
4 N0
X5
5
Q

Armazenar significa utilizar algum tipo de flip-flop para capturar cada um dos bits N3, N2,
N1 e N0 no momento em que estiverem válidos, ou seja, um pouco depois de alguma
tecla ser apertada e antes que a mesma seja solta. Um flip-flop só pode armazenar 1 bit,
logo vamos precisar 4 flip-flops para armazenar N3,N2,N1 e N0 simultaneamente.

O primeiro problema é a escolha do flip-flop. Existem os seguintes tipos: SR, tipo D e JK.
Se você analisar cada um deles, verá que os flip-flops SR e JK requerem a definição de
duas entradas (veja a dificuldade: um sinal Nx deveria ir para qual das duas entradas?),
enquanto que o tipo D possui somente uma. Portanto, a escolha mais simples é o flip-flop
tipo D.

A captura deve ser instantânea nos 4 flip-flops, para evitar pegar bits que estejam
trocando de valor. Isso sugere a utilização de flip-flops tipo D sensíveis à borda. Vamos
escolher ao tipo de borda (subida ou descida) depois. Outro ponto importante é o que
fazer com as 4 entradas de CLK dos 4 flip-flops tipo D: como os bits N3, N2, N1 e N0 são
gerados todos juntos ao mesmo tempo que um botão é apertado, isso sugere que a
captura deve ser simultânea, ou seja , os 4 CLK´s deve ser ligados juntos.

Resta definir quando gerar a borda de subida. O sinal Q fica a maior parte do tempo em
´1´ indicando que o teclado esta em repouso. Quando Q vai para ´0´ significa que alguma
tecla foi apertada. Portanto, se gerarmos uma borda de descida de clock alguns nano-
segundos após o sinal Q descer, esta borda irá servir perfeitamente para capturar os bits
Nx. Portanto, os flip-flops a serem utilizados são tipo D borda de descida.

RESET

N3N2N1N0 1111 0101 1111

Atraso bem definido


CLK

Q3Q2Q1Q0 0000 0101


Não sabemos ainda projetar esse Circuito Gerador de Atraso, mas podemos especificá-lo
e projetar mais a frente. Veja as formas de onda que exemplificam o funcionamento do
circuito.

O circuito armazenador que foi projetado, e que está dentro do retângulo vermelho
tracejado, é conhecido como Registrador de 4 bits com entradas e saídas paralelas
(registrador PIPO).

Q3
D Q

CLK

Número N CLR
em BCD

X0 Q2
0 N3 D Q
X1
1
CLK
Teclado X2 N2
2 Circuito
numérico
X3 Lógico
0a5 3 N1 CLR
X4
4 N0
X5
5 Q1
D Q

Q CLK

CLR

Circuito Q0
Gerador de D Q
Atraso
CLK

CLR
RESET
Questão 3: Analise o circuito lógico da figura abaixo.
Q0

ENTRA Q1
J Q D Q
J
CLK CLK CLK

K Q Q

CLR CLR
LIMPA

Observe que o flip-flop JK (que tem saída Q0) está ligado como um flip-flop T (toggle), tal
que se ENTRA=1 ele inverte o seu valor de saída a cada borda de descida de CLK
(J=K=1 -> inverte), e se ENTRA=0 ele mantém sua saída inalterada (J=K=0 -> mantém).
Ele funciona como um divisor de freqüência enquanto ENTRA=1. ENTRA = 0 “breca” o
processo de divisão de freqüência.

O flip-flop tipo D está também conectado como divisor de freqüência, e muda o valor da
sua saída a cada borda de descida do sinal Q0.

As formas de onda estão mostradas abaixo. Note que se anotamos os valores das saídas
Q1Q0, observa-se que elas seguem um padrão igual ao das combinações de entradas de
uma tabela-verdade (00, 01, 10, 11, 00, 01, ...).

CLK

LIMPA

ENTRA

Q0

Q1

Q1Q0 00 01 10 11 00 <parado> 01 10 11 00

Este circuito é chamado de Contador Crescente que conta de 0 a 3 e retorna a zero, isso
apenasse o sinal ENTRA = 1.

As saídas Q1Q0 poderiam ser usadas, por exemplo, para estimular as entradas MN dos
circuitos MUX 4:1 e DEMUX 1:4 simulados no Lab3.
Questão 4: Projete um registrador SIPO (serial IN – parallel OUT) de 5 bits que possa ser
inicializado com o valor binário Q0Q1Q2Q3Q4 = 11001.

Registradores em geral utilizam-se flip-flops tipo D. A estrutura SIPO mostrada abaixo só


tem uma entrada (DIN) que está conectada ao flip-flop de índice 0 mais à esquerda, e
além disso tem cada saída Q conectada à entrada D do flip-flop situado à direita. Todas
as saídas Q estão disponíveis externamente. O sinal de clock (CLK) é comum a todos, de
modo que a “ordem” de armazenamento e de deslocamento dos bits seja dada a todos
flip-flops simultaneamente. Neste circuito utilizamos flip-flops que possuem entradas de
PRESET e CLEAR ativadas pelo nível lógico ‘0’ (ativo-baixo).

Para se obter a inicialização com valor binário 11001 (ou seja, fazer com que Q0 Q1 Q2
Q3 Q4 = 11001), devemos atuar seletivamente nos CLR e PRE adequados.

Note que o desenho está colocando o flip-flop de índice zero à esquerda. A ordem é livre.
Você pode projetar diferente do que está desenhado, e daí deve ser coerente com o sua
ordem escolhida. Eu fiz assim apenas para mostrar uma solução um pouco diferente.

Os PRE dos flip-flops com índice (4), (1) e (0) e os CLR dos flip-flops (3) e (2) estão
ligados ao sinal INIC, que pulsa para ‘0’ no inicio do tempo e permanece em ‘1’ após isso.
Com isso, conseguimos inicializar os flip-flops com um valor inicial, que neste exemplo é
diferente de tudo-zero ou tudo-um. Note ainda que os demais PRE e CLR não
necessários para a inicialização devem ser desativados permanentemente, e portanto são
ligados ao valor lógico ‘1’ fixo.

Assumindo DIN = 0 constante, iniciando com Q0Q1Q2Q3Q4 = 11001 temos:

Após a primeira borda de subida temos Q0Q1Q2Q3Q4 = 01100


Após a segunda borda de subida temos Q0Q1Q2Q3Q4 = 00110
Após a terceira borda de subida temos Q0Q1Q2Q3Q4 = 00011
Após a quarta borda de subida temos Q0Q1Q2Q3Q4 = 00001
Após a quinta borda de subida temos Q0Q1Q2Q3Q4 = 00000
Questão 5: Projete um contador assíncrono crescente de 4 bits que possa ser inicializado
com o valor binário Q3Q2Q1Q0 = 0100. Diga qual o valor máximo de contagem e o que
ocorre quando esse valor é ultrapassado.

Um contador assíncrono crescente pode ser construído com células de comutação feitas
com flip-flops tipo D ou JK, e devem ser de borda de descida. Veja a
abaixo
baixo o circuito de um
contador de 4 estágios (4 bits) construído com flip
flip-flops JK.

Para se iniciar o contador


tador a partir do número binário 4 (equivale a Q3Q2Q1Q0= 0100,
lembre-sese que o código BCD do número 4 é 0100 0100),), precisamos ativar as entradas CLEAR
dos flip-flops de índice (0), (1) e (3), e também ativar a entrada PRESET do flip
flip-flop (2).

Quando o sinal INIC é ativado, fazendo


fazendo-oo pulsar para nível lógico ‘0’, a inicialização é
realizada. Depois disso, o INIC fica desativado em ‘1’, deixando o sina
sinal de clock atuar
fazendo a contagem evoluir.

Num contador crescente de 4 bits, o valor da contagem máxima é 1111 = 15, depois disso
retorna a zero 0000 e recomeça a contagem crescente. No caso do contador desse
exercício, ele começa de 0100 = 4, conta cre
crescente
scente até 1111 = 15, retorna a 0000 = 0 e
continua a contar crescente 0, 1, 2, 3, 4, 5, 6, ..., 14, 15, 0, 1, ... Somente no início ele
começa de 4.
Questão 6: Um circuito oscilador digital gera uma forma de onda quadrada de freqüência
8 MHz. O que pode ser feito para (veja a figura abaixo):
a) Reduzir a freqüência para 1 MHz mantende-se a forma de onda quadrada?
b) O mesmo que no item (a), mas que a duração do pulso em ‘1’ seja a mesma da
onda de 8 MHz? DICA: desenhe todas as formas de onda necessárias no item (a)
e observe alguma propriedade interessante que ajude a produzir o pulso desejado.

CLK_8MHz

CLK_Q_1MHz

CLK_P_1MHz

Solução:

Para se reduzir a freqüência de um sinal de clock, usam-se divisores de freqüência, que


geram formas de onda nas saídas com a metade da freqüência do sinal de clk (divisor por
2) a forma de onda se mantém quadrada devido ao processo de divisão. Para a solução
do item (a), as formas de onda ficam:

CLK_8MHz

CLK_Q_4MHz

CLK_Q_2MHz

CLK_Q_1MHz

O circuito que produz o efeito das formas de onda acima é mostrado a seguir.
CLK_Q_4MHz

CLK_Q_2MHz

´1´ ´1´ ´1´


CLK_Q_1MHz
J Q J Q J Q
CLK 8MHz J J J
CLK CLK CLK

K Q K Q K Q

CLR CLR CLR

LIMPA
Verifique que as formas de onda mudam de valor quando a de maior freqüência tem sua
borda de descida, o que exige que os flip-flops utilizados sejam todos “borda de descida”.

Este circuito também pode ser construído com 3 flip-flops tipo D “borda de descida”
conectados como divisores de freqüência (saída Qbarra ligada na entrada D), tal como
mostrado no exercício (5) da Lista 2.

Para obter a forma de onda CLK_P_1MHz, com pulso estreito igual ao do clock de 8MHz,
basta fazer um AND com o clock de entrada e todas as saídas dos divisores de
freqüência, pois pode-se observar que este pulso ocorre quando todos estes sinais são
´1´ simultaneamente (simultâneo = AND, lembra?).

CLK_8MHz

CLK_Q_4MHz

CLK_Q_2MHz

CLK_Q_1MHz

CLK_P_1MHz

CLK_8MHz

CLK_Q_4MHz
CLK_P_1MHz
CLK_Q_2MHz

CLK_Q_1MHz

Você também pode gostar