Wie bestimmt ein Latch seinen Anfangszustand?

Wie bekommt ein Latch seinen Anfangszustand? Ich vermute, dass es von den Rennbedingungen abhängt und welche Bedingung auch immer zuerst eintritt, das ist der Zustand, mit dem der Latch beginnt.

Die Überschriftenfrage ist zu weit gefasst, um eine einzelne Antwort zu generieren, daher passt sie wahrscheinlich nicht gut zu dieser Website. Ihre (gültige) technische Frage ist so ziemlich ein Duplikat einer anderen Frage von früher heute: electronic.stackexchange.com/questions/25581/…
Ja, aber die Antworten auf diese Frage waren nicht wirklich so informativ wie die folgenden, und ich bin mir nicht sicher, ob zu viele Fragen eine einzige Antwort haben, was teilweise dadurch belegt wird, dass es überhaupt eine Website wie diese gibt. Ich stimme zwar zu, dass dies etwas zu allgemein sein könnte, aber mit all den anderen hilfreichen allgemeinen Fragen auf diesen Websites dachte ich, dass es am besten wäre, diese Frage sowohl für andere als auch für mich zu stellen.
Wenn Sie die Frage so bearbeiten, dass sie nur den technischen Teil (2. Absatz) enthält, entferne ich meine Ablehnung.
Genug, um sich ein vergessenes Konzept schnell wieder beizubringen. Oder sich auf die gleiche Weise ein neues Konzept beizubringen. Sofern kein Paradigmenwechsel stattfindet, sind die Grundlagen relevant, und die meisten (praktischen) technologischen Veränderungen sind marginal genug, um mit ihnen Schritt zu halten.
Auf diese Frage gibt es keine richtige Antwort. Wenn die Community diese Frage wirklich offen lassen will, dann sollte es zumindest Community-Wiki sein.
@ThePhoton, Die verknüpfte Frage schien ein schlechter Ersatz zu sein. Ich habe versucht, diesen Beitrag wiederzubeleben, um technisch orientierter zu sein, aber er enthält bereits einige ziemlich positiv bewertete Antworten, die zur Hälfte auf dem von mir bearbeiteten Abschnitt basieren.

Antworten (5)

Sicherlich wird in der Schule vieles gelehrt, was auf dem Arbeitsmarkt nicht benötigt wird. Und natürlich gibt es vieles, was nicht gelehrt werden sollte. Dies könnte wahrscheinlich über jeden Arbeitsmarkt gesagt werden, da es davon abhängt, in welcher Fachrichtung die Person letztendlich angestellt wird. Leider können weder Ihre Professoren noch ich Ihnen sagen, was Sie verwenden und was nicht, wenn Sie eine richtige Stelle bekommen dein Feld.

Zum Beispiel verwende ich in meinem Job als EE keine Analysis. Aber ein Kollege, der auch technisch ein EE ist, verwendet fast täglich Kalkül. Ich entwerfe PCBs und FPGAs, während er DSP-Algorithmen schreibt. Auf keinen Fall konnten unsere Lehrer jemals wissen, was wir brauchten, um die Arbeit zu erledigen.

Abgesehen davon ... Ihre Frage an Ihre Lehrerin zum Anfangswert des Latch oder Flip Flop (FF) war eine großartige Frage, und die Art und Weise, wie Ihre Professorin geantwortet hat, zeigt, dass sie die Anforderungen für das Entwerfen praktischer digitaler Logikschaltungen nicht kennt.

Einfach ausgedrückt, der Anfangswert eines Latch oder FF ist unbestimmt. Das heißt, es wird einen Anfangswert haben, aber Sie werden nicht wissen, was es im Voraus ist. Ein gegebenes Latch/FF kann sogar von einem Einschalten zum nächsten unterschiedliche Anfangswerte haben. Manchmal ist es eine '0', manchmal eine '1'. Dinge wie die Temperatur und wie schnell die Stromschienen hochfahren, wirken sich auf den Anfangswert aus.

Wenn Ihre Schaltung einen bekannten Anfangswert erfordert, müssen Sie den Wert erzwingen. Normalerweise erfolgt dies über eine Art Set/Reset/Clear-Eingang, der von einem Reset-Signal angesteuert wird. Das ist auch der Grund, warum fast jede digitale Schaltung vernünftiger Komplexität ein Reset-Signal hat. Reset-Signale sind nicht nur für CPUs.

In meinem Studium habe ich viele Dinge gelernt, die ich später im Berufsleben nicht unbedingt brauchte, aber trotzdem sehr nützlich für mich waren. Ein wichtiger Teil der Ausbildung ist das „Lernen lernen“.
Man weiß nie, was man wissen muss. Ich habe meinen EE-Abschluss weit zurück in den 1960er Jahren. Ich erinnere mich, dass ich Kurse wie Mikrowellenradio besucht habe und damals dachte, ich würde mit digitalen Systemen arbeiten und niemals etwas von diesem Zeug verwenden (damals wurden Mikrowellen hauptsächlich von der Telefongesellschaft für Funkrelais über große Entfernungen verwendet ). Jetzt, über 40 Jahre später, arbeite ich an eingebetteten Systemen, alles ist drahtlos, und ich verlege Mikrostreifenantennen auf einer Leiterplatte.
@davidKessner, ich dachte, bei einigen Rennbedingungsverriegelungen ist es wirklich wichtig, wie Ihre Stromschiene aufgeladen wird. Ein sehr schnelles Aufladen könnte zu einem Ergebnis führen, während ein langsames Aufladen zu einem anderen führen würde, aber Sie brauchten eine sehr gute Qualitätscharakterisierung Ihrer Gates. Dies allein würde den Prozess für jedes echte Gerät, bei dem ein Reset-Pin einfach funktioniert, mit wenig Design und geringer Komplexität, ein wenig wertlos machen.

Wenn Sie beim Einschalten (vor dem Zurücksetzen) meinen, dann ist es ziemlich genau so, wie Sie sagen - die Tore im FF sind nicht perfekt symmetrisch, sodass einer das Rennen "gewinnt" und der Riegel in Richtung dieses Zustands geht. Welcher Zustand es sein wird, ist nicht vorhersehbar.

Es ist ein bisschen so, als würde man einen Ball auf einem spitzen Hausdach balancieren – theoretisch sollte er dort bleiben, wenn alles vollkommen ruhig wäre. In der Praxis wird es immer auf die eine oder andere Seite abrollen.

Aus diesem Grund müssen die meisten digitalen Schaltungen beim Einschalten auf einen bekannten Zustand zurückgesetzt werden (wenn der Zustand zunächst bekannt sein muss, lassen Sie möglicherweise einige Register undefiniert / unbenutzt, bis Ihre zum ersten Mal geschrieben werden).

Ich denke, es kommt darauf an, von welchem ​​Riegel du sprichst.

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

Einige der Latches können zurückgesetzt werden, damit Sie wissen, wo Sie anfangen. Ich denke auch, dass sie nur versucht hat, das Konzept des "unveränderten" / "beibehaltenen" Zustands zu demonstrieren , es spielt keine Rolle, was der vorherige Zustand ist.

Zwei kurze Dinge: Zur ersten Frage, ich bin noch Student, mache ein Praktikum in einem Unternehmen und finde viele Konzepte, auch solche, die ich für weniger wichtig hielt, nützlich, und Sie werden sich beschweren, wenn Sie gewonnen haben Ich kenne diese Begriffe nicht gut, weil du einen schlechten Lehrer hattest. (Ich weiß, dass es trivial erscheinen mag, aber es ist der erste Eindruck, den ich hatte, als ich in die reale Welt kam.)

Zur zweiten Frage würde ich nur meinen Standpunkt hinzufügen: Latches und FFs sollen Werte enthalten, und sie haben Sinn, wenn Sie diesen Wert zuerst angeben (es sei denn, Sie möchten einen Zufallsgenerator erstellen). Beim Zurücksetzen oder Setzen eines Werts ist der erste Schritt also immer die Eingabe.

(Deutsche Übersetzung weiter unten)
(Deutsche Übersetzung weiter unten)

Die akzeptierte Antwort von Benutzer "user3624" und die anderen Antworten geben bereits viele gute und ausreichende Informationen.
Aber alle beziehen sich entweder auf das theoretische Verhalten der Schaltung. Oder sie beziehen sich auf echte ICs, also elektronische Schaltungen, die unter industriellen Bedingungen gebaut werden: Die Schaltungen sind hochgenau und nahezu symmetrisch.
Theoretisch wird ein Latch oder Flipflop niemals funktionieren, da die Theorie (die perfekte elektronische Teile verwendet) das Einschaltverhalten der Schaltung nicht erklären kann. Aus dem gleichen Grund können viele Simulatoren kein (perfektes) Flipflop simulieren.

Wenn Sie kein Latch oder Flipflop in einem IC verwenden (wie ICs der 7400-Serie, zB 7474 oder 74279), sondern selbst ein einfaches erstellen, können Sie es leicht modifizieren, um einen perfekt bestimmten Anfangszustand zu erhalten. Der Bau eines Riegels ist sehr einfach und erfordert nur ein paar Teile: 2 Transistoren und 4 Widerstände; und 2 Drucktastenschalter zur Steuerung der Zustände.
Hier ist ein Schaltplan eines einfachen Latch. Ich habe die gleichen Transistoren verwendet, die im Diagramm gezeigt werden:
Geben Sie hier die Bildbeschreibung einBeim Aufbau dieser Schaltung auf einem Steckbrett (mit zusätzlicher LED vor dem 1k-Widerstand) stellte ich fest, dass beim Einschalten immer die gleiche LED leuchtete. Das liegt an den Toleranzen in den elektronischen Bauteilen: Ein Transistor ist nie wie der andere. Es schaltet etwas schneller oder langsamer, sodass die gesamte Schaltung einen bevorzugten Anfangszustand hat, in den sie beim Einschalten fällt.
Jetzt wollte ich diese Schaltung in den entgegengesetzten Anfangszustand zwingen, in dem die andere LED beim Einschalten immer leuchtete. Ich habe einige Ratschläge im Internet gefunden, darunter:

  • Verwenden Sie verschiedene Widerstände an den Transistorbasen
  • Fügen Sie eine Diode vor einer Transistorbasis hinzu

Ich habe beides versucht, getrennt und zusammen, aber das Ergebnis war nicht zufriedenstellend. Anstatt immer den gleichen Anfangszustand zu haben, wurde es zufällig, wenn eine oder beide der genannten Änderungen angewendet wurden. Es ging also in die richtige Richtung, aber es hat nicht gereicht. Ich hätte die Widerstandswerte weiter ändern oder 2 Dioden anstelle von einer verwenden können, aber ich denke, dass dies immer noch keine sichere Lösung geben würde. Also hatte ich eine andere Idee:

  • Setzen Sie einen kleinen Kondensator auf eine Transistorbasis, eine Seite mit der Transistorbasis und die andere Seite mit Masse verbunden.

Ich habe zuerst 1uF ausprobiert und es hat perfekt funktioniert. Dann ging ich runter auf 10nF und weiter runter auf 100pF und 10pF, und es funktionierte immer noch. Es funktionierte sogar zu 90% der Zeit mit 1pF.
Geben Sie hier die Bildbeschreibung einEs funktioniert, weil der Kondensator die angeschlossene Transistorbasis (Q1) für eine sehr kurze Zeit gegen Masse kurzschließt, bis der Kondensator geladen ist ... geladen würde. "wäre", weil dieser kurze Moment ausreicht, damit der andere Transistor Q2 einschaltet, und sobald Q2 eingeschaltet ist, ist die Basis von Q1 mit Masse verbunden, sodass Q1 ausgeschaltet bleibt, bis jemand SW2 drückt. Wenn SW2 gedrückt wird, wird der Kondensator aufgeladen und wenn fertig, wird Q1 eingeschaltet.

Für eine sichere Langzeitnutzung möchten Sie möglicherweise einen kleinen Widerstand (z. B. 10R) in Reihe mit dem Kondensator hinzufügen, um hohe Ströme beim Entladen zu vermeiden.

(Schaltpläne online erstellt mit "CircuitLab")


Schließlich, weil ich Deutscher bin und weil ich möchte, dass meine Landsleute auch in unserer Sprache Antworten finden, schreibe ich den ganzen Text noch einmal auf Deutsch:

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, also eine elektronische Schaltung, die unter industriellen Bedingungen hergestellt wurde: extrem genau und schnell 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 braucht 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 Transistoren wie im Schaltplan verwendet.
[ BILD 1 ]
Als ich this Schaltung auf Einer Steckplatine aufgebaut habe (mit zusätzlicher LED vor dem 1k-Widerstand), habe ich festgestellt, dass immer 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 betrachtet Einschaltzustand zu bekommen, war es nun Zufall, welche LED nach dem Einschalten leuchtete. Es geht 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 und 10pF, und es funktionierte immer noch. Es funktionierte sogar in 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.

Willkommen bei EE.SE. Beachten Sie, dass bei Verwendung der CircuitLab-Schaltfläche in der Editor-Symbolleiste ein bearbeitbarer Schaltplan in Ihrem Beitrag gespeichert wird. Das macht es uns leicht, unsere Antworten zu kopieren und zu bearbeiten. Sie benötigen kein CircuitLab-Konto, keine Screengrabs, keine Bild-Uploads, kein Hintergrundraster.