desktop
Apollo

El Mundo Digital III : Los Flip Flops

Introducción

Todos los circuitos digitales utilizan datos binarios para funcionar correctamente, los circuitos están diseñados para contar, sumar, separar, etc. los datos según nuestras necesidades, pero por el tipo de funcionamiento de las compuertas digitales, los datos presentes en las salidas de las mismas, cambian de acuerdo con sus entradas, y no hay manera debitarlo, si las entradas cambian, las salidas lo harán también, entonces ¿Cómo podemos hacer para mantener un dato o serie de datos en un lugar hasta que los necesitemos?

La respuesta son las memorias, básicamente son sistemas que pueden almacenar uno o más datos evitando que se pierdan, hasta que nosotros lo consideremos necesario, es decir, pueden variar su contenido a nuestra voluntad.

El corazón de una memoria son los Flip Flops, este circuito es una combinación de compuertas lógicas, A diferencia de las características de las compuertas solas, si se unen de cierta manera, estas pueden almacenar datos que podemos manipular con reglas preestablecidas por el circuito mismo.

Esta es la representación general par un Flip Flop (comúnmente llamado "FF")


imagen1.gif

Los FF pueden tener varias entradas, dependiendo del tipo de las funciones internas que realice, y tiene dos salidas:

imagen2.gif

Las salidas de los FF sólo pueden tener dos estados (binario) y siempre tienen valores contrarios, como podemos ver en la siguiente tabla:


tabla1.gif

Las entradas de un FF obligan a las salidas a conmutar hacia uno u otro estado o hacer "flip flop" (Término anglosajón), más adelante explicaremos cómo interactúan las entradas con las salidas para lograr los efectos característicos de cada FF.

El FF también es conocido como:

  • "Registro Básico" término utilizado para la forma más sencilla de un FF.
  • "Multivibrador Biestable" término pocas veces utilizado para describir a un FF.

Registro Básico construido con compuertas NAND
Este es el circuito más sencillo y básico de un FF, Puede ser construido a partir de dos compuertas NAND o dos compuertas NOR con dos entradas, a continuación se ilustra con compuertas NAND, y es denominado "Registro Básico NAND".

La forma de conectarlas es la siguiente:
Se deja libre una de las entradas de cada compuerta, las sobrantes son conectadas independientemente de manera cruzada hacia la salida de la compuerta contraria.

Quedando la conexión de la siguiente manera:


imagen3.gif

La siguiente tabla muestra el estado inicial del Registro Básico NAND, cuando sus entradas se encuentran en ALTO (Estado de reposo del FF). Para comenzar la acción de "Flip Flop" será necesario enviar a BAJO alguna de las entradas, con su correspondiente cambio de estado a la salida.


imagen4.gif

La siguiente tabla nos muestra los diferentes cambios de las salidas, según cada selección de entradas (La "X" significa que no importa el estado en el que se encuentren en ese momento):


tabla2.gif

Siguiendo los datos de la tabla podemos resumir que:

  • Si SET y RESET están en ALTO, el FF mantiene sus salidas en el estado actual.
  • Si RESET recibe un pulso BAJO, las salidas son forzadas a Q = 0 y /Q = 1
  • Si SET recibe un pulso BAJO, las salidas son forzadas a Q = 1 y /Q = 0
  • Si las dos entradas reciben pulsos BAJOS, las salidas son forzadas a Q = 1 y /Q = 1
Este último cambio normalmente se considera como no deseado, ya que el principio básico es que las salidas siempre estén invertidas (Aunque en ciertos casos especiales, nosotros podríamos utilizar este efecto).

Entonces, la tabla de verdad del Registro Básico NAND es la siguiente:


tabla3.gif


Registro Básico con compuertas NOR
La conexión del Registro Básico NOR es exactamente igual al del Registro NAND, pero los cambios en sus salidas son completamente diferentes, A continuación se ilustran las dos tablas de verdad para hacer el comparativo entre una y otra.


Tabla de verdad del Registro Básico NOR


tabla4.gif

Tabla de verdad del Registro Básico NAND


tabla5.gif

Agregando pulsadores u otras compuertas en las entradas, los usos más comunes para el Registro Básico NAND o NOR son:

  • Eliminadores de ruido para pulsadores mecánicos.
  • Sistemas de Encendido (ON)/Apagado (OFF) con dos pulsadores para diversos circuitos digitales y/o análogos.
  • Sensores de movimiento mecánico, (Fin o Inicio de carrera de una puerta por ejemplo).
  • Control Digital de otros circuitos.
  • Y otras 373929273736 Aplicaciones dependiendo de tu IMAGINACIÓN.

Señales de Reloj (CLOCK) y FF controlados por Reloj
Hasta ahora hemos visto que un Registro Básico tiene dos variables de entrada y responde de manera predecible a ellas, pero ¿Qué podíamos hacer si necesitáramos otra variable de control? ¿Cómo podríamos hacer que el registro actúe cuando sea conveniente para nosotros, y no al momento de cambiar sus entradas?

Todos los sistemas digitales tienen básicamente dos formas de operación:

  • Operación en modo ASÍNCRONO.
    En este modo, las salidas cambian de manera automática siguiendo las órdenes de las entradas.
  • Operación en modo SÍNCRONO.
    En este modo, las salidas cambian siguiendo las ordenes de las entradas, pero sólo cuando una señal de control, llamada RELOJ (CLOCK, CLK, CP) es aplicada al registro.
Los circuitos digitales ASÍNCRONOS son muy complicados en lo que a diseño y reparación se refiere, ya que, al encontrarnos con una falla en un circuito de 10 registros interconectados, el rastreo de los cambios en todas las compuertas nos provocaría un severo dolor de cabeza.

Los circuitos digitales SÍNCRONOS son más fáciles de diseñar y reparar, debido a que los cambios de las salidas son eventos "esperados" (ya que fácilmente podemos saber el estado de cada una de las entradas o salidas sin que estas cambien repentinamente), y los cambios dependen del control de una sola señal aplicada a todos los registros, la señal de RELOJ.

La señal de reloj es una onda cuadrada o rectangular, los registros que funcionan con esta señal, sólo pueden cambiar cuando la señal de reloj hace una transición, También llamados "flancos", por lo tanto, la señal de reloj sólo puede hacer 2 transiciones (o Flancos):

  • La Transición con pendiente positiva (TPP) o Flanco positivo (FP).
    Es cuando la señal de reloj cambia del estado BAJO al estado ALTO.
  • La Transición con pendiente negativa (TPN) o Flanco Negativo (FN).
    Es cuando la señal de reloj cambia del estado ALTO al estado BAJO.
Principales características de los FF sincronizados por Reloj.

  • Todos los FF cuentan con una entrada con el rótulo (RELOJ, CLOCK, CLK, CP) y un distintivo círculo para saber como debe ser la señal activa. Los que no tienen círculo, son sincronizados por una TPP, los que cuentan con un círculo son sincronizados por una TPN.
  • Todos los FF cuentan con entradas de control, que determinan el cambio que van a tener las salidas, al igual que en los Registros básicos, pero estas entradas no pueden modificar las salidas arbitrariamente, sólo podrán hacerlo cuando el FF reciba su transición activa.
Resumiendo, Las entradas de control del FF nos permiten saber cómo van a cambiar las salidas, pero sólo la señal de Reloj podrá hacer efectivo este cambio.


Constantes de tiempo de Establecimiento y de Retención
La siguiente figura nos indica cómo están compuestos los dos detectores de Transiciones.

  • Detector de Transiciones Positivas (TPP)
imagen5.gif


  • Circuito Detector de Transiciones Negativas
imagen6.gif

Las figuras nos muestran del lado izquierdo de la línea verde el pin de entrada de Reloj del FF, el lado derecho nos muestra el circuito interno del FF.

La diferencia entre CK y CK se debe al retraso en la propagación que cualquier compuerta tiene, desde que se aplica una señal en la entrada, hasta que esta se refleja en al salida. Esta diferencia en tiempo, nos permite obtener un pulso de salida solamente cuando ocurre la transición para la que están diseñados, y por lo tanto accionar el FF.


Registro Básico NAND tipo Síncrono
Dejaremos de lado la conexión interna de los FF, ya que para nuestra comodidad, todos podemos encontrarlos en forma de circuitos integrados, así que nos ocuparemos solamente de su funcionamiento.

La siguiente figura nos muestra un Registro Básico Sincronizado por una señal de reloj. Es la forma más básica de un FF controlado por la señal de reloj. (La falta del círculo en la entrada de CLK significa que sólo será activa en los TPP) (Sólo se muestra la salida Normal (Q), ya que como dijimos, la salida negada siempre es inversa)


imagen7.gif


Flip Flop tipo "J-K"
Este FF es uno de los más usados en los circuitos digitales, y de hecho es parte fundamental de muchos circuitos avanzados como contadores y registros de corrimiento, que ya vienen integrados en un chip.

Este FF cuenta con dos entradas de datos J y K, su función es en principio la misma que el Registro básico NAND o NOR, pero con la diferencia que la condición en las entradas J = 1, K = 1, a diferencia del Registro NAND, que generaría una salida errónea o no deseada, en un FF J-K, obliga a las salidas a conmutar su estado al opuesto (Toggle) a cada pulso del reloj. Esto lo convierte en un tipo de FF muy versátil.

Tabla de verdad de un FF tipo J-K síncrono.


imagen8.gif

Observando la tabla de verdad observamos los cambios que provoca en sus salidas este FF:

  • Si J y K = 0, no hay cambios en las salidas.
  • Si J = 1, y K = 0, se forzan las salidas a Q = 1, /Q = 0
  • Si J = 0, y K = 1, se forzan las salidas a Q = 0, /Q = 1
  • Si J = 1, y K = 1, las salidas conmutan su estado hacia el siguiente a cada pulso del reloj (Toggle)

Flip Flop tipo "D" (Datos, Data)
A diferencia de los FF tipo J-K, el FF tipo "D" (Datos, Data) sólo cuneta con una entrada para hacer el cambio de las salidas. A cada pulso del reloj (dependiendo si el FF utiliza una TPP o una TPN) el estado presente en la entrada "D" será transferido a la salida Q y /Q.

Tabla de verdad de un FF tipo "D"

imagen9.gif

Una de las aplicaciones de mayor uso para este tipo de FF es al de la transferencia de datos de forma paralela, conectando varios FF tipo "D" a X número de bits, podemos hacer que la información de todos los bits pase inmediatamente a la salida de cada FF con sólo un pulso de reloj.


Entradas asíncronas en los FF.
Como ya hemos visto, cada FF tiene entradas que pueden cambiar el estado de las salidas de manera sincronizada con el pulso de reloj, pero ¿Dónde quedaron nuestras entradas asíncronas? ¿Es posible seguir usando estas entradas en FF síncronos?

La respuesta está en los FF síncronos de cualquier tipo que poseen entradas asíncronas, esto añade dos pines más de control a nuestros FF, los conocidos SET y RESET (Los cuáles pueden ser activos en el estado ALTO o BAJO). Entonces tenemos FF síncronos (Tipo "J - K", o tipo "D" ) con un par de entradas que no dependen en ningún momento del pulso de Reloj. Haciendo una combinación perfecta de entradas que controlan las salidas de manera automática (Asíncronas) o controladas por un pulso de reloj (Síncronas).

La siguiente figura nos muestra los símbolos de los FF Tipo "J - K" y "D" con sus entradas asíncronas.


imagen10.gif


Tabla de verdad del FF Tipo "J - K" con entradas Asíncronas
(Las "X" significan que no importa el estado actual de esa entrada).
(El FF tiene una entrada de Reloj que funciona con TPP)
(Las entradas asíncronas con activas ALTAS)


tabla6.gif

El funcionamiento básico sigue siendo el mismo, pero las salidas serán forzadas a ALTO o BAJO, si se activan las entradas Asíncronas correspondientes (SET, RESET) sin importar el estado de las entradas "J - K" o CLK.



Tabla de verdad del FF Tipo "D" con entradas Asíncronas
(Las "X" significan que no importa el estado actual de esa entrada).
(El FF tiene una entrada de Reloj que funciona con TPP)
(Las entradas asíncronas con activas ALTAS)


tabla7.gif

El funcionamiento básico sigue siendo el mismo, pero las salidas serán forzadas a ALTO o BAJO, si se activan las entradas Asíncronas correspondientes (SET, RESET) sin importar el estado de la entrada "D" o CLK.



Con esto termina este pequeño tutorial de Flip-Flops, espero que las dudas hayan encontrado una respuesta satisfactoria, y que la información aquí contenida sea de gran utilidad para el lector.
Autor
Apollo
Visitas
6,966
First release
Last update
Votar
5.00 estrella(s) 1 ratings
Atrás
Arriba