¿Cómo eliminar el estado prohibido en un pestillo SR?

Me gustaría un pestillo donde la salida solo cambie cuando ambas entradas hayan cambiado. Si solo ha cambiado una entrada, la salida del latch debe permanecer constante.

Aquí está la tabla de estado que quiero:

S R | Qnext
----+------
0 0 |   Q
0 1 |   0
1 0 |   1
1 1 |   Q

Lo anterior se parece a un pestillo SR estándar, excepto que el estado prohibido (1, 1) se reemplaza por un estado de espera.

¿Cómo puedo diseñar el pestillo anterior? Podría agregar algo de lógica para convertir las entradas (1, 1) a (0, 0) (por ejemplo, S' = S(~R), R' = R(~S)), pero me preocupan las fallas.

Antecedentes/motivación :

Tengo un interruptor bipolar de un solo tiro (DPST) (uno normalmente abierto, otro normalmente cerrado). Supuse que cuando se activa el interruptor, el poste que se cierra rebotaría mientras que el poste que se abre no lo haría. Si esta suposición hubiera sido correcta, habría podido hacer rebotar el interruptor con el pestillo anterior.

Si mi suposición hubiera sido correcta, entonces el principal desafío habría sido el hecho de que los dos polos son picantes: el polo n. ° 1 podría cambiar antes o después de que cambie el polo n. ° 2. Esto significaría que durante una transición los polos podrían estar en cualquier estado: (0,0), (0,1), (1,0) o (1,1). Pero habría una propiedad en la que podría confiar: una vez que el cambio pasara de (0,1) a (1,0) (o viceversa), no se recuperaría. Esta propiedad habría permitido que el pestillo anterior hiciera rebotar el interruptor.

Su definición de pestillo no aborda el problema. Si el cambio es tan impredecible como usted dice, las cuatro combinaciones de entrada podrían ocurrir durante el período de rebote. Deberá definir un intervalo de tiempo que comience en la primera transición en cualquiera de las entradas y luego declarar el nuevo estado al final del intervalo.
Primero, parece que el interruptor es realmente DPDT. En segundo lugar, parece que está tratando de detectar la posición final de un interruptor que tiene dos posiciones. Recomiendo usar el interruptor como un SPST y eliminar el rebote de esa señal.
@DaveTweed: Sí, las cuatro combinaciones de entrada pueden ocurrir antes de que se establezca el interruptor. Sin embargo, debido a que un polo normalmente está abierto y el otro normalmente está cerrado, existe una restricción temporal. Suponga que el interruptor está en el estado (0,1). Cuando se alterna el interruptor, puede saltar entre los estados (0,1), (1,1) y (0,0) antes de presionar (1,0). Sin embargo, una vez que el interruptor golpea (1,0), no puede volver a (0,1). Lo mismo ocurre con el caso contrario. Creo que esto significa que el pestillo que describí se puede usar para hacer que el interruptor rebote.
@DaveTweed: Supongo que un poste solo rebota cuando se hace contacto, que se abre limpiamente. Tal vez esa es una suposición defectuosa; si es así, este interruptor no se puede bloquear con un pestillo. Pero todavía tengo curiosidad por saber cómo construir el pestillo descrito.
@MichaelPruitt: El interruptor es un DPST, con un polo normalmente abierto y el otro polo normalmente cerrado. Tiene cuatro terminales. Cuando el interruptor está en la posición de apagado, las terminales A y B no están conectadas y las terminales C y D están conectadas---(0,1). Cuando el interruptor está en la posición de encendido, las terminales A y B están conectadas y las terminales C y D no están conectadas---(1,0). El interruptor tiene dos posiciones---encendido y apagado---pero hay cuatro posibles estados polares: Cuando el interruptor se ha asentado, está en (0,1) o (1,0), pero durante una transición puede también estar en (0,0) o (1,1).
¿Por qué limitarse a un pestillo SR? ¿Esto es tarea?
@BrianCarlton: ¿Estás preguntando por qué estoy limitando mis opciones de antirrebote a un pestillo? Si es así, es principalmente porque tenía curiosidad por saber si se podía hacer, pero también porque no quiero tomarme la molestia de cronometrar cuánto tiempo tarda el interruptor en asentarse (para determinar los valores correctos de LC o constantes de software). . Realmente no tengo el equipo para hacer las mediciones --- No soy un gran hacker de hardware.

Respuestas (2)

En primer lugar, su suposición de que los interruptores mecánicos se abren limpiamente es falsa. Rebotan tanto en hacer como en romper.

Sin embargo, para abordar la cuestión específica del pestillo, es simplemente cuestión de crear un pestillo SR que solo active los estados "finales" (0,1) y (1,0). El pestillo cambiará de estado la primera vez que se alcance el nuevo estado final. Si la marca ocurre primero, el rebote entre el estado inicial y (1,1) no provocará ningún cambio en el pestillo. Una vez que el otro contacto se rompe, el pestillo cambiará y se ignorará cualquier rebote a (0,0). Si la ruptura ocurre primero, entonces el enganche activará la primera marca del otro contacto y, nuevamente, se ignorará cualquier rebote a (0,0).

diagrama de pestillo especial SR

Así que no tengo que preocuparme por fallas. ¡Gracias!

Un interruptor SPDT típico será de "interrupción antes de la conexión garantizada", lo que significa que incluso si se mueve la palanca lentamente, el contacto que se está abriendo podría rebotar durante un período no especificado, el segundo contacto no se cerrará hasta después de que el primer contacto se haya abierto por bien. Por lo tanto, no debería tener que preocuparse de que se cierre el segundo contacto.

Sin embargo, hay un par de puntos que puede considerar: (1) hay varias formas en que puede diseñar el circuito del interruptor para que el interruptor consuma energía cero en una condición de estado estable. Por ejemplo, en lugar de usar puertas NAND o NOR, use inversores con resistencias en la ruta de retroalimentación y use el interruptor para conectar a tierra una u otra entrada del inversor; (2) incluso con un interruptor de dos estados, el antirrebote absolutamente perfecto es imposible, porque el contacto que se está cerrando puede conducir durante un momento extremadamente breve y luego volver a abrirse por un tiempo antes de cerrarse definitivamente. Si el breve cierre inicial tiene la longitud correcta, puede perturbar el pestillo lo suficiente como para evitar que mantenga un "cero" cerrado limpio, pero no lo suficiente como para que cierre un "1" limpio. Esto podría causar una condición llamada "metaestabilidad";

El interruptor que estaba tratando de hacer rebotar con un pestillo es un DPST, no un SPDT.
@RichardHansen: Ah, ¿con ambos polos cambiando en la misma dirección (a diferencia de los polos independientes que se cierran en extremos opuestos del recorrido)? Si el interruptor está diseñado de modo que se garantice que un polo haga después y se rompa antes que el otro, un circuito de enganche como usted describe sería útil; si no existe tal garantía, es poco probable que tener dos entradas de interruptor sea mucho mejor que tener una, aunque se pueden usar trucos de resistencia para que la resistencia requerida para detectar un contacto como "cerrado" sea menor que la requerida para decidir que no lo ha hecho. "abierto" todavía.