Catto / Mapa de Temas · Electrónica Digital II 5° año
Electrónica Digital II · 96 h · Eje 1 de 4

Contadores programables

Un contador es un divisor de frecuencia y un registro de estado al mismo tiempo. Lo que lo vuelve programable es poder decidir por hardware —o por software, más adelante— en qué número arranca, hasta dónde llega y en qué sentido cuenta. Todo el temporizado digital sale de ahí.

Lógica secuencial Contadores integrados División de frecuencia Cascada

01De dónde venimos: contar es dividir

En lógica secuencial se armaron contadores con flip-flops sueltos. Ahora se usan circuitos integrados contadores, que traen todo resuelto adentro y agregan las patas que permiten programarlos. Pero la idea de fondo no cambió, y conviene tenerla presente porque es la que explica cada aplicación:

La idea que hay que ver en el cronograma

Cada etapa de un contador binario divide la frecuencia por dos. Q0 cambia una vez por cada pulso de reloj, Q1 una vez cada dos, Q2 una cada cuatro. Un contador de n etapas es entonces, al mismo tiempo, un contador módulo 2n y un divisor por 2n. La misma pata sirve para leer un número o para sacar una frecuencia más baja.

CLK Q0 f/2 Q1 f/4 Q2 f/8 Q3 f/16 16 pulsos de reloj = un ciclo completo de la cuenta Q3 Q2 Q1 Q0 valor en decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Figura 1. Contador binario de 4 bits, animado. El cursor recorre los 16 estados: a la izquierda las formas de onda de cada salida, a la derecha las lámparas y el número en decimal. Se ve que Q0 vale f/2, Q1 f/4, Q2 f/8 y Q3 f/16.
EtapasCuenta hastaMóduloDivisión de frecuencia
4 (una década binaria)1516f/16 en la última salida
8255256f/256
1240954096f/4096
14 (CD4020)1638316384f/16384
24 (CD4521)1677721522432768 Hz → 1 Hz con 15 etapas

Esa última fila es el reloj de cuarzo de pulsera: un cristal de 32 768 Hz —que es 215— dividido quince veces da exactamente un pulso por segundo. Los cristales de reloj tienen ese valor justamente porque cae redondo en una cadena de flip-flops.

02Asincrónico y sincrónico: la diferencia que importa

Los dos cuentan igual. La diferencia está en cuándo cambia cada etapa, y se paga en velocidad y en pulsos falsos.

Asincrónico (ripple)

El reloj entra sólo en la primera etapa; cada flip-flop dispara al siguiente. Los cambios se propagan en cadena.

  • Menos circuito interno, más barato: el CD4040 mete 12 etapas en un DIP16.
  • Retardo total = n × tPLH. En 12 etapas de 10 ns son 120 ns de corrimiento.
  • Durante ese corrimiento aparecen estados intermedios falsos: al pasar de 0111 a 1000 el contador exhibe 0110, 0100, 0000 y recién 1000.
  • Sirve como divisor de frecuencia, no para decodificar estados.
Sincrónico

El reloj llega a todas las etapas a la vez; una red de compuertas decide cuáles cambian en ese flanco.

  • Todas las salidas cambian juntas: no hay estados falsos.
  • La frecuencia máxima no depende de la cantidad de etapas.
  • Es el único que se puede decodificar sin riesgo (por ejemplo, para encender un display o disparar un actuador).
  • Casi todos los contadores programables —74190/191/192/193, 4029, 4510, 4516— son sincrónicos.
El glitch de decodificación

Si con un contador asincrónico se decodifica el estado 8 (1000) con una compuerta AND, esa compuerta se activa por unos nanosegundos también en la transición 7 → 8, mientras las etapas se acomodan. Un osciloscopio rápido lo ve como una púa. Un flip-flop conectado a esa salida la toma como un pulso real y el circuito falla una vez cada tanto, sin patrón aparente. Es una de las fallas más difíciles de encontrar en el banco. La solución: contador sincrónico, o validar la decodificación con el reloj.

04Programar el módulo: las dos maneras

Un 74193 cuenta hasta 16 y un 4510 hasta 10. ¿Y si hace falta contar hasta 6, como en los segundos de un reloj, o hasta 12? Se le acorta la cuenta. Hay dos técnicas y no son equivalentes.

a) Por reset: detectar el estado N y borrar

Se decodifica con una compuerta el primer estado que no se quiere y se lo manda al reset. El contador pasa por ese estado un instante y vuelve a cero.

0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 estado fantasma no se alcanza Contador4516 · 4 bits Q2 Q1 Q0 & Q2Q1 RESET Q2 · Q1 = 110 = 6 → borra la cuenta útil es 0…5: seis estados
Figura 2. Módulo 6 por reset asíncrono, animado. La cuenta llega a 6 (110), la AND de Q1·Q2 dispara el borrado y el estado dura apenas el retardo de propagación: el estado fantasma, marcado en rojo. Por eso el módulo es 6 aunque se decodifique el 6.
El estado fantasma

Ese pasaje relámpago por el estado 6 tiene tres consecuencias prácticas:

  • Si un display está conectado a las salidas, alcanza a parpadear el dígito de más. Con brillo alto se llega a notar.
  • Si otro circuito lee esas salidas, puede tomar el 6 como un valor válido.
  • El pulso de reset es muy angosto (decenas de nanosegundos). En CMOS lento a veces ni alcanza a borrar todos los flip-flops y el contador se cuelga en un estado raro. Se resuelve con un flip-flop que estire el pulso, o usando la otra técnica.

b) Por carga sincrónica: mucho más limpio

Con un contador de carga y borrado sincrónicos (74163, o el 74193 usando su carga paralela), la corrección ocurre en el flanco de reloj, junto con todos los demás cambios. No hay estado fantasma ni pulso angosto.

Dos formas de la misma cuenta

Para contar N estados con un contador de 4 bits hay dos caminos simétricos:

  • Contando para arriba: se carga el valor inicial 16 − N y se usa el acarreo de salida (que aparece en 15) para recargarlo. Ejemplo: para N = 6 se carga 10 y cuenta 10, 11, 12, 13, 14, 15 → recarga.
  • Contando para abajo: se carga N − 1 y se recarga cuando llega a 0. Para N = 6 se carga 5 y cuenta 5, 4, 3, 2, 1, 0 → recarga. Es la forma que usan los temporizadores de los microcontroladores, y por eso conviene acostumbrarse a ella.
Ejemplo · Los segundos de un reloj digital

Los segundos van de 00 a 59: hacen falta una década completa para las unidades y un módulo 6 para las decenas.

  • Unidades: un 4510 en modo BCD, módulo 10, sin nada agregado. Su acarreo sale una vez cada 10 segundos.
  • Decenas: otro 4510 al que se le decodifica el 6 con una AND entre Q1 y Q2 (110 = 6) hacia el reset. Cuenta 0…5 y vuelve.
  • El acarreo de las decenas, una vez cada 60 s, alimenta el contador de minutos.

El módulo total de la pareja es 10 × 6 = 60. La entrada tiene que ser exactamente 1 Hz: de ahí que un reloj de cuarzo divida 32 768 por 215, o que una versión sencilla arranque de los 50 Hz de la red dividiendo por 50.

05Expansión: poner contadores en cascada

Un integrado solo llega hasta 10 o hasta 16. Todo lo demás se arma encadenando, y la forma de encadenar es lo que distingue una cascada que funciona a 20 MHz de una que se cuelga a 2 MHz.

