Elektrische Logiksysteme
Transcription
Elektrische Logiksysteme
Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 10. Elektrische Logiksysteme mit Rückführung Name: Betreuer: Versuch ausgeführt: Protokoll erstellt: Daniel Schick Dipl. Ing. D. Bojarski 22. Juni 2006 25. Juni 2006 2 Inhaltsverzeichnis 1 Versuchsbeschreibung 1.1 Ziel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 2 Trigger 2.1 RS-Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 D-Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 JK-Master-Slave-Trigger . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 6 3 Register 7 4 Zähler 4.1 asynchroner BCD-Zähler . . . 4.2 asynchroner Modulo-m-Zähler 4.3 synchroner Modulo-m-Zähler . 4.4 3-stelliger Dezimalzähler . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 9 10 1 Versuchsbeschreibung 1.1 Ziel Kennenlernen der Wirkungsweise von elementaren Logikschaltungen mit Rückführung (Trigger, Flip-Flop) und ihrer Anwendungen als Register, Zähler und Frequenzteiler. 1.2 Aufgaben 1. Trigger a) Realisieren Sie aus NAND-Gattern einen RS- und einen getakteten RSTrigger. Für den Takt ist ein prellfreier Schalter zu verwenden. Geben Sie die Übertragungsfunktion an. b) Untersuchen Sie das Schaltverhalten eines JK-Master-Slave-Triggers und eines D-Triggers. Geben Sie die Ausgangsbelegung nach den Taktsignal in Abhängigkeit von dem Zustand vor den Takt und der Belegung der Vorbereitungseingänge (Zustandstabelle) an. Hinweis: Nutzen Sie die vorhandenen Trigger. 2. Register a) Bauen Sie mit den JK-Master-Slave-Triggern ein Schieberegister auf und kontrollieren Sie die Funktionsfähigkeit. b) Ergänzen Sie das Schieberegister mit NAND-Gattern zu einem Schieberegister mit Datenkreislauf und überprüfen Sie die Funktion. (fakultativ) 3. Zähler a) Bauen Sie aus JK-Triggern einen BCD-Zähler (asynchron oder synchron) auf. b) Bauen Sie einen asynchronen Modulo-m-Zähler auf, indem Sie die J- und K-Eingänge entsprechend beschalten. (m wird vom Betreuer vorgegeben) c) Entwickeln Sie einen synchronen Modulo-m-Zähler durch entsprechende Beschaltung der Vorbereitungseingänge. Nehmen Sie das Taktdiagramm auf. (m wird vom Betreuer vorgegeben) d) Überprüfen Sie die Funktion des 3-stelligen Dezimalzählers (Zähler, Decoder und Anzeige). Erklären Sie die Funktionsweise anhand eines Taktdiagramms der Steuereingänge. Schalten Sie die Zähler zu einem programmierbaren Teiler mit einem Teilerverhältnis von 1 bis 99 zusammen. Überprüfen Sie die Funktion und erklären Sie die Funktionsweise. 4 2 Trigger 2.1 RS-Trigger Mit den, aus dem letzten Versuch bekannten, NAND-Gattern, lassen sich sehr einfach so genannte Trigger realisieren. Der wichtigste Unterschied zu einfachen Logikschaltungen, ist die Rückführung der Ausgänge der NAND-Gattern an ihre eigenen Eingänge. In Abb. 1 ist ein RS-Trigger dargestellt. Seine beiden Eingänge werden mit S für Set und R für Reset bezeichnet. Die beiden Ausgänge Q und Q sind jeweils konjugiert zu einander. Der RS-Trigger besitzt zwei stabile Zustände, die durch unterschiedliche Belegung von R und S erreicht werden können. Das Schaltverhalten ist in der untenstehenden Tabelle dargestellt. Die Abfolge H, L, H bedeutet, dass die zugehörige Variable die entsprechende Zustandsfolge durchlaufen muss, damit der Trigger in einen der beiden stabilen Zustände gelangt. Wichtig ist, dass nach dem Erreichen eines stabilen Zustandes, diejenige Eingangsvariable, die diesen Zustand herbeigeführt hat, nicht mehr aus diesem herausführen kann. Der RS-Trigger kann sich also merken welche Eingangsvariable die Zustandsfolge H, L, H durchlaufen hat. Da der Zustand R = L und S = L einen undefinierten Zustand erzeugt, ist dieser Verboten. & S Q x1 x2 R Setzlage Rücksetzlage & S H, L, H H R H H, L, H Q H L Q Abbildung 1: Schaltplan RS-Trigger Der RS-Trigger wurde realisiert und seine Funktionsweise kontrolliert. Als Erweiterung kann der getaktete RS-Trigger angesehen werden, s. Abb. 2. Seine beiden Eingänge werden durch einen Takt C gesteuert und sind zusätzlich negiert. Dadurch schaltet dieser Trigger nur bei fallender Flanke des Taktsignals C, welches durch eine Rechteckspannung realisiert wird. Die untenstehende Zustandstabelle entspricht der negierten Zustandstabelle des normalen RS-Triggers. Auch dieser Trigger wurde aufgebaut und seine Zustände wurden erfolgreich mit der theoretischen Zustandstabelle verglichen. 5 S & & Q C Setzlage Rücksetzlage & & Q S R Q L, H, L L H L L, H, L L R Abbildung 2: Schaltplan getakteter RSTrigger 2.2 D-Trigger Ein D-Trigger erhält man aus einem getaketen RS-Trigger dessen Eingänge nicht mehr unabhängig voneinander sind, sondern negiert zueinander geschaltet werden, s. Abb. 3. Der D-Trigger schaltet bei dem gezeigten Aufbau jedoch nicht bei fallender Flanke, sondern immer bei einem High des Taktsignals. Bei einem Low wird der Zustand gehalten. Der D-Trigger wurde aufgebaut und die untenstehende Zustandstabelle konnte dabei bestätigt werden. & D & Q C & & Q & D H L Q H L Abbildung 3: Schaltplan D-Trigger 2.3 JK-Master-Slave-Trigger Ein JK-Master-Slave-Trigger besteht aus zwei getakteten RS-Triggern die hintereinander geschaltet sind, einem Master und einem Slave. Er besitzt die Eingänge J und K sowie einen Takteingang C. Die Ausgänge werden wie schon bekannt mit Q und Q bezeichnet. Auch der JK-Trigger schaltet nur bei abfallender Flanke wobei sein Schaltverhalten von seiner Anfangsbelegung Qn−1 abhängig ist, s. Tab. 1. Auch dieses Schaltverhalten konnte experimentell mit Hilfe eines fertigen JK-Triggers bestätigt 6 werden. Es bietet sich nun bei diesem Trigger an, die zugehörige Zustandstabelle zu vereinfachen, s. Tab. 2. Wobei ∅ bedeutet, dass die Belegung in diesem Fall egal ist. J L L L L H H H H K L L H H L L H H Qn−1 L H L H L H L H Qn L H L L H H H L Verhalten halten halten zurücksetzen zurücksetzen setzen setzen tauschen tauschen Schaltvorgang L→L L→H H→L H→H J L H ∅ ∅ K ∅ ∅ H L Tabelle 2: vereinfachte Zustandstabelle JK-Trigger Tabelle 1: Zustandstabelle JK-Trigger 3 Register Ein Register, s. Abb. 4, dient zur kurzzeitigen Speicherung eines Eingangssignals. Ein Register besteht aus einer beliebigen Anzahl von hintereinander geschalteten JK-Triggern, die alle synchron getaktet sind. Je nach Eingangsbelegung kann das Ausgangssignal des ersten JK-Triggers gesteuert werden. Nach jedem Takt wird dieses dann an den nächsten Trigger weitergegeben. Somit entspricht die Länge der speicherbaren Signalfolge, der Anzahl der hintereinander geschalteten RS-Trigger. Damit der Register fehlerfrei arbeiten kann, wurden seine Eingänge jeweils mit prellfreien Schaltern in Form von RS-Triggern belegt. Die Funktionsfähigkeit wurde anhand von Leuchtdioden an den Ausgängen der JK-Trigger mit insgesamt 12 JK-Triggern überprüft. Abbildung 4: Schaltplan Register 7 4 Zähler 4.1 asynchroner BCD-Zähler Zu Beginn dieses Versuchsabschnittes wurde ein schon bekannter BCD-Zähler aufgebaut, diesmal jedoch in asynchroner Form mit JK-Triggern anstelle von D-Triggern, s. Abb 5. Das Taktdiagramm, s. Abb. 6, zeigt von Oben nach Unten das Taktsignal sowie die Ausgänge der Trigger X1 bis X4 . Abbildung 5: Schaltplan asynchron BCD-Zähler Abbildung 6: Taktdiagramm asynchroner BCD-Zähler 4.2 asynchroner Modulo-m-Zähler i 1 2 3 4 Ci T T X2 X2 Ji X2 X4 X1 X4 X3 Ki H X1 ∨ X4 H H Tabelle 3: Beschaltung des asynchronen Modulo-m-Zählers 8 Es bestand nun die Aufgabe einen Modulo-m-Trigger mit m = 10 zu entwickeln und zu realisieren. Mit einem vorgegeben Taktdiagramm wurde zuerst die Beschaltung der JK-Trigger entwickelt, s. Tab. 3. Anschließend wurde eine entsprechende Schaltung, s. Abb. 7, aufgebaut und das Taktdiagramm, s. Abb. 8, aufgenommen und mit der Vorgabe verglichen. Das Taktdiagramm zeigt wieder von Oben nach Unten das Taktsignal T sowie die Ausgänge der Trigger X1 bis X4 . X1 X2 X3 X4 & J SET Q J Q K SET J Q SET J Q SET Q T H K CLR CLR Q H K CLR Q H K CLR Q =1 Abbildung 7: Schaltplan asynchroner Modulo-m-Zähler Abbildung 8: Taktdiagramm asynchroner Modulo-m-Zähler 4.3 synchroner Modulo-m-Zähler Anschließend sollte ein synchroner Modulo-m-Zähler entwickelt und realisiert werden, der die Zahlenfolge 0,4,3,5,6 abzählt. Dafür ergibt sich die in Tab. 4 enthaltene Beschaltung der drei benötigten JK-Trigger. Die in Abb. 9 dargestellte Schaltung lieferte dann das gewünschte Ergebnis, welches in Abb. 10 nochmals als Taktdiagramm dargestellt ist. Das Taktdiagramm zeigt wieder von Oben nach Unten das Taktsignal T sowie die Ausgänge der Trigger X1 bis X3 . 9 i 1 2 3 Ji X2 X3 X3 X3 Ki X2 X2 X1 Tabelle 4: Beschaltung des synchronen Modulo-m-Zählers X1 X2 X3 & J SET Q J Q K SET Q J Q K SET Q T K CLR CLR CLR Q Abbildung 9: Schaltplan synchroner Modulo-m-Zähler Abbildung 10: Taktdiagramm synchroner Modulo-m-Zähler 4.4 3-stelliger Dezimalzähler Der 3-stelliger Dezimalzähler wurde am Ende des Versuches nur noch aufgebaut, um sich mit dem Aufbau und der Funktionsweise grundlegend vertraut zu machen. 10