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.
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.
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:
Beim 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:
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:
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.
Es 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:
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:
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.
Das Photon
Lichtjahr Buzz
Das Photon
Jon L
Kellenjb
Kortuk