Wikipedia for Schools in Portuguese is available here
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Flip-flop - Wikipédia

Flip-flop

Origem: Wikipédia, a enciclopédia livre.

Em eletrônica e circuitos digitais, o flip-flop ou multivibrador biestável é um circuito digital pulsado capaz de servir como uma memória de um bit. Um flip-flop tipicamente inclui zero, um ou dois sinais de entrada, um sinal de clock, e um sinal de saída, apesar de muitos flip-flops comerciais proverem adicionalmente o complemento do sinal de saída. Alguns flip-flops também incluem um sinal da entrada clear, que limpa a saída atual. Como os flip-flops são implementados na forma de circuitos integrados, eles também necessitam de conexões de alimentação. A pulsação ou mudança no sinal do clock faz com que o flip-flop mude ou retenha seu sinal de saída, baseado nos valores dos sinais de entrada e na equação carecterística do flip-flop.

Quatro tipos de flip-flops possuem aplicações comuns em sistemas de clock sequencial: estes são chamdos o flip-flop T ("toggle"), o flip-flop S-R ("set-reset"), o flip-flop J-K e o flip-flop D ("delay").O comportamento de um flip-flop é descrito por sua equação característica, que prevê a "prôxima" (após o próximo pulso de clock) saída, Qnext, em termos dos sinais de entrada e/ou da saída atual, Q.

O primeiro flip-flop eletrônico foi inventado em 1919 por William Eccles e F. W. Jordan (Radio Review Dez 1919 páginas 143 em diante). Ele foi inicialmente chamado de circuito de disparo Eccles-Jordan. O nome flip-flop posterior descreve o som que é produzido em um alto-falante conectado a uma saída de um amplificador durante o processo de chaveamento do circuito.

Veja Também: multivibrador monoestável, multivibrador astável.

Índice

[editar] Tipos de flip-flops

[editar] Flip-flop T (helio barros)

Se a entrada T estiver em estado alto, o flip-flop T muda ("toggle") o estado da saída sempre que a entrada de clock sofrer uma modificação. Se a entrada T foi baixa, o flip-flop mantém o valor anterior da saída. Seu comportamento é descrito pela seguinte equação característica:

O símbolo do flip-flop T, onde > é a entrada de clock, T é a entrada de toggle e Q é informação de saída armazenada.
Ampliar
O símbolo do flip-flop T, onde > é a entrada de clock, T é a entrada de toggle e Q é informação de saída armazenada.

Q_{seguinte} = T \oplus Q

e pela tabela verdade:

T Q Qnext
0 0 0
0 1 1
1 0 1
1 1 0

[editar] Flip-flop S-R

Diagrama de tempos de um flip-flop SR
Ampliar
Diagrama de tempos de um flip-flop SR

O flip-flop "set/reset" ativa (set, muda sua saída para o nível logico 1, ou retém se este já estiver em 1) se a entrada S ("set") estiver em 1 e a entrada R ("reset") estiver em 0 quando o clock for mudado. O flip-flop desativa (reset, muda sua saída para o nível lógico 0, ou a mantém se esta já estiver em 0) se a entrada R ("reset") estiver em 1 e a entrada S ("set") estiver em 0 quando o clock for mudado. Se ambas as entradas S e R estiverem em 0 quando o clock for mudado, a saída não se modifica. Se, entretanto, ambas as saídas S e R estiverem em 1 quando o clock for mudado, nenhum comportamento particular é garantido. Isto é comumente escrito na forma de uma "tabela verdade"

S R Q Qnext
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 X instável

[editar] Flip-flop J-K

Diagrama de tempos do flip-flop J-K
Ampliar
Diagrama de tempos do flip-flop J-K

O flip-flop J-K aprimora o funcionamento do flip-flop S-R interpretando a condição S = R = 1 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. Fazendo J = K o flip-flop J-K se torna um flip-flop T.

O símbolo do flip-flop J-K, onde > é a entrada de clock, J e K são as entradas de dados, Q é a saída de dados armazenada e Q' é o complemento de Q.
Ampliar
O símbolo do flip-flop J-K, onde > é a entrada de clock, J e K são as entradas de dados, Q é a saída de dados armazenada e Q' é o complemento de Q.

