Lógica secuencial
Cuando un circuito digital recuerda. Los flip-flops guardan un bit, los contadores llevan la cuenta y los registros mueven datos. Sin esta parte no existirían las memorias, los relojes digitales ni los microcontroladores.
01Por qué hace falta memoria
Un circuito combinacional responde siempre igual a la misma entrada. Eso alcanza para decidir, pero no para contar, ni para secuenciar, ni para recordar que un botón se apretó hace un rato.
Pensemos en el pulsador del timbre de un aula: mientras se lo mantiene apretado suena, y al soltarlo deja de sonar. Eso es combinacional. Ahora pensemos en la llave de la luz: se la toca una vez y queda encendida. Eso es secuencial: el circuito guardó un estado.
Un circuito es secuencial cuando su salida depende de las entradas actuales y del estado interno, que es consecuencia de la historia previa. Se consigue con una sola cosa: realimentación, es decir, llevar una salida de vuelta a una entrada.
El latch RS: el primer circuito con memoria
Dos NOR cruzadas alcanzan. La salida de cada una entra en la otra, y ese lazo es capaz de sostenerse solo.
| S | R | Q siguiente | Qué pasa |
|---|---|---|---|
| 0 | 0 | Q anterior | Memoria. El latch mantiene lo que tenía. |
| 0 | 1 | 0 | Reset. Se borra: Q pasa a 0. |
| 1 | 0 | 1 | Set. Se graba: Q pasa a 1. |
| 1 | 1 | — | Prohibido. Q y Q̅ valen las dos 0: se rompe la coherencia y al soltar queda un estado impredecible. |
S = R = 1 no destruye el circuito, pero sí la lógica: Q deja de ser el complemento de Q̅ y, al volver las dos entradas a 0, el latch cae en 0 o en 1 según cuál compuerta reaccione primero. Es una condición de carrera. Todos los flip-flops que se ven después están diseñados justamente para que esa situación no exista.
02El reloj y el disparo por flanco
El latch RS reacciona en el momento en que cambia una entrada. En un sistema con muchos bloques eso es un desastre: cada uno cambia cuando quiere y aparecen resultados intermedios falsos. La solución es que todos actúen al mismo tiempo, marcados por una señal común: el reloj (clock, CLK).
- Disparo por nivel — el flip-flop es transparente todo el tiempo que el reloj esté en alto. Se lo llama latch. Problema: si la entrada cambia durante ese lapso, la salida también.
- Disparo por flanco — el flip-flop mira la entrada sólo en el instante del flanco (de subida ↑ o de bajada ↓). Todo lo que pase entre flancos se ignora. Es lo que se usa en la práctica.
En los símbolos, el disparo por flanco se marca con un triangulito en la entrada de reloj. Si además tiene un circulito antes del triángulo, el disparo es por flanco de bajada.
03Los cuatro flip-flops
Flip-flop D (Data / Delay)
Es el más usado y el más simple de entender: en el flanco de reloj, Q toma el valor de D. Entre flancos, no pasa nada. Un flip-flop D es literalmente «una celda que guarda un bit».
Flip-flop JK
Resuelve el problema del RS: la combinación J = K = 1, en vez de estar prohibida, hace que la salida cambie de estado (conmuta o toggle). Es el flip-flop más versátil.
| J | K | Q siguiente | Función |
|---|---|---|---|
| 0 | 0 | Qn | Mantiene |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | Q̅n | Conmuta en cada flanco |
Flip-flop T (Toggle)
Es un JK con las dos entradas unidas. Si T = 1 conmuta en cada flanco; si T = 0 mantiene. Sirve para dividir la frecuencia por dos, que es la base de todos los contadores.
Flip-flop RS sincrónico
Es el latch RS con una compuerta que sólo lo habilita en el flanco de reloj. Conserva el estado prohibido S = R = 1, así que en la práctica se lo reemplazó por el JK y el D.
| Tipo | Entradas | Qué hace en el flanco | Uso típico | Integrado |
|---|---|---|---|---|
| D | D | Q = D | Registros, memoria, sincronizar señales | 74LS74 / CD4013 |
| JK | J, K | Set / Reset / mantener / conmutar | Contadores, máquinas de estado | 74LS76 / CD4027 |
| T | T | Conmuta si T = 1 | Divisor de frecuencia | JK con J=K |
| RS | S, R | Set / Reset (1,1 prohibido) | Antirrebote, enclavamientos | Con 74LS00 |
Entradas asincrónicas: PRESET y CLEAR
Casi todos los flip-flops comerciales traen dos entradas más, generalmente activas en bajo (se dibujan con circulito y se escriben con barra): PR (preset, fuerza Q = 1) y CLR (clear, fuerza Q = 0). Son asincrónicas: actúan de inmediato, sin esperar al reloj.
Si un flip-flop «no hace nada», lo primero que hay que revisar es si PR y CLR están al aire. Como son activas en bajo, deben conectarse a +VCC para quedar inactivas. Al aire, el circuito se queda trabado en un estado.
04Contadores
Un contador es una cadena de flip-flops que avanza un paso en cada pulso de reloj. Con flip-flops se cuenta hasta estados: 4 flip-flops → 16 estados (0 a 15).
Contador asincrónico (ripple)
El reloj entra sólo al primer flip-flop; la salida de cada uno es el reloj del siguiente. Como cada flip-flop T divide por dos, la cadena entrega 2, 4, 8, 16… y el conjunto cuenta en binario.
Ese retardo acumulado produce estados espurios: al pasar de 0111 a 1000, durante unos nanosegundos el contador muestra 0110, 0100, 0000 y recién después 1000. Si otro circuito está mirando esa salida, puede leer un valor que nunca existió realmente. Es la razón por la que el contador asincrónico no se usa a frecuencias altas ni para decodificar estados.
Contador sincrónico
Todos los flip-flops reciben el mismo reloj a la vez. Lo que se calcula con compuertas es cuándo cada uno debe conmutar: el bit de peso 2 conmuta cuando el de peso 1 vale 1; el de peso 4 conmuta cuando los dos anteriores valen 1, y así.
Todas las salidas cambian simultáneamente, no hay estados espurios y la velocidad máxima la fija un solo retardo, no la suma. Es lo que hay dentro del 74LS163 o del CD4520.
Contadores de módulo distinto de 2n
Para contar de 0 a 9 (contador décadal, módulo 10) se usa un contador de 4 bits y se detecta el estado 1010 (=10) con una compuerta AND que ataca el CLEAR asincrónico, forzando el regreso a 0000. Es el truco estándar y también el origen de un problema: durante unos nanosegundos el contador «pasa» por el 10 antes de borrarse, lo que produce un destello espurio en el display.
| Contador | Módulo | Tipo | Observación |
|---|---|---|---|
| 74LS90 | 10 | Asincrónico | Décadal clásico, muy usado en frecuencímetros. |
| 74LS93 | 16 | Asincrónico | Binario de 4 bits. |
| 74LS163 | 16 | Sincrónico | Con carga paralela y clear sincrónico. |
| 74LS192 | 10 | Sincrónico | Cuenta arriba y abajo (up/down). |
| CD4017 | 10 | Johnson | 10 salidas decodificadas: una activa por vez. Ideal para secuencias de luces. |
| CD4040 | 4096 | Asincrónico | 12 etapas. Divisor de frecuencia. |
05Registros de desplazamiento
Un registro es una fila de flip-flops D con el mismo reloj. Si se conecta la salida de cada uno a la entrada del siguiente, en cada flanco el contenido se corre un lugar. Eso es un registro de desplazamiento (shift register).
Entra un bit por vez y, después de pulsos, los bits quedan disponibles a la vez. Es cómo se recibe un dato por un solo cable. Integrado: 74LS164 o CD4015.
Se cargan bits de golpe y salen de a uno por un solo cable. Es cómo se transmite. Integrado: 74LS165.
Estos dos bloques son la base de toda comunicación serie: el USART de un microcontrolador, el bus SPI de un sensor, un cable USB. Se cambian muchos cables por uno solo a costa de tiempo.
El integrado 74HC595 es un registro de desplazamiento serie-paralelo con salidas registradas. Con tres cables de un microcontrolador se manejan 8 salidas, y encadenando varios, 32 o 64. Es la solución estándar para carteles de LEDs y es tema directo de 6° y 7° año.
06Un problema real: el rebote de los pulsadores
Cuando se aprieta un pulsador mecánico, los contactos no cierran limpio: rebotan durante 5 a 20 ms generando decenas de pulsos. Un circuito combinacional no se entera, pero un contador cuenta todos esos rebotes y en vez de sumar 1 suma 12.
Tres soluciones, de menos a más prolija:
- Filtro RC + Schmitt trigger — una R de 10 kΩ y un C de 100 nF ante un 74LS14 (inversor con histéresis). Barato y muy efectivo.
- Latch RS con NAND y un pulsador de dos posiciones: apenas el contacto toca el primer terminal, el latch cambia de estado y ya no le importa lo que pase después.
- Por software, en un microcontrolador: se lee, se espera 20 ms y se vuelve a leer. Se ve en 6° año.
07En el laboratorio
Con un 74LS00, cruzar dos NAND. Las entradas (activas en bajo, S̅ y R̅) se llevan a masa con pulsadores y a VCC con resistencias de 1 kΩ. Dos LEDs en Q y Q̅. Verificar que las salidas siempre están opuestas y que la memoria se mantiene al soltar los pulsadores.
Con un 74LS76 (dos JK) conectados con J = K = 1 en cascada, y un 555 en astable a 1 Hz como reloj. Un LED en cada salida. Se ve directamente: el primer LED titila a 0,5 Hz, el segundo a 0,25 Hz. Medir con el osciloscopio y verificar la relación de frecuencias.
555 en astable → 74LS90 (contador de 0 a 9) → 74LS47 → display de 7 segmentos de ánodo común con siete resistencias de 330 Ω. Es el proyecto integrador clásico de la unidad, porque usa lo combinacional (el decodificador) y lo secuencial (el contador) juntos. Sumar un pulsador con antirrebote para contar a mano.
08Errores frecuentes
| Síntoma | Causa habitual |
|---|---|
| El flip-flop no responde al reloj | PRESET o CLEAR al aire o en bajo. Deben ir a VCC para quedar inactivas. |
| El contador salta números | Rebote del pulsador usado como reloj. Falta antirrebote. |
| El contador cuenta al revés | Se tomó Q̅ en lugar de Q para encadenar, o el flip-flop dispara por el flanco contrario al esperado. |
| El display muestra un destello raro al reciclar | Estado espurio del contador asincrónico con CLEAR por AND. Se corrige con un contador sincrónico o con un latch de salida. |
| Todo funciona pero errático a alta frecuencia | Retardo acumulado del contador ripple, o falta de capacitores de desacople. |
| La cuenta arranca en un número al azar | Los flip-flops encienden en estado indefinido. Hay que hacer un CLEAR al energizar (RC a la entrada de reset). |
09Autoevaluación
¿Cuál es la diferencia esencial entre un circuito combinacional y uno secuencial?
El secuencial tiene memoria: su salida depende de las entradas actuales y del estado interno. Físicamente, eso se logra con realimentación de una salida hacia una entrada.
¿Por qué se dice que S = R = 1 es un estado prohibido en el latch RS?
Porque Q y Q̅ dejan de ser complementarias (ambas valen 0 con NOR) y, sobre todo, porque al volver las entradas a 0 el latch queda en 0 o en 1 según cuál compuerta responda primero: el resultado es impredecible.
Un flip-flop T con T = 1 recibe una señal de 8 kHz. ¿Qué frecuencia sale por Q?
4 kHz. Conmuta en cada flanco activo, así que le hacen falta dos pulsos de entrada para completar un ciclo de salida: divide por dos.
¿Cuántos flip-flops hacen falta para contar hasta 100?
Hay que cubrir 101 estados (0 a 100). Con 6 flip-flops se llega a 64, insuficiente; con 7 se llega a 128, alcanza. La regla es el menor n tal que 2n ≥ cantidad de estados.
Ventaja concreta del contador sincrónico sobre el asincrónico.
Todas las salidas cambian a la vez, así que no hay estados espurios y la frecuencia máxima no cae al agregar etapas (el retardo no se acumula). A cambio, necesita más compuertas.
¿Cómo se convierte un flip-flop JK en uno T? ¿Y en uno D?
En T: uniendo J con K (esa unión es la entrada T). En D: conectando J = D y K = D̅, es decir, poniendo un inversor entre las dos entradas.
¿Para qué sirve un registro de desplazamiento serie a paralelo?
Para recibir un dato que llega bit por bit por un solo cable y presentarlo completo, en paralelo, cuando terminó de entrar. Es lo que hace la parte receptora de cualquier comunicación serie (USART, SPI).
Un contador de 4 bits tiene que reciclar en 12. ¿Qué estado hay que detectar y qué se hace con él?
Se detecta el estado 1100 (=12) con una AND sobre Q3 y Q2, y esa salida ataca el CLEAR asincrónico para volver a 0000. Así el contador recorre 0 a 11, que son 12 estados.