Foros de Electrónica

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")


Flip Flop

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

Flip Flop

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


Tabla 1

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


Flip Flop

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.


Flip Flop

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):


Tabla 2

Siguiendo los datos de la tabla podemos resumir que:

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:


Tabla 3 - Registro Básico NAND


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


Tabla 4 - Registro Básico con compuertas NOR

Tabla de verdad del Registro Básico NAND


Tabla 5 - Tabla de verdad del Registro Básico NAND

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


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:

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):

Principales características de los FF sincronizados por Reloj.

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


Detector de Transiciones Negativas

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)


Registro Básico NAND tipo Síncrono


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.


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

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


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"

Tabla de verdad de un FF tipo D

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.


símbolos de los FF


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)


Tabla 6

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)


Tabla 7

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


Secciones:
Tutoriales y Manuales | Proyectos Prácticos | Witronica | Reparación - electrodomesticos | Reparación - audio | Reparación - TV y video | Manuales y Diagramas de Servicio | Cuestiones Elementales de Electrónica | Fuentes de alimentación | Circuitos de radio | Diseño de circuitos| Preamplificadores, Ecualizadores | Amplificadores | Parlantes | Audio - discusión general | Microcontroladores y sistemas embebidos | Circuitos lógicos combinacionales y secuenciales | Interfaces y Programación | Dudas en general | PC Hardware
Software Electrónico | Autotrónica | Robótica, Domótica y Mecatrónica | Automatizacion, Electrónica industrial y de Potencia | Telematica y comunicaciones | Tecnologias móviles | Documentacion, circuitos y esquemas | Sala de Charla | Actualidad tecnológica
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Acerca de || Política de privacidad