Ultima edición el 16 septiembre, 2021 por JORGE CABRERA BERRÍOS
El contador es un circuito electrónico que se utiliza para contar el número de veces que ocurre un evento. En la electrónica digital, los contadores se construyen utilizando una serie de flip-flops . Aunque cualquier flip-flop puede conectarse adecuadamente para formar un contador, los más utilizados son los flip-flops D y JK (Figura 1).
Como se sabe, los flip-flops son dispositivos de dos estados, lo que significa que tienen dos estados, cero (0) o uno (1). Por lo tanto, un solo flip-flop puede rastrear una cuenta de dos, es decir, cuenta de 0 a 1 y, por lo tanto, se llama contador módulo-2 (mod-2).
Por los mismos motivos, se puede esperar que dos flip-flops conectados en serie formen un contador de 2 bits que cuente de 0 a 3 que comprende 4 estados y, por lo tanto, se puede denominar contador mod-4. Generalizando, se obtiene un contador de n bits o mod-n de 2 n estados contando de 0 a (2 n -1) mediante la cascada de n flip-flops. Sin embargo, para comportarse como contadores, los flip-flops deben ser impulsados por alto (estado lógico 1) en sus entradas, tanto en el caso de D como de los tipos JK. La razón detrás de esto puede entenderse por las tablas de verdad dadas por la Tabla I.
Considerando el flip-flop D , se puede ver que la salida cambia solo cuando la entrada es alta. De manera similar, para JK, el estado de salida del flip-flop permanece sin cambios (para J = K = 0) o fijo a un valor particular (0 para J = 0 y K = 1; 1 para J = 1 y K = 0) para todos los casos esperados. cuando ambos están colocados. En los contadores se espera que el estado cambie y no permanezca atado a un valor particular. Por lo tanto, cuando se activa ‘1’ en las entradas de estos flip-flops, actúan como contadores de 1 bit (Figura 2).
Las características del contador están determinadas por el modo de interconexión entre los flip-flops. Los contadores pueden ser
- Asincrónico o síncrono,
- Contadores ascendentes o descendentes y / o
- Flanco positivo o negativo activado según la conexión proporcionada en la entrada de reloj de los flip-flops. El comportamiento de un contador se puede explicar en términos de diagrama de tiempo (formas de onda), tabla de verdad y / o diagramas de estado.
La Figura 3 muestra un contador ascendente asíncrono de 3 bits formado por la conexión en cascada de tres flip-flops D activados por borde positivo. Aquí todas las entradas (D 0 , D 1 y D 2 ) se hacen altas. La entrada de reloj del flip-flop 1 (FF1) es impulsada por pulsos de reloj externos, mientras que los del segundo y tercero (FF2 y FF3) son controlados respectivamente. Aquí el funcionamiento de FF1 depende del tren de pulsos de reloj externo, mientras que los de FF2 y FF3 dependen de
. Esto está de acuerdo con el hecho de que el funcionamiento de los flip-flops depende de la entrada del reloj.
Supongamos que el estado inicial del contador es Q 2 Q 1 Q 0= 111, solo por entender el funcionamiento del contador. En este caso, para el primer pulso de reloj Q, el bit 0 cambia de 1 a 0. Esto implica que el bit cambia de 0 a 1, lo que además actúa como un pulso de reloj positivo para FF2 (indicado por la flecha roja en la Figura 4), cambiando su bit de salida Q 1 de 1 a 0. Esto a su vez alterna el bit Q 2 de 1 a 0, ya que es activado por la transición del
bit de 0 a 1. Por lo tanto, para el primer pulso de reloj, la salida del contador será 000.
Entonces para el borde anterior del segundo pulso de reloj Q 0 vuelve a cambiar de 0 a 1, lo que implicaEl bit cambia de 1 a 0. Esto actúa como un borde de salida y, por lo tanto, no hay cambio en el estado de FF2, lo que hace que Q 1 permanezca en 0. Debido al estado sin cambios de FF1, el estado de FF3 también permanece igual que produce Q 1 = Q 2 = 0. Por lo tanto, tenemos 001 como la salida del contador. Siguiendo por los mismos motivos, se puede ver que para el tercer pulso de reloj Q 0 = 0 y
= 1. Por lo tanto, se pueden notar transiciones de estado en FF2 que dan como resultado Q 1 = 1 y
= 0. Sin embargo, la salida del FF3 permanece baja ya que no hay una transición positiva de la señal en su pin clk. Esto da como resultado la salida del contador como 011. El comportamiento de los flip-flops en el pulso de reloj 4 es análogo al del pulso de reloj 2, excepto que el estado de los bits de salida es 100 para este caso. En el quinto pulso de reloj, Q 0 = 0 (por lo tanto
= 1); Q 1 = 0 (por tanto
= 1). La transición de
0 a 1 activa FF3 para cambiar su estado de 0 a 1, lo que da como resultado 101 en la salida del contador. Para pulsos de reloj adicionales, la salida del contador se puede obtener sobre la misma base. Sin embargo, después del octavo pulso de reloj, la secuencia se repite como se muestra en el diagrama de estado de la Figura 5 y la tabla de verdad proporcionada por la Tabla II.
En general, vemos que para un contador de n bits que se parece al de la Figura 3, el bit más bajo (LSB) = 2 o cambia para cada ciclo de reloj, mientras que los siguientes bits más altos cambian solo cuando sus bits anteriores cambian su estado de 1 a 0. Por ejemplo, el bit Q 2 en el contador ascendente de 3 bits cambia su estado solo cuando el bit Q 1 cambia de 1 a 0 (que no es más que cambiar de 0 a 1 en la Figura 4). Esto puede verse como si una onda se propagara a través de la disposición de los flip-flops y, por lo tanto, los contadores se denominan contadores de ondas . Además, aquí no todos los flip-flops se activarán simultáneamente. Por lo tanto, son de naturaleza asincrónica.
El efecto dominó de los contadores asíncronos plantea un problema cuando los retrasos de propagación están asociados con los flip-flops. Para superar esto, los contadores están diseñados de manera que las entradas de reloj de todos los flip-flops que forman el contador sean controladas por el mismo tren de pulsos de reloj de entrada. Estos se conocen como contadores síncronos (Figura 6). Esto hace que todos los flip-flops cambien su estado simultáneamente eliminando el retraso encontrado en el caso de contadores asíncronos.
En la Figura 6, se ve que todas las entradas del flip-flop no se manejan en alto como en el caso del contador asíncrono (Figura 3). Para contadores síncronos, conexiones a los pines de entrada de los flip-flops (D 0 de FF1, D 1 de FF2 y D 2de FF3) se deciden en función de la secuencia de estados esperada por el contador. Como el contador que se muestra en la Figura x es análogo a su contraparte que se muestra en la Figura 3, el número de estados y la transición entre los estados sigue siendo el mismo. Por tanto, el diagrama de estados y la tabla de verdad permanecen inalterados. Por lo tanto, se puede llegar a la unidad para los bits de entrada analizando la Tabla II para encontrar las condiciones requeridas para que los bits de salida se alternen.
Como es evidente en la tabla, se requiere que el bit Q 0 cambie para cada transición de flanco positivo en el pulso de reloj de entrada. Por lo tanto, el pin de entrada D 0 debe ser elevado. Sin embargo, el bit Q 1 necesita transitar solo cuando el bit Q 0es 1, indicado por flechas azules en la Tabla II. Esto se puede lograr conectando Q 0 como entrada a FF2. Además, también se observa que Q 2 tiene que cambiar su estado solo si Q 1 y Q 0 son altos, como se muestra mediante flechas verdes en la Tabla II. Para lograr esta condición, es necesario hacer uso de dos puertas AND de entrada impulsadas por los bits Q 0 y Q 1 . Esto se debe al hecho de que la salida de la puerta AND es alta solo cuando todas sus entradas son altas. Ahora el contador que se muestra en la Figura 6 funciona como un contador ascendente que cuenta de 0 a 7 incrementándose en uno para cada pulso de reloj de entrada.
En general, en un contador ascendente síncrono de n bits, el LSB debe alternar para cada transición de flanco positivo en el pulso de reloj de entrada; el siguiente bit superior necesita cambiar su estado solo cuando su bit anterior (= LSB) es alto; el siguiente bit superior tiene que transitar solo si sus dos bits anteriores son altos, etc. Por lo tanto, en el caso del contador síncrono, los flip-flops cambian de estado solo cuando las salidas de todos los flip-flops anteriores son altas. Para lograr esto, uno tiene que conectar la salida de las puertas AND para impulsar los pines de entrada de cada flip-flop. Además, en cada etapa, se requieren estas puertas AND para lógicamente ‘y’ los bits de salida de todos los flip-flops anteriores .
El funcionamiento de los contadores regresivos es casi similar al de los contadores ascendentes, excepto por el hecho de que la secuencia de conteo será de mayor a menor decremento en uno por cada pulso de reloj. o ejemplo, el contador regresivo de 3 bits cuenta de 7 (111) a 0 (000) y no de 0 a 7. Por lo tanto, en el caso de un contador asíncrono, se debe considerar la transición de los bits de salida de 0 a 1 en lugar de 1 a 0 Análogamente, en el caso de contadores síncronos, las puertas Y se utilizarán para los bits lógicos «y» en lugar de los bits Q.
Además de los contadores ascendentes y descendentes básicos, también existen otros tipos especiales de contadores como el Contador de anillo , el Contador de Johnson , el Contador de décadas , el contador Mod-N, etc. Además, ligeras modificaciones al diseño del mostrador propuesto producirían variaciones como
- Agregar una línea de control para seleccionar las pistas de conteo ascendente o descendente para realizar un contador ascendente / descendente,
- El uso de pines claros y preestablecidos de los flip-flops permite establecer el estado inicial del contador
- La adición de lógica adecuada conduce a romper la secuencia de conteo antes de que hayan transcurrido 2 n estados, es decir, se puede hacer que un contador de 3 bits cuente solo hasta 5 y se puede hacer que repita la secuencia (contador Mod-6). Sin embargo, debe tenerse en cuenta que, aunque el diseño de cada uno de ellos difiere en cierta medida, el principio básico de funcionamiento detrás de todos ellos sigue siendo el mismo.