01 · Punto de partida
Contar con flip-flops
Ya sabés dos cosas que alcanzan para armar un contador. Primero, que un flip-flop con D conectada a ~Q conmuta en cada flanco y divide la frecuencia por dos (temas 9 y 12). Segundo, que un registro de n flip-flops puede representar 2n valores. Falta unir las dos ideas: si la salida de una etapa se usa como reloj de la siguiente, cada etapa cambia a la mitad de la velocidad de la anterior, y el conjunto recorre los números en binario.
En el taller del tema 12 armaste uno de dos bits. Este tema lo generaliza a n bits, estudia lo que ocurre en los instantes entre un estado y el siguiente y muestra cuándo conviene y cuándo no usar este tipo de contador. Se llama asíncrono porque sus flip-flops no comparten el mismo reloj: cada uno recibe como reloj la salida del anterior.
| Uso | Qué se lee | Ejemplo |
|---|---|---|
| Contar eventos | El valor de las salidas Q | Piezas que pasan por un sensor |
| Dividir frecuencia | Una sola salida Qk | De 32 768 Hz a 1 Hz para un reloj |
| Temporizar | El instante en que un bit sube | Retardo de 4 ms tras un pulso |
| Generar direcciones | Todo el valor, estable | Recorrer una memoria (tema 35) |
02 · Estructura
La cadena ripple
Cada etapa es un flip-flop que conmuta (T = 1, o D = ~Q). El reloj externo entra a la primera; la salida Q de cada etapa va al reloj de la siguiente. Para que la secuencia sea ascendente, los flip-flops deben conmutar en el flanco descendente: así la etapa i+1 cambia justo cuando Qi pasa de 1 a 0, que es el momento del «acarreo» de la suma binaria.
Qué cuenta y a qué frecuencia
Cada etapa divide por dos la frecuencia de la anterior. Con un reloj de frecuencia f, la salida Qk tiene frecuencia f / 2k+1 y ciclo de trabajo 50 %. El contador de n etapas recorre 2n estados antes de repetirse (módulo 2n):
| Pulso | Q2 | Q1 | Q0 | Valor | Qué conmutó |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | — |
| 1 | 0 | 0 | 1 | 1 | Q0 (sube) |
| 2 | 0 | 1 | 0 | 2 | Q0 baja y arrastra a Q1 |
| 3 | 0 | 1 | 1 | 3 | Q0 |
| 4 | 1 | 0 | 0 | 4 | Q0 baja, Q1 baja y arrastra a Q2 |
| 5 | 1 | 0 | 1 | 5 | Q0 |
| 6 | 1 | 1 | 0 | 6 | Q0 baja y arrastra a Q1 |
| 7 | 1 | 1 | 1 | 7 | Q0 |
| 8 | 0 | 0 | 0 | 0 | Todo baja: vuelve a empezar |
Con f = 1 MHz: Q0 = 500 kHz, Q1 = 250 kHz, Q2 = 125 kHz. La última etapa nos da el reloj dividido por 2n. Esa es la propiedad que usan los divisores de frecuencia.
03 · Sentido
Contar hacia arriba y hacia abajo
Dos decisiones de cableado fijan el sentido: en qué flanco conmutan los flip-flops y qué salida se usa como reloj de la etapa siguiente (Q o ~Q). Hay cuatro combinaciones, y solo se trata de recordar que la etapa siguiente debe moverse cuando la anterior produce el acarreo (ascendente) o el préstamo (descendente).
| Flip-flops activos en | Reloj de la etapa siguiente | Sentido | Dónde se vio |
|---|---|---|---|
| Flanco descendente | Q de la anterior | Ascendente | 74HC393, 4040, 4060 |
| Flanco descendente | ~Q de la anterior | Descendente | Variante de los anteriores |
| Flanco ascendente | ~Q de la anterior | Ascendente | 74HC74, taller del tema 12 |
| Flanco ascendente | Q de la anterior | Descendente | El «cableado equivocado» del tema 12 |
Las dos primeras filas y las dos últimas son pares equivalentes: invertir la señal de reloj o cambiar de flanco da el mismo resultado. En un contador descendente la cuenta pasa de 0 a su valor máximo (en 3 bits, de 000 a 111) y después baja uno a uno. Es útil como «cuenta regresiva»: se carga un valor y se espera a que llegue a 0.
04 · El precio del ripple
Retardo acumulado y estados falsos
El defecto del ripple es que las etapas cambian una detrás de otra. Cada flip-flop tarda su tiempo de propagación tpd en responder a su reloj, y recién entonces dispara a la siguiente. El efecto se acumula: en el peor caso, cuando el acarreo recorre toda la cadena, el contador necesita n · tpd para asentarse.
Veamos el caso clásico, el paso de 7 a 8 (0111 → 1000) en un contador de 4 bits, con tpd = 12 ns. Todos los bits tienen que cambiar, y lo hacen en orden:
| Tiempo | Q3 Q2 Q1 Q0 | Valor | Comentario |
|---|---|---|---|
| Antes | 0 1 1 1 | 7 | Estado previo |
| +12 ns | 0 1 1 0 | 6 | Q0 bajó: estado falso |
| +24 ns | 0 1 0 0 | 4 | Q1 bajó: estado falso |
| +36 ns | 0 0 0 0 | 0 | Q2 bajó: estado falso |
| +48 ns | 1 0 0 0 | 8 | Q3 subió: estado correcto |
Durante 48 ns, las salidas muestran tres valores que nunca fueron contados. Si algo mira el contador en ese intervalo, lee 6, 4 o 0 en lugar de 8. En un reloj de 1 MHz (período 1 µs) es irrelevante; a 10 MHz (100 ns) ya pesa.
Con tpd = 12 ns y 15 ns de margen para quien lee, 4 etapas admiten alrededor de 16 MHz de lectura confiable, 8 etapas unos 9 MHz, y 16 etapas unos 5 MHz. Cuantas más etapas, más lento: ésa es la limitación estructural del ripple.
05 · Módulo N
Módulo N con clear asíncrono
¿Y si se quiere contar solo de 0 a 9, o de 0 a 5? El truco clásico usa el clear asíncrono de los flip-flops (tema 10): se detecta con una compuerta el primer valor que no debería existir y se lo usa para borrar el contador. Para módulo 10, el contador sube hasta 1010 (Q3 = 1 y Q1 = 1) y esa condición dispara el clear:
| Pulso | Q3 Q2 Q1 Q0 | Valor visible | Comentario |
|---|---|---|---|
| 8 | 1 0 0 0 | 8 | Estable |
| 9 | 1 0 0 1 | 9 | Estable: es el último valor legítimo |
| 10 | 1 0 1 0 → 0 0 0 0 | 0 | Aparece 1010 durante unos 23 ns y el clear lo borra |
| 11 | 0 0 0 1 | 1 | La cuenta recomienza |
Funciona, pero con costos que conviene entender:
- El estado «prohibido» existe, brevemente. El 10 aparece en las salidas durante tNAND + tclear (por ejemplo 8 + 15 = 23 ns). Q1 y Q3 muestran un pulso falso de ese ancho: no se puede conectar a ellos algo sensible a pulsos cortos (otro contador, un disparo).
- El borrado es una carrera. Si los flip-flops no se borran todos con la misma rapidez, uno se resetea antes, la condición de detección desaparece y los demás quedan sin borrar. Por eso a veces se añade un latch SR que mantiene el clear hasta completarlo.
- El módulo no es una potencia de dos: la salida más alta ya no tiene ciclo de trabajo del 50 %. En módulo 10, Q3 está en alto 2 de cada 10 pulsos.
- Sentido único. Esta técnica sirve para contadores ascendentes; el módulo de uno descendente se resuelve cargando un valor.
En los temas 18 y 19 vamos a hacer lo mismo con contadores síncronos, donde todos los bits cambian a la vez y el módulo N se consigue sin estados falsos. Mientras tanto, esta técnica es útil cuando solo se necesita una salida de frecuencia (el borrado es rápido y a nadie le importa el pulso falso).
06 · Aplicaciones
División de frecuencia y temporización
La aplicación estrella del contador ripple es obtener frecuencias bajas a partir de una alta, de forma exacta y sin ajustes. Si la entrada es un cristal, la salida hereda su precisión.
| Etapas | División | Frecuencia | Período |
|---|---|---|---|
| 1 | ÷ 2 | 500 kHz | 2 µs |
| 4 | ÷ 16 | 62,5 kHz | 16 µs |
| 8 | ÷ 256 | 3,906 kHz | 256 µs |
| 12 | ÷ 4096 | 244,14 Hz | 4,096 ms |
| 16 | ÷ 65 536 | 15,26 Hz | 65,536 ms |
| 20 | ÷ 1 048 576 | 0,954 Hz | ≈ 1,05 s |
El cristal de reloj: 32 768 Hz a 1 Hz
Los cristales de los relojes de pulsera oscilan a 32 768 Hz = 215. No es casualidad: quince etapas dividen exactamente por 32 768 y entregan 1 Hz con el 50 % de ciclo de trabajo. Todo reloj digital de bajo costo usa esa cadena.
Contador como temporizador
Si se pone en marcha un contador desde cero con un reloj conocido, el instante en que un bit determinado sube marca un tiempo. Con un reloj de 1 MHz, el bit Q11 sube a los 2048 µs ≈ 2 ms y Q15 a los 32,8 ms. Si ese bit se usa para detener el contador o para disparar otro circuito, se obtiene un retardo ajustable por el bit elegido. Es un temporizador digital: más estable que el RC del 555 (tema 32), aunque con pasos de potencia de dos.
07 · Componentes
Contadores reales: 393, 4040 y 4060
No hace falta armar la cadena con flip-flops sueltos: existen contadores ripple integrados, pensados para dividir.
| Chip | Etapas | Salidas accesibles | Reloj / reset | Uso típico |
|---|---|---|---|---|
| 74HC393 | 2 × 4 bits | Q0..Q3 de cada contador | Flanco ↓; MR activo en alto | Dividir por 16 o por 256 (en cascada) |
| 74HC4040 | 12 | Q1..Q12 | Flanco ↓; reset activo en alto | Divisor largo con muchas salidas |
| 74HC4020 | 14 | Q1, Q4..Q14 | Flanco ↓; reset activo en alto | Divisor largo |
| 74HC4060 | 14 + oscilador | Q4..Q10, Q12..Q14 | Flanco ↓; reset activo en alto | Oscilador con cristal o RC más divisor |
Observá que son todos de flanco descendente y con reset en alto (al revés del CLR̅ de los 74HC74). El 4060 es el favorito de los relojes: con un cristal de 32,768 kHz entre sus pines de oscilador, la salida Q14 entrega 32 768 / 214 = 2 Hz, y con un flip-flop T más se llega a 1 Hz.
08 · El contador en código
Simular la cadena, el sentido, el módulo y los tiempos
Los bloques reproducen la propagación etapa por etapa para ver los estados falsos, comparan el contador ascendente con el descendente, reconstruyen el módulo N con clear asíncrono y calculan divisores y frecuencias máximas.
Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.
Paso 1: la propagación y los estados falsos
class Ripple:
"""Contador asíncrono de n etapas con flip-flops que conmutan en el flanco descendente de su reloj."""
def __init__(self, n=4, tpd=12):
self.n, self.tpd = n, tpd
self.q = [0] * n # q[0] = bit menos significativo
def valor(self):
return sum(b << i for i, b in enumerate(self.q))
def pulso(self, t0=0):
"""Devuelve la lista de (tiempo en ns, estado) que se ve en las salidas tras un flanco de reloj."""
eventos, t = [], t0
for i in range(self.n):
t += self.tpd # cada etapa espera a la anterior
self.q[i] ^= 1
eventos.append((t, self.valor()))
if self.q[i] == 1: # subió: no hay flanco descendente para la etapa siguiente
break
return eventos
r = Ripple(4, tpd=12)
for _ in range(7):
r.pulso()
print("el contador está en", f"{r.valor():04b}", "(7)")
print("llega el pulso 8; lo que ven las salidas:")
eventos = r.pulso()
for t, v in eventos:
print(f" t = +{t:2d} ns -> {v:04b} ({v})")
print("estados falsos intermedios:", *(f"{v:04b}" for _, v in eventos[:-1]))
print(f"tiempo hasta el estado correcto: {eventos[-1][0]} ns")
El pulso 8 dispara cuatro cambios sucesivos, separados por 12 ns: 0110 (6), 0100 (4), 0000 (0) y recién a los 48 ns 1000 (8). Los tres primeros son estados falsos. Cambiá tpd y el número de etapas: el tiempo hasta el estado correcto es siempre n · tpd en el peor caso. Con un pulso que solo cambia Q0 (por ejemplo, de 2 a 3), el asentamiento es de 12 ns.
Paso 2: ascendente y descendente
def contar(n, pulsos, fuente):
"""fuente = 'q': cada etapa se dispara con Q de la anterior; 'qn': con Q negada."""
q = [0] * n
secuencia = [sum(b << i for i, b in enumerate(q))]
src = lambda i: q[i] if fuente == "q" else 1 - q[i]
for _ in range(pulsos):
antes = [src(i) for i in range(n)]
q[0] ^= 1 # el reloj externo llega a la etapa 0
for i in range(1, n):
ahora = src(i - 1)
if antes[i - 1] == 1 and ahora == 0: # flanco descendente en el reloj de la etapa i
antes[i] = src(i)
q[i] ^= 1
else:
break
secuencia.append(sum(b << i for i, b in enumerate(q)))
return secuencia
print("fuente Q (sube):", *contar(3, 8, "q"))
print("fuente Q̅ (baja):", *contar(3, 8, "qn"))
Con Q como reloj de la etapa siguiente, la secuencia es 0 1 2 3 4 5 6 7 0. Con ~Q, la misma cadena cuenta 0 7 6 5 4 3 2 1 0: baja. El cambio de un cable invierte el sentido. Probá con 4 etapas y 16 pulsos para ver el ciclo completo.
Paso 3: módulo N con clear asíncrono
tpd_nand, tpd_clear = 8, 15 # ns: la compuerta que detecta y el borrado del flip-flop
def contador_modn(N, n=4, pulsos=None):
pulsos = pulsos or 2 * N
v, filas = 0, []
for k in range(pulsos):
v += 1
if v == N: # aparece N, se detecta y se borra
filas.append((v, "transitorio", tpd_nand + tpd_clear))
v = 0
filas.append((v, "estable", None))
return filas
for N in (6, 10):
filas = contador_modn(N)
estables = ["0"] + [f"{v}" for v, tipo, _ in filas if tipo == "estable"][:N + 1]
glitch = [(v, d) for v, tipo, d in filas if tipo == "transitorio"][0]
unos = [f"Q{i}" for i in range(4) if (N >> i) & 1]
print(f"MOD-{N}: secuencia estable {' '.join(estables)}")
print(f" estado transitorio {glitch[0]} ({glitch[0]:04b}) dura unos {glitch[1]} ns; las salidas {', '.join(unos)} dan un pulso falso de ese ancho")
El módulo 6 cuenta 0 1 2 3 4 5 y vuelve a 0; el módulo 10 cuenta de 0 a 9. En ambos aparece un estado transitorio (6 = 0110 o 10 = 1010) de unos 23 ns, y las salidas que valen 1 en ese estado (Q1 y Q2 en el módulo 6; Q1 y Q3 en el módulo 10) producen un pulso falso de ese ancho. Si alguna de esas salidas alimenta a otro contador, éste cuenta un pulso de más.
Paso 4: divisores y frecuencia máxima
f_cristal = 32768
etapas = 15
print(f"{f_cristal} Hz dividido por 2^{etapas} = {f_cristal / 2 ** etapas:g} Hz")
print()
print("divisores sucesivos de 1 MHz:")
for k in (1, 2, 4, 8, 12, 16, 20):
f = 1_000_000 / 2 ** k
T = 1 / f
print(f" /{2 ** k:>8,} f = {f:>12,.3f} Hz período = {T * 1e6:>13,.1f} us")
print()
tpd, margen = 12, 15 # ns por etapa y margen para leer
print("frecuencia máxima de conteo confiable (lectura estable):")
for n in (4, 8, 12, 16):
t = n * tpd + margen
print(f" {n:2d} etapas: {t:3d} ns de asentamiento -> {1e3 / t:6.1f} MHz")
32 768 Hz entre 215 da 1 Hz exacto. De 1 MHz, doce etapas dan 244,14 Hz (período de 4,096 ms) y veinte etapas, 0,954 Hz. Para leer el contador como número, la frecuencia máxima baja con las etapas: 15,9 MHz con 4 etapas, 9,0 MHz con 8, 6,3 MHz con 12 y 4,8 MHz con 16 (con tpd = 12 ns y 15 ns de margen). Un divisor de 20 etapas puede trabajar a una frecuencia alta si solo se mira la última salida.
Los cuatro resultados muestran la misma lección desde ángulos distintos: el ripple es excelente para dividir y mediocre para leer, y su módulo N depende de una carrera entre compuertas.
09 · Exploración interactiva
El laboratorio: contador ripple
El simulador reproduce un contador de 2 a 8 etapas. Elegís el número de bits, el sentido, el retardo por etapa y, opcionalmente, un módulo N (con borrado asíncrono). Cada pulso muestra la secuencia de estados que atraviesan las salidas, el tiempo de asentamiento y qué valor lee un circuito que mire el contador a un tiempo fijo después del flanco (el control «Leer a los»). Con la frecuencia del reloj se comprueba si el contador alcanza a asentarse antes del pulso siguiente.
Contador asíncrono de n etapas
Contador de 4 etapas en 0000. Presioná «Pulso de reloj» y mirá cómo se propaga cada cambio.
| N.º | Antes | Estados que atraviesa | Asentó | Leído | ¿Correcto? |
|---|---|---|---|---|---|
| Sin pulsos registrados. | |||||
Recorrido guiado
- Con 4 etapas, ascendente y tpd = 12 ns, presioná «Pulso de reloj» siete veces y observá la tabla. Los primeros pulsos tardan 12 ns (solo cambia Q0); el pulso 2 tarda 24 ns (Q0 baja y arrastra a Q1).
- Dale el pulso 8: pasa por 0110, 0100 y 0000 antes de llegar a 1000, y asienta a los 48 ns. Con «Leer a los» = 30 ns la lectura es 0100 (4): lectura incorrecta.
- Subí «Leer a los» a 60 ns: ahora la lectura coincide. Es la regla del tema: leer después de n · tpd.
- Subí el retardo por etapa a 30 ns: el pulso 8 tarda 120 ns. Con el reloj de 10 MHz (100 ns), «¿Asienta antes del siguiente pulso?» pasa a «No»: la cuenta empieza a perderse.
- Cambiá a descendente: la cuenta arranca en 0000 → 1111 → 1110 → … y cada paso baja uno. La propagación es igual, pero con los valores invertidos.
- Con 4 etapas ascendente, escribí módulo 10 y repetí hasta el pulso 10: la secuencia pasa por 1010 y se borra (y la lectura a 30 ns todavía alcanza a ver 1010, el estado prohibido). Con «Leer a los» = 60 ns lee 0000.
- Subí a 8 etapas, con tpd = 12 ns y reloj de 10 MHz: el peor caso (127 → 128) tarda 96 ns, que roza el período de 100 ns. Con tpd = 15 ns ya no entra.
- Mirá «Frecuencia de la salida más lenta»: con 8 etapas y 1 MHz son 3906,25 Hz. Con módulo 10 es 100 kHz, pero ya sin ciclo de trabajo del 50 %.
Desafío: contar el peor caso de cada contador
El peor caso de asentamiento se da cuando todos los bits cambian, es decir, al pasar de 2n−1 − 1 a 2n−1 (011…1 a 100…0) en ascendente, y de 0 a 2n − 1 en descendente. Para cada n entre 2 y 8, comprobá en el simulador que el tiempo es n · tpd y que, en cambio, la mitad de los pulsos solo cambian Q0 y se asientan en tpd. El promedio, sobre un ciclo completo, es de apenas 2 · tpd por pulso: lo que limita la velocidad es el peor caso, no el promedio.
10 · Comprensión
Confusiones frecuentes
«En un contador ripple todos los bits cambian a la vez»
Cambian en cascada, uno detrás de otro, con un retardo de tpd por etapa. Por eso aparecen estados falsos entre dos valores consecutivos.
«El estado falso solo es un problema si el reloj es muy rápido»
Aunque el reloj sea lento, el estado falso existe; lo que cambia es cuánto tiempo hay para que se asiente. Si lo mira una compuerta que dispara algo (como el módulo N), un estado falso de 20 ns puede ser suficiente.
«Con el contador módulo 10 nunca se ve el 10»
Se ve durante unos 20 ns, el tiempo que tarda la compuerta y el clear en actuar. Las salidas que valen 1 en ese estado dan un pulso falso.
«Un divisor ripple de 20 etapas no puede trabajar a 10 MHz»
Sí puede, si solo se usa una salida como reloj dividido. El límite es para quien lee todas las salidas como un número.
«Para contar hacia abajo hace falta otro circuito»
Alcanza con cambiar qué salida (Q o ~Q) dispara a la etapa siguiente, o con invertir el sentido del flanco.
«El 74HC4040 cuenta con el flanco ascendente»
Cuenta con el descendente, y el reset es activo en alto. Es el tipo de detalle que se confirma en la hoja de datos.
«Un módulo N distinto de una potencia de dos conserva el 50 % de ciclo de trabajo»
No: en módulo 10, la última salida está en alto 2 de cada 10 pulsos (20 %). Para recuperar el 50 % hace falta un flip-flop adicional que divida por dos.
«Más etapas siempre dan más precisión»
Más etapas dan más tiempo y más cuentas, pero no más precisión: la exactitud depende del reloj de entrada. En cambio, más etapas aumentan el tiempo de asentamiento.
11 · Práctica guiada
Predecí antes de simular
1. Tiempo de asentamiento
Un contador ripple de 8 etapas con tpd = 12 ns y 15 ns de margen de lectura. ¿Cuánto tarda en asentarse en el peor caso y cuál es la frecuencia máxima de lectura confiable?
Ver solución
tasent = 8 · 12 = 96 ns. Con el margen: 96 + 15 = 111 ns, así que fmáx ≈ 1 / 111 ns ≈ 9 MHz.
2. Frecuencias del 74HC4040
Un 74HC4040 recibe 1 MHz. ¿Qué frecuencia y período tiene Q1 y Q12?
Ver solución
Q1 es la primera etapa: 1 MHz / 2 = 500 kHz (período 2 µs). Q12 es la duodécima: 1 MHz / 4096 ≈ 244,14 Hz (período 4,096 ms). Ambas con ciclo de trabajo del 50 %.
3. Módulo 12
Se quiere un contador módulo 12 (0 a 11) con clear asíncrono. ¿Qué estado se detecta y con qué salidas? ¿Qué salidas dan un pulso falso?
Ver solución
12 = 1100, así que se detecta con Q3 y Q2 (NAND de ambas, a CLR̅). Durante el estado transitorio 1100, esas dos salidas (Q3 y Q2) valen 1 y producen un pulso falso de unos 20 ns.
4. Cuenta descendente
Un contador descendente de 4 bits está en 0010. ¿Qué valor tiene después de 1, 2 y 3 pulsos?
Ver solución
Después de 1 pulso: 0001. Después de 2: 0000. Después de 3: 1111, con todos los bits cambiando (es el peor caso de asentamiento en descendente).
5. De 32 768 Hz a 1 Hz
Con un 74HC4060 y un cristal de 32,768 kHz, ¿qué salida da 2 Hz y qué falta para llegar a 1 Hz?
Ver solución
Q14 divide por 214 = 16 384: 32 768 / 16 384 = 2 Hz. Falta una etapa más (un flip-flop T o D con D = ~Q conectado a Q14), que divide por dos y da 1 Hz, con 50 % de ciclo de trabajo.
6. Diagnóstico
Un contador de 8 bits con un reloj de 10 MHz y tpd = 12 ns muestra valores absurdos justo en los pasos 127 → 128 y 255 → 0, pero anda bien el resto. ¿Qué explica el patrón y cómo se arregla?
Ver solución razonada
En esos pasos cambian los 8 bits y el acarreo recorre toda la cadena: 8 · 12 = 96 ns, casi el período completo de 100 ns. El circuito que lee el contador mira en medio de la transición y ve estados falsos; en los demás pasos cambian pocos bits y el asentamiento es corto. Se arregla bajando la frecuencia, leyendo un poco después del flanco, o cambiando a un contador síncrono (tema 18), donde todos los bits cambian a la vez.
12 · Síntesis
Ideas para recordar
- Un contador asíncrono (ripple) encadena flip-flops que conmutan: la salida de cada etapa es el reloj de la siguiente, y cada etapa divide la frecuencia por dos.
- n etapas cuentan módulo 2n; la salida Qk tiene frecuencia f / 2k+1 y ciclo de trabajo del 50 %.
- El sentido depende del flanco y de usar Q o ~Q como reloj de la siguiente etapa; invertir un cable invierte la cuenta.
- Las etapas cambian en cascada: el asentamiento tarda hasta n · tpd y entre dos valores aparecen estados falsos.
- La frecuencia máxima de lectura confiable es 1 / (n · tpd + margen); un divisor que usa una sola salida no sufre esta limitación.
- El módulo N con clear asíncrono detecta el primer valor no deseado y lo borra, pero ese valor existe unos 20 ns y deja pulsos falsos.
- Con 32 768 Hz y 15 etapas se obtiene 1 Hz exacto; el 74HC4060 reúne oscilador y divisor.
- Los contadores integrados (74HC393, 4040, 4060) cuentan en flanco descendente y se borran con reset activo en alto.
¿Listo para el tema 18?
Antes de avanzar, explicá de memoria por qué un contador ripple pasa por estados falsos, cuánto tarda en asentarse y para qué usos sigue siendo una buena elección. Si podés justificar las tres respuestas, ya podés ver cómo se resuelven estos problemas con un reloj común.
En el próximo tema veremos los contadores síncronos: todos los flip-flops comparten el mismo reloj y un poco de lógica decide cuáles deben conmutar, de modo que los bits cambian a la vez, sin estados falsos y con velocidad independiente del número de etapas.