domingo, 27 de janeiro de 2013

De Luto por Santa Maria

Hoje ocorreu uma tragédia, o incêndio na boate Kiss em Santa Maria. Até o momento foram contabilizadas cerca de 240 vítimas fatais...

240 pessoas mortas. 240 histórias que tiveram um fim naquele lugar. Para quem morre, a dor acaba. Para quem fica, a dor é interminável, insuportável. São pais que perderam as crianças que criaram e educaram com tanto amor e carinho. Amigos que perderam gente querida. A mãe desesperada que, ao ouvir a notícia, liga incessantemente para o filho para saber seu paradeiro e lá, no local do incidente, um celular toca no bolso de um corpo sem vida.

Para mim é fácil escrever esse texto, sentado ao meu computador. Estou bem, as pessoas que amo estão bem. Por mais que eu tente, seria impossível imaginar a dor sentida. Mas na medida em que minha ignorância me permite, eu desejo muita força aos que perderam seus entes queridos.

Que todas essas almas possam descansar em paz...

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...