Unidades4510 · módulo 10 0 a 9 Decenas4510 · módulo 10 0 a 9 Centenas4510 · módulo 10 0 a 9 f acarreo acarreo 1 pulso por unidad 1 cada 10 1 cada 100 Módulo total = 10 × 10 × 10 = 1000 · la última salida divide la frecuencia por mil El dígito menos significativo es el de la izquierda: así se conecta el display
Figura 3. Cascada de tres décadas, animada. Cada acarreo es diez veces más lento que el anterior. Es el esqueleto de un frecuencímetro, de un cuentavueltas y del contador de cualquier reloj.
Cascada por reloj (ripple)

El acarreo de una etapa se conecta al reloj de la siguiente. Es lo que se hace con contadores asincrónicos y con el 74192/193.

Simple, pero los retardos se suman etapa por etapa y las salidas no cambian todas juntas.

Cascada por habilitación

El reloj entra en todas las etapas a la vez y el acarreo se conecta a la habilitación de la siguiente: la etapa alta sólo cuenta en el flanco en que la baja está en su último estado.

Todo el conjunto sigue siendo sincrónico, sin importar cuántas etapas tenga. Es la forma correcta cuando hay que decodificar la cuenta.

Módulos que no son potencias de diez

El módulo total de una cascada es el producto de los módulos. Con dos décadas y un módulo 6 se obtiene 600; con un módulo 6 y uno de 10, los 60 segundos. Si hace falta un módulo primo o cualquier número raro —por ejemplo dividir 50 Hz por 50 para obtener 1 Hz— conviene armar un solo contador binario largo y decodificar el valor final, en vez de encadenar módulos chicos.

06El 4017: contar sin decodificar

Es un caso aparte y merece su sección porque resuelve solo un problema entero. Adentro no hay un contador binario sino un registro de desplazamiento en anillo (Johnson) con la decodificación ya hecha: en lugar de cuatro salidas binarias tiene diez salidas, y en cada pulso se enciende una sola.

CD4017 contador Johnson 10 salidas decodificadas CLK MR Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 una sola salida activa por vez secuenciador de diez pasos CLK Con Q6 conectado a MR el ciclo pasa a seis pasos: divisor por 6 sin compuertas La salida Q5-9, alta durante medio ciclo, sirve para encadenar otro 4017
Figura 4. CD4017, animado. La salida activa «camina» de Q0 a Q9 con cada flanco de reloj. Conectando cualquier salida al RESET se obtiene un secuenciador de menos pasos: con Q6 al reset, el ciclo pasa a ser de seis.
Lo que se arma con él en dos minutos
  • Luces secuenciales tipo auto fantástico (con el 4017 + un 555 de reloj).
  • Secuenciador de pasos para un motor.
  • Divisor por cualquier número del 2 al 10, llevando la salida N al reset.
  • Distribuidor de tiempos para multiplexar displays.
Sus patas particulares
  • CP0 avanza con flanco de subida; CP1 (inhibit) sirve para frenarlo o para usar flanco de bajada.
  • MR (reset) vuelve a Q0. Activo en alto.
  • Q5-9 es una salida de acarreo que queda en alto durante la mitad del ciclo: sirve para encadenar 4017 sin lógica extra.

El reloj que lo hace avanzar sale casi siempre de un 555 en astable: ahí se puede elegir la velocidad del secuenciador con un solo par R-C.

07Aplicaciones típicas

Frecuencímetro

Una cascada de décadas con la entrada abierta por una compuerta durante exactamente 1 s. Lo que quede en el contador son los hertz. Es el circuito que se estudia en mediciones en CA y que se retoma completo en instrumentos digitales.

Reloj digital

Base de tiempo de 1 Hz → módulo 60 (segundos) → módulo 60 (minutos) → módulo 12 o 24 (horas). Cada bloque es la misma pareja de contadores con distinto reset.

Divisor programable de frecuencia

Un contador descendente que se recarga con un número N cada vez que llega a cero entrega f/N. Cambiando N —con llaves, con un teclado o desde un microcontrolador— se cambia la división. Es el corazón de un sintetizador PLL, con el que se elige la frecuencia de un transmisor.

