Digitaltechnik


Prof. Jürgen Plate

Flipflops

Basisflipflop

Nachdem Sie die wichtigsten Schaltkreisfamilien und deren Verhalten kennengelernt haben, soll eine neue Art des Verhaltens von digitalen Schaltgliedern behandelt werden. Der Zustand am Ausgang eines Schaltnetzes ändert sich sofort, wenn sich der Zustand am Eingang ändert, unabhängig von etwa früher vorhandenen anderen Zuständen am Eingang.Es gibt aber ungezählte Anwendungen, die es notwendig machen, sich einen Zustand über eine gewisse Zeit zu merken (die schon besprochenen Schaltwerke).

Bei der Einführung des Schaltwerks im vorhergehenden Kapitel wurde die Notwendigkeit von Speicherelementen erkannt. Diese Speicherelemente werden in der Digitaltechnik durch Baugruppen realisiert, die zwei stabile Ausgangszustände kennen → bistabile Kippstufen → Flipflops. Sie sollen ihren Ausgangszustand von "1" auf "0" oder von "0" auf "1" nur dann ändern, wenn eine bestimmte Eingangs-Signalkombination auftritt. Diese Information bleibt erhalten, bis sie d urch eine bestimmte andere Eingangskombination wieder umgeschaltet wird. Das Flipflop ist also ein digitaler Speicher, dessen beide stabilen Zustände von außen einstellbar sind. Flipflops eignen sich zum Schalten, Zählen, Speichern und Teilen von Frequenzen. Es gibt unterschiedliche Arten von Flipflops, die alle aus einen Basisflipflop und einen Schaltetz zur Ansteuerung bestehen.

Kernpunkt der Flipflop-Schaltung ist die Rückführung des Ausgangssignals auf einen Eingang. Doch die alleinige Rückführung (linkes Bild) erlaubt zwar das Setzen des Ausgangs auf "1" (Speichern), nicht jedoch wieder das Rücksetzen des Ausgangs auf "0". Dazu wird zwischen Ausgang und Rückführung ein UND-Gatter als Tor geschaltet, mit dem sich die Rückkopplung unterbrechen läßt (rechtes Bild). Damit hat man einen Setzeingang und einen Rücksetzeingang.

Durch Anwenden des Theorems von de Morgan können statt des ODER- und des UND-Gatters zwei NOR-Gatter verwendet werden. Durch Umzeichen erhält man die typische Darstellung eines Setz-/Rücksetz-Flipflops:

Das RS-Flipflop (Rücksetz-/Setz-FF) bildet das einfachste Basis-Flipflop. Nach dem gleichen Schema kann man auch mit NAND-Gattern ein RS-FF aufbauen, das gegenüber dem RS-FF mit NOR-Gattern invertierte Eingangssignale aufweist. Für das SR-FF werden die Eingänge mit "S" (Setzen) und "R" (Rücksetzen) sowie der Ausgang mit "Q" bezeichnet. Es gilt dann:

S R QSchaltzeichen
1 1 Speichern
0 1 1, Setzen
1 0 0, Rücksetzen
0 0 Verboten

Probleme des RS-FF sind:

In der Praxis führen beide Probleme zu kurzzeitigen "illegalen" Zuständen eines Schaltwerks, da jedes Gatter in der Realität mit einer Signal-Durchlaufzeit behaftet ist. Unterschiedliche Schaltnetze an den Eingängen des FF können dazu führen, daß ungewollte Zustände durch die unterschiedlichen Laufzeiten auftreten. Es besteht somit ein Bedarf für taktgesteuerte Flipflops, die zu einem definierten Zeitpunkt umschalten.

Das SR-FF eingnet sich u.a. vorzüglich zur Entprellung von Kontakten. Schalter oder Taster "prellen", d. h. der Schalter schließt nicht auf einmal, sondern durch mechanische Bewegungen der Konstruktion öffnet und schliesst der Schalter mehrmal in kurzen Abständen. Im Bild ist dies die mit "Eingang" bezeichnete Kurve. Gewünscht ist das darunter gezeichnete Verhalten.

Dazu wird ein NAND-FF eingesetzt (active Low). Ein Umschalt-Taster legt jeweils einen der Eingänge auf "0" und erzeugt damit eine Reihe von Setz- oder Rücksetzimpulse. Das Kontaktprellen des Taster hat eine Reihe von Setz- bzw. Rücksetzimpulse zur Folge. Am Ausgang des FF erscheint der gewünschte saubere Impuls.

Beispiel: Codeschloß (Anwendung von RS-FF)
Der Ausgang A soll nur aktiviert werden, wenn die Taster T1 - T4 in der richtigen Reihenfolge gedrückt werden. Jeder andere Taster setzt das System zurück. Prinzip: Das RS-FFn kann nur dann gesetzt werden, wenn das RS-FFn-1 bereits gesetzt ist.

Sn = Qn-1 * Tn

Die Sicherheit des Schlosses ist nicht besonders toll (warum?). Sie läßt sich verbessern, indem auch dann ein Reset erfolgt, wenn die Reihenfolge von T1 - T4 nicht eingehalten wird. Wie sieht dann die Schaltung aus? Wie hoch ist der zusätzliche Aufwand?

Beispiel: Motorsteuerung
Durch zwei Taster (T1 und T2) soll ein Motor auf Rechtslauf bzw. Linkslauf geschaltet werden. Ein dritter Taster (T3) dient zum Anhalten des Motors. Um Schäden am Getriebe zu vermeiden, soll eine digitale Verknüpfung verhindern, daß von Rechts- uns Linkslauf umgeschaltet werden soll, während der Motor läuft. Es gilt also:

  Setzeingang rechts = T1 * !Ql
  Setzeingang links = T2 * !Qr

Das Basisflipflop übernimmt eine anliegende Eingangsinformation sofort und speichert sie, d.h. sie wirkt sich unmittelbar aus. Solche Flipflops bezeichnet man als "nicht taktgesteuerte Flipflops. Zu den nicht taktgesteuerten Flipflops gehört auch das bereits ausführlich behandelte RS-Flipflop.

Taktgesteuerte Flipflops

Manche Anwendungen verlangen, daß ein Flipflop nur zu einem bestimmten Zeitpunkt auf den Eingangszustand reagiert. Diese Forderung hat zur Entwicklung der taktgesteuerten Flipflops geführt. Dabei bestimmt ein zusätzlicher Eingang C (Clock) den Zeitpunkt der Datenübernahme. Eine synchrone Arbeitsweise des RS-FF wird auch erst durch Erweiterung um einen Takteingang erreicht. Die taktgesteuerten Flipflops kann man unterscheiden in: Die Zeitpunkte Qn und Qn+1 sind nun eindeutig durch das Taktsignal definiert. Die Eingänge R und S bereiten den Folgezustand des FF vor, bestimmen ihn aber nicht unmittelbar, man nennt sie daher auch oft "Vorbereitungseingänge". Das folgenden Bild zeigt einen Überblick der verschiedenen Arten von Flipflops in übersichtlicher Form. Die erste Verzweigung unterscheidet zwischen "nicht taktgesteuerten" und "taktgesteuerten" Flipflops.

Takt(zustand)gesteuertes RS-FF

Die Realisierung erfolgt durch UND-Verknüpfung der Eingänge R und S mit dem Takteingang:

CSRQSchaltzeichen
000Q-1 (speichern)
001Q-1 (speichern)
010Q-1 (speichern)
011Q-1 (speichern)
100Q-1 (speichern)
1010 (Rücksetzen)
1101 (Setzen)
111Verboten!

Durch einen zusätzlichen Takt-Eingang wird dem FF die Arbeits- und Ruhezeit zugeteilt. Dadurch übernimmt das FF als Speicherelement die Information nur zu einem bestimmten Zeitpunkt, wobei diese dann bis zur nächsten Änderung an den Ausgängen stabil anliegt. Der Takt bestimmt auch, wann die an den Eingängen anliegende Information das FF beeinflußt.

D-Flipflop (Latch)

Das D-FF kann als taktzustandsgesteuerte Sonderform des RS-FF aufgefaßt werden, bei der der "Verbotene" Zustand nicht mehr auftreten kann. Der R-Eingang hat immer den invertierten Wert des S-Eingangs, der Zustand S = R = 1 kann somit nicht auftreten.

Der Zustand "Speichern" (S = R = 0) kann nun natürlich auch nicht mehr auftreten, der Takteingang bestimmt nun alleine, wann die Information am D-Eingang übernommen wird. Die Wahrheitstabelle verkürzt sich für die Bedingungen: S = D und R = ~D zu:

DQn+1Schaltzeichen
00
11

Das D-FF ermöglicht z.B. Verzögerungen um eine Taktperiode. Durch "Parallelschalten" mehrerer D-FFs mit gemeinsamer Taktleitung kann man einen Speicher für Binärworte beliebiger Wortbreite realisieren, einen solchen Speicher nennt man dann Register.

Taktflankengesteuerte Flipflops

Taktzustandsgesteuerte FFs übernehmen die Eingangsinformation solange der Takteingang = 1 ist, auch wenn sich während dieser Zeit der Eingangszustand ändert. Das ist nicht für alle Anwendungen wünschenswert. Dazu ein Beispiel:

Gesucht wird eine FF-Schaltung, bei der das FF beim Eintreffen des Taktimpulses zwischen 1 und 0 hin und her wechselt (Teilen des Taktes durch 2, "Toggle"-FF). Wenn Q = 1 ist soll nach dem Taktimpuls Q = 0 sein und umgekehrt. Ein Realisierungsversuch mit D-FF:

Diese Lösung führt jedoch nicht immer zum Ziel, da bei aktivem C der Eingang sofort auf den Ausgang geschaltet wird und so auch mehrfache Wechsel sofort weitergegeben werden, das führt möglicherweise zu ungewollte Schwingungen. Man könnte sich zunächst behelfen, indem man die "aktife" Taktphase möglichst kurz macht. Durch die folgende Schaltung wird aus einem 0-1-Wechsel ein kurzer Nadelimpuls erzeugt, der nur die Dauer einer Gatterlaufzeit (wenige Nanosekunden) hat.

Der Nachteil wird dadurch aber nur teilweise behoben. Ganz beseitigt werden kann er durch eine zweite Art von Flipflops mit Taktflanken-Steuerung. Der Takt ist nun kein statischer Pegel mehr, sondern eine dynamische Flanke. Die Info liegt dafür etwas "verzögert" am Ausgang an. Die Realisierung erfolgt durch Sperren der Eingänge nach Veränderung des Ausgangs. Es gibt flankengesteuerte RS- und D-Flipflops, das in der Praxis häufigste flankengesteuerte FF ist jedoch das JK-FF.

Das (ein)flankengesteuerte RS-Flipflop übernimmt die Eingangsdaten je nach Typ bei der positiven oder negativen Flanke des Taktsignals. In der internen Verschaltung des Bausteins erreicht man die Flankentriggerung im allgemeinen dadurch, daß die Eingänge nach dem Wirken gesperrt werden.

Für die folgenden Betrachtungen ist ein Blick auf einen Taktimpuls nötig. Er setzt sich zusammen aus einer steigenden (positiven) Flanke, einer Zeit in der ein 1-Pegel angenommen wird und einer fallenden (negativen) Flanke:

Bis auf den abgeänderten Takteingang entspricht das einflankengesteuerte RS-Flipflop direkt dem taktzustandsgesteuerten RS-Flipflop. Reagiert der Baustein auf die negative Taktflanke, ist im Schaltzeichen vor dem Takteingang eine Negation eingezeichnet.

Das von der Funktion her bereits bekannte D-Flipflop übernimmt bei Flankensteuerung das Datenbit bei einer Flanke des Taktsignals. Bis auf den abgeänderten Takteingang entspricht es dem taktzustandsgesteuerten D-Flipflop. Oft wird ein Flipflop benötigt, das bei jedem Impuls in den anderen stabilen Zustand kippt, also ein Frequenzteiler durch 2 (Toggle-Flipflop). Dies läßt sich realisieren, indem man bei einem flankengesteuerten D-Flipflop den Ausgang Q auf den D-Eingang zurückkoppelt. So wird bei jeder Taktflanke das Inverse des vorherigen Zustands eingespeichert.

Einflankengesteuertes JK-Flipflop

Das JK-Flipflop ist ein Universal-Flipflop und kombiniert die Eigenschaften des RS-Flipflops mit denen des T-Flipflops. Es besitzt die beiden Vorbereitungseingänge "J" und "K", durch deren Beschaltung wir das Verhalten bestimmen können. Es kann durch die Erweiterung eines taktfrankengesteuerten RS-Flipflops mit zwei UND-Gattern erzeugt werden.

Im Normalfall verhält sich das JK-Flipflop wie ein RS-Flipflop, d. h. 1-Pegel am Eingang J bedeutet Setzen, 1-Pegel an K bedeutet Zurücksetzen und J und K auf 0-Pegel bedeutet Speichern. Setz man J und K auf "1", führt dies zum Kippen in den anderen stabilen Zustand. Schaltet man also den J- und den K-Eingang eines JK-Flipflops auf 1-Pegel, so verhält es sich wie ein T-Flipflop.

JKQn+1Schaltzeichen
LLQn
HLH
LHL
HH~Qn

Zweiflankengesteuertes JK-Flipflop

Das zweiflankengesteuerte JK-Flipflop, auch "Master-Slave-JK-FLipflop" genannt, ist die gebräuchlichste Form der zweiflankengesteuerten Flipflops. Der "Master" ist ein RS-Flipflop, der "Slave" ein RS-Flipflop, da die Ausgänge des Masters ja sowieso nie gleichzeitig H-Pegel führen können. Der Unterschied zum einflankengesteuerten JK-Flipflop liegt darin, daß mit der steigenden Taktflanke die Eingangsinformation in den Master übernommen wird und das Ausgangssignal erst nach der negativen Taktflanke erscheint. Das folgende Bild zeigt das Schaltsymbol und schematisch die Realisierung:

tn tn+1
JKQ
00Qn-1
010
101
11~Qn-1

Anwendungsbeispiele

Änderungsdetektor

Der folgende synchrone Änderungsdetektor liefert einen taktsynchronen Ausgangsimpuls, wenn sich der Eingang ändert. Das Verhalten der Schaltung wird durch das Impulsdiagramm verdeutlicht.

Logikprüfstift

Der Prüfstift zeigt nicht nur 1- und 0-Pegel an, sondern auch Impulse. Die 0- und 1-Anzeige ist wohl jedem klar. Je nach Eingangspegel leichtet einer der beiden LEDs. Das D-Flipflop ist als Toggle-Flipflop geschaltet und wechselt seinen Ausgangszustand bei jedem Signalwechsel am Eingang. Bei einem statischen Eingangssignal leuchtet somit eine der oberen beiden LEDs ("0" oder "1") und eine der beiden unteren LEDs (egal welche). Bei einem Rechtecksignal am Eingang toggelt das D-Flipflop ständig und beide gelben LEDs leuchten etwa halbhell. Natürlich leuchten auch die rote und grüne LED. An deren Helligkeint kann man sogar grob auf das Tastverhältnis schließen.

Bei höherer Integration wird die Schaltung eines Bausteins nicht mehr explizit angegeben, sondern der Baustein als Blockschaltung dargestellt, wie im folgenden Beispiel.

7-Segment-Anzeige

Diese werden so genannt, weil sie aus sieben einzelnen Leuchtdioden (Segmenten) bestehen, die in einem Bauteil vereint sind. Mit diesen sieben Segmenten kann man alle Zahlen zwischen 0 und 9 darstellen. 7-Segment-Anzeigen gibt es mit gemeinsamer Anode oder mit gemeinsamer Kathode. Elektrisch gesehen handelt es sich bei den Segmenten um ganz normale LEDs. Die einzelnen Segmente werden durch Buchstaben gekennzeichnet.

Die Decodierung BCD-zu-7-Segment-Code erfolgt über ein Schaltnetz im Baustein 7447, der auch die Treiberstufen für die LEDs integriert hat. Er schaltet die Segmente gegen Masse, benötigt also eine 7-Segment-Anzeige mit gemeinsamer Anode. Für jede LED ist noch ein Vorwiderstand erforderlich. Über den Anschluß LT werden alle Segmente eingeschaltet (Lamp Test). Die Anschlüsse RBI (Ripple Blanking Input) und RBO (Ripple Blanking Output) erlauben das Dunkelschalten führender Nullen. Dazu wird jeweils der RBI-Eingang eines Bausteins mit dem RBO-Ausgang des Decoders der vorhergehenden Stelle verbunden.

Die folgende Erweiterung demonstriert den Anschluß eines Zählers an den Decoder. Bei jeder Taktflanke wird um 1 weitergezählt.

Register

Die Flipflops stellen im Prinzip Informationsspeicher mit einer Kapazität von einem Bit dar. Größere Speicher können durch Verknüpfung mehrerer Flipflops realisiert werden. In der einfachsten Form werden die mit einer begrenzten Menge von FFs aufgebauten Speichereinheiten als Register bezeichnet. Kennzeichnend für derartige Register ist außerdem die gleichzeitige Taktung aller beteiligten Flipflops über ein einziges Taktsignal.

Schieberegister

Durch Hintereinanderschalten mehrerer JK-FFs kann man erreichen, daß die Information am Eingang des ersten Registers bei jedem Taktimpuls an das folgende Register weitergegeben wird und so durch das aus diesen FFs gebildete Register hindurchgeschoben wird. Alternativ lassen sich D-Flipflops verwenden.

Solche Register nennt man Schieberegister. Ihrer Funktion entsprechend können die folgenden Schieberegister unterschieden werden:

DateneingangDatenausgangBeispiel (8 Bit)
seriell
seriell
seriell
parallel
parallel
seriell
parallel
parallel

Zur Realisierung von Schieberegistern können im Prinzip alle behandelten Flipflop-Arten eingesetzt werden. Häufig zur Anwendung kommen insbesondere die D- und JK-Flipflops (pegel- oder flankengesteuert). Vollständige Schieberegister benötigen über die hier gezeigten Funktionen hinaus weitere Steuereingänge:

Wird die Verbindung zwischen Q-Ausgang einer FF-Stufe und D-Eingang der folgenden FF-Stufe nicht direkt sondern über einen Multiplexer geschaltet, ist die Steuerung unterschiedlicher Schieberegister-Typen möglich:

s1s0Funktion
0
0
ohne Funktion
0
1
paralleles Laden
1
0
Rechtsschieben
1
1
Linksschieben

Alle diese Möglichkeiten sind beispielsweise im Schieberegister-Baustein 74LS194 realisiert:

Für die Grafik und die folgende Wahrheitstabelle gelten folgende Bedingungen:

Schaltwerke

Das Prinzip eines Schaltwerks wurde bereits erklärt. An dieser Stelle soll der Begriff "Schaltwerk" etwas vertieft werden. Zur Erinnerung: Ein Schaltwerk besteht prinzipiell aus einem oder mehreren Speichern und einer logischen Verknüpfung (= Schaltnetz) der gespeicherten Variablen, deren Ergebnis wieder dem Speicher zugeführt wird. Es gilt also:

Zu einer bestimmten Eingangskombination X können unterschiedliche Ausgangskombinationen Y auftreten, je nach der Vorgeschichte X(t,t-1,...,t-n).

Asynchrones Schaltwerk

Diese Form des Schaltwerks stellt die schaltungstechnische Realisierung eines sogenannten booleschen Automaten dar, und lässt sich, wie im Bild gezeigt, als Schaltnetz betrachten, das zum Zeitpunkt t die Eingangswerte Xt und die aktuellen Zustandswerte Zt-1 verknüpft. Das Ergebnis ist ein neuer Ausgabevektor Yt und ein neuer Zustandsvektor Zt. Y und Z ändern sich immer dann, wenn sich die Eingangssignale X ändern (also zu einem beliebigen Zeitpunkt).

Synchrones Schaltwerk

In der Realität erzeugt jedes Schaltnetz sein Ergebnis erst nach einer gewissen Zeit, die von seinem Aufbau abhängt. Um zu einem bestimmten Zeitpunkt anliegende Eingangswerte mit den richtigen zwischengespeicherten Werten zu verknüpfen, wird die Übernahme der Eingangsignale X und des Zustandsvektors Z mit einem Taktsignal synchronisiert. Dieses Taktsignal ist in der Regel ein symmetrisches Rechtecksignal fester Frequenz. Die Freqenz wird passend zu den internen Laufzeiten des Schaltnetzes gewählt (es gibt also eine technisch bedingte obere Grenzfrequenz).

Asynchrone Zähler

Bei einem T-Flipflop (Toggle-FF) ändert mit jeder ansteigenden Flanke des Eingangssignals sein Zustand. Werden solche Flipflops über den invertierten Ausgang geschaltet, erhält man einen asynchronen Binärzähler wie im Bild. Beim JK-FF gibt es eine Eingangskombination (J = K = 1), bei der das FF bei jedem Taktimpuls seinen Zustand wechselt (kippen, toggle). Jede Stufe des FF halbiert also den Takt. Es ergibt sich folgende Wahrheitstabelle für die Ausgänge:

Taktimpuls Q1 Q2 Q3
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 0 0 0

Genauer: Taktimpuls 0 zeigt den Anfangszustand, der Rest der Tabelle den Zustand der Ausgänge nach dem jeweiligen Taktimpuls. Im unteren Teil des Bildes ist der Signalverlauf des Binärzählers gezeigt.

Der vorgestellte Zähler ist ein asynchroner serieller Zähler. Der vom Eingangstakt ausgelöste Zustandswechsel am ersten Flipflop pflanzt sich von Flipflop zu Flipflop fort (ripple counter). Das Zählen beruht hier auf dem Prinzip der Frequenzteilung. Der Reset-Eingang bringt den Zähler jederzeit in den Anfangszustand. Eine solche Möglichkeit ist bei Schaltwerken generell wünschenswert. Man kann so beispielsweise einen 4-Bit-Zähler verwenden, um ihn zu einem BCD-Zähler auszubauen. Die Ausgangskombination Q3 = 1, Q2 = 0, Q1 = 1 und Q0 = 0 setzt den Zähler zurück.

Beim Modulo-8-Zähler im Bild weiter oben ist jeweils der invertierende Ausgang eines Flipfl?Us mit dem Takteingang des folgenden verbunden. Wenn man stattdessen den Q-Ausgang jeweils mit der Folgestufe verbindet, wird rückwärts gezählt. Schaltet man nun zwischen die einzelnen Flipflops einen Multiplexer, kann die Zählrichtig umgeschaltet werden - je nachdem welcher Ausgang einer Stufe mit dem folgenden Takteingang verbunden wird.

Synchrone Zähler

Bei einem synchronen Zähler wird ein Zählimpuls allen Flipflops gleichzeitig zugeführt. Ein derartiger Zähler ist aufwendiger als ein asynchroner Zähler. Er ist aber weniger anfällig gegenüber Störungen im Zeitverhalten, da der Ausgangszustand nur während eines kurzen Zeitintervalls nach dem Takt nicht definiert ist. Dazu ein ausführliches Beispiel:

Synchroner Zähler (8-4-2-1-Code)

Aufstellen der Wahrheitstabelle

Ausgehend vom 8-4-2-1-Code wird die Wahrheitstabelle für einen Zähler in diesem Code aufgestellt. Darin sind D, C, B und A die Ausgänge der vier benötigten Flipflops vor dem Eintreffen eines Taktimpulses und D*, C*, B* und A* dieselben Ausgänge nach dem Taktimpuls.

Dezimal  D   C   B   A    D*  C*  B*  A*
  0    | 0 | 0 | 0 | 0 || 0 | 0 | 0 | 1 | 
  1    | 0 | 0 | 0 | 1 || 0 | 0 | 1 | 0 |
  2    | 0 | 0 | 1 | 0 || 0 | 0 | 1 | 1 |
  3    | 0 | 0 | 1 | 1 || 0 | 1 | 0 | 0 |
  4    | 0 | 1 | 0 | 0 || 0 | 1 | 0 | 1 |
  5    | 0 | 1 | 0 | 1 || 0 | 1 | 1 | 0 |
  6    | 0 | 1 | 1 | 0 || 0 | 1 | 1 | 1 |
  7    | 0 | 1 | 1 | 1 || 1 | 0 | 0 | 0 |
  8    | 1 | 0 | 0 | 0 || 1 | 0 | 0 | 1 |
  9    | 1 | 0 | 0 | 1 || 0 | 0 | 0 | 0 |

Für die Werte von K und J werden in diesem Beispiel die folgenden Abkürzungen verwendet:

JKQt+1Abkürzung
1X1J(K)
X10K(J)
X0Qt(J)
0XQt(K)

Entwickeln der KV-Diagramme

Für jeden der vier Flipflop-Ausgänge D*, C*, B* und A* (nach dem Takt) wird jetzt ein KV-Diagramm erstellt. Eingangsvariable sind dabei die Flipflop-Ausgänge D, C, B und A vor dem Takt. Das folgende Bild zeigt diese vier Diagramme.

Im KV-Diagramm für die Ausgangsgröße D* korrespondiert die erste Zeile der Wahrheitstabelle für die Dezimalziffer 0 mit dem Feld, das in der linken Spalte und in der ersten Zeile liegt. Für dieses Feld ist D = 0, C = 0, B = 0 und A = 0. Nach der Wahrheitstabelle muß hier D* auf 0 gehalten werden. Dafür wird die definierte Abkürzung (K) verwendet. Ebenso wird mit den weiteren Zeilen der Wahrheitstabelle für die Dezimalziffern 1 bis 6 verfahren. Die Zeile der Wahrheitstabelle für die Dezimalziffer 7 korrespondiert mit dem Feld in der zweiten Zelle und der dritten Spalte von links im KV-Diagramm. Für dieses Feld ist D = 0, C = 1, B = 1 und A = 1. Hier soll also am Ausgang D* High-Pegel hergestellt werden. Wir tragen daher in dieses Feld die Abkürzung J (K) ein.

Bei der Dezimalziffer 8 muß Ausgang D* auf 1 gehalten werden. In das zugehörige Feld des KV-Diagramms, das sich links unten befindet, wird (J) eingetragen. Aus der letzten Zeile der Wahrheitstabelle, die für die Dezimalziffer 9 gilt, geht hervor, daß für Ausgang D* 0-Pegel hergestellt werden muß. In das zugehörige Feld des KV-Diagramms, letzte Zeile, zweite Spalte von links, wird K(J) eingetragen. Für sechs der sechzehn Felder des KV-Diagramms gibt es keine zugehörigen Zeilen der Wahrheitstabelle. Das sind die Pseudotetraden. Diese Felder können beliebige Zustände annehmen, und sie werden daher mit X ausgefüllt.

Für die Ausgangsgrößen C*, B* und A* werden auf die gleiche Weise die KV-Diagramme aufgestellt.

Gruppenbildung und Erstellen der Eingangsgleichungen

Wie bei der Berechnung statischer Verknüpfungen , werden auch hier die Felder der KV-Diagramme zu möglichst großen Gruppen zusammengefaßt. Es gelten hier dieselben Regeln:
Die Anzahl der zu einer Gruppe zusammengefaßten Felder muß 2k sein, wobei k eine ganze Zahl > 0 ist, maximal aber gleich der Zahl der Eingangsvariablen. Alle Felder einer Gruppe müssen benachbart sein. Benachbart sind Felder, die sich nur in einer Eingangsvariablen unterscheiden, das heißt, diese befinden sich nebeneinander in derselben Zeile beziehungsweise untereinander in derselben Spalte.

Anders als bei KV-Diagrammen für statische Verknüpfungen müssen bei der Zählerberechnung mit JK-Flipflops zwei Arten von Gruppen gebildet werden:

  1. Gruppen um Felder, die mit J(K) bezeichnet sind, J muß hier 1 sein. In Feldern, die mit (J), K(J) oder X bezeichnet sind, darf J = 1 sein. Diese Felder dürfen also auch in dieser Art der Gruppen vorhanden sein.
  2. Gruppen um Felder, die mit K(J) bezeichnet sind. K muß hier 1 sein. K darf 1 sein in Feldern, die mit (K), J(K) oder X bezeichnet sind. Demnach dürfen diese Felder auch in dieser Art der Gruppen enthalten sein.
In dem aufgestellten KV-Diagramm für D* gibt es ein Feld mit J(K). Die größtmögliche Gruppe um dieses Feld besteht aus zwei Feldern und ist mit einer gestrichelten Linie umrahmt. Für diese Gruppe gilt C = 1, B = 1 und A = 1. In dieser Gruppe ist D redundant. Die Gleichung dieser Gruppe, die die Beschaltung des J-Eingangs des Flipflops Nummer D festlegt, lautet also

JD = C · B · A

Die größtmögliche Gruppe um das mit K(J) bezeichnete Feld besteht aus acht Feldern. Sie ist mit einer durchgezogenen Linie umrahmt. Für diese Gruppe gilt A = 1, und die Eingangsvariablen D, B und C sind redundant. Die Gleichung dieser Gruppe, die die Beschaltung des K-Eingangs festlegt, lautet also

KD = A

In gleicher Weise werden jetzt die weiteren drei KV-Diagramme für die Ausgangsgrößen C*, B* und A* aufgestellt und aus den Gruppen die Eingangsgleichungen ermittelt. Das KV-Diagramm für die Ausgangsgröße A* enthält neben mit X bezeichneten Feldern nur solche mit der Bezeichnung J(K) oder K(J), das heißt, sowohl J als auch K dürfen in allen Feldern des Diagramms High sein. Demnach umfaßt die größtmögliche Gruppe für J und für K das ganze KV-Diagramm. Für diese Gruppe sind alle Eingangsvariablen redundant. Die Funktionsgleichung lautet daher

JA = KA = 1

Dieses Ergebnis hätte man auch schon aus der Wahrheitstabelle ablesen können. Der Flipflop-Ausgang A wechselt mit jedem Taktimpuls seinen Zustand. Das ist aber bei einem JK-Flipflop nur möglich, wenn beide Eingänge J und K 1-Potential haben.

Das folgende Bild zeigt die aus den bisherigen Erkenntnissen resultierende Realisierung.

Da eine Vielzahl von Zählern angeboten wird, ist ein diskreter Aufbau aus Flipflops nur selten nötig. Anders verhält sich das bei synchronen Schaltwerken, die beliebige Ausgangskombinationen liefern sollen. Mit der Methode des folgenden Kapitels lassen sich natürlich auch synchrone Zähler realisieren.

Realisierung mit Speicher

Ist eine Boolesche Funktion vorgegeben, kann die Schaltung in tabellarischer Form einer Wertetabelle (Wahrheitstafel) beschrieben werden. Als einfacher Weg einer Realisierung der Schaltung bietet sich dann das Ablegen dieser Tabelle in einem Speicher an.

Ein Speicher besteht prinzipiell aus speichernden Komponenten (Flopflops oder andere Formen der Realisierung, "Speicherzellen") und einem 1-aus-N-Decoder, der die ensprechende Speicherzelle auswählt. Des weiteren ist es möglich, mehrere Speicherzellen parallel zu selektieren Speicherwort.

Diese Realisierung von Schaltfunktionen und Schaltwerken mittels Speichern führt zu der als "Programmierbare Logik" bezeichneten Methodik; die speziellen Bausteine dafür werden unter dem Begriff PLD zusammengefaßt (Programmable Logic Device).

Beispiel: Umwandlung des BCD-Codes in den Siebensegment-Code. Zu diesem Zweck werden die den BCD darstellenden Eingangsvariablen als Adressen des Speichers interpretiert. Der Siebensegment-Code stellt den zugehörigen Speicherinhalt dar:

<

Eingänge
Adressen
Ausgänge
Inhalte
dcbaABCDEFG
00001111110
00010110000
00101101101
00111111001
01000110011
01011011011
01101011111
01111110000
10001111111
10011111011
10100000000
10110000000
11000000000
11010000000
11100000000
11110000000

Um den gesamten Tabelleninhalt in einem Speicher ablegen zu können, ist offensichtlich eine Speicherkapazität von 16 x 7 Bit notwendig. Da der BCD-Code ist kein vollständiger Code ist, werden die Adressen 10 - 15 als "don't care"-Bereich spezifiziert, der in diesem Fall mit Nullen aufgefüllt wird. Problemlösungen mit Festwertspeichern haben Vor- und Nachteile:

Vorteile:

Nachteile:

Das im Speicher realisierte Schaltnetz kann nun um ein Register mit Rückführung zu einem Schaltwerk erweitert werden. Das Schema eines solchen Schaltwerks zeigt das folgende Bild:

Zum vorhergehenden Abschnitt Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate
Letzte Aktualisierung: 30. Sep 2008