4. Semester Hard- und Softwaretechnik Schieberegister Andreas Zbinden Gewerblich-Industrielle Berufsschule Bern, GIBB Zusammenfassung In diesem Dokument werden die Grundlagen von Schieberegistern und von rückgekoppelten Schieberegistern erklärt. Der Inhalt richtet sich nach dem aktuellen Lehrplan für ElektronikerIn EFZ an der GIBB und dient als Arbeitshilfsmittel im Unterricht. Dipl.El.Ing.FH, Lehrperson ElektronikerIn EFZ, MultimediaelektronikerIn EFZ 1
Inhalt Inhalt 1 Schieberegister 3 1.1 Schieberegister für serielle Ein- und Ausgabe................... 4 1.2 Schieberegister für serielle Ein- und parallele Ausgabe.............. 5 1.3 Schieberegister für parallele Ein- und parallele Ausgabe............. 5 1.4 Universal-Schieberegister 74194........................... 6 2 Rückgekoppelte Schieberegister 9 2.1 Ringregister (Ringzähler).............................. 10 2.2 Johnson-Zähler.................................... 12 2.3 Lineares Schieberegister............................... 15 2
1 Schieberegister 1 Schieberegister Schieberegister sind Ketten von Flip Flop s, die es ermöglichen, eine am Eingang angelegte Information mit jedem Takt um ein Flip Flop weiter zu schieben. Sie dienen häufig als Pufferspeicher zwischen Geräten mit unterschiedlicher Art und Geschwindigkeit der Informationsverarbeitung (Abb. 1). Anwendung von Schieberegistern: Umwandlung paralleler Informationen in serielle Informationen und umgekehrt. Ausgabe von Bytes auf eine serielle Schnittstelle (z.b. USB) Serielles Senden der Bits von Netzwerk-Rahmen uber ein Ethernet- Kabel. Multiplikation einer positiven Binarzahl mit 2: links-schieben, wobei von rechts eine 0 nachgeschoben wird Ganzzahl-Division einer positiven Binarzahl durch 2: rechts-schieben, wobei von links eine 0 nachgeschoben wird Ganzzahl-Division einer 2er-Komplement-Zahl durch 2: rechts-schieben, wobei das Vorzeichen-Bit dupliziert wird (auch Arithmetic Shift genannt). Je nach der Art der Informationsein- bzw. der Informationsausgabe unterteilt man die Register in Paralle- und Serienregister (Schieberegister). Von Registern spricht man nur dann, wenn sowohl die Ein- wie auch die Ausgabe parallel erfolgt. Abb. 1: Anwendung Scheiberegister 3
1 Schieberegister SRG4 C1/ R 1D Q1 Q2 Q3 Q4 Abb. 2: Symbol Schieberegister Die Bezeichnung SRG4 im Kopfteil bedeutet, dass es sich bei diesem Modul um ein 4-bit Schieberegister (engl.: shift register) handelt. Der Pfeil gibt die Schieberichtung an. 1.1 Schieberegister für serielle Ein- und Ausgabe Abb. 3: Schieberegister für serielle Eingabe und serielle Ausgabe Das in Abbildung 3 gezeigte Schieberegister arbeitet nach folgender Wahrheitstabelle (Tab. 1): 4
1 Schieberegister Tab. 1: WT serie-serie Schieberegister Takt Nr. Zustände nach Takt Nr. E Q A Q B Q C Q D 1 0 0 0 0 1 0 1 0 0 0 2 0 0 1 0 0 3 0 0 0 1 0 4 0 0 0 0 1 5 0 0 0 0 0 1.2 Schieberegister für serielle Ein- und parallele Ausgabe Schieberegister haben stets die Möglichkeit der seriellen Dateneingabe und der seriellen Datenausgabe. Ohne diese Möglichkeit kann eine Schaltung nicht als Schieberegister bezeichnet werden. Das Schieberegister in Abbildung 4 hat zusätzlich die Möglichkeit der taktunabhängigen parallelen Datenausgabe. Es ist mit SR-FF realisiert. Abb. 4: Schieberegister für serielle Ein- und parallele Ausgabe 1.3 Schieberegister für parallele Ein- und parallele Ausgabe Für viele Anwendungen ist es praktisch, neben der seriellen Dateneingabe auch die Möglichkeit der parallen Dateneingabe zu haben. In Abbildung 5 ist ein Schieberegister gezeigt, welches taktunabhängig parallel Daten empfangen kann und auch taktunabhängig Daten ausgeben kann. Parallele und serielle Eingabe sind zueinander verriegelt. Liegt am Eingang U eine 0, so ist der Takt frei gegeben und das SR kann seriell arbeiten. 5
1 Schieberegister Abb. 5: Schieberegister für parallele Ein- und Ausgabe 1.4 Universal-Schieberegister 74194 Aufgabe 1.1. Studieren Sie das Datenblatt des in Abbildung 6 dargestellten Schieberegisters. Abb. 6: Symbol SN74194; Universelles Schieberegister 6
1 Schieberegister Abb. 7: 12-Bit Schieberegister mit kaskadiertem Baustein 74194 7
1 Schieberegister Aufgabe 1.2. Die Dualzahl 0101 soll mittels S2 in das Schieberegister nach Abbildung 8 eingegeben werden. Wieviele Takte sind nötig, bis die Zahl vollständig am Ausgang ausgegeben wurde. Bauen Sie die Schaltung auf und geben Sie die WT an. Abb. 8: 4-Bit Schieberegister Aufgabe 1.3. Ergänzen Sie die Schaltung in Abbildung 4 mit einer Verriegelungsschaltung welche das Weitertakten und die Parallelausgabe verhindert. 8
2 Rückgekoppelte Schieberegister 2 Rückgekoppelte Schieberegister Unter einem rückgekoppelten Schieberegister versteht man ein Schieberegister bei dem eine logische Verknüpfung der Ausgänge auf den seriellen Eingang zurückgeführt wird (Abb. 9). Abb. 9: Grundstruktur rückgekoppelter Schieberegister Wie ein 4-Bit Zähler, kann ein 4-Bit Schieberegister 16 verschiedene Zustände annehmen. Da aber geschoben und nicht gezählt wird, sind nach jedem Schiebevorgang nur gerade zwei neue Zustände möglich; je nach dem ob eine 0 oder eine 1 eingelesen wurde. So kann z.b. aus dem Zustand 0110 entweder 0011 oder 1011 entstehen. In Abbildung 10 sind alle möglichen übergänge für 4-Bit Schieberegister eingetragen; die ausgezogenen Pfeile entsprechen den übergängen mit eingelesener 1 und die gestrichelten Pfeile die übergänge mit eingelesener 0 dar. Abb. 10: Zustandsdiagramm 4-Bit Schieberegister (ohne Rückkopplung) 9
2 Rückgekoppelte Schieberegister Beim Einsatz einer konkreten Rückführlogik ist das resultierende Zustandsdiagramm ein Teilgraph dieses allgemeinen Zustandsdiagrammes. 2.1 Ringregister (Ringzähler) Ein Ringregister ist ein Schieberegister, welches den Ausgang mit dem Eingang verbunden hat (Abb. 11). Die im Register gespeicherte Information rotiert (Assemblerbefehle ROL=Rotate Left und ROR=Rotate Right). Abb. 11: Ringregister (Ringzähler) Aufgabe 2.1. Erstellen Sie das Zustandsdiagramm in Abbildung 12 eines 4-Bit Ringregisters gemäss Abbildung 11 und überprüfen Sie es mit der Schaltung nach Abbildung 13. 8 12 14 4 10 13 0 9 6 15 2 5 11 1 3 7 Abb. 12: Zustandsdiagramm Ringzähler (Ringregister) 10
2 Rückgekoppelte Schieberegister Abb. 13: Ringschieberegister Aufgabe 2.2. Erstellen Sie von der Schaltung nach Abbildung 14 das Zustandsdiagramm und das Impulsdiagramm. Ersetzen Sie das NOR mit einem NAND und prüfen Sie wiederum das Zustandsdiagramm. Abb. 14: Korrigierter Ringzähler 11
2 Rückgekoppelte Schieberegister 8 12 14 4 10 13 0 9 6 15 2 5 11 1 3 7 Abb. 15: Zustandsdiagramm korrigierter Ringzähler 2.2 Johnson-Zähler Beim Johnson-Zähler wird der invertierte Ausgang des in Schieberichtung letzten Flip- Flops eines Schieberegisters auf den seriellen Eingang zurückgeführt. Abb. 16: Johnson-Zähler Aufgabe 2.3. Erstellen Sie das Zustandsdiagramm des Johnson-Zählers gemäss Abbildung 16. 12
2 Rückgekoppelte Schieberegister 8 12 14 4 10 13 0 9 6 15 2 5 11 1 3 7 Abb. 17: Zustandsdiagramm Johnson Ringzähler Aus dem Zustandsdiagramm erkennen wir, dass der Johnson-Zähler zwei Zyklen der Länge 2N aufweist. Johnson-Zähler kommen ohne externe Logik aus, sind also sehr schnell. Häufig ist zum Beispiel in Frequenzmessern mit einem Frequenzbereich von 1 GHz ein Dekadenteiler in ECL-Technik (Emitter Coupled Logic; eine sehr schnelle Logikfamilie) in Form eines 5- stufigen Johnson-Zählers der eigentlichen Zählschaltung vorgeschaltet. Diese kann dann in konventioneller Technik (z.b. in AS-TTL) realisiert werden, die Zählfrequenzen von bis zu 100 MHz erlaubt. Zu berücksichtigen ist noch, dass Johnson-Zähler natürlich nicht im Binär- oder gar BCD-Code zählen, dass also unter Umständen noch Code-Wandler benötigt werden, um die Zähl-Resultate weiterzuverarbeiten. Wie gezeigt, weist der Johnson-Zähler zwei verschiedene Zyklen auf, die aber beide die gleiche Länge haben. Wenn wir auf einen bestimmten Zyklus angewiesen sind, so müssen wir wieder versuchen, einen selbstkorrigierenden Johnson-Zähler zu entwickeln. Eine mögliche Lösung ist in Abbildung 18 gezeigt. 13
2 Rückgekoppelte Schieberegister Abb. 18: Korrigierter Johnson-Zähler Aufgabe 2.4. Erstellen Sie das Zustandsdiagramm des korrigierten Johnson-Zählers gemäss Abbildung 18. 8 12 14 4 10 13 0 9 6 15 2 5 11 1 3 7 Abb. 19: Zustandsdiagramm des korrigierten Johnson Zählers 14
2 Rückgekoppelte Schieberegister 2.3 Lineares Schieberegister Wenn man die Rückführungslogik in geeigneter Weise mittels EXOR-Verknüpfungen realisiert, so ergeben sich Systeme mit sehr interessanten Eigenschaften. Abb. 20: Lineares Schieberegister Aufgabe 2.5. Erstellen Sie das Zustandsdiagramm des linearen Schieberegisters gemäss Abbildung 20. 8 12 14 4 10 13 0 9 6 15 2 5 11 1 3 7 Abb. 21: Zustandsdiagramm lineares Schieberegister Man spricht übrigens von linearen Schieberegistem, weil die zur Rückführung verwendete EXOR-Funktion (Modulo-Z-Addition) im Sinne der Algebra eine lineare Funktion ist. Solchermassen rückgekoppelte Schieberegister durchlaufen Zyklen der Länge 2 N 1, bei einem Schieberegister mit 20 Flip-Flops sind das immerhin 1048575 Taktimpulse. So lange dauert es, bis an einem beliebigen Ausgang des Schieberegisters sich das Muster des Ausgangssignals wiederholt. Man spricht deshalb auch von Pseudozufalls-Registem (pseudo random sequencer). 15
Literatur Man verwendet solche Register unter anderem zum Test von Datenübertragungseinrichtungen. Ein System, das weniger Speicherplätze enthält, als es der Länge einer Signalperiode (in unserem Falle 2 N 1) entspricht, kann ein pseudozufälliges Signal nicht mehr von einem echt zufälligen unterscheiden. Bei diesen Signalen treten auch alle möglichen Kombinationen auf, wie z.b. N mal hintereinander eine 1. Der bei allen derartigen linearen Schieberegistem auftretende Fixpunkt beim Zustand 0 lässt sich nur durch die nachstehende Schaltung vermeiden. Abb. 22: Korrigiertes lineares Schieberegister Literatur [1] Klaus Beuth. Digitaltechnik. Vogel Buchverlag, 2003. [2] M.V.Künzli. Vom Gatter zu VHDL. vdf Hochschulverlag AG, 2001. 16