domingo, 27 de janeiro de 2013

Lógica Sequencial - Flip-Flop Master-Slave (Mestre-Escravo) com Preset e Clear

Bom, primeira postagem minha de 2013, e vamos começar dando sequencia aos posts de lógica sequencial, continuando a série falando do Flip-Flop Master-Slave com entrada \Preset e \Clear. Comentaremos o que ele é, como ele funciona e para que ele serve. Então, sem mais delongas, vamos a ele.


Na figura acima vemos o circuito que compõe o Flip-Flip Master-Slave. Veja que ele é basicamente constituído por 2 FF-JK. O primeiro Flip-Flop JK é composto pelas portas AND F1, F2, F3 e F4. Este primeiro flip-flop, que fica na entrada, é o Master (Mestre). O segundo flip-flop fica na saída, e é composto pelas portas AND F6, F7, F8 e F9. Este flip-flop é o Slave (Escravo).

Os outros elementos são as entradas \Preset e \Clear, que são ativadas em 0 (este é o significado da barra em cima do nome das entradas) e o Clock. Perceba que o Clock do flip-flop mestre é o contrário do clock do escravo. Esta inversão é dada pela porta NOT F5.

Agora que conhecemos o interior do flip-flop, e comentamos os elementos que o constituem, vamos falar da relação entre estes elementos e como eles determinam o funcionamento deste flip-flop.

Este flip-flop surgiu para resolver um problema. Acontece que no outro flip-flop, se o sinal de Clock fica muito tempo no estado alto, podem ocorrer duas mudanças na saída durante o mesmo período de Clock. Então surgiu o flip-flop JK mestre-escravo.

Como eu falei antes, o Flip-Flop JK Master-Slave é composto por dois flip-flops JK, cujos sinais de Clock estão invertidos um com relação ao outro. Então, se o sinal de Clock do primeiro flip-flop está alto, o do segundo está baixo, e vice-versa.

Quando o sinal de Clock do primeiro flip-flop está alto, ele muda sua saída conforme suas entradas. Mas neste momento as entradas do segundo flip-flop estão desabilitadas, pois o Clock deste flip-flop está baixo. Quando o sinal de Clock muda de alto para baixo, o primeiro flip-flop desabilita a leitura de suas entradas e "congela" sua saída. Neste momento o Clock do segundo flip-flop fica alto, e, logo, as entradas são habilitadas. Com isso, o segundo flip-flop lê a saída "congelada" do primeiro flip-flop e decide sua saída a partir das saídas do primeiro flip-flop, que não irão mais variar por enquanto. Quando o Clock do primeiro volta a ser alto, o do segundo volta a ser baixo. Então, a saída do segundo flip-flop fica "congelada", independente das entradas do primeiro flip-flop, só se alterando na próxima transição do Clock de alto para baixo.

Com isso, percebemos que não há possibilidade de duas variações na saída no mesmo período de clock, independente do formato do sinal do Clock (de seu duty-cycle).

De resto, o funcionamento desse flip-flop é igual ao do JK comum. Com J=0 e K=0 a saída se mantém igual ao período anterior. Com J=1 e K=0 a saída é setada (posta em nível lógico 1). Com J=0 e K=1 a saída é resetada (posta em nível lógico 0). Com J=1 e K=1, então a saída é invertida com relação a saída do período anterior.

A entrada \Preset serve para setar a saída (colocá-la em nível lógico 1) e a entrada \Clear serve para limpar a saída (colocá-la em nível lógico 0). A diferença delas para as entradas do flip-flop é que as entradas \PR e \CLR tem precedência ao clock, ou seja, não obedecem ao sinal de clock. Colocando J=0 e K=1 você limpa a saída, mas somente no próximo ciclo de clock, enquanto colocando 0 na entrada \CLR você limpa a saída, mesmo que o flip-flop esteja na metade de um ciclo de clock.

Observe que as entradas \PR e \CLR são entradas negadas, ou seja, são ativadas com nível 0 e não ativadas com nível 1.

O funcionamento dessas entradas é similar as entradas do flip-flop SR. Com \PR=1 e \CLR=1 o flip-flop funciona normalmente, lendo as entradas e respeitando o sinal de Clock. Com \PR=0 e \CLR=1 o flip-flop tem sua saída setada, independente do Clock e das entradas do flip-flop. Com \PR=1 e \CLR=0 o flip-flop tem sua saída resetada, independente do Clock e das entradas do flip-flop. A condição \PR=0 e \CLR=0 causa uma saída não desejada (Q=0 e \Q=0) e, por isso, deve ser evitada.

E por hoje era isso. No próximo post vamos continuar falando de lógica sequencial, mas ainda não tenho certeza qual será o tema. Mas, de qualquer forma, abraço e continuem estudando. Até a próxima. Qualquer dúvida, sugestão ou correção, deixem um comentário que eu respondo em até 2 dias. Fui...

4 comentários:

  1. Fiquei com uma grande dúvida sobre circuito de associação paralela, e como qualquer pessoa que tenha acesso as tecnologias de hoje em dia, fui lá pesquisar sobre esse assunto no Santo Google. Para a minha gratificante surpresa, encontrei o seu blog! Com explicações e textos fáceis e prazerosos de se ler, pretendo iniciar os meus estudos e aprofundar ainda mais os meus conhecimentos a partir do conteúdo que o Nerd Elétrico oferece! Faço curso de eletrônica na ETEC daqui de São Paulo.
    AH, me adiciona no facebook? :D

    ResponderExcluir
    Respostas
    1. Fico feliz que o blog tenha sido útil para seus estudos, afinal, este é o propósito dele... dividir, compartilhar e multiplicar o conhecimento. Se eu encontrar você no facebook, irei adicionar. :)

      Excluir
  2. As funções preset e clear só são possíveis com flip-flop mestre-escravo?

    ResponderExcluir
    Respostas
    1. No meu entendimento, é possível implementar as funções preset e clear no flip-flop RS, por exemplo, colocando em sua saída (porém antes da realimentação) uma porta "E" (AND). Quando a outra entrada da porta "E" for nível lógico 1, a saída da porta "E" será igual a saída do flip-flop. Quando a outra entrada da porta "E" for 0, a saída dela será 0, independente da saída do flip-flop, de forma semelhante as portas F8 e F9 na imagem desse post. Então é possível implementar preset e clear em flip-flops diferentes do mestre-escravo. Mas a maioria dos livros que conheço, não menciona isso.

      Excluir