Conversión digital-analógica por rampa

Un contador que alimenta una red R-2R genera una rampa escalonada. Comparada contra una señal da un conversor A/D de rampa, que se ve en conversores A/D y D/A.

Ejemplo resuelto · Cuentavueltas de un motor

Un sensor óptico entrega un pulso por vuelta de un eje que gira a 1500 RPM. Se quiere mostrar las vueltas por minuto en tres dígitos.

  1. 1500 RPM = 1500/60 = 25 pulsos por segundo.
  2. Si se cuenta durante 1 s se leen 25: hay que mostrar RPM, no pulsos por segundo. Se cuenta entonces durante 60 s, o se multiplica por 60 eligiendo una ventana de 1 s y contando pulsos de un disco de 60 ranuras.
  3. Solución práctica: disco de 6 ranuras y ventana de 1 s. Se cuentan 1500 × 6/60 = 150 pulsos, y el display muestra directamente las centenas y decenas de RPM con una coma fija (150 → 1500 RPM con el último cero pintado en el frente).
  4. Hacen falta tres décadas en cascada (módulo 1000) y una compuerta de ventana. Con el resultado en 150 sobre 999, el rango llega hasta 9990 RPM.

08En el laboratorio

Práctica 1 · La división por dos, vista en el osciloscopio

Armar un CD4040 con un reloj de 10 kHz del generador de funciones. Con el osciloscopio de dos canales, dejar el canal 1 en el reloj y recorrer con el canal 2 las salidas Q1 a Q6, midiendo la frecuencia en cada una. Anotar la tabla: 5 kHz, 2,5 kHz, 1,25 kHz, 625 Hz, 312,5 Hz, 156,25 Hz. Es la comprobación directa de que contar y dividir son la misma cosa.

Práctica 2 · Módulo a pedido

Con un 74193 (o 4516) y una compuerta NAND de cuatro entradas, armar sucesivamente los módulos 5, 7, 9 y 12 por reset. Verificar cada uno con LED en las cuatro salidas y el reloj bien lento (1 Hz de un 555). Después repetir el módulo 12 por carga paralela y comparar en el osciloscopio la salida Q3 en los dos casos: en la versión por reset se ve la púa del estado fantasma.

Práctica 3 · Reloj de segundos

Base de tiempo de 1 Hz + década 4510 + módulo 6, con dos displays de siete segmentos a través de 4511. Verificar que la cuenta va de 00 a 59 y vuelve a 00 sin saltarse el 59 ni mostrar un 60 parpadeante. Si el 60 aparece, el reset no está tomado de las salidas correctas.

Práctica 4 · Secuenciador con 4017

555 astable a 2 Hz → 4017 → diez LED. Después, llevar Q6 al reset y comprobar que el ciclo pasa a seis pasos. Por último, usar la salida Q5-9 para encadenar un segundo 4017 y armar un secuenciador de veinte pasos.

Entradas CMOS al aire

En CMOS ninguna entrada puede quedar sin conectar, ni siquiera las que no se usan. Una entrada flotante toma cualquier valor, oscila y hace consumir corriente al integrado. Todas las entradas de reset, carga y habilitación que no se usen van a masa o a VDD según corresponda. Es la causa número uno de los contadores CMOS «que cuentan cualquier cosa».

09Errores frecuentes

SíntomaCausa habitual
El contador salta números o cuenta de a dosRebote del pulsador que hace de reloj. Hace falta un antirrebote (R-C + Schmitt, o un 555 monoestable).
La cuenta se cuelga en un número raroPulso de reset demasiado angosto, o entradas CMOS sin conectar.
El display muestra un dígito de más, parpadeandoEstado fantasma del módulo por reset asíncrono. Pasar a carga sincrónica o apagar el display durante el reset.
Con la cascada, la etapa alta avanza dos vecesSe tomó el acarreo por nivel en vez de por flanco, o se conectó a un reloj de flanco contrario al que corresponde.
Funciona lento y falla al subir la frecuenciaCascada tipo ripple: los retardos acumulados superan el período del reloj. Pasar a cascada por habilitación.
La decodificación dispara solaGlitch de decodificación sobre un contador asincrónico. Validar con el reloj o usar sincrónico.
Cuenta bien con LED pero falla manejando un reléEl ruido de la bobina vuelve por la alimentación. Desacoplar con 100 nF en cada integrado y diodo volante en el relé.
El 4017 enciende dos salidas a la vezReloj con flancos sucios o lentos. Pasar la señal por un Schmitt trigger (40106).

10Autoevaluación

¿Cuántos flip-flops hacen falta para un contador módulo 12 y cuál es su capacidad real?

Cuatro, porque con tres sólo se llega a 8. La capacidad natural de cuatro etapas es 16, así que hay que acortar la cuenta: se decodifica el 12 (1100) hacia el reset, o se carga el 4 y se cuenta hasta el desborde.

¿Por qué un cristal de reloj es de 32 768 Hz?

Porque 32 768 = 215. Quince etapas de división binaria —que es lo que hay adentro de cualquier contador— entregan exactamente 1 Hz sin ninguna corrección.

¿Qué es el estado fantasma y cómo se elimina?

Es el paso brevísimo por el estado que se decodifica para resetear: el contador llega a ese valor y recién ahí se borra, de modo que existe durante el retardo de propagación. Se elimina programando el módulo por carga sincrónica, o con un contador de borrado sincrónico como el 74163.

Con tres décadas en cascada y un reloj de 1 MHz, ¿qué frecuencia sale de la última?

1 MHz / (10 × 10 × 10) = 1000 Hz. Cada década divide por diez.

¿Por qué un contador asincrónico no se puede decodificar con seguridad?

Porque sus etapas no cambian a la vez: durante la propagación aparecen combinaciones intermedias que no corresponden a ningún estado de la cuenta. Una compuerta decodificadora las ve y genera pulsos falsos de pocos nanosegundos.

Se quiere dividir por 7 una señal. ¿Cómo se hace con un contador de 4 bits?

Dos caminos. Ascendente: decodificar el 7 (0111) hacia el reset, con lo que el contador recorre 0…6 y vuelve: siete estados. Descendente y limpio: cargar 6 y recargar al llegar a 0, o cargar 16 − 7 = 9 y recargar con el acarreo. La segunda no tiene estado fantasma.

¿Qué ventaja tiene el 4017 frente a un 4510 con decodificador?

Que ya trae las diez salidas decodificadas y garantiza que sólo una está activa por vez, sin glitches. Ahorra el decodificador y el riesgo de que dos salidas se pisen durante la transición.

En una cascada por habilitación, ¿a dónde va el reloj de la segunda etapa?

Al mismo reloj que la primera. Lo que va del acarreo de la primera a la segunda es la habilitación de conteo, no el reloj. Así todo el conjunto cambia en el mismo flanco y sigue siendo sincrónico.

Un contador de 4 bits arranca en 0110 apenas se enciende el circuito, sin haber contado nada. ¿Qué pasa?

Los flip-flops toman un estado aleatorio al alimentarse. Falta un reset de encendido (power-on reset): un R-C que aplique un pulso de borrado durante los primeros milisegundos.

¿Por qué el temporizador de un microcontrolador cuenta hacia abajo?

Porque detectar el cero es más barato que comparar contra un número arbitrario: alcanza con una NOR de todos los bits. Contando hacia abajo desde N − 1 se programa cualquier módulo con la misma lógica de detección.

Desarrollo del eje «Contadores programables» de Electrónica Digital II (5° año), según la «Propuesta Curricular – Segundo Ciclo de la Modalidad Técnico Profesional, Educación Secundaria – Electrónica», Ministerio de Educación de la Provincia de Córdoba, DGETyFP. Volver al Mapa de Temas · catto.ar