Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

1 - Latch und Flip-Flop

In einem Latch oder Flip-Flop (FF) kann exakt eine 1-Bit Information ( 0 oder 1) gespeichert werden. Die beiden Systeme unterscheiden sich dadurch, dass ein Latch, sobald seine Eingänge mit 0 und/oder 1 belegt sind, das Ergebnis am Ausgang angezeigt wird. Jede Änderung am Eingang erscheint sofort am Ausgang. Manche Latches verfügen über einen Enable-Eingang, mit dem man das Durchschalten auf den Ausgang steuern kann.

Bei einem Flip-Flop ist der Enable-Eingang durch einen Taktimpulseingang ersetzt. FFs arbeiten mit CLK-Eingängen, die mit der steigenden oder fallenden Flanke auf die Eingangspegel reagieren. Änderungen der Eingangspegel werden nur dann an den Ausgang durchgereicht, wenn eine entsprechende fallende oder steigende Flanke am CLK-Eingang angelegt wird.

Das wohl einfachste Speicherelement besteht aus zwei Inverter-Bausteinen, die sequentiell in einer Schleife miteinander verbunden sind, über keine Eingänge und zwei Ausgänge Q und /Q verfügen (Abb. 1).

Abbildung 1 – Einfache bistabile sequentielle Schaltung, die Bauteile bedingt in einen stabilen Zustand übergeht. Es gibt zwei stabile Zustände, 0 und 1; deshalb bistabile Schaltung. Simulation mit dem Programm ProfiLab-Expert 4.0.

Sobald die Schaltung aktiviert wird, lässt sich nicht vorhersagen, welchen Zustand Q einnehmen wird. Er hängt u. a. von den Bauteiltoleranzen und der Leitungsführung ab und ist letztlich zufallsbedingt. Nehmen wir an, Q ist 0, dann wird, da der Ausgang von INV1 mit dem Eingang von INV2 verbunden ist, dort ebenfalls eine 0 anliegen und am Ausgang entsprechend eine 1 (/Q).  Umgekehrt, liegt an Q eine 1 an, wie in Abbildung 1 dargestellt, dann liegt die 1 auch an INV2 und damit an seinem Ausgang eine 0, die von /Q angezeigt wird. Mit dieser Schaltung wird eine 1-Bit Information gespeichert.

Die vorgestellte Schaltung hat einen Nachteil; der gespeicherte Wert (0 oder 1) lässt sich nicht verändern. Es gibt keine Eingabemöglichkeit bei dieser Schaltung.

2 – RS-Latch

Tauscht man die beiden Inverter gegen NAND-Gatter aus, erhält man ein sogenanntes S-R Latch mit den beiden Eingängen /S und /R und den beiden Ausgängen Q und /Q (Abb. 2).

Abbildung 2 – RS-Latch mit den beiden Eingängen S und R.

Bei diesem Latch wird ein Zustand gesetzt, indem man den S Eingang auf 1 setzt, mit der Folge, dass am Ausgang Q (NAND-Gatter) eine 1 erscheint (das Latch wird gesetzt), LED1 leuchtet auf. Zurückgesetzt wird das FF mit einer 1 am Eingang R; der Ausgang Q geht auf 0 zurück.

Eine 1 am R und S Eingang erzeugt einen undefinierten Ausgangszustand.   

3 - RS-Flip-Flop (flanken- und zustandsgesteuert)

Das folgende RS-FF verfügt über fünf Eingänge, von denen hier nur drei beschaltet werden: 1S, C1 und 1R. Am Takteingang liegt ein 1Hz Rechtecksignal; der Set- und Reset-Eingang werden bei einer steigenden Taktflanke ausgewertet und mit der fallenden Taktflanke an den Ausgang Q und /Q übertragen.

Die statischen Set- und Reset-Eingänge (/S und /R) sind hier nicht beschaltet. Sie sind low-active, das heißt, dass eine 0 an einem der Eingänge das FF in den entsprechenden Zustand zwingt, unabhängig vom CLK-Signal.

Abbildung 3 – RS-FF (flankengesteuert) und RS-FF (zustandsgesteuert); der Taktgeber arbeitet mit 1Hz (Voreinstellung, die veränderbar ist). Als RS_FF_FZ.exe Datei herunterladbar.

4 – JK-Master-Slave Flip Flop (JK-MS-FF)

Das JK-FF verhält sich ähnlich dem flankengesteuerten RS-FF. Gesetzt werden die Ausgänge bei fallender Taktflanke am CLK-Eingang. Mit 1J auf 1 ergibt sich am Ausgang Q = 1 (setzen), mit 1K auf 1 und 1J auf 0 wird der Ausgang Q = 0 (zurücksetzen). Die beiden statischen Eingänge /S und /R arbeiten wie beim flankengesteuerten RS-FF. Eine 0 an einem der beiden Eingänge zwingt das JK-FF in den entsprechenden Zustand, unabhängig vom CLK-Signal.

Werden beide Eingänge auf 1 gesetzt, wechselt das JK-FF bei jeder fallenden Taktflanke seinen Ausgangszustand.

Abbildung 4 - JK-MS-FF mit den Setzeingängen /S und /R.

Die beiden statischen Eingänge /S und /R müssen auf 1 stehen, damit das FF gesetzt werden kann. Wird an den Eingang 1J eine 1 gelegt und ist der Eingang 1K auf 0, dann wird diese Information mit der fallenden Flanke an den Ausgang Q übergeben und ist dort stabil.

5 - Praktische Übung mit dem IC 74HC76

Der IC-Baustein 74HC76 enthält zwei JK-FF. Seine Versorgungsspannung kann zwischen 2V und 6V liegen. Die Pinbelegung zeigt Abb. 5.

Abbildung 5 - Pinbelegung des IC 74HC76 mit 2x JK-FF

Die Bedeutung der Abkürzungen

/1CK, /2CK    Takteingang (Triggerung über fallende Flanke)
/1PR, /2PR    Setzeingang (Active LOW)
/1CLR, /2CLR  Asynchroner Reseteingang (Active LOW)
1J, 2J        Dateneingabe: FF1 und FF2
/1Q, /2Q      Ausgang des FF (Komplementdarstellung)
1Q, 2Q        Ausgang des FF
1K, 2K        Dateneingabe: FF1 und FF2
GND           Masse, 0V
Vcc           Versorgungsspannung 3,3V oder 5,0V
Übungen mit dem IC 74HC76
Material
  • 1x  Propeller BoE oder Propeller AB
  • 1x  USB-Adapterkabel
  • 1x  Schaltnetzteil
  • 1x  74HC76
  • 1x  Datenblatt des 74HC76 (alternativ kann auch das IC 74HCT107 genommen werden; die Beschaltung ist nicht pinkompatibel)
  • 9x  Steckdraht
Aufgaben
  • Informiere dich anhand des Datenblattes über die Anschlussbelegung des IC 74HC76
  • Baue die Schaltung aus Abb. 6 auf dem Steckbrett auf.
  • Übertrage das Programm JK_FF.c in den Editor und speichere es ab.
  • Starte das Programm.
  • Das Programm sollte nacheinander folgende Funktionen ausführen:
    a) 10x umschalten von LED rot auf LED grün im Sekundentakt;
    b) Löschen des Ausgangszustandes, das heißt, LED rot geht aus, LED grün geht an.
    c) Setzen des Ausgangszustandes, das heißt, LED rot geht an, LED grün geht aus.
    d) Beide Ausgänge auf 1 setzen; das heißt, LED rot und LED grün gehen an.
    e) NO CHANGE Wirkung; das heißt, LED rot und LED grün bleiben an, obwohl eine  steigende und eine fallende Flanke am Takteingang anliegt.

Die Schaltung

Abbildung 6 - Schaltungsaufbau mit dem IC 74HC76

Das Programm JK-FF.c

Was man auch machen könnte

  • Das IC 74HC76 enthält zwei JK-FF. Verbindet man die Ausgänge Q und /Q des ersten JK-FF mit den Eingängen J und K des zweiten, erhält man ein JK-Master-Slave-FF (JK-MS-FF). Die steigende Taktflanke schaltet das erste, die fallende das zweite Flip-Flop. Dazu müssen beide Takteingänge über einen Inverter miteinander verbunden sein.

6 - D-Latch und D-FF

Das D-Latch arbeitet wie das RS-FF (zustandsgesteuert). Immer dann, wenn der Eingang C1 auf 1 geht (steigende Flanke), wird die Information, die an 1D anliegt, an den Ausgang Q übertragen und gespeichert, sobald C1 wieder auf 0 geht (fallende Flanke). Veränderungen am Eingang 1D haben keine Auswirkung auf den Ausgang Q. Man spricht auch von einem 1-Bit-Speicher oder 1-Bit-Register.

Abbildung 7 - D-Latch und D-FF; der Taktgeber des D-FF arbeitet mit 0,5Hz (Voreinstellung).

Das D-FF besteht aus zwei hintereinander geschalteten D-Latches, die sich wie Master-Slave verhalten. Mit steigender Flanke speichert das Master-FF den Zustand vom Eingang 1D und gibt ihn an das Slave-FF weiter. Mit der fallenden Flanke wird dieser Zustand dann an den Ausgang Q weitergereicht.

Wie schon beim JK-MS-FF, enthält auch dieses FF statische Setz- und Rücksetzeingänge (/S und /R). In der zugehörigen exe-Datei arbeitet der Taktgenerator mit 0,5 Hz, so dass sich die Auswirkungen der Setz- und Rücksetzoptionen auf die beiden Ausgänge Q und /Q gut ablesen lassen. Die Frequenz des Taktgenerators ist während des Programmlaufs veränderbar.

Kommentar schreiben

Kommentare

  • olaf (Sonntag, 10. Dezember 2017 08:35)

    wow...die mit Abstand beste Site, die ich bisher zu diesem Thema gesehen habe :-))
    Vielen Dank dafür. Hilft super beim Erklären!!

  • David Eisenblätter (Sonntag, 11. Februar 2018 13:38)

    Sehr schön erklärt, und zufällig heute, wo ich nochmal nach einer detailierten Gedankenstütze diesbezüglich gesucht habe!

    Vielen vielen Dank!

    David.

Bitte geben Sie den Code ein
* Pflichtfelder
Druckversion Druckversion | Sitemap
© Reinhard Rahner - Gettorf