Escolar Documentos
Profissional Documentos
Cultura Documentos
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)
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
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.
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.
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.
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:
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
K Q K Q K Q
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