Tiene un problema al conectar dos contadores sincrónicos de 4 bits hacia arriba hacia abajo

1

Es un circuito de semáforo que diseñé en Multisim . Usé 2 74LS191 contadores, 2 74LS47 decodificadores, 2 pantallas de siete segmentos, un temporizador 555 y un flip-flop JK como ves.

Debería contar desde 29 hasta 00, luego las luces se apagan y el mismo proceso se repite nuevamente.

El problema que tengo es que el contador inferior, que se encarga de mostrar los números en la pantalla de la izquierda, dice así 0 - > 2 - > 1 - > 0 en lugar de comenzar desde 2 cuando ejecuto la simulación por primera vez, pero después de que finaliza el primer ciclo, funciona correctamente. Creo que el problema es de las conexiones o de Multisim, pero realmente no puedo determinar la causa. ¿Puedes ayudarme, por favor?

    
pregunta Supa hot Fire

2 respuestas

1

Estaría de acuerdo con Trevor en que necesita un circuito de reinicio externo. Hace varios años, estaba diseñando un circuito basado en LS191, para descubrir que su salida de TC y RCO son difíciles de usar.

En general, no puede usarlos como reinicio, y tienen aplicaciones limitadas que no son contadores en cascada.

Busque en esta hoja de datos de TI en la página 5. Tiene un diagrama de tiempo, y usted puede ver que en el RCO inferior se activa cuando el valor del contador es 9. lo más probable es que esa sea la razón por la cual el contador superior se reinicie, y por eso el contador inferior no lo hace. Apuesto a que si configuras el contador inferior en 9 en sus entradas, también comenzará con 9, no con 0. Demuéstreme que estoy equivocado :)

Actualización: el circuito de reinicio es simple: como Trevor dijo que usa dos compuertas AND de repuesto que conectan sus salidas a las entradas de CARGA del LS191, que conectan una de sus entradas al RCO respectivo y que conectan las segundas entradas al circuito de resistencia-capacitor como < a href="http://www.st.com/content/ccc/resource/technical/document/application_note/7b/73/6a/eb/55/15/26/CD00003839.pdf/files/CD00003839. pdf / jcr: content / translations / en.CD00003839.pdf "> this . Por lo tanto, en el encendido, mientras el condensador no está cargado, habrá algún tiempo hasta que se cargue al voltaje suficiente para disparar 1 en las entradas de las puertas Y, y luego estas puertas continuarán funcionando bajo el nivel de RCO. La carga LS191 ocurrirá en algún lugar al final del "período de carga" del condensador.

Actualización 1: actualicé WhatRoughBeast por mencionar el requisito de la acción de activación de Schmitt entre el circuito RC y la entrada de la puerta AND. Si bien el circuito puede comportarse correctamente en la simulación, en la vida real puede experimentar fallas y errores.

He comprobado el artículo de STMicroelectronics al que me he referido anteriormente, y ST6 MCU apunta a tiene el gatillo Schmitt en su entrada de reinicio (página 25) . Parece que las puertas Y con chip con disparadores Schmitt en sus entradas no existen; por lo tanto, la forma más simple / más barata (pero puede que no sea la más óptima) es utilizar LS14 (tiene 6 inversores, mientras que solo necesita dos encadenados). Una forma más óptima, diría que una forma más avanzada, es utilizar un tipo de supervisor de reinicio, por ejemplo. TLC7705 . Una buena señal de reinicio, generada por este chip, puede usarse de manera confiable en cualquier parte de su circuito.

    
respondido por el Anonymous
2

Con el debido respeto, ha perdido el punto de los contadores síncronos y la lógica síncrona en general. Esto se muestra en su uso del RCO del contador superior para impulsar el reloj del inferior. Por supuesto, usar el 191 para el propósito que deseas va a ser un desafío de todos modos, debido al reinicio asíncrono.

De hecho, no hay ninguna razón para pensar que su circuito funciona como usted espera. Cuando el contador superior llega a cero, se cargará instantáneamente a 9 y forzará una cuenta en el contador inferior. Así que contará 29,28,27,26,25,24,23,22,21, (20), 19,18, etc., con el recuento entre paréntesis solo un parpadeo. No solo eso, sino que la salida de RCO será propensa a los impulsos espurios espurios en los bordes del reloj, ya que el sesgo de propagación interna causa una decodificación incorrecta de las salidas.

En general, hacer un circuito de reinicio de encendido es quizás un poco (solo un poco) más complicado de lo que se ha sugerido. Esto se debe a que necesita un disparador Schmitt en la red RC: una constante de tiempo grande producirá una transición lenta a través del umbral lógico y entonces existe la posibilidad de una señal de encendido ruidosa, y eso puede tener efectos inesperados.

Finalmente, no recomendaría el uso de un contador binario durante una década de trabajo, o al menos no uno con una función de carga asíncrona. Es mejor que utilice un contador totalmente síncrono, como el 74LS169.

Por lo tanto, recomendaría los siguientes cambios a tu circuito, asumiendo que debes usar el 191

simular este circuito : esquema creado usando CircuitLab

En este circuito, todos los inversores son activadores Schmitt, como el 74LS14. Notarás que el TCO de la primera etapa se conecta a CTEN de la segunda y hay un reloj común. Además, cada TCO va a un flip-flop que generará un breve pulso de carga (aproximadamente 100 usec), que se combina con el reinicio de encendido generado por el circuito RCD a la izquierda.

Este es un circuito realmente klugey, y se puede simplificar enormemente usando 74169s, de la siguiente manera

simular este circuito

Notarás cuanto más simple es esto. Sin embargo, debes tener cuidado con una cosa. Como la función de carga es sincrónica, el reinicio de encendido debe ser lo suficientemente largo como para garantizar que se produzca al menos un borde de reloj mientras el reinicio está activo (bajo). Si no lo haces, el reinicio no funcionará de manera confiable.

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas