Contador de rizado para crear una secuencia

Un contador de rizado es un circuito secuencial en el que los flip-flops están conectados de forma asíncrona: la señal de reloj externa llega al primer flip-flop y la salida de cada etapa actúa como reloj de la siguiente. De este modo, los cambios de estado se propagan por la cadena y permiten crear una secuencia binaria, decimal o limitada mediante lógica de reinicio.

Para crear una secuencia de diez estados, de 0 a 9, se utiliza un contador de rizado BCD o contador de década. El circuito cuenta desde 0000 hasta 1001 y, cuando detecta el estado 1010, reinicia todos los flip-flops a 0000 para repetir la secuencia.

Qué es un contador de rizado

Un contador digital binario es un dispositivo utilizado para contar números binarios. Los contadores digitales utilizan principalmente flip-flops y algunos circuitos combinacionales para incorporar funciones especiales.

Los contadores son una clase fundamental de circuitos secuenciales. Pueden utilizarse en cualquier aplicación en la que se necesite una serie de pasos, por ejemplo, para controlar una máquina de estados implementada mediante hardware.

Los contadores atraviesan una secuencia de estados numerados; un contador de 4 bits cuenta 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111 y así sucesivamente.

El contador en el que el reloj externo se aplica únicamente al primer flip-flop y los flip-flops siguientes reciben como reloj la salida del flip-flop anterior se denomina contador asíncrono o contador de rizado.

El nombre contador de rizado se debe a que la señal de reloj se propaga desde la primera etapa de flip-flops hasta la última. También se conocen como contadores de propagación porque los datos parecen “ondularse” desde la salida de un flip-flop hasta la entrada del siguiente.

Diagrama de contador de rizado de cuatro bits

Principio de funcionamiento

Un contador asíncrono es un circuito secuencial que produce un efecto de rizado, ya que la salida de un flip-flop sirve como entrada de reloj de la siguiente etapa dentro de la cascada.

La señal de reloj no se aplica a todas las etapas al mismo tiempo, sino que “riza” a través de la cadena. Como la señal de entrada CLK pasa de una etapa a la siguiente, los cambios de estado no ocurren simultáneamente: primero cambia el primer flip-flop y después cambian sucesivamente las demás etapas.

La característica principal de un contador asíncrono es que cada flip-flop utilizado recibe su propia señal de reloj procedente del flip-flop anterior. Por tanto, cada flip-flop es independiente de la señal de reloj de entrada, aunque su funcionamiento queda condicionado por el estado de la etapa anterior.

La forma más sencilla de construir un contador de rizado consiste en encadenar flip-flops tipo T. El circuito cuenta desde 0000 hasta 1111 y vuelve a 0000.

El modo de conmutación de los flip-flops JK se consigue colocando las entradas J y K en nivel ALTO, es decir, en el valor lógico 1. Cuando J y K están en 1, el flip-flop cambia de estado en cada flanco activo de su reloj.

Secuencia binaria y módulo

El módulo de un contador está determinado por la cuenta máxima para la que ha sido diseñado. Si el contador está diseñado para contar de 0 a 15, su módulo es 16 y se denomina contador módulo 16 o mod-16.

Si está diseñado para contar de 0 a 9, es un contador módulo 10 o mod-10. Un contador de módulo 10 tiene diez estados válidos y repite la secuencia después del estado decimal 9.

Para un contador asíncrono de n bits, el rango de la cuenta se encuentra entre 0 y 2n − 1 antes de que la secuencia se repita. Un contador asíncrono n-bit que recorre todos los estados posibles se denomina contador de secuencia completa.

Número de flip-flopsNúmero máximo de estadosSecuencia decimal
380 a 7
4160 a 15
n2n0 a 2n − 1

También es posible construir un contador cuyo módulo sea menor que el número máximo de estados utilizando lógica de realimentación para detectar una cuenta determinada. Este tipo de circuito se denomina contador truncado.

Los contadores truncados permiten producir cualquier número de módulo. Para contar de 0 a 39, por ejemplo, se necesitan seis flip-flops, ya que cinco flip-flops solo proporcionan un módulo 32 y seis flip-flops permiten alcanzar un módulo máximo de 64.

Contador de rizado mod-16

El contador de rizado módulo 16 está constituido por flip-flops JK en modo de conmutación, manteniendo las entradas J y K en el valor lógico 1 y conectando los flip-flops entre sí de forma asíncrona.

La salida del primer flip-flop, FF1, está conectada directamente a la entrada de reloj del segundo flip-flop, FF2. Las salidas representan un número binario de cuatro bits.

El indicador A, QA, es el bit menos significativo, LSB, mientras que el indicador D, QD, es el bit más significativo, MSB.

El símbolo circular situado en la entrada de reloj CLK de los flip-flops indica que trabajan con lógica negativa. Esto significa que se activan en la transición de ALTO a BAJO, correspondiente al flanco descendente del pulso de reloj.

En el primer pulso, la salida QA pasa de BAJO a ALTO y se obtiene la cuenta binaria 0001. En el segundo pulso, FF1 se desactiva, QA pasa de ALTO a BAJO y se activa FF2, cuya salida pasa de BAJO a ALTO, generando la cuenta 0010.

En el tercer pulso se activa FF1 y se obtiene 0011, porque FF2 permanece en estado de mantenimiento con QB activada. En el pulso siguiente, la cuenta aumenta hasta 0100.

Cuenta decimalCuenta binaria
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
101010
111011
121100
131101
141110
151111

Un contador de cuatro etapas continúa conmutando en secuencia y sus cuatro salidas producen los valores binarios desde 0000 hasta 1111, correspondientes a 0 hasta 15, antes de regresar a 0000 y comenzar nuevamente la cuenta.

Contador de rizado con flip-flops T

El flip-flop T cambia de estado cuando su entrada T está en 1. En un contador de rizado formado con flip-flops T, la entrada de todas las etapas se fija en T = 1.

Lo único que no es común entre las etapas es la señal de reloj. Cada flip-flop cambia únicamente cuando recibe el pulso de reloj correspondiente, por lo que la señal de reloj de los flip-flops siguientes debe organizarse de manera que cada etapa cambie en el momento adecuado.

En un contador ascendente de tres bits, las salidas de los flip-flops FF0, FF1 y FF2 son Q0, Q1 y Q2. Q0 cambia continuamente, por lo que el reloj externo se conecta al flip-flop FF0.

Q1 cambia cuando Q0 pasa de 1 a 0. Por tanto, el flanco negativo de Q0 activa Q1. Si se utilizan flip-flops sensibles al flanco positivo, se conecta la salida complementada de Q0 como reloj de FF1.

Q2 cambia cuando Q1 pasa de 1 a 0. De forma equivalente, cuando se utilizan flip-flops sensibles al flanco positivo, se utiliza la salida complementada de Q1 como entrada de reloj para FF2.

Contador de rizado con flip-flops D

El flip-flop D carga en su salida Q el valor aplicado a su entrada D durante el flanco de reloj. Un flip-flop D también puede configurarse para cambiar de estado conectando su salida complementada a la entrada, de modo que D = Q̅.

En esta configuración, el flip-flop D funciona como un flip-flop T con T = 1. Por ello, se puede utilizar el mismo diseño de contador ascendente con flip-flops T reemplazando cada flip-flop T por un flip-flop D.

La entrada de cada flip-flop D individual se conecta a su salida complementada. Cada vez que llega el flanco de reloj, el flip-flop cambia de estado.

El patrón de conmutación es el mismo que en el contador ascendente construido con flip-flops T, por lo que las señales de reloj de las etapas sucesivas se conectan siguiendo la misma estructura.

Cómo crear una secuencia ascendente

Un contador ascendente de rizado comienza en 0 y cuenta hasta su valor máximo. El rango depende del número de flip-flops utilizados.

