Inhalt | Vorheriges Kapitel | Nächstes Kapitel |
Das einfache RS-Flipflop zeichnet
sich dadurch aus, daß jede Änderung der Eingangsparameter
R bzw. S sofort ausgewertet wird; das Flipflop kann also jederzeit
neue Daten an den Logikeingängen R und S übernehmen.
In vielen Anwendungen ist es jedoch
vorteilhaft, wenn eine Informationsübernahme nur zu bestimmten,
genau einstellbaren Zeitpunkten möglich ist. Das Flipflop
sollte also nur in extern festgelegten Zeitintervallen die Auswertung
der logischen Eingänge vornehmen.
Diese zusätzliche Zeitsteuerung
wird als Takt (engl. clock) bezeichnet, das entsprechende
Signal als Taktsignal. In seiner Funktionalität entspricht
dieser Takteingang der oben geforderten Latch-Funktion des einfachen
Latch-FF. Das derart gesteuerte Flipflop wird als "getaktetes
Flipflop" (engl. gated latch)
bezeichnet.
4.4.1 Das getaktete RS-Flipflop
(gated Latch)
Zur Umwandlung des Basis-RS-Flipflops
in ein taktgesteuertes Flipflop ist die Implementierung eines
Takteinganges notwendig, der z.B. folgende Bedingung erfüllt:
Ausgehend vom RS-Grundbaustein kann
diese Logik durch einfaches Vorschalten von zwei UND-Gattern realisiert
werden:
Abb. 4.18: Getaktetes RS-Flipflop (gated Latch).
Die Schaltung gehorcht jetzt dem folgenden Zeitsignal:
Abb. 4.19: Taktsignal des getakteten Flipflops.
Nur während des relevanten "1"-Pegels
werden Signale durch das Flipflop weitergeleitet ("1"
wurde in diesem Fall willkürlich als der aktive Pegel vorgegeben).
Ein derart gesteuertes System wird
"taktpegel-gesteuert" genannt, die Funktion wird
als "Taktpegel-Steuerung" bezeichnet.
4.4.2 Das D-Flipflop (data latch)
Auch durch die Taktpegel-Steuerung ist beim RS-Flipflop der "verbotene" Zustand (R=S="1") nicht beseitigt worden. Eine geringfügige Änderung des getakteten RS-Flipflops kann allerdings zur Vermeidung dieses Zustandes führen.
In dieser abgewandelten Form des RS-FF wird der R-Eingang durch das invertierte S-Signal definiert, es existiert also nur noch ein einziges logisches Eingangssignal, das in diesem Fall dann als "D" (von Datum bzw. von engl. data oder delay) bezeichnet wird.
Abb. 4.20: D-Flipflop.
R=S ist also nicht mehr möglich,
der Speicher-Zustand wird jetzt durch Takt="0" realisiert.
Dieses Flipflop benötigt zur Steuerung des logischen Verhaltens
also nur einen einzigen Eingang und entspricht damit weitestgehend
dem Latch-Flipflop.
Das so entstandene Flipflop wird "D-Flipflop" genannt.
Das KV-Diagramm des D-Flipflops kann
als vereinfachtes KV-Diagramms des RS-FF angegeben werden, gleichzeitig
wird der nicht erlaubte Zustand eliminiert:
Abb. 4.21: KV-Diagramm des D-Flipflops.
In der Schaltzeichen-Symbolik wird
die Taktpegel-Steuerung durch ein Rechteck markiert:
Abb. 4.22: Schaltzeichen (links) und Taktsignal des KV-Diagramms.
Eine weitere Möglichkeit, den
im RS-Flipflop verbotenen Zustand zu vermeiden, besteht in der
Definition einer neuen (vierten) erlaubten Funktion. Diese erweiterte
Eigenschaft des FF wird durch eine zusätzliche Rückkopplung
der Flipflop-Ausgänge erzeugt, mit ihr wird die sogenannte
"Wechsel"-Funktion (eng. toggle) eingeführt.
Abb. 4.23: JK-Flipflop in gemischter Darstellung (AND/NOR).
Die logischen Eingänge dieses
neuen Flipflop-Typs, die die Eingänge R und S ersetzen, werden
jetzt als J und K bezeichnet
(von engl. J = jump,
K = kill); das Flipflop wird entsprechend JK-Flipflop
genannt.
Im KV-Diagramm können jetzt vier eigenständige Funktionen unterschieden werden:
Abb. 4.24: KV-Diagramm des JK-Flipflops mit neuem Zustand "Wechseln" (toggle-Zustand).
Für die Funktionsgleichung und Funktionstabelle des JK-Flipflops ergibt sich:
(4.4) |
Tab. 4.5: Funktionstabelle des JK-Flipflops.
In der praktischen Anwendung ist
insbesondere das Wechseln des Ausgangswertes von Bedeutung. Neben
der Funktionstabelle ist gerade in Verbindung mit dieser Betriebsart
die sogenannte Übergangstabelle des JK-Flipflops sehr nützlich:
not jump | ||||
jump | ||||
kill | ||||
not kill |
Tab. 4.6: Übergangstabelle des JK-Flipflops.
(*) für den Übergang verantwortlicher Term aus der Funktionsgleichung.
Da mit der neuen Funktion "Wechsel"
(toggle) ein einmaliges Umschalten der FF-Ausgangswerte
verbunden ist, führt der Einsatz einer Taktpegelsteuerung
zu Problemen. Die Wahrheitstafel Tab. 4.5 geht von einem Verknüpfungsnetz
aus, bei dem die Signaleingänge während einer Taktperiode
stabil bleiben. In der hier gegebenen Schaltung ändern sich
aber die Eingangssignale, falls die Ausgangssignale sich ändern.
Beispiel:
Es sei
J = K = "1" und Q = "0" | . | (4.5) |
Bei Anlegen des Taktimpulses wird Q = "1" (siehe Tab. 4.5). Diese Signaländerung tritt nach Verstreichen der schaltungsgegebenen Verzögerungszeit tp ein. Die neue Situation lautet also
J = K = "1" und Q = "1" | . | (4.6) |
Bleibt der Takteingang weiterhin
geöffnet, wiederholt sich dieser Prozeß; es findet
ein ständiger Wechsel zwischen Gl. 4.5 und Gl. 4.6
statt. Das Ausgangssignal Q oszilliert also zwischen "0"
und "1".
Abb. 4.25: JK-Flipflop mit "race-around"-Schwingungen.
Dieser Vorgang (im Engl. als "race-around"
bezeichnet) kann nur dadurch vermieden werden, daß eine
Steuerung mit Taktimpulsen vorgenommen wird, die kurz im Vergleich
zur FF-Durchlaufzeit tp
sind.
Um Taktimpulse endlicher Dauer einsetzen
zu können und gleichzeitig die Forderung nach einem einmaligen
Wechsel zu erfüllen, wird eine Taktflankensteuerung
eingeführt. Diese Art der Steuerung definiert eine aktive
Taktflanke, bei der die Auswertung der logischen Steuereingänge
vorgenommen wird.
Eine Flankensteuerung kann bereits
durch einfaches Hintereinanderschalten zweier taktpegelgesteuerter
JK- oder RS-Flipflops realisiert werden.
Abb. 4.26: Master-Slave-Konfiguration zweier Flipflops (JK/RS).
Anordnungen dieser Art werden als "Master-Slave"-Schaltungen bezeichnet, da das erste FF vollständig das zweite kontrolliert.
Die Funktionsweise dieses Flipflops
kann in vier Phasen aufgeteilt werden:
Abb. 4.27: Taktimpuls.
|
In der hier gezeigten Anordnung erfolgt der effektive Signalwechsel an den Q-Ausgängen also mit der abfallenden Taktflanke (1 --> 0).
Flipflops, zu deren Steuerung eine
Flanke des Taktsignals benutzt wird, werden als "einflankengesteuerte"
Flipflops bezeichnet.
Definition:
4.4.4.1 Aufbau von Master-Slave-Flipflops
Taktflankengesteuerte Master-Slave-Flipflops können gemäß Abb. 4.26 aus zwei JK-Flipflops aufgebaut werden. Sie können aber auch durch eine entsprechende Zusammenschaltung zweier RS-Flipflops gebildet werden.
Abb. 4.28 zeigt eine MS-Flipflop-Realisierung
aus RS-Flipflops (RS-MS-FF). Auch dieses Flipflop unterliegt allerdings
der oben definierten Zusatzbedingung zur Vermeidung des verbotenen
Zustandes.
Abb. 4.28: Vollständiges Master-Slave-Flipflop (in NAND-Realisierung).
Eine äquivalente JK-Flipflop-Realisierung gibt Abb. 4.29 wieder:
Abb. 4.29: Vollständiges JK-Master-Slave-Flipflop (in gemischter Darstellung).
Diese Konfiguration folgt wiederum dem Blockschaltbild Abb. 4.26.
Gebräuchlicher ist der folgende
MS-Aufbau, bei dem die notwendigen Rückkopplungen von den
Slave-Ausgängen zu den Master-Eingängen führen:
Abb. 4.30: JK-Master-Slave-Flipflop.
4.4.5 Taktversatz, zweiflankengesteuerte Flipflops
Mit der einfachen Einflankensteuerung ist es möglich, begrenzte synchrone Schaltungen zu betreiben, Schaltungen also, bei denen ein einziges Signal zur Taktung mehrerer Flipflops genutzt wird.
Bei komplexeren Schaltungen mit weit
verzweigten Taktleitungen muß allerdings die Signallaufzeit
berücksichtigt werden. Es kann zu Fehlern kommen, da auf
Grund der Laufzeitverzögerung nicht alle Flipflops gleichzeitig
geschaltet werden. Diese zeitliche Verschiebung zwischen den Taksignalen
wird als Taktversatz (engl. clockskew) bezeichnet.
Beispiel:
In einer einfachen Serienschaltung
zweier D-FFs wird infolge des Taktversatzes nicht synchron getaktet:
Schaltung:
Abb. 4.31: Flipflopschaltung mit Taktversatz-Problem.
Abb. 4.32: Zeitverhalten der in Abb. 4.31 definierten Signale.
In dieser Beispielschaltung soll das Flipflop FF2
den "1"-Pegel von y1
übernehmen (siehe Zeitdiagramm). Mit der Taktvorderflanke
übernimmt FF1
den neuen "0"-Pegel, der jedoch an y1
ausgegeben wird, bevor FF2
mit dem taktversetzten Signal C2
getaktet wird (Abb. 4.32). FF2
übernimmt also bereits den neuen "0"-Wert.
Ergebnis: y2 = 0 (Erwartungswert: y2 = 1)
Dieses Problem des Taktversatzes
kann weitestgehend vermieden werden durch Verwendung sogenannter
"zweiflankengesteuerter" Flipflops.
Ähnlich wie die Einflankensteuerung
durch Einführung der "Master/Slave"-Konfiguration
zweier taktpegelgesteuerter FFs erzielt wurde, kann jetzt die
Zweiflankensteuerung durch Verbindung zweier einflankengesteuerter
FFs in Master/Slave-Anordnung erzielt werden:
Abb. 4.33 Zweiflankengesteuertes Flipflop.
Im so entstandenen zweiflankengesteuerten
Flipflop wird die Information mit der Taktvorderflanke übernommen
und erst mit der Rückflanke wieder ausgegeben.
Die Zeit zwischen Taktvorder- und
Taktrückflanke dient zur Überbrückung des Taktversatzes.
Abb. 4.34: Schaltsymbol (DIN 40700, Teil 14) für das zweiflankengesteuerte JK-Flipflop. |
Symbolik: | |
1J,1K | markieren die zeitliche Abhängigkeit der Eingänge von C1 |
Aktiv: abfallende Impulsflanke | |
retardierter Ausgang |
Aus dem flankengesteuerten JK-Flipflop
lassen sich andere Flipflop-Realisierungen ableiten (ähnlich
wie dies beim RS-FF gezeigt wurde). Von der Vielzahl der FF-Derivate
sind insbesondere das D-Flipflop und das T-Flipflop von besonderer
Bedeutung. Das flankengesteuerte D-FF entspricht in seiner Funktion
dem taktpegelgesteuerten D-FF (s.o.); das T- oder Toggle-Flipflop
nutzt die Wechsel-Funktion des JK-Flipflops.
Abb. 4.35: Schaltsymbole der D- und T-Flipflops (zweiflankengesteuert).
Tab 4.7: Funktionstabellen der D- und T-Flipflops:
Hinweis:
Damit die Informationsübernahme
durch das Flipflop (Latch) sicher ablaufen kann, müssen
bei Standard-FF-Bausteinen bestimmte Zeitbedingungen (Minimalvorgaben)
genau eingehalten werden. Diese Einschränkungen beziehen
sich insbesondere auf die als "setup time"
und "hold time" bezeichneten Zeiten. Bei
einigen Bauteilen muß auch die Anstiegs- bzw. Abfallszeit
des Taktimpules (rise time bzw. fall time)
Berücksichtigung finden.
Beispiel: D-Flipflop
Abb. 4.36: Impuls-Charakterisierung.
Typische Werte für die "setup
time" tsu
und die "hold time" th
bei Bausteinen der 74LS-Familie liegen bei:
tsu | > | 20 ns |
th | > | 5 ns . |
Bei integrierten Flipflop-Schaltkreisen existieren meistens außer den Eingängen für die bereits bekannten Signale weitere Eingänge für spezielle Steuersignale.
Das Standard-Flipflop SN7474 (zweifach vorderflankengesteuertes D-Flipflop) kann so z.B. über die asynchronen Eingangssignale "preset" und "clear" taktunabhängig in einen genau definierten Anfangszustand gesetzt werden.
Beide Signale sind bei "0"-Pegel
aktiv (active low) und setzen den Q-Ausgang auf "1"-
bzw. "0"-Pegel.
Abb. 4.37: Blockschaltbild des D-Flipflops SN7474,
mit preset
, clear ,
clock CLK (Taktsignal) und Dateneingang D.
|
Abb. 4.38: Funktionstafel (links, X = don't care) und Schaltsymbol
(rechts) des D-Flipflops SN74x74
(jeder Baustein enthält zwei Flipflop-Einheiten).
4.4.8 Unterschied Latch/Flipflop:
Der Unterschied zwischen taktpegel- und taktflankengesteuerten Flipflops wird in der englischsprachigen Literatur durch die Begriffe latch und flipflop zum Ausdruck gebracht.
Da beide Bausteine trotz ihrer offenbaren
Ähnlichkeit ein sehr differenziertes Verhalten zeigen, soll
der Unterschied an einem vergleichenden Beispiel erläutert
werden:
Abb. 4.39: Beispielschaltung (latch, flipflop).
Abb. 4.40: Zeitdiagramm zur Schaltung in Abb. 4.39 (ohne Berücksichtigung von Verzögerungszeiten).
Hinweis:
Die für das Schalten beim D-Flipflop verantwortliche Flanke wird durch gekennzeichnet (in diesem Fall ist also die ansteigende Impulsflanke die aktive).
4.4.9 Zusammenfassung: Flipflop-Klassifizierung
(datenlos) | |||||
Steuerung | |||||
Steuerung | |||||
Steuerung | |||||
Steuerung | |||||
Steuerung |
Tab. 4.8: Zusammenfassung der Standard-Flipflop-Arten.
Wie Tab. 4.9 zeigt, kann die Beschreibung des Takteingangs außerdem noch erweitert werden, um zwischen einer positiven (ansteigenden) und einer negativen (abfallenden) Flanke unterscheiden zu können.
Takt-Eingang mit Zustandssteuerung. Die Variablen an den Eingängen, die von C abhängen, werden bei C = 1 wirksam. | |
Takt-Eingang mit Flankensteuerung. Die Variablen an den Eingängen, die von C abhängen, werden beim 0-1-Übergang wirksam (positive Flanke). | |
Takt-Eingang mit Flankensteuerung. Die Variablen an den Eingängen, die von C abhängen, werden beim 1-0-Übergang wirksam (negative Flanke). |
Unterschiedliche Flipflop-Typen können
ineinander umgewandelt werden und neue Flipflop-Typen können
erzeugt werden, wenn zwei Kriterien berücksichtigt werden:
Das Taktverhalten wird bei der Umwandlung nicht verändert.
Die FF-Eingangssignale werden durch Vorschalt-Netzwerke angepaßt.
Abb. 4.41: FF-Umwandlung am Beispiel RS- und JK-Flipflop.
Das notwendige Netzwerk VN kann mit
den bekannten Methoden ermittelt werden. Die Beschreibung des
gesuchten Flipflops wird mit Hilfe einer Funktionstafel vorgenommen,
das zum Aufbau verwendete Standard-Flipflop kann über die
zugehörige Übergangstabelle definiert werden.
Abb. 4.41 zeigt den Schaltungsaufbau
zum Umwandlung eines RS-Flipflops in ein JK-Flipflop.
Tab. 4.10 vergleicht die Übergangstabellen des JK-Flipflops und des RS-Flipflops in der bereits eingeführten Kurzform.
Tab. 4.10: Übergangstabellen der RS- und JK-FFs.
Ausführlich geschrieben ergibt
sich daraus die in Tab. 4.11 dargestellte Form. In dieser
Tabelle werden die "don't care"-Positionen
des JK-Flipflops vollständig wiedergegeben (als "0"
und "1"), da sie als "Koordinaten" der KV-Diagramme
benötigt werden. Die "don't care"-Positionen
des RS-Flipflops bleiben erhalten und helfen bei der anschließenden
Minimierung.
Tab. 4.11:
Gegenüberstellung der ausführlichen Übergangstabellen für JK- und RS-Flipflop.
Abb. 4.42: KV-Diagramm zur Bestimmung des JK/RS-Netzwerks.
Aus dem KV-Diagramm ergeben sich
für S und R die gesuchten funktionalen Abhängigkeiten
von J, K und Q:
(4.7) |
. | (4.8) |
Damit ergibt sich schließlich die in Abb. 4.43 gezeigte Gesamtschaltung.
Abb. 4.43: Als JK-Flipflop beschaltetes RS-Flipflop.
Inhalt | Vorheriges Kapitel | Nächstes Kapitel |