Está en la página 1de 10

Un biestable, también llamado báscula (flip-flop en inglés), es un multivibrador capaz

de permanecer en un estado determinado o en el contrario durante un tiempo indefinido.


Esta característica es ampliamente utilizada en electrónica digital para memorizar
información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo
del tipo de dichas entradas los biestables se dividen en:

• Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.


• Síncronos: además de las entradas de control posee una entrada de sincronismo
o de reloj. Si las entradas de control dependen de la de sincronismo se
denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas
de control asíncronas prevalecen sobre las síncronas.

La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de
subida o de bajada). Dentro de los biestables síncronos activados por nivel están los
tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

Los biestables se crearon para eliminar las deficiencias de los latches.

Contenido
[ocultar]

• 1 Biestable RS
o 1.1 Biestable RS (Set Reset) asíncrono
o 1.2 Biestable RS (Set Reset) síncrono
• 2 Biestable D (Delay)
• 3 Biestable T (Toggle)
• 4 Biestable JK (Jump Keep)
o 4.1 Biestable JK activo por flanco
o 4.2 Biestable JK Maestro-Esclavo
• 5 Ejemplo con componentes discretos
• 6 Aplicación
• 7 Secuenciación y metaestabilidad

• 8 Véase también

[editar] Biestable RS
Descripción
Cronograma del biestable RS.

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas


principales, R y S, a las que debe el nombre, permiten al ser activadas:

• R: el borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.


• S: el grabado (set en inglés), puesta a 1 ó nivel alto de la salida

Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía


tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas
entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden
con el mismo valor: a bajo, si la báscula está construida con puertas NO-O (NOR), o a
alto, si con puertas NO-Y (NAND). El problema de que ambas salidas queden al mismo
estado está en que al desactivar ambas entradas no se podrá determinar el estado en el
que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas
se contempla como caso no deseado (N. D.).

[editar] Biestable RS (Set Reset) asíncrono

Sólo posee las entradas R y S. Se compone internamente de dos puertas lógicas NO-Y
(NAND) o NO-O (NOR), según se muestra en la siguiente figura:

Biestables RS con puertas NO-O, a), NO-Y, c), y símbolos normalizados respectivos b)
y d).
Su tabla de verdad es la siguiente (Q representa el estado actual de la salida y q el
estado anterior a la última activación):

Tabla de verdad biestable RS


R S Q (NO-O) Q' (NO-Y)
0 0 q N. D.
0 1 1 0
1 0 0 1
1 1 N. D. q
N. D.= Estado no determinado

[editar] Biestable RS (Set Reset) síncrono

Circuito Biestable RS síncrono a) y esquema normalizado b).

Además de las entradas R y S, posee una entrada C de sincronismo cuya misión es la de


permitir o no el cambio de estado del biestable. En la siguiente figura se muestra un
ejemplo de un biestable síncrono a partir de una asíncrona, junto con su esquema
normalizado:

Su tabla de verdad es la siguiente:

Tabla de verdad biestable RS


C R S Q (NO-O)
0 X X q
1 0 0 q
1 0 1 1
1 1 0 0
1 1 1 N. D.
X=no importa

[editar] Biestable D (Delay)

Símbolos normalizados: Biestables D a) activo por nivel alto y b) activo por flanco de
subida.

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida


adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En
función del modo de activación de dicha entrada de sincronismo, existen dos tipos de
biestables D:

• Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en
inglés).
• Activo por flanco (de subida o de bajada).

La ecuación característica del biestable D que describe su comportamiento es:

y su tabla de verdad:

D Q Qsiguiente
0 X 0
1 X 1
X=no importa

Esta báscula puede verse como una primitiva línea de retardo o una retención de orden
cero (zero order hold en inglés), ya que los datos que se introducen, se obtienen en la
salida un ciclo de reloj después. Esta característica es aprovechada para sintetizar
funciones de procesamiento digital de señales (DSP en inglés) mediante la transformada
en z.

[editar] Biestable T (Toggle)


Símbolo normalizado: Biestable T activo por flanco de subida.

Dispositivo de almacenamiento temporal de dos estados (alto y bajo). El biestable T


cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj
se dispara. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo. Puede
obtenerse al unir las entradas de control de un biestable JK, unión que se corresponde a
la entrada T.

La ecuación característica del biestable T que describe su comportamiento es:

y la tabla de verdad:

T Q Qsiguiente
0 0 0
0 1 1
1 0 1
1 1 0

[editar] Biestable JK (Jump Keep)


Descripción

Cronograma de la báscula JK.

Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas


principales, J y K, a las que debe el nombre, permiten al ser activadas:

