¿Se ocupa de los circuitos digitales y su velocidad de conmutación asociada?

3

Al diseñar un circuito de conteo digital de un minuto, encontré un problema difícil.

Básicamente, diseñé el circuito para controlar el reloj (normalmente ALTO) de la ranura 10s baja si el estado actual de la ranura 1s era 9 (en realidad, solo si los primeros y últimos bits son ALTOS - > 1001)

Los dispositivos que estoy usando son de borde positivo, por lo que cuando la ranura 1s vuelve a cero, la condición ya no se cumple, por lo que el reloj vuelve a un estado ALTO e incrementa la ranura 10s.

El problema es que estaba teniendo problemas con el doble reloj (7 y > 8 transición y el mecanismo del reloj diseñado).

Resulta que hubo un retraso suficiente en el cambio entre 7 - > 8 (0111 - > 1000) que se cumple la condición ALTA del primer / último bit:

es decir, se produce alguna combinación en el período de transición para registrar un ALTO lógico en la salida

1001 1011 1101 1111

La solución temporal al problema que se me ocurrió fue mantener el reloj para la ranura 10s BAJA hasta que se cumpla la condición en la que la ranura 1s es igual a 0 (0000) (Entonces, esencialmente el reloj CUANDO llegamos al estado como opuesto a antes). Sin embargo, esta solución requiere demasiadas puertas (un mínimo de 4 entradas NOR). Mi diseño anterior en realidad se alimentó de otra parte del diseño que ya está presente, por lo que no requirió ningún circuito adicional.

¿Alguna idea sobre una solución más eficiente?

Los IC utilizados en este diseño son el 74LS47 (decodificador de 7 segmentos) y el 74LS163 (contador binario de 4 bits). La inclusión de la resistencia desplegable es un mecanismo para configurar los contadores en 00 y mantenerlos mientras el interruptor está cerrado.

    
pregunta sherrellbc

3 respuestas

4

El '163 es un contador sincrónico (con reinicio sincrónico), por lo que no hay absolutamente ninguna excusa para intentar usarlo con un reloj de estilo "ripple".

En cambio, debes tener las entradas de reloj de ambos contadores conectados a la fuente de tu reloj, y debes usar las entradas "Habilitar P" y "Habilitar T" para controlar cuándo avanza el segundo contador.

    
respondido por el Dave Tweed
1

Si tiene problemas con la velocidad de conmutación en un circuito de conmutación lenta, la solución más sencilla es reducirla. Yo sugeriría usar su idea original, pero agregue un filtro de paso bajo RC serie (serie R, luego desvíe C a GND) justo antes del pin de entrada del reloj con una constante de tiempo (R veces C) del orden de un milisegundo aproximadamente. Esto debería filtrar todos los pulsos runt muy cortos que se están generando. Si eso no funciona, aumente la constante de tiempo a 10 ms o incluso a 100 ms. Sin embargo, demasiado alto y habrá un retraso notable.

    
respondido por el alex.forencich
1

De la forma en que lo veo, te estás causando problemas al usar varios dominios de reloj y, lo que es peor, derivar un reloj de los datos. El problema con los datos es que tiene que resolver. Es por eso que tenemos relojes separados. Un circuito combinatorio que evalúa algunas variables y luego impulsa un reloj provoca problemas.

En segundo lugar, si vas a manipularlo, al menos hazlo bien. No puede detectar un 9 observando que el primer y último bit de cuatro bits son 1. Si desea una señal que se dispara cuando hay un 9, debe evaluar los cuatro bits seriamente y disparar esa señal solo cuando son 1001.

No hay razón para no diseñar esto de tal manera que se distribuya un solo reloj a todos los chips. Entonces es cuestión de hacer funcionar el reloj lo suficientemente lento para que todas las entradas y salidas se establezcan antes de que llegue cada borde.

Lee la hoja de datos. El indicador de TI dice claramente "El circuito de acarreo anticipado proporciona aplicaciones síncronas de n bits sin compuerta adicional. Para cumplir esta función, son instrumentales dos entradas de habilitación de conteo y una salida de acarreo de ondulación. Ambas entradas de habilitación de conteo P y T debe ser alto para contar [...] ".

Parece que estos chips están diseñados para conectarse fácilmente. Puede evitar que el dígito superior cuente en el siguiente borde del reloj anulando las entradas de habilitación de conteo. Cuando el dígito inferior es nueve, su circuito puede permitir que el chip del dígito superior cuente, y también configurar el dígito inferior para realizar un reinicio síncrono.

Cuando llega el siguiente borde del reloj (a todos los chips), el dígito superior cuenta hacia arriba y el otro se pone a cero.

    
respondido por el Kaz

Lea otras preguntas en las etiquetas