En un contador ascendente de cuatro bits, las salidas Q0, Q1, Q2 y Q3 representan respectivamente los pesos 20, 21, 22 y 23, es decir, 1, 2, 4 y 8.

Suponiendo que las cuatro salidas Q están inicialmente en 0000, el flanco ascendente del primer pulso de reloj hace que Q0 pase a 1. El siguiente pulso hace que Q0 vuelva a 0 y, simultáneamente, que Q1 pase de 0 a 1.

En el tercer pulso, Q0 vuelve a 1, por lo que Q0 y Q1 están en nivel alto y la salida representa 0011, equivalente al decimal 3. En el cuarto pulso, Q0 y Q1 regresan a 0 y Q2 pasa a 1, generando 0100, equivalente al decimal 4.

  1. El primer flip-flop cambia con cada pulso de reloj.
  2. El segundo flip-flop cambia cuando la primera etapa completa su ciclo.
  3. El tercer flip-flop cambia cuando las dos primeras etapas alcanzan la condición correspondiente.
  4. El cuarto flip-flop cambia cuando las tres etapas inferiores han completado la secuencia.

La palabra de salida continúa representando un número binario igual al número de pulsos recibidos por la entrada de reloj del primer flip-flop.

Cómo crear una secuencia descendente

El contador descendente cuenta desde el valor máximo posible hasta 0 y después vuelve a comenzar desde el valor máximo.

Para convertir un contador ascendente de rizado en uno descendente, basta modificar las conexiones entre los flip-flops. En un contador descendente, cada flip-flop cambia cuando la salida del flip-flop anterior pasa de 0 a 1.

En un contador ascendente construido con flip-flops sensibles al flanco positivo se utiliza normalmente la salida complementada del flip-flop anterior como señal de reloj. En el contador descendente se utiliza la salida Q del flip-flop anterior.

El contador descendente puede construirse tanto con flip-flops T como con flip-flops D. La conexión de reloj proporcionada a los flip-flops sucesivos se modifica de la misma forma que en el contador descendente con flip-flops T.

Contador de rizado ascendente y descendente

Un contador de rizado ascendente y descendente puede realizar ambas operaciones dependiendo de un selector de modo. El selector de modo determina si el circuito cuenta hacia arriba o hacia abajo.

Cuando M = 1, el contador cuenta hacia arriba, y cuando M = 0, el contador cuenta hacia abajo.

La diferencia entre el contador ascendente y el contador descendente está en la señal de reloj que reciben las etapas sucesivas. Por ello, se puede utilizar un multiplexor 2:1 para seleccionar entre las dos señales de reloj.

Contador de rizado BCD

Un contador BCD, binary-coded decimal, es un contador de década cuyo módulo es 10. Cuenta los números decimales de 0 a 9 y vuelve al estado inicial 0.

Un contador BCD recorre una secuencia de diez estados cuando recibe pulsos de reloj y regresa a 0 después de contar el 9. La secuencia válida es 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000 y 1001.

Se denomina contador BCD porque sus diez estados forman la secuencia de un código decimal codificado en binario y no presentan el patrón regular de un contador binario completo.

Un contador de década tiene cuatro flip-flops y 16 estados potenciales, de los cuales solo se utilizan 10. Si se conectan en serie varios contadores de este tipo, es posible contar hasta 100, 1.000 o cualquier otro valor final que se determine.

Para representar cada dígito decimal se necesitan al menos cuatro flip-flops, ya que un dígito decimal se representa mediante un código binario de cuatro bits. Por eso, un contador BCD utiliza cuatro etapas aunque solo emplee diez de los dieciséis estados posibles.

Secuencia BCD de 0000 a 1001

Diseño de un contador BCD de rizado

Un contador BCD de rizado es esencialmente un contador ascendente de cuatro bits modificado para reiniciarse cuando alcanza la cuenta decimal 10.

Considerando Q0, Q1, Q2 y Q3 como los cuatro bits del contador, la condición de reinicio se produce cuando el circuito alcanza el estado 1010.