• J: El grabado (set en inglés), puesta a 1 ó nivel alto de la salida.


• K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía
tras la última operación de borrado o grabado. A diferencia del biestable RS, en el caso
de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.

La ecuación característica del biestable JK que describe su comportamiento es:

Y su tabla de verdad es:

J K Q Qsiguiente
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 0 1
1 1 1 0
X=no importa

Una forma más compacta de la tabla de verdad es (Q representa el estado siguiente de la


salida en el próximo flanco de reloj y q el estado actual):

J K Q
0 0 q
0 1 0
1 0 1
1 1

El biestable se denomina así por Jack Kilby, el inventor de los circuitos integrados en
1958, por lo cual se le concedió el Premio Nobel en física de 2000.

[editar] Biestable JK activo por flanco


Símbolos normalizados: Biestables JK activo a) por flanco de subida y b) por flanco de
bajada

Junto con las entradas J y K existe una entrada C de sincronismo o de reloj cuya misión
es la de permitir el cambio de estado del biestable cuando se produce un flanco de
subida o de bajada, según sea su diseño. Su denominación en inglés es J-K Flip-Flop
Edge-Triggered. De acuerdo con la tabla de verdad, cuando las entradas J y K están a
nivel lógico 1, a cada flanco activo en la entrada de reloj, la salida del biestable cambia
de estado. A este modo de funcionamiento se le denomina modo de basculación (toggle
en inglés).

[editar] Biestable JK Maestro-Esclavo

Símbolos normalizados: Biestable JK Maestro-Esclavo a) activo por nivel alto y b)


activo por nivel bajo

Aunque aún puede encontrarse en algunos equipos, este tipo de biestable, denominado
en inglés J-K Flip-Flop Master-Slave, ha quedado obsoleto ya que ha sido reemplazado
por el tipo anterior.

Su funcionamiento es similar al JK activo por flanco: en el nivel alto (o bajo) se toman


los valores de las entradas J y K y en el flanco de bajada (o de subida) se refleja en la
salida.
Otra forma de expresar la tabla de verdad del biestable JK es mediante la denominada
tabla de excitación:

q Q J K

0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

Siendo q el estado presente y Q el estado siguiente.

La ecuación característica del flip flop jk es : Q(t+1)=JQ´+K´Q la cual se obtiene de la


tabla característica del flip flop.

[editar] Ejemplo con componentes discretos

Figura 1.- Circuito multivibrador biestable

Aunque, en general, los biestables utilizados en la práctica están implementados en


forma de circuitos integrados, en la Figura 1 se representa el esquema de un sencillo
circuito multivibrador biestable, realizado con componentes discretos, cuyo
funcionamiento es el siguiente:

Al aplicar la tensión de alimentación (Vcc), los dos transistores iniciaran la conducción,


ya que sus bases reciben un potencial positivo, TR-1 a través del divisor formado por R-
3, R-4 y R-5 y TR-2 a través del formado por R-1, R-2 y R-6, pero como los transistores
no serán exactamente idénticos, por el propio proceso de fabricación y el grado de
impurezas del material semiconductor, uno conducirá antes o más rápido que el otro.

Supongamos que es TR-1 el que conduce primero. El voltaje en su colector disminuirá,


debido a la mayor caída de tensión en R-1, por lo que la tensión aplicada a la base de
TR-2 a través del divisor formado por R-2, R-5, disminuirá haciendo que este conduzca
menos. Esta disminución de conducción de TR-2 hace que suba su tensión de colector y
por tanto la de base de TR-1, este proceso llevará finalmente al bloqueo de TR-2 (salida
Y a nivel alto).

Pero si ahora aplicamos un impulso de disparo de nivel alto por la entrada T, a través de
los condensadores C-1 y C-2 pasará a las bases de ambos transistores. En el caso de TR-
1 no tendrá más efecto que aumentar su tensión positiva, por lo que este seguirá
conduciendo. En la base de TR-2 el impulso hará que este transistor conduzca,
realizándose un proceso similar al descrito al principio, cuando el que conducía primero
era TR-1, que terminará bloqueando a este y dejando en conducción a TR-2 (salida Y a
nivel bajo).

La secuencia descrita se repetirá cada vez que se aplique un impulso en T. La salida


cambia de estado con el impulso de disparo y permanece en dicho estado hasta la
llegada del siguiente impulso, momento en que volverá a cambiar.

La caída de tensión en la resistencia común de emisores (R-7) elimina la indecisión del


circuito y aumenta la velocidad de conmutación.

