Contador Asíncrono Programable de 2 Bits con Flip-Flops JK
Contador Asíncrono Programable de 2 Bits con Flip-Flops JK
Introducción
Los contadores son uno de los bloques fundamentales de los sistemas digitales. Están presentes en relojes digitales, temporizadores, sistemas de control, divisores de frecuencia, secuenciadores y máquinas de estados.
En esta práctica se implementa un contador asíncrono de 2 bits utilizando un circuito integrado 74LS107, el cual contiene dos Flip-Flops JK disparados por flanco.
A diferencia de un contador implementado mediante programación en un microcontrolador o FPGA, este circuito realiza el conteo exclusivamente mediante conexiones físicas entre los Flip-Flops, permitiendo comprender claramente el funcionamiento interno de los circuitos secuenciales.
Objetivos
Al finalizar esta práctica el estudiante será capaz de:
- Comprender el funcionamiento de un contador asíncrono.
- Analizar el comportamiento de un Flip-Flop JK.
- Observar la división de frecuencia producida por cada etapa.
- Programar el sentido del conteo modificando únicamente conexiones físicas del circuito.
- Comparar posteriormente este mismo contador con su implementación en VHDL.
Fundamento Teórico
Un Flip-Flop JK constituye una mejora del Flip-Flop SR, eliminando la condición prohibida presente en este último.
Cuando ambas entradas se mantienen en nivel lógico alto
el Flip-Flop cambia de estado cada vez que recibe un flanco activo del reloj.
Su tabla de funcionamiento es la siguiente:
| J | K | Acción |
|---|---|---|
| 0 | 0 | Mantiene el estado anterior |
| 0 | 1 | Reset |
| 1 | 0 | Set |
| 1 | 1 | Conmuta (Toggle) |
Como ambos Flip-Flops trabajan permanentemente con
cada pulso de reloj hace que cambien de estado.
Este modo de funcionamiento convierte al Flip-Flop JK en un excelente divisor de frecuencia.
Principio de Funcionamiento
El primer Flip-Flop recibe directamente la señal de reloj proveniente del módulo Clock 555 desarrollado en la práctica anterior.
Cada pulso provoca un cambio de estado en la salida A.
Como consecuencia,
- la frecuencia de A es igual a la mitad de la frecuencia del reloj.
La salida del primer Flip-Flop alimenta posteriormente el reloj del segundo Flip-Flop.
Por tanto,
El resultado es un contador binario de dos bits.
¿Por qué se llama contador asíncrono?
Se denomina asíncrono porque únicamente el primer Flip-Flop recibe directamente la señal de reloj.
Los Flip-Flops restantes son activados por la salida del Flip-Flop anterior.
Esto provoca un pequeño retardo de propagación entre cada etapa, fenómeno conocido como Ripple Counter.
Aunque este retardo es prácticamente despreciable a bajas frecuencias, aumenta con el número de etapas y limita la velocidad máxima de funcionamiento.
Programación del Contador Mediante Hardware
Una característica muy interesante de este módulo consiste en que el estudiante puede programar el sentido del conteo simplemente soldando una pista u otra durante el montaje del PCB.
En la placa se dispone de dos posibles conexiones para alimentar el reloj del segundo Flip-Flop:
- salida Q
- salida
Dependiendo de cuál de ellas se conecte mediante soldadura, el contador cambiará automáticamente su secuencia de conteo.
No es necesario modificar ningún componente ni escribir ningún programa.
La programación queda determinada únicamente por la conexión física realizada sobre la tarjeta.
Esta técnica constituye una forma sencilla de introducir el concepto de hardware configurable, fundamento utilizado posteriormente por dispositivos CPLD y FPGA.
Conteo Ascendente
Cuando el reloj del segundo Flip-Flop se obtiene desde una determinada salida del primero (según el tipo de disparo del Flip-Flop utilizado), el contador genera la secuencia:
| Decimal | B A |
|---|---|
| 0 | 00 |
| 1 | 01 |
| 2 | 10 |
| 3 | 11 |
Conteo Descendente
Si durante el montaje se selecciona la otra pista disponible en el PCB, el contador invierte automáticamente el orden de la secuencia.
| Decimal | B A |
|---|---|
| 3 | 11 |
| 2 | 10 |
| 1 | 01 |
| 0 | 00 |
El estudiante podrá comprobar experimentalmente que únicamente modificando la conexión del reloj cambia completamente el comportamiento del circuito.
Diseño Modular del PCB
El PCB fue diseñado siguiendo la filosofía modular adoptada para toda la asignatura.
Dispone de conectores para:
- +5 V
- GND
- Clock
- Salidas A y B
- Salidas complementarias y
Gracias a ello podrá conectarse directamente con los módulos desarrollados posteriormente, como registros de desplazamiento, secuenciadores, decodificadores y máquinas de estados.
Simulación
Antes del montaje físico, el estudiante deberá comprobar el funcionamiento del contador mediante simulación en Proteus.
Durante la simulación se recomienda:
- observar las señales del reloj;
- verificar la división de frecuencia de cada Flip-Flop;
- comparar el conteo ascendente y descendente modificando la conexión correspondiente;
- analizar las formas de onda obtenidas.
En una etapa posterior de la asignatura, este mismo contador será implementado en VHDL, permitiendo comparar el diseño mediante lógica discreta con su equivalente en hardware programable (FPGA virtual).
Resultados Esperados
Al finalizar la práctica, el estudiante habrá construido un contador asíncrono completamente funcional capaz de contar en ambos sentidos mediante una sencilla configuración del PCB. Además, comprenderá que la "programación" de un sistema digital no siempre implica escribir código: en muchos casos, el comportamiento del circuito queda definido por la forma en que se interconectan sus componentes. Este concepto servirá como base para entender posteriormente la filosofía de diseño utilizada en los dispositivos lógicos programables.
Versión Configurada para Conteo Progresivo
Además del módulo programable presentado anteriormente, se dispone de una segunda versión del PCB, la cual ha sido diseñada específicamente para trabajar como contador progresivo (ascendente).
En esta versión, la configuración del sentido de conteo ya ha sido realizada durante el diseño de la placa, eliminando la necesidad de seleccionar mediante soldadura las pistas de programación. Esto permite que el estudiante disponga de un módulo listo para utilizar desde el primer momento, facilitando el desarrollo de las prácticas posteriores.
Esta decisión responde principalmente a dos objetivos:
- Simplificar el montaje para aquellos estudiantes que únicamente requieren un contador binario convencional.
- Estandarizar los módulos que serán reutilizados durante el resto de la asignatura en proyectos de mayor complejidad.
La mayoría de las aplicaciones desarrolladas posteriormente, como secuenciadores, máquinas de estados, juegos de luces, semáforos y cronómetros, utilizan contadores ascendentes. Por este motivo, disponer de un módulo dedicado evita configuraciones adicionales y agiliza el trabajo de laboratorio.
La figura siguiente muestra la versión definitiva del módulo, preparada para funcionar como contador progresivo de dos bits.
Ventajas del módulo fijo
- Menor tiempo de montaje.
- Mayor confiabilidad al eliminar la posibilidad de una configuración incorrecta.
- Compatibilidad directa con las prácticas posteriores.
- Reutilización del mismo módulo en diferentes proyectos del curso.
- Posibilidad de interconectarlo fácilmente con los módulos de reloj, registros de desplazamiento, decodificadores y máquinas de estados.
Se recomienda que el estudiante construya inicialmente esta versión, ya que esta permite apreciar el funcionamiento del contador con mayor simplicidad, ademas de que, la utilización del módulo configurado para conteo progresivo resulta más práctica para el desarrollo de los proyectos posteriores.
Comentarios
Publicar un comentario