Biestable

En electrónica, biestable, flip-flop o latch es un circuito multivibrador, que tiene dos estados estables y puede almacenar energía.

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 síncronos activos por flanco (flip-flop) se crearon para eliminar las deficiencias de los latches (biestables asíncronos o sincronizados por nivel).

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 el flip-flop está construido con puertas NOR, o alto, si está construido con puertas NAND.

El flip-flop D resulta muy útil cuando se necesita almacenar un único bit de datos (1 o 0).

Recuerde que Q sigue a D en cada flanco del pulso de reloj.

Este dispositivo de almacenamiento es temporal que se encuentra dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas: 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.

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.

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 iniciarán 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.

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

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 salidas cambian en el mismo momento predeterminado, aunque el precio a pagar es la reducción de la frecuencia máxima a la que puede funcionar.

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.

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.

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.

Así pues, es lógicamente imposible el construir un biestable a prueba de metaestabilidad.

La relación entre tCO y tH está garantizada normalmente si ambos biestables son del mismo tipo.

R1, R2 = 1 kΩ
R3, R4 = 10 kΩ
Cronograma del biestable RS.
Biestables RS con puertas NOR (a), NAND (c) y sus símbolos normalizados respectivos (b) y (d).
Biestables RS con puertas NOR (a), NAND (c) y sus símbolos normalizados respectivos (b) y (d).
Figura 1.- Circuito multivibrador biestable
Figura 1.- Circuito multivibrador biestable