¿Cómo determina un pestillo su estado inicial?

¿Cómo obtiene un pestillo su estado inicial? Supongo que depende de las condiciones de la carrera y de la condición que ocurra primero, ese es el estado con el que comienza el pestillo.

La pregunta del título es demasiado amplia para generar una sola respuesta, por lo que probablemente no sea una buena opción para este sitio. Su pregunta técnica (válida) es prácticamente un duplicado de otra pregunta de hoy: electronics.stackexchange.com/questions/25581/…
Sí, pero las respuestas a esa pregunta no fueron realmente tan informativas como las siguientes y no estoy seguro de que demasiadas preguntas tengan una sola respuesta, lo que se evidencia parcialmente al tener un sitio como este en primer lugar. Sin embargo, estoy de acuerdo en que esto podría ser un poco demasiado amplio, pero con todas las otras preguntas generales útiles en estos sitios, pensé que sería mejor publicar esta pregunta tanto para los demás como para mí.
Si edita la pregunta para incluir solo la parte técnica (segundo párrafo), eliminaré mi voto negativo.
Lo suficiente como para volver a aprender rápidamente un concepto olvidado. O para enseñarse a sí mismos un nuevo concepto de la misma manera. A menos que ocurra un cambio de paradigma, los fundamentos son relevantes y la mayoría de los cambios (prácticos) en la tecnología son lo suficientemente marginales como para mantenerse al día.
No hay una respuesta correcta a esta pregunta. Si la comunidad realmente quiere que esta pregunta quede abierta, al menos debería ser un wiki de la comunidad.
@ThePhoton, la pregunta vinculada parecía un mal sustituto, intenté resucitar esta publicación para tener una mentalidad más técnica, pero ya tiene algunas respuestas bastante votadas basadas en la mitad de la sección que edité.

Respuestas (5)

Ciertamente hay muchas cosas que se enseñan en la escuela que no se requieren en el mercado laboral. Y, por supuesto, hay muchas cosas que no se enseñan que deberían enseñarse. Esto probablemente podría decirse de cualquier mercado laboral, ya que depende de la especialidad en la que la persona termine siendo empleada. Desafortunadamente para usted, ni sus profesores ni yo podemos decirle lo que usará y lo que no usará una vez que obtenga un trabajo real en tu campo

Por ejemplo, no uso cálculo en mi trabajo como EE. Pero un compañero de trabajo, que técnicamente también es EE, usa cálculo casi a diario. Yo diseño PCB's y FPGA's, mientras él escribe algoritmos DSP. No había forma de que nuestros maestros supieran lo que necesitábamos para hacer el trabajo.

Habiendo dicho eso... Su pregunta a su maestra, sobre el valor inicial del pestillo o Flip Flop (FF), fue una gran pregunta y la forma en que su profesor respondió muestra su ignorancia de los requisitos para diseñar circuitos lógicos digitales prácticos.

En pocas palabras, el valor inicial de un Latch o FF es indeterminado. Es decir, tendrá un valor inicial pero no sabrá cuál es de antemano. Un latch/FF dado puede incluso tener diferentes valores iniciales de un encendido al siguiente. A veces será un '0', otras veces un '1'. Cosas como la temperatura y qué tan rápido aumentan los rieles de alimentación afectarán el valor inicial.

Si su circuito requiere un valor inicial conocido, debe forzar el valor. Normalmente, esto se hace usando algún tipo de entrada de configuración/reinicio/borrado que es impulsada por una señal de reinicio. Esta es también la razón por la cual casi cualquier circuito digital de complejidad razonable tiene una señal de reinicio. Las señales de reinicio no son solo para CPU.

En mis estudios aprendí muchas cosas que no necesitaron estrictamente más adelante en mi vida profesional, pero aun así me fueron muy útiles. Una parte importante de la educación es 'aprender a aprender'.
Nunca sabes lo que vas a necesitar saber. Obtuve mi título de EE en la década de 1960. Recuerdo haber tomado cursos como radio por microondas, y en ese momento pensé que trabajaría con sistemas digitales y nunca usaría nada de esto (en ese momento, la compañía telefónica usaba microondas principalmente para retransmisiones de radio de larga distancia). ). Ahora, más de 40 años después, estoy trabajando en sistemas integrados, todo es inalámbrico y estoy instalando antenas microstrip en una placa de circuito impreso.
@davidKessner, pensé que en algunos de los pestillos de condición de carrera realmente importaba cómo se cargaba su riel de alimentación. Una carga muy rápida podría conducir a una cosa, mientras que una carga lenta a otra, pero necesitabas una caracterización de muy buena calidad de tus puertas. Esto solo haría que el proceso fuera un poco inútil para cualquier dispositivo real donde un pin de reinicio funciona fácilmente, con poco diseño y baja complejidad.

Si se refiere al encendido (antes del reinicio), entonces es más o menos lo que dice: las puertas en el FF no serán perfectamente simétricas, por lo que uno "ganará" la carrera y el pestillo se dirigirá hacia ese estado. Qué estado será es impredecible.

Es un poco como si equilibraras una pelota en la parte superior del techo puntiagudo de una casa: en teoría, si todo estuviera perfectamente quieto, debería permanecer allí. En la práctica, siempre rodará hacia un lado o hacia el otro.

Entonces, esta es la razón por la cual, al encender, la mayoría de los circuitos digitales deben restablecerse a un estado conocido (donde es necesario que el estado se conozca inicialmente, puede dejar algunos registros sin definir / sin usar hasta que se escriban por primera vez)

Supongo que depende de a qué pestillo estés hablando.

http://en.wikipedia.org/wiki/Latch_%28electronics%29

Algunos de los pestillos se pueden restablecer, para que sepa por dónde empezar. También creo que solo estaba tratando de demostrar el concepto de estado "sin cambios"/"mantener" , en realidad no importa cuál sea el estado anterior.

Dos cosas breves: para la primera pregunta, todavía soy estudiante, estoy haciendo prácticas en una empresa y encontré que muchos conceptos, incluso algunos que consideré menos importantes, son útiles, y te quejarás cuando ganes. No sabías bien estas nociones porque tuviste un mal maestro. (Sé que puede parecer trivial, pero es la primera impresión que tuve cuando llegué al mundo real)

Para la segunda pregunta, simplemente agregaría mi punto de vista: los latches y FF están destinados a contener valores, y tienen sentido si das ese valor primero (a menos que quieras crear un generador aleatorio). Entonces, con restablecer o poner un valor, el primer paso siempre es la entrada.

(Traducción al alemán más abajo)
(Deutsche Übersetzung weiter unten)

La respuesta aceptada del usuario "user3624" y las otras respuestas ya brindan mucha información buena y suficiente.
Pero todos ellos se refieren al comportamiento teórico del circuito. O se refieren a circuitos integrados reales, lo que significa circuitos electrónicos construidos en condiciones industriales: los circuitos son muy precisos y casi simétricos.
En teoría, un latch o un flip-flop nunca funcionarán porque la teoría (que usa partes electrónicas perfectas) no puede explicar el comportamiento de encendido del circuito. Por la misma razón, muchos simuladores no pueden simular un flip-flop (perfecto).

Si no usa un pestillo o un flip-flop en un IC (como los IC de la serie 7400, por ejemplo, 7474 o 74279), pero crea uno solo, puede modificarlo fácilmente para obtener un estado inicial perfectamente determinado. Construir un pestillo es muy fácil y requiere solo un par de piezas: 2 transistores y 4 resistencias; y 2 pulsadores para controlar los estados.
Aquí hay un diagrama de circuito de un pestillo simple. Usé los mismos transistores que se muestran en el diagrama:
ingrese la descripción de la imagen aquíAl construir este circuito en una placa de prueba (con un LED adicional antes de la resistencia de 1k), descubrí que siempre se encendía el mismo LED al encenderlo. Esto se debe a las tolerancias en las partes electrónicas: un transistor nunca es como el otro. Cambia un poco más rápido o más lento, por lo que todo el circuito tiene un estado inicial favorito, en el que cae al encenderse.
Ahora quería forzar este circuito al estado inicial opuesto, donde el otro LED siempre estaba encendido al encenderlo. Encontré algunos consejos en Internet, que incluían:

  • use diferentes resistencias en las bases del transistor
  • agregue un diodo antes de una base de transistor

Probé ambos, por separado y juntos, pero el resultado no fue satisfactorio. En lugar de tener siempre el mismo estado inicial, se volvió aleatorio al aplicar uno o ambos de los cambios mencionados. Así que fue en la dirección correcta, pero no fue suficiente. Podría haber alterado más los valores de la resistencia, o usar 2 diodos en lugar de uno, pero creo que esto aún no daría una solución segura. Así que tuve otra idea:

  • coloque un pequeño capacitor en la base de un transistor, un lado conectado a la base del transistor y el otro lado conectado a tierra.

Primero probé 1uF y funcionó perfectamente. Luego bajé a 10nF y más abajo a 100pF y 10pF, y todavía funcionó. Incluso funcionó el 90% del tiempo con 1pF.
ingrese la descripción de la imagen aquíFunciona porque el capacitor cortocircuita la base del transistor conectado (Q1) a tierra por un tiempo muy corto hasta que el capacitor se carga... se cargaría. "sería", porque este breve momento es suficiente para que el otro transistor Q2 se encienda, y una vez que Q2 está encendido, la base de Q1 está conectada a tierra, por lo que Q1 permanecerá apagado hasta que alguien presione SW2. Cuando se presiona SW2, el capacitor se carga y cuando termina, Q1 se enciende.

Para un uso seguro a largo plazo, es posible que desee agregar una pequeña resistencia (como 10R) en fila con el capacitor para evitar altas corrientes cuando se descarga.

(diagramas de circuitos creados en línea con "CircuitLab")


Finalmente, porque soy alemán y porque quiero que mis compatriotas encuentren respuestas también en nuestro idioma, estoy escribiendo todo el texto nuevamente en alemán:

Die akzeptierte Antwort von Benutzer "user3624" und die anderen Antworten liefern bereits viele gute und ausreichende Informationen.
Aber alle beziehen sich entweder auf das theoretische Verhalten der Schaltung, oder sie beziehen sich auf einen realen IC, también eine elektronische Schaltung, die unter industriellen Bedingungen hergestellt wurde: extrem genau und fast symmetrisch.
In der Theorie wird eine bistabile Kippstufe oder ein Flipflop nie funktionieren, da die Theorie mittels perfekter elektronischer Bauteile den Einschaltvorgang nicht erklären kann. Aus diesem Grund können Flipflops von vielen Simulatoren auch nicht simuliert werden.

Falls man keine Kippstufe oder Flipflop in einem IC verwendet (wie in der 7400er Serie, zB 7474 oder 74279), sondern sich selbst eine baut, kann man diese sehr einfach modifizieren, um einen sicher festgelegten Einschaltzustand zu bekommen. Eine Kippstufe aufzubauen ist sehr einfach und man benötigt dafür bloß eine Handvoll Bauteile: 2 Transistoren und 4 Widerstände, und 2 Taster zum Umschalten des Zustandes.
Oben ist ein Schaltplan einer einfachen Kippstufe abgebildet. Ich habe in meiner Schaltung dieselben Transistoren wie im Schaltplan verwendet.
[ BILD 1 ]
Als ich diese Schaltung auf einer Steckplatine aufgebaut habe (mit zusätzlicher LED vor dem 1k-Widerstand), habe ich festgestellt, dass stets dieselbe LED beim Einschalten geleuchtet hat. Das liegt an den Toleranzen in den elektronischen Bauteilen: Kein Transistor ist wieder der andere. Einer schaltet schneller oder langsamer, wodurch die gesamte Schaltung einen bevorzugten Zustand hat, den sie nach dem Einschalten einnimmt.
Nun wollte ich die Schaltung zwingen, beim Einschalten den gegenteiligen Zustand einzunehmen, bei dem stets die andere LED leuchtet. Im Internet hab ich verschiedene Ratschläge gefunden, darunter:

  • unterschiedliche Widerstände vor den Transistorbasen verwenden
  • eine Diode vor einer Transistorbasis hinzufügen

Ich hab beides ausprobiert, einzeln und auch zusammen, aber das Ergebnis war nicht zufriedenstellend. Anstatt immer denselben Einschaltzustand zu bekommen, war es nun Zufall, welche LED nach dem Einschalten leuchtete. Es ging in die richtige Richtung, aber es war nicht ausreichend. Ich hätte die Widerstandswerte noch stärker verändern oder vielleicht auch 2 Dioden in Reihe vor die Transistorbasis schalten können, aber ich denke, dass dies immer noch keine sichere Lösung brächte. Daher hatte ich eine andere Idee:

  • einen kleinen Kondensator vor einer Transistorbasis hinzufügen, eine Seite verbunden mit der Transistorbasis und die andere mit Masse.

Ich hab zuerst 1uF ausprobiert und es hat perfekt funktioniert. Dann hab ich kleinere Werte verwendet, erst 10nF, dann 100pF y 10pF, und es funktionierte immer noch. Es funcional sogar en 90% der Fälle noch mit 1pF.
[BILD 2]
Es funktioniert, weil der Kondensator kurzzeitig die Basis von Transistor Q1 mit Masse kurzschließt, bis der Kondensator aufgeladen ist... aufgeladen wäre. "Wäre", weil dieser kurze Moment ausreicht, damit der Transistor Q2 durchschaltet, und sobald dieser durchgeschaltet hat, ist die Basis von Q1 mit Masse verbunden und Q1 bleibt aus, bis jemand SW2 betätigt. Wenn SW2 gedrückt wird, wird der Kondensator geladen und sofort danach Q1 durchgeschaltet.

Für eine sichere Langzeitanwendung ist es empfehlenswert, einen kleinen Widerstand (zB 10R) in Reihe mit dem Kondensator zu schalten, um hohe Entladeströme zu vermeiden.

Bienvenido a EE.SE. Tenga en cuenta que cuando usa el botón CircuitLab en la barra de herramientas del editor, se guarda un esquema editable en su publicación. Eso nos facilita copiar y editar nuestras respuestas. No necesita una cuenta de CircuitLab, ni capturas de pantalla, ni carga de imágenes, ni cuadrícula de fondo.