Cuando la cuenta alcanza 10, el contador debe borrar automáticamente sus flip-flops. Para ello se necesita un circuito combinacional conectado a las salidas del contador y a las entradas de borrado.

Los flip-flops suelen tener una entrada de borrado activa en nivel bajo. Para borrar todos los flip-flops, el circuito combinacional debe producir un 0 lógico cuando el contador alcanza el estado 1010.

Una puerta NAND produce un 0 lógico cuando todas sus entradas están en 1. Por tanto, se puede utilizar una puerta NAND para borrar los flip-flops cuando la cuenta llega a 10.

La condición de borrado puede expresarse como:

Clear = (Q3 AND Q1)’

Cuando Q3 y Q1 son simultáneamente 1, la puerta NAND cambia su salida a 0. Esa salida se conecta a las entradas CLR de todos los flip-flops y provoca el reinicio del contador.

RelojQDQCQBQAValor decimal
100000
200011
300102
400113
501004
601015
701106
801117
910008
1010019
110000Reinicio

En el contador BCD asíncrono, la cuenta aumenta en cada flanco descendente de la señal de reloj de entrada, comenzando en 0000 y llegando hasta 1001, que corresponde al decimal 9.

En el pulso siguiente, la salida de la puerta NAND cambia de 1 lógico a 0 lógico. Como la salida de la puerta NAND está conectada a las entradas CLEAR de todos los flip-flops, esta señal hace que todas las salidas Q regresen a 0000.

Cuando QA y QD vuelven a 0 porque los flip-flops acaban de reiniciarse, la salida de la puerta NAND vuelve al nivel lógico 1 y el contador comienza nuevamente desde 0000.

El resultado es un contador ascendente de década o contador módulo 10.

Detección del estado de reinicio

La detección del estado 1010 es suficiente para reiniciar un contador BCD, porque los estados comprendidos entre 1010 y 1111 no pertenecen a la secuencia decimal válida.

En un contador síncrono BCD, las salidas Q1 y Q3 pueden conectarse a las entradas de una puerta NAND cuya salida se lleva a las entradas CLR de los cuatro flip-flops.

La primera vez que Q1 y Q3 son simultáneamente 1 durante una cuenta de 0 a 15 corresponde al valor decimal 10, representado por 1010. La salida de la puerta de detección se hace 0 y reinicia todos los flip-flops.

El circuito cuenta de 0 a 9 y omite los estados 10 a 15. Por ello, se obtiene un contador BCD 8421, que puede utilizarse para controlar un decodificador BCD a siete segmentos.

Creación de otros módulos

La misma idea de truncar la secuencia de salida puede adaptarse a otros ciclos de cuenta cambiando las conexiones hacia las entradas de la puerta NAND o utilizando otras combinaciones de puertas lógicas.

Un contador módulo 12 puede construirse tomando las entradas de la puerta NAND de las salidas QC y QD, ya que el equivalente binario de 12 es 1100 y QA es el bit menos significativo.

El módulo máximo que puede implementarse con n flip-flops es 2n. Por ello, al diseñar contadores asíncronos truncados, debe determinarse la potencia de dos más pequeña que sea mayor o igual que el módulo deseado.

Secuencia requeridaMóduloFlip-flops necesarios
0 a 9104
0 a 15164
0 a 39406
División por 1281287

División de frecuencia mediante contadores de rizado

La capacidad del contador asíncrono para truncar sus secuencias de salida y producir una salida divide-by-n permite utilizar los contadores, especialmente los contadores de rizado, como divisores de frecuencia.

Esta función permite reducir una frecuencia de reloj elevada a un valor más utilizable en relojes digitales y aplicaciones de temporización.

Cada flip-flop de un contador de rizado divide la frecuencia de la señal aplicada por dos. Por ello, una cadena de flip-flops puede utilizarse para obtener frecuencias mucho menores a partir de una señal de entrada de frecuencia elevada.

Para producir una señal de temporización de 1 Hz se puede utilizar una señal de frecuencia elevada y un contador de rizado de 18 bits configurado como divisor de frecuencia.

Un ejemplo de este principio consiste en utilizar una frecuencia de temporización de 262,144 kHz y un contador de rizado de 18 bits para obtener una señal de temporización de 1 Hz.

Mediante osciladores de cristal de alta frecuencia y divisores de frecuencia de varios bits pueden producirse generadores de frecuencia precisos para relojes, temporizadores de eventos, pianos electrónicos, sintetizadores y aplicaciones musicales.

CONTADOR DE RIZO

Retardo de propagación

Una de las principales desventajas de los contadores asíncronos es que existe un pequeño retardo entre la llegada del pulso de reloj a la entrada y su aparición en la salida debido a los circuitos internos de las puertas.

En los circuitos asíncronos, este retardo se denomina retardo de propagación. Por este motivo, el contador asíncrono también recibe el nombre de contador de propagación.

Cada flip-flop, como cualquier circuito digital, presenta un retardo entre el flanco activo del reloj y el cambio de su salida. Por tanto, cada pulso de reloj provoca un cambio que se propaga a través de la cadena de flip-flops.

En una cadena larga, los retardos de las etapas se suman. La diferencia temporal entre la señal de entrada y la salida contada puede llegar a ser considerable.

Las salidas del contador no mantienen una relación temporal fija entre sí y no cambian exactamente en el mismo instante, debido a la secuencia de reloj utilizada por las etapas.

Las frecuencias de salida aparecen una después de otra, como un efecto dominó. Cuantos más flip-flops se añaden a la cadena asíncrona, menor es la frecuencia máxima de funcionamiento necesaria para garantizar una cuenta correcta.

Estados transitorios y errores de cuenta

Cuando las salidas Q0 a Q3 cambian en momentos diferentes, aparecen durante un tiempo muy breve diversos estados intermedios. Estos estados no siempre representan la cuenta final correcta.

Por ejemplo, en el octavo pulso de un contador de cuatro bits, la salida debería cambiar de 1110, equivalente a 7, a 0001, equivalente a 8. Sin embargo, debido al retardo de propagación, las salidas pueden atravesar temporalmente la secuencia 0110, 0010, 0000 y finalmente 0001.

Durante el tiempo en que el valor se propaga por la cadena pueden aparecer valores lógicos inesperados en las salidas Q.

Estos valores transitorios también producen pequeños picos en las salidas. Estos picos se denominan runt spikes y, aunque no siempre alcanzan el nivel lógico 1 completo, pueden provocar disparos falsos o interferencias en otras partes del circuito.

En un contador de década, estos estados transitorios son especialmente importantes, porque el circuito debe detectar 1010 y reiniciar la secuencia. Una detección prematura puede provocar una cuenta incorrecta.

El problema de los estados intermedios impide utilizar el contador de rizado como contador fiable en determinadas aplicaciones de alta velocidad, especialmente cuando se conectan muchos flip-flops.

Ventajas y desventajas

Ventajas

  • Los contadores asíncronos pueden construirse fácilmente con flip-flops tipo T o tipo D.
  • El contador de rizado tiene una estructura sencilla y eficaz.
  • Puede utilizarse en circuitos de baja velocidad.
  • Puede implementarse como circuito divisor de frecuencia.
  • Puede configurarse como contador divide-by-n.
  • Los contadores truncados permiten producir cualquier número de módulo.
  • Se pueden construir contadores módulo 3, módulo 4, módulo 8, módulo 10, módulo 14 y otros valores.
  • Puede utilizarse en aplicaciones de baja emisión de ruido y bajo consumo.
  • Puede utilizarse para diseñar contadores de década asíncronos.

Desventajas

  • Puede ser necesario añadir un flip-flop de salida para resincronización.
  • Para contar una secuencia truncada que no sea igual a 2n, se necesita lógica de realimentación adicional.
  • Al contar un número elevado de bits, el retardo de propagación entre etapas puede resultar demasiado grande.
  • Los errores de cuenta pueden aparecer cuando la frecuencia de reloj es elevada.
  • El efecto de rizado se vuelve más problemático a medida que aumenta la longitud de la cadena.
  • Las salidas no cambian al mismo tiempo.
  • Los estados intermedios pueden generar picos transitorios y disparos falsos.
  • Los contadores síncronos son más rápidos y fiables porque utilizan la misma señal de reloj para todos los flip-flops.

Contadores síncronos frente a contadores de rizado

Para evitar el retardo propio de un contador de rizado, todos los flip-flops deben actualizarse al mismo tiempo. Esto exige que todos utilicen la misma señal de reloj.

En un contador síncrono, los pulsos de reloj se aplican a todos los flip-flops en paralelo y exactamente al mismo tiempo. De esta forma se elimina el problema del rizado de reloj.

Los contadores síncronos utilizan flip-flops JK, porque sus entradas J y K programables permiten habilitar o impedir la conmutación de cada etapa en diferentes puntos de la secuencia.

En el primer flip-flop, las entradas J y K se conectan permanentemente al nivel lógico 1, por lo que Q0 cambia de estado en cada pulso de reloj.

En el segundo flip-flop, J1 y K1 se conectan a Q0, de modo que FF1 solo entra en modo de conmutación cuando Q0 también está en 1.

Para añadir una tercera etapa, se utiliza una puerta AND que garantiza que J2 y K2 estén en 1 únicamente cuando Q0 y Q1 sean simultáneamente 1.

En un contador síncrono de cuatro etapas, FF3 entra en modo de conmutación cuando Q0, Q1 y Q2 están todos en 1. Por ello, Q3 no pasa a nivel alto hasta el octavo pulso y permanece alto hasta el decimosexto pulso.

Después del decimosexto pulso, todas las salidas Q vuelven a cero. Para que el contador síncrono funcione correctamente, las entradas PR y CLR deben mantenerse en su estado inactivo, que es el nivel lógico 1.

Funciones de control

Los circuitos integrados contadores pueden incluir entradas y salidas adicionales para aumentar su versatilidad. Entre las funciones habituales se encuentran la habilitación, el borrado, la carga previa y el control ascendente o descendente.

Las entradas de habilitación pueden recibir nombres como Chip Enable, Count Enable u Output Enable, según el circuito integrado.

La entrada Count Enable puede ser activa en nivel bajo. Cuando se encuentra en 1, impide que la cuenta avance aunque lleguen pulsos de reloj; cuando está en 0, la cuenta continúa normalmente.

Una forma de deshabilitar el contador conservando los datos presentes en las salidas Q consiste en inhibir la conmutación de los flip-flops JK mientras la entrada de habilitación está inactiva.

Las entradas no utilizadas deben conectarse permanentemente a su estado lógico inactivo. Dejar entradas sin conectar no es una práctica adecuada, especialmente en circuitos CMOS, porque pueden flotar entre estados lógicos y activarse debido al ruido.

Aplicaciones de los contadores de rizado

  • División de frecuencia.
  • Contadores divide-by-n.
  • Contadores truncados.
  • Contadores módulo N.
  • Contadores de década.
  • Contadores BCD.
  • Relojes digitales.
  • Temporizadores.
  • Generadores de señales de temporización.
  • Máquinas de estados implementadas mediante hardware.
  • Contadores de baja velocidad.
  • Aplicaciones de bajo consumo.
  • Aplicaciones de baja emisión de ruido.
  • Contadores ascendentes y descendentes.
  • Contadores de rizado ascendente y descendente.
  • Contadores de anillo y contadores Johnson.

Los contadores asíncronos se utilizan como divisores de frecuencia y como contadores divide-by-N. También se emplean en contadores de rizado módulo N, como los contadores módulo 3, módulo 4, módulo 8, módulo 10 y módulo 14.

tags: #contador #de #rizado #para #crear #una