[editar] Aplicación
Un biestable puede usarse para almacenar un bit. La información contenida en muchos
biestables puede representar el estado de un secuenciador, el valor de un contador, un
carácter ASCII en la memoria de un ordenador, o cualquier otra clase de información.

Un uso corriente es el diseño de máquinas de estado finitas electrónicas. Los biestables


almacenan el estado previo de la máquina que se usa para calcular el siguiente.

El T es útil para contar. Una señal repetitiva en la entrada de reloj hace que el biestable
cambie de estado por cada transición alto-bajo si su entrada T está a nivel 1. La salida
de un biestable puede conectarse a la entrada de reloj de la siguiente y así
sucesivamente. La salida final del conjunto considerado como una cadena de salidas de
todos los biestables es el conteo en código binario del número de ciclos en la primera
entrada de reloj hasta un máximo de 2n-1, donde n es el número de biestables usados.

Uno de los problemas con esta configuración de contador (ripple counter en inglés) es
que la salida es momentáneamente inválida mientras los cambios se propagan por la
cadena justo después de un flanco de reloj. Hay dos soluciones a este problema. La
primera es muestrear la salida sólo cuando se sabe que esta es válida. La segunda, más
compleja y ampliamente usada, es utilizar un tipo diferente de contador síncrono, que
tiene una lógica más compleja para asegurar que todas las Terán salidas cambian en el
mismo momento predeterminado, aunque el precio a pagar es la Martino reducción de
la frecuencia máxima a la que puede funcionar.

Una cadena de biestables T como la descrita anteriormente también sirve para la


división de la frecuencia de entrada entre 2n, donde n es el número de biestables entre la
entrada y la última salida.
[editar] Secuenciación y metaestabilidad
Los biestables síncronos son propensos a sufrir un problema denominado
metaestabilidad, que ocurre cuando una entrada de datos o de control está cambiando en
el momento en el que llega un flanco de reloj. El resultado es que la salida puede
comportarse de forma imprevista, tardando muchas veces más de lo normal en
estabilizarse al estado correcto, o incluso podría oscilar repetidas veces hasta terminar
en su estado estable. En un ordenador esto puede suponer la corrupción de datos o
causar un fallo de programa.

En muchos casos, la metaestabilidad en los biestables se puede evitar asegurándose de


que los datos y las entradas de control se mantienen constantes durante un periodo de
tiempo especificado antes y después del flanco de reloj, denominados setup time (tsu) y
hold time (th) respectivamente. Esos tiempos están establecidos en la hoja de datos del
dispositivo en cuestión, y son típicamente entre unos pocos nanosegundos y unos pocos
cientos de picosegundos para dispositivos modernos.

Desafortunadamente, no siempre es posible cumplir estos requisitos, porque los


biestables pueden estar conectados a entradas en tiempo real que son asíncronas, y
pueden cambiar en cualquier momento fuera del control del diseñador. En este caso, lo
único que puede hacerse es reducir la probabilidad de error a un determinado nivel,
dependiendo de la fiabilidad que se desee del circuito. Una técnica para reducir la
incidencia es conectar dos o más biestables en cadena, de forma que la salida de una se
conecta a la entrada de la siguiente, y con todos los dispositivos compartiendo la misma
señal de reloj. De esta forma la probabilidad de un suceso metaestable puede reducirse
considerablemente, pero nunca podrá eliminarse por completo.

Existen biestables robustos frente a la metaestabilidad, que funcionan reduciendo los


tiempos de setup y hold en todo lo posible, pero incluso estos no pueden eliminar por
completo el problema. Esto es debido a que la metaestabilidad es mucho más que un
problema de diseño. Cuando el flanco de reloj y la entrada de datos están
suficientemente juntos, el biestable tiene que elegir el evento que ocurrió antes. Y por
más rápido que se haga el dispositivo, siempre existe la posibilidad de que sucedan lo
suficientemente juntos como para que no se pueda detectar cual es el que ocurrió
primero. Así pues, es lógicamente imposible el construir un biestable a prueba de
metaestabilidad.

Otro parámetro temporal importante de un biestable es el retardo reloj-a-salida (clock-


to-output tCO) o retardo de propagación (propagation delay tP), que es el tiempo que el
biestable tarda en cambiar su salida tras un flanco de reloj. El tiempo para una
transición alto-a-bajo (tPHL) es a veces diferente del de las transiciones de bajo-a-alto
(tPLH).

Cuando se conectan biestables en cadena, es importante asegurar que el tCO del primero
es mayor que el hold time (tH) del siguiente, ya que en caso contrario, el segundo
biestable no recibirá los datos de forma fiable. La relación entre tCO y tH está garantizada
normalmente si ambos biestables son del mismo tipo.