Mudanças entre as edições de "EDI018702 2020 2 AULA02"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Página substituída por ' ----- link=EDI018702_2020_2_AULA01 link=EDI018702_2020_2#Aulas Imagem:icone_prox.png|link=EDI018702_2020_2_...')
Etiqueta: Substituído
Linha 1: Linha 1:
=Flip-Flops=
 
 
Os flip-flops são elementos de circuito que podem apresentar em seu funcionamento apenas dois estados
 
estáveis. Não existem estados intermediários entre estes dois estados.
 
A aplicação de um sinal de entrada pode mudar o dispositivo de um estado para outro e como a qualquer
 
momento podemos saber qual é o estado em que ele se encontra, é possível considerar este circuito como
 
uma memória capaz de armazenar um bit.
 
 
O flip-flop é o elemento básico das chamadas memórias estáticas. Existem diversos tipos de flip-flops
 
encontrados nos circuitos digitais comerciais.
 
 
 
==Tipo RS==
 
 
O Flip-Flop R-S (Reset e Set) funciona da seguinte maneira:
 
 
O flip-flop R-S tem duas saídas representadas por Q e Q\, assim, na
 
condição inicial estável Q estará no nível baixo (0) e Q\ estará no nível alto (1).
 
O processo que leva o flip-flop a este estado inicial pronto para funcionar
 
é muito rápido, não demorando mais do que alguns microssegundos.
 
Quando o flip-flop se encontra na situação indicada, com Q=0 e Q\=1,
 
dizemos que ele se encontra "setado". A Figura 1 mostra o símbolo utilizado pelo Flip-Flop RS com clock.
 
 
 
 
[[Imagem:fig9_DIG222802.png|center|150px]]
 
<center>
 
Figura 1 - Flip-Flop RS com clock.
 
</center>
 
 
 
Assim, estando o flip-flop na condição indicada, se desejarmos mudar
 
o estado, aplicamos o pulso na entrada SET, ficando Q=1 e Q\=0. Desta forma, se desejarmos mudar o estado novamente, aplicamos o pulso na entrada RESET,  logo as saídas mudam para Q=0 e Q\=1. A Figura 2 mostra os diagramas de tempo para um FF R-S com clock. <span style="color:red;">Lembre-se que SET e RESET são assíncronos, ou seja, acontecem imediatamente depois de acionados.</span>
 
 
 
[[Imagem:fig7_DIG222802.png|center|500px]]
 
<center>
 
Figura 2 - Diagrama de tempos para o Flip-Flop RS com entrada de clock.
 
</center>
 
 
 
Se a mudança de estado ou disparo (gatilho) ocorre quando o sinal de clock passa de 0 para 1, os
 
flip-flops são denominados "positive edge-triggered", enquanto que, se o disparo ocorre quando o clock vai do
 
nível 1 para 0, ou seja, na queda do nível lógico, os flip-flops são chamados de "negative edge-triggered".
 
Neste tipo de circuito é muito importante levar em conta, num projeto de maior velocidade, os tempos em
 
que todo o processo ocorre. Assim, partindo do diagrama de tempos da Figura 3, vemos que a saída
 
do flip-flop só completa sua mudança de estado depois de um certo tempo, do pulso de clock ter sido aplicado.
 
 
 
[[Imagem:fig8_DIG222802.png|center|400px]]
 
<center>
 
Figura 3 - Tempos do flip-flop R-S.
 
</center>
 
 
Dois tempos são importantes neste tipo de circuito.
 
 
*tH: Hold Time ou Tempo de Manutenção é o tempo em que a entrada
 
deve permanecer ainda no circuito para que seu nível lógico seja
 
reconhecido pelo flip-flop.
 
*tS: Setup Time ou tempo em que a entrada do flip-flop deve permanecer
 
no estado desejado antes da transição do clock que vai provocar a
 
mudança de estado do circuito.
 
 
==Tipo D==
 
 
O Flip-Flop tipo D funciona da seguinte maneira: Quando houver variação do clock, o valor guardado na saída do flip-flop será igual ao valor da entrada D (dados) naquele momento.
 
 
O circuito do flip-flop do tipo D pode ser construído a partir do circuito do flip-flop RS controlado, basta adicionar uma porta inversora entre R e S fazendo com que as entradas sempre sejam invertidas uma da outra. Desse modo não vamos ter R=0 e S=0 ou R=1 e S=1 o que evita o chamado "estado proibido". A Figura 4 mostra essa configuração.
 
 
[[Imagem:fig10_DIG222802.png|center|250px]]
 
