Estados iniciales en un sistema digital con más de un estado estable

2

Digamos que tengo un sistema digital de lógica combinacional básica con retroalimentación (yo sí). Es decir, el valor de las entradas de las puertas depende de alguna manera del valor de sus salidas.

Dependiendo del sistema, las combinaciones particulares de entradas de compuerta serían inestables, lo que significa que las salidas de las compuertas, cuando tienen esa combinación particular de entradas, se propagarán a través de la ruta de retroalimentación hacia las entradas y cambiarán el conjunto de entradas a un estado diferente Esto es lo que hace que un estado sea inestable: el hecho de que el sistema no puede permanecer en este estado por más tiempo que el tiempo que tardan las señales en propagarse a través de la ruta de retroalimentación y regresar a las entradas.

Ahora, digamos que mi sistema tiene solo dos estados estables, con la única diferencia en el estado de una sola entrada (llamémosla entrada A). Si A es 0 (y todas las demás entradas están en su configuración "adecuada" para estar estable), el sistema se encuentra en estado estable 0. Si A es 1 (y todas las demás entradas están configuradas correctamente), el sistema está estable estado 1.

Cuando enciendo el sistema, ¿es igualmente probable que se establezca en estado estable 0 o 1, o es más probable (o quizás seguro) que esté en uno u otro debido a la forma en que la fuente de alimentación inicial se curva hacia arriba a ¿+ 5V (y descendiendo a 0V?) Afecta los circuitos integrados lógicos?

¿Hay una manera de predecir qué estado será el estado inicial solo considerando la construcción del sistema?

¿Hay alguna manera de influir en el estado inicial sin cambiar la estructura fundamental del sistema? Por ejemplo, ¿podría usar un tipo de resistencia pullup o desplegable en la entrada A, por lo que podría establecer un estado inicial de + 5V o 0V en A, pero luego permitir que la retroalimentación de las otras puertas controle el estado de A? puntos despues del tiempo cero? (Me imagino que la configuración de la resistencia del voltaje ocurriría un poco antes de que los circuitos integrados CMOS estén encendidos y trabajando para establecer el voltaje).

Me imagino que tratar con los estados iniciales es un problema bastante común, y que probablemente haya una forma bastante estándar de hacerlo.

    
pregunta Joe Mac

3 respuestas

2

En lugar de un circuito de reinicio RC, es posible que desee considerar un circuito de supervisión de microprocesador como el Micrel MIC1810 . Genera un pulso de restablecimiento de 100 ms en el inicio, y cada vez que VCC cae por debajo de un umbral establecido (por lo que también funciona como un BOD). Aunque está diseñado para microprocesadores, también puede funcionar en su aplicación.

    
respondido por el tcrosley
1

En electrónica digital, el estado inicial generalmente se define como el estado de restablecimiento . Cuando la señal de reinicio está activa, el estado se fuerza a un valor predefinido .

La señal de restablecimiento está activa cuando el dispositivo está encendido. A menudo, se usa '0' (o bajo voltaje) para indicar una señal de reinicio activa. A medida que se carga un condensador, el voltaje de la señal de reinicio aumenta y la señal de reinicio se vuelve inactiva.

Eche un vistazo al D-flip-flop en la Wikipedia para ver un ejemplo: enlace

    
respondido por el Philippe
0
  1. Los pull-ups pueden funcionar, pero constantemente consumirán poder

  2. Puede usar un condensador para VCC, de modo que durante el encendido obtendrá un pulso corto, pero en la mayoría de los casos la potencia aumenta muy lentamente ...

  3. Simplemente haga la señal de restablecimiento, que restablece todo al estado requerido, y agregue el esquema de BOD para que se establezca automáticamente en el encendido después del nivel estable de la operación de vcc.

  4. Puedes diseñar el sistema de modo que 0V en todas las puertas se encuentre en el estado predeterminado. Tendrás que invertir cosas en muchos lugares para hacerlo ... Esto va a ser complicado :-)

respondido por el BarsMonster

Lea otras preguntas en las etiquetas