A equação característica do flip-flop J-K é:

Q_{seguinte} = J\overline Q + \overline KQ

e sua tabela verdade é:

J K Q Qnext
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 0 1
1 1 1 0

O flip-flop J-K recebeu este nome em homenagem a Jack Kilby, o homem que inventou o circuito integrado, em 1958, pelo qual ele recebeu o prêmio Nobel em Física no ano 2000. "Jump-kill", também é utilizado como analogia a "set-reset".

[editar] CÓDIGO EM VHDL DE UM FLIP FLOP JK


library ieee; use ieee.std_logic_1164.all;


entity JK_FF is port ( clock: in std_logic; J, K: in std_logic; reset: in std_logic; Q, Qbar: out std_logic ); end JK_FF;


architecture behv of JK_FF is

   -- define the useful signals here
   signal state: std_logic;
   signal input: std_logic_vector(1 downto 0);

begin

   -- combine inputs into vector
   input <= J & K;               
   p: process(clock, reset) is
   begin

if (reset='1') then state <= '0'; elsif (rising_edge(clock)) then

           -- compare to the truth table

case (input) is when "11" => state <= not state; when "10" => state <= '1'; when "01" => state <= '0'; when others => null; end case; end if;

   end process;
   -- concurrent statements
   Q <= state;
   Qbar <= not state;

end behv;


[editar] Flip-flop D

O flip-flop D ("data" ou dado, pois armazena o bit de entrada) possui uma entrada, que é ligada diretamente à saída quando o clock é mudado. Independentemente do valor atual da saída, ele irá assumir o valor 1 se D = 1 quando o clock for mudado ou o valor 0 se D = 0 quando o clock for mudado. Este flip-flop pode ser interpretado como uma linha de atraso primitiva ou um hold de ordem zero, visto que a informação é colocada na saída um ciclo depois de ela ter chego na entrada.

O símbolo esquemático de um flip-flop D, onde > é a entrada de clock, D é a entrada de dados e Q é a saída de dados.
Ampliar
O símbolo esquemático de um flip-flop D, onde > é a entrada de clock, D é a entrada de dados e Q é a saída de dados.

A equação característica do flip-flop D é:

Q_{seguinte} = D \,

A sua tabela verdade é:

D Q Qnext
0 X 0
1 X 1

[editar] Código em VHDL de um Flip-flop D


library ieee ; use ieee.std_logic_1164.all; use work.all;


entity dff is port( data_in: in std_logic; clock: in std_logic; data_out: out std_logic ); end dff;


architecture behv of dff is begin

   process(data_in, clock)
   begin
       -- clock rising edge

if (clock='1' and clock'event) then data_out <= data_in; end if;

   end process;    

end behv;

[editar] Usos

O flip-flop pode ser utilizado para armazenar um bit, ou um digito binário de informação. A informação armazenada em um conjunto de flip-flops pode representar o estado de um sequênciados, o valor de um contador, um caractere ASCII em uma memória de um computador ou qualquer outra parte de uma informação.

Um uso é a construção de máquinas de estado finito a partir da lógica eletrônica. O flip-flop lembra os estado anterior de máquina, e a lógica digital utiliza este estado para calcular o próximo estado.

O flip-flop "T" é útil para contagens. Sinais repetidos à entrada de clock farão com que o flip-flop mude seu estado a cada transição de nível alto-para-baixo da entrada de clock, se sua entrada T for "1", a saída de um flip-flip pode ser ligada à entrade clock de um segundo flip-flop e assim por diante. A saída final do circuito, considerada com o conjunto de todas as saídas dos flip-flops individuais, é uma contagem, em sistema binário, do número de ciclos da primeira entrada de clock, até um limite máximo de 2n-1, onde n é o número de flip-flops utilizados no circuito.

Um dos problemas com este tipo de contador (chamado de contador de ripple ou contador de pulsos) é que a saída é brevemente inválida conforme ocorre a mudança de pulso através da lógica. Existem duas soluções para este problema. A primeira é retirar uma amostra da saída apenas quando a mesma for válida. A segunda, mais utilizada, é utilizam um tipo diferente de contador chamado de contador síncrono. Este utiliza uma lógica mais complexa para garantir que as saídas do contador mudem todas a um mesmo período previsível.

Divisâo de frequência: uma "corrente" de flip-flops "T" utilizados da maneira descrita acima irá funcionar de modo a dividir a frequência da entrada por 2n na saída do último flip-flop, aonde n é o número de flip-flops utilizados entre a entrada e a saída.

Os registradores podem ser utilizados para armazenar dados nos computadores. Um flip-flop "D" pode representar um dígito de um número binário. A unidade de controle do computador envia o sinal de clock no momento certo para poder capturar estes dados.

[editar] Temporização e metaestabilidade

Um flip-flop em combinação com um Schmitt trigger pode ser utilizado para a implementação de um arbitro em circuitos assíncronos.

Os flip-flop com clock estão predispotos a um problema chamado de metaestabilidade, que ocorre quando um dado ou uma entrada de controle está mudando no momento do pulso de clock. O resultado é que a saída pode ser comportar imprevisivelmente, levando muito tempo mais que o seu normal para se estabilizar no seu estado correto, ou mesmo oscilando uma série de vezes antes de se estabilizar. Em um sistema de um computador, isto pode levar a uma corrupção dos dados ou travamento.

Em muitos casos, a metaestabilidade nos flip-flops pode ser evitada garantindo-se que as entradas de dados e controle sejam mantidas constantes para períodos especificados antes e após o pulso de clock, este períodos são chamados de tempo de setup (tsu) e tempo de hold (th) respectivamente. Estes tempos são especificados na documentação (data sheet) do dispositivos, e são tipicamente entre alguns nanosegundos e algumas centenas de picosegundos nos dispositivos modernos.

Infelizmento, não é sempre possível atingir os critérios de setup e hold, pois o flip-flop pode estar conectado a um sinal em tempo real que pode mudar a qualquer momento, fora do controle do projetista. Neste caso, o melhor que se pode fazer e reduzir a probabilidade de erro a um certo nível, dependendo da fidelidade requerida do circuito. Uma técnica para reduzir a metaestabilidade é conectar-se dois ou mais flip-flops em uma corrente, de modo que a saída de um alimenta a entrada de dados do outro, e todos os dispositivos compartilham um clock comum. Com este método, a probabilidade de um evento metaestável pode ser reduzida a um valor desprezível, mas nunca a zero.

Existem flip-flop com metaestabilidade reduzida, os quais trabalham reduzindo os tempos de setup e hold o máximo possível, porém mesmo estes não podem eliminar o problema completamente. Isto ocorre porque a metaestabilidade é mais que uma consequência do projeto do circuito. Quando as transições no clock e nos dados estão em um intervalo de tempo próximo, o flip-flop é forçado a escolher qual dos eventos ocorrerá primeiro. Entretanto devido às altas velocidades de processamento, existe sempre a possibilidade de que os eventos da entrada estejam tão próximos que ele não possa detectar qual ocorreu primeiro. Desta forma é logicamente impossível construir um flip-flop totalmente livre de metaestabilidade.

Outro valor importante para um flip-flop é o atraso de clock-a-saída (clock-to-output delay, o símbolo comum é tCO) ou atraso de propagação (tP), que é o tempo que o flip-flop leva para mudar a sua saída após o sinal de clock. O tempo de uma transição de alto-para-baixo (high-to-low transition, tPHL) e algumas vezes difetente do tempo de uma transição de baixo-para-alto (low-to-high transition, tPLH).

Quando se conectam flip-flop em uma corrente, é importante se assegurar que o tCO do primeiro flip-flop é maior que o tempo de hold (hold time, tH) do segundo flip-flop, caso contrário o segundo flip-flop não irá receber os dados confiavelmente. A relação entre tCO e tH é normalmente garantida se ambos os flip-flops são do mesmo tipo.

[editar] Circuitos integrados de Flip-Flops

Podem ser encontrados circuitos integrados (ICs) com um ou dois flip-flop na mesma pastilha. Como exemplo temos o 7473 com um Flip-Flop J-K Master-Slave Dual, na série 7400.

[editar] Ligações externas

Commons
O Wikimedia Commons possui multimedia sobre Flip-flop
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com