<center>
 
Figura 4 - Circuito do flip-flop tipo D utilizando o RS controlado.
 
</center>
 
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
|+'''FF D'''
 
|-
 
! style="background:#6A5ACD; color:white; width: 20px;" | D
 
! style="background:#6A5ACD; color:white; width: 20px;" | Q
 
|-
 
| 0
 
| 0
 
|-
 
| 1
 
| 1
 
|}
 
 
 
Observe que pelo fato do flip-flop tipo D possuir apenas uma entrada faz com que a sua tabela verdade possua somente duas linhas, já que com uma entrada são possíveis apenas dois valores 0 ou 1. O C, de controle, na verdade se transforma em clock (CK) nas distribuições comerciais, além do possuir preset (PR) e clear (CLR). A Figura 5 apresenta um flip-flop tipo D com preset e clear ativos pela borda de subida do clock (a) e borda de descida do clock (b).
 
 
 
[[Imagem:fig11_DIG222802.png|center|250px]]
 
<center>
 
Figura 5 -Flip-flop tipo D com preset e clear ativos pela: (a) borda de subida e (b) borda de descida do clock.
 
</center>
 
 
==Tipo JK==
 
 
No Flip-Flop JK quando houver variação do clock, o valor guardado no flip-flop será alternado se as entradas J e K forem iguais a 1 e será mantido se ambas forem iguais a 0. No caso de serem diferentes, então o valor se tornará 1 se a entrada J (Jump) for 1 e será 0 se a entrada K (Kill) for 1. A Figura 6 mostra o símbolo utilizado para o flip-flop JK.
 
 
[[Imagem:fig12_DIG222802.png|center|150px]]
 
<center>
 
Figura 6 - Flip-flop JK com preset e clear.
 
</center>
 
 
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
|+'''FF JK'''
 
|-
 
! style="background:#6A5ACD; color:white; width: 20px;" | J
 
! style="background:#6A5ACD; color:white; width: 20px;" | K
 
! style="background:#6A5ACD; color:white; width: 20px;" | Q
 
|-
 
| 0
 
| 0
 
| Q
 
|-
 
| 0
 
| 1
 
| 0
 
|-
 
| 1
 
| 0
 
| 1
 
|-
 
| 1
 
| 1
 
| Q\
 
|}
 
 
 
O flip-flop JK aprimora o funcionamento do flip-flop RS interpretando a condição S = R = 1 (proibido) como um comando de inversão.
 
 
Especificamente, a combinação J = 1, K = 0 é um comando para ativar (set) a saída do flip-flop. A combinação J = 0, K = 1 é um comando para desativar (reset) a saída do flip-flop; e a combinação J = K = 1 é um comando para inverter o flip-flop, trocando o sinal de saída pelo seu complemento.
 
 
==Tipo T==
 
 
Assim como se modifica o flip-flop R-S colocando um porta inversora entre as entradas R e S para criar o flip-flop tipo D, podemos fazer um curto-circuito entre J e K e o flip-flop J-K se torna um flip-flop T. A Figura 7 apresenta como transformar um flip-flop do tipo JK em tipo T.
 
 
[[Imagem:fig13_DIG222802.png|center|250px]]
 
<center>
 
Figura 7 - Transformando flip-flip JK em T.
 
</center>
 
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
|+'''FF T'''
 
|-
 
! style="background:#6A5ACD; color:white; width: 20px;" | T
 
! style="background:#6A5ACD; color:white; width: 20px;" | Q
 
|-
 
| 0
 
| Q
 
|-
 
| 1
 
| Q\
 
|}
 
 
O flip-flop tipo T funciona da seguinte forma: Quando houver variação do clock, o valor guardado no flip-flop será alternado ou mantido dependendo se o valor na entrada T (Toggle) for 1 ou 0. Assim, quando T=1 a saída vai para Q\ e quando T=0 a saída permanece como estava.
 
 
=Referências=
 
 
[1] TOCCI, Ronald J.; WIDMER N. S.; GREGOGRY L. M. Sistemas digitais: princípios e aplicações. São Paulo: Prentice Hall, 2003.
 
 
[2] http://www.inf.ufsc.br/~guntzel/isd/isd4.pdf
 
 
[3] http://www.cburch.com/logisim/docs/2.7/pt/html/libs/mem/flipflops.html
 
 
  
  

Edição das 14h03min de 23 de outubro de 2020




Icone voltar.png Icone menu.png Icone prox.png