• Nenhum resultado encontrado

aula 10 - aplicações de FF

N/A
N/A
Protected

Academic year: 2021

Share "aula 10 - aplicações de FF"

Copied!
10
0
0

Texto

(1)

Aplicações de Flip-flops

Os dispositivos FF, especialmente com clock, são muito versáteis, e possuem diversas aplicações em eletrônica digital, sendo a unidade básica para a construção de dispositivos mais complexos e amplamente utilizados, como registradores e controladores.

Serão apresentadas a seguir aplicações do dispositivo FF com clock. Sincronismo de entradas digitais

Em vários casos na eletrônica é comum ter como entrada lógica de um circuito, o sinal proveniente de dispositivos de saída aleatórias, como sensores e atuadores (chaves). A natureza aleatória desses sinais, contudo, pode gerar problemas no processamento desse sinal, dependendo do circuito e da lógica implementada para o processamento.

Por exemplo, considere o caso de um circuito lógico representado pela figura abaixo, onde o sinal de um clock somente deve ser utilizado quando uma chave (acionada por um humano) for ligada. Para implementar essa lógica, utilizamos uma porta AND.

É fácil perceber que o sinal em x será o clock de entrada, contanto que a chave seja acionada (nível lógico ALTO). Pelo da chave ser acionada por um humano, o exato momento que a entrada da AND terá um nível lógico ALTO é indeterminado. Uma possibilidade é a ilustrada na figura abaixo.

(2)

Mesmo desconsiderando o atraso de propagação da porta AND, ainda assim os pulsos de saída não serão homogêneos, pois haverá dois pulsos parciais nas extremedidades que não terão necessariamente a mesma duração do clock. Esse tipo de comportamento pode ser problemático para algumas aplicações.

Uma forma de garantir que a saída terá um clock com todos os pulsos com mesma duração que todos os gerados pelo clock é usar um FF tipo D.

No exemplo acima foi usado um FF tipo D com ativação por borda de descida. O motivo dessa escolha fica mais evidente ao analisar o sinal de saída x.

O sinal de saída do FF (saída Q) será uma replicação do sinal de entrada, tendo seu valor mudado somente na borda de ativação. Para o sinal de entrada (da chave A) do exemplo acima, o seu valor é BAIXO para as primeiras bordas de descida, portanto o valor de Q será BAIXO para todas essas bordas.

A mudança do seu valor lógico acontece durante um pulso ALTO do clock. Enquanto esse valor permanece no nível lógico ALTO, a saída Q permanecerá BAIXO. Na borda de descida seguinte a saída Q do FF será alterada para ALTO. A partir desse ponto, a saída x será idêntica ao clock.

(3)

Ainda no exemplo acima, a chave A é desligada, gerando um nível lógico BAIXO, também durante um nível ALTO do clock. Entretanto, esse valor lógico só é repassado à saída Q do FF da descida do clock, mantendo novamente a duração do pulso.

Sequência de entrada

Uma porta AND terá como saída o valor lógico ALTO somente quando suas duas entradas, por exemplo A e B, tiverem o valor ALTO. Entretanto, podemos criar uma exigência adicional, dizendo que a saída deve ser ALTO, e o valor de A deve ser ALTO antes do valor de B, ou seja, a saída será ALTO somente se a entrada A for para um nível lógico ALTO, e depois de um determinado tempo, a entrada B for para o mesmo nível lógico.

Essa exigência não é possível ser realizada com portas lógicas convencionais, pois a ordem de subida das entradas não muda a saída. Com FF, todavia, é possível implementar essa exigência.

No diagrama acima, a entrada B funciona como clock, e o FF desse exemplo é ativado com a borda de subida. Assim, a saída Q terá o mesmo valor da entrada A quando a entrada B (clock) apresentar uma borda de subida.

