J / K to D type flip flop comportamiento extraño

3

Como estudiante, me asignaron una de mis tareas para diseñar un sistema de semáforos usando flip flops tipo D, simularlo en Proteus y luego construirlo en el tablero de pruebas. Esto fue bastante simple, y después de media hora, el proceso se completó y mi circuito estaba funcionando.

simular este circuito : esquema creado usando CircuitLab

En este caso, los Flip Flops eran de tipo D, no de T! (El editor de esquemas no tenía un tipo D con salida Q y Q invertida). Obtuve la salida requerida, que era hacer que los semáforos siguieran el siguiente orden: R - R / A - G - A - R donde R = ROJO, A = ÁMBAR, G = VERDE, R / A = ROJO y ÁMBAR

La siguiente tarea también parece ser muy simple. Era para hacer lo mismo, pero en su lugar, usar chanclas J / K. Que yo sepa, para convertir un flip-flop J / K en un tipo D, coloca un inversor entre los pines J y K:

De nuevo, parece bastante simple. Construí el circuito en Proteus, y el circuito funcionó bien. Se hizo exactamente como lo había pedido. Luego lo construí en una placa de pruebas, y no funcionó correctamente. Las luces se fueron en el orden equivocado. Fue R - A - G - R / A - R. Así que la combinación RED / AMBER estaba en el lugar equivocado.

Cambié mi simulación de proteus para usar el 74LS76 (el IC que nos dieron) y para mi sorpresa, la simulación comenzó a funcionar como mi circuito práctico, con los LED en el orden incorrecto (originalmente estaba usando un J / K genérico). en Proteus). La única diferencia entre el 2 fue que el 74LS76 tiene una entrada de reloj invertida, por lo que hice una nueva simulación con un inversor en la entrada de reloj del J / K genérico y compartí la línea del reloj con el 74LS76 y cuando ejecuto la simulación, ambos voltean Los fracasos actuaron exactamente igual. Entonces, ¿por qué estarían actuando de manera diferente cuando se ponen en el circuito completo? ¡He estado tratando de resolverlo durante la mayor parte de una hora ahora y no tengo idea!

    
pregunta MCG

1 respuesta

4

Tu problema básico es que estás haciendo esto de manera incorrecta.

La tarea es realmente diseñar una máquina de estados para implementar los diferentes estados de los semáforos y moverse entre ellos en la secuencia correcta. Para una máquina de estados, todos los flip flops deben estar sincronizados con la misma señal, y las entradas de flip flop deben configurarse de modo que el sistema pase del estado actual al siguiente cuando llegue el borde del reloj.

Pero en su lugar, ha conectado la salida / Q de una a la CLK de la otra, que es algo que podría salirse con la suya en algunas situaciones pero no en otras, en parte porque habrá un corto período de tiempo cuando el sistema pueda pasar por una especie de estado intermedio incorrecto en su camino hacia el correcto.

Entonces, más bien perdió el punto de usar flip-flops J-K en lugar de tipos D, simplemente tratando de convertirlos en tipos D usando un inversor. Las chanclas de J-K te brindan mucha más capacidad para controlar la salida, y supongo que el objetivo del ejercicio es hacer que entiendas esto completamente y aprendas a usarlas.

También el 74LS76 es un dispositivo maestro-esclavo. Como se indica en la hoja de datos :

  

La entrada J-K se carga en el maestro mientras el reloj está alto y   transferido al esclavo en la transición de alto a bajo. Para éstos   dispositivos las entradas J y K deben estar estables mientras el reloj está alto.

Por lo tanto, no se pueden convertir exactamente en flip flops tipo D con un inversor de todos modos.

    
respondido por el Finbarr

Lea otras preguntas en las etiquetas