Quando a entrada A assume o valor ALTO antes de B, como na figura à esquerda, a subida da entrada B, que nesse caso funciona como um clock, fará com que a saída do FF seja igual a entrada, ou seja, levando o valor de Q para ALTO (como a entrada A). Caso a entrada B assuma o valor ALTO primeiro, como na figura à direita, a saída Q ainda será BAIXO, pois a subida de B é anterior à de A.

(4)

Transferência paralela de dados

Assumindo que um FF apresenta como dado de saída um único valor binário (saída Q), podemos dizer que, em uma palavra binária, ele representa um bit. Assim, podemos agrupar vários Ffs, criando o dispositivo chamado registrador.

A operação mais comum realizada sobre dados armazenados em FFs, ou registradores, é a transferência de dados, que envolve a transferência de valores binários de um FF (ou registrador) a outro.

Essa transferência pode ser realizada de forma síncrona, a partir de um sinal de clock, ou assíncrona, a partir de um valor lógico externo, que envolve o uso de circuitos adicionais entre as unidades de FF. Como esperado, a forma mais comum de transferência é a síncrona.

As figuras abaixo mostram a implementação da transmissão síncrona de um único bit entre FF do tipo J-K e D.

Repare que a opearação simplesmente replica o valor da entrada do FF da esquerda para o FF da direita. A diferença é que essa transferência só ocorre na borda de ativação do clock, além disso, esse dado fica armazenado até a próxima transição.

Se agruparmos, por exemplo, três FFs, poderemos representar uma palavra binária de 3 bits, nesse caso teremos um registrador de 3 bits. Assim como na figura anterior, podemos fazer a transferência de um registrador a outro, como representado na figura abaixo.

Na figura, temos o registrador X (formado por 3 FFs), que transmite os bits X2, X1 e X0. O registrador Y, recebe os 3 bits nas entradas dos FFs Y2, Y1 e Y0.

(5)

Repare que, na transição do clock, todos os 3 bits do registrador X são transmitidos para a saída do registrador Y simultaneamente. Essa transmissão é, portanto, chamada de transmissão paralela. É importante entender que a transmissão paralela não altera o conteúdo do registrador transmissor. No exemplo acima, a alteração dos valores de Y não acarreta em uma mudança dos valores de X. Se antes do pulso os valores são X2X1X0 = 101 e Y2Y1Y0 = 011, depois da transição do clock, os dois registradores terão a mesma palavra binária.

Transmissão serial

Além da conexão em paralelo dos flip-flops em um único agrupamento (registrador), há a possibilidade de conectá-los em cascata, também formando um único registrador, como na figura abaixo.

(6)

Nesse agrupamento em cascata, a saída de um FF é ligado na entrada de outro, e todos compartilham o mesmo clock. Note que, ao inserir um valor lógico no FF de entrada (à esquerda), esse valor somente passará para sua saída (X3) após uma borda de ativação do clock. Ainda assim, esse valor não estará disponível nos outros bits do registrador.

Após sucessivas bordas de ativação, esse valor lógico é transferido, pulso a pulso, para os FFs seguintes do registrador, semelhante ao ato de digitar números em uma calculadora, onde a cada tecla apertada, o dígito mostrado no display é deslocado para inserção do novo número.

Esse registrador onde os FFs são conectados em cascata, é chamado de registrador de deslocamento, pois os valores são passados ao registrador através de um bit (MSB ou LSB), deslocando esse valor para os demais bits.

Conectando agora dois registradores de deslocamento, pode-se transferir os dados de um registrador a outro, ligando-os também em cascata, como na figura abaixo.

(7)

Suponha que a palavra binária armazenada no registrador X seja 101, para transferir esses valores, na mesma ordem para o registrador Y, serão necessários 3 pulsos de clock, um para cada bit da palavra.

Essa operação de transmissão bit a bit, entre registradores de deslocamento, é chamada de transmissão serial de dados.

Logicamente que esse deslocamento pode ser feita no sentido oposto, transmitindo os bits mais significativos primeiro.

Comparando as duas formas de transmissão de palavras binárias, podemos tirar duas conclusões básicas:

1- A transmissão paralela é mais rápida, pois utiliza somente um pulso de clock para transmitir toda a palavra de uma única vez, enquanto que a transmissão serial necessita de tantos pulsos quantos forem os bits da palavra transmitida.

2- A conexão entre registradores em paralelo, entretanto, exige um número de conectores igual ao número de bits, ou seja, para transmitirmos em paralelo 8 bits, serão necessárias 9 vias, uma para cada bit e mais uma para referência (terra). Por outro lado, a transmissão serial necessita somente de 2 vias de transmissão, visto que todos os bits são transmitidos na mesma via.

Divisão de frequência e contagem

Imaginando um sinal de clock com determinada frequência, ou seja, com um número determinado de transições de pulsos. Com circuitos baseados em FF é possível dividir a frequência desse sinal de clock.

(8)

Sabendo a tabela verdade do FF tipo J-K, quando as duas entradas possuem nível lógico 1, na transição do clock a saída do dispositivo é invertida. Repare que a saída de um FF funciona como clock do FF seguinte. O sinal resultante de cada FF, a partir dos pulsos de clock de entrada no primeiro FF é mostrada abaixo.

No circuito do exemplo, o FF é ativado na borda de descida. Para cada transição, o sinal da saída é invertida, saindo do nível lógico ALTO para BAIXO, e vice-versa. Com isso, a saída do FF Q0 é também um pulso de clock, só que com uma frequência duas vezes menor.

Ao repetir o processo para o FF seguinte, o clock é dividido por dois novamente, resultando num clock 4 vezes menor que o original. Esse tipo de circuito é chamado de divisor de frequência. Fazendo uma análise atenta ao sinal de saída de cada FF, podemos montar uma tabela com os valores lógicos de cada para cada período do clock.

(9)

Percebe-se claramente que a palavra binária composta pelos 3 bits dos FFs, seguem uma sequência numérica a cada pulso de clock. Em outras palavras, o divisor de frequência funciona também como contador binário.

Como o contador do exemplo é composto por 3 bits, gerando 8 possíveis estados diferentes, ele é chamado de contador módulo 8. Caso sejam usados 4 bits para implementar um contador, ele será chamado de contador módulo 16.

Uma das principais aplicações de um contador é o sequenciamento de estados. Se usarmos a palavra binária para representar o estado de funcionamento de um sistema eletrônico, os 3 bits do exemplo representariam 8 possíveis estados.

(10)

Por exemplo, o semáforo é um sistema que possui 3 possíveis estados (um para cada lâmpada), e com isso 2 bits seriam o suficiente para representá-los. Implementar um contador módulo 4 faria a transição temporal entre os estados, garantindo o funcionamento do sistema.

Referências

Documentos relacionados

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Convênio de colaboração entre o Conselho Geral do Poder Judiciário, a Vice- Presidência e o Conselho da Presidência, as Administrações Públicas e Justiça, O Ministério Público

Neste estudo sobre a história do ensino do Cálculo Diferencial e Integral, que tomou como recorte o Departamento de Matemática da Universidade Federal de Juiz de Fora

Sendo assim, entendemos com o autor, quando ele diz que a história da figura do mediador “merece alguns parágrafos” (CASTRO ROCHA, 2010, p. 10), já que acreditamos que a

Os interessados em adquirir quaisquer dos animais inscritos nos páreos de claiming deverão comparecer à sala da Diretoria Geral de Turfe, localizada no 4º andar da Arquibancada

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Assim, este estudo buscou identificar a adesão terapêutica medicamentosa em pacientes hipertensos na Unidade Básica de Saúde, bem como os fatores diretamente relacionados

Um dos FH permanece na sala de trabalho, onde realiza várias tarefas: a validação das prescrições médicas informatizadas e manuais; a impressão dos mapas de