- Was ist Schieberegister:
- Registertypen in der digitalen Elektronik
- 1. Serial In - Serial Out Schieberegister
- 2. Serial In - Parallel Out Schieberegister
- 3. Parallel in - Serial out Schieberegister
- 4. Parallel in - Parallel out Schieberegister
- 5. Bidirektionale Schieberegister
- 6. Zähler
- Anwendungen von Schieberegistern
Was ist Schieberegister:
Schieberegister sind sequentielle Logikschaltungen, die Daten speichern und übertragen können. Sie bestehen aus Flip-Flops, die so verbunden sind, dass der Ausgang eines Flip-Flops je nach Art der erstellten Schieberegister als Eingang des anderen Flip-Flops dienen kann.
Schieberegister sind im Grunde eine Art von Register, die Daten übertragen ("verschieben") können. Register sind generisch Speichervorrichtungen, die durch Verbinden einer bestimmten Anzahl von Flipflops in Reihe erzeugt werden, und die Datenmenge (Anzahl von Bits), die von dem Register gespeichert werden kann, ist bei jedem Flip immer direkt proportional zur Anzahl von Flipflops Flop kann jeweils nur ein Bit speichern. Wenn die Flip-Flops in einem Register so verbunden sind, dass der Ausgang eines Flip-Flops zum Eingang des anderen wird, wird ein Schieberegister erzeugt.
Flip Flops sind Geräte mit einer ähnlichen Funktion wie ein Latch. Es kann als bistabiler Vibrator bezeichnet werden, der sich zwischen zwei Zuständen (0 oder 1) bewegen kann und Daten in Bits speichern kann. Neue Daten werden mit jedem Taktzyklus in ein Flip-Flop eingelesen und die vorherigen Daten am Ausgang gesendet.
Schieberegister Bestehend aus welchen Flip-Flops?
Dies hängt jedoch von der Art des Flip-Flops ab, da die Beziehung zwischen Eingang, Ausgang und Taktzyklus zwischen den Flip-Flops variiert. Es gibt verschiedene Arten von Flip-Flops, aber die am häufigsten bei der Erstellung von Schieberegistern verwendeten sind die D (Delay) -Flip-Flops.
Für den Betrieb der D-Flip-Flops, was sie für Schieberegister so wünschenswert macht, immer dann, wenn sich der Takt eines D-Flip-Flops ändert (entweder steigende oder fallende Flanke, abhängig von den Spezifikationen des Flip-Flops). Die Daten am Ausgang "Q" werden die gleichen Daten wie die am Eingang "D". Der Ausgang "Q" des Flip-Flops bleibt bis zum nächsten Taktzyklus auf diesem Wert, wo er sich dann wieder auf den Wert (High oder Low, 1 oder 0) am Eingang ändert.
Nachdem wir nun wissen, was Siebregister sind, werden wir uns eingehender mit den Flip-Flop-Typen und ihren Anwendungen befassen. Um jedoch einen praktischeren Einblick in die Verwendung von Schieberegistern zu erhalten, werfen wir einen Blick auf das beliebte Schieberegister 74HC595, das wir mit verschiedenen Mikrocontrollern verwendet haben, um eine Anzeige oder eine Folge von LEDs miteinander zu verbinden.
- Schalten Sie das Register mit 74HC595 bei Arduino ein, um eine Folge von LEDs zu steuern
- Schieberegister mit ESP32 zur Schnittstelle 7-Segment-Anzeige
- Shift Register bei Raspberry Pi zur Steuerung mehrerer LEDs
- Schieberegister bei PIC, um die Reihenfolge der LEDs zu steuern
Registertypen in der digitalen Elektronik
Schieberegister werden hauptsächlich nach ihrer seriellen oder parallelen Funktionsweise in Typen eingeteilt .
Es gibt sechs (6) Grundtypen von Schieberegistern, die nachstehend aufgeführt sind, obwohl einige von ihnen basierend auf der Richtung des Datenflusses entweder nach rechts oder nach links verschoben werden können.
1. Serial In - Serial Out Schieberegister (SISO)
2. Serial In - Parallel Out Shift Register (SIPO)
3. Parallel in - Parallel out Schieberegister (PIPO)
4. Parallel in - Serial out Schieberegister (PISO)
5. Bidirektionale Schieberegister
6. Zähler
1. Serial In - Serial Out Schieberegister
Serial In - Serial Out-Schieberegister sind Schieberegister, die Daten seriell (ein Bit pro Taktzyklus) einströmen und Daten nacheinander auf die gleiche Weise ausströmen.
Oben ist ein einfaches 4-Bit-Schieberegister mit seriellem Eingang und seriellem Ausgang dargestellt. Das Register besteht aus 4 Flip-Flops, und die Aufschlüsselung seiner Funktionsweise wird unten erläutert.
Beim Start wird zuerst das Schieberegister gelöscht, wodurch die Ausgänge aller Flip-Flops auf Null gesetzt werden. Die Eingangsdaten werden dann bitweise seriell an den Eingang angelegt.
Es gibt zwei grundlegende Möglichkeiten, Daten über ein SISO-Schieberegister zu verschieben.
- Zerstörungsfreie Anzeige
- Zerstörerische Anzeige
- Zerstörungsfreie Anzeige
Auf zerstörungsfreiem Auslesen basierende Schieberegister verfügen immer über einen Lese- / Schreibbetrieb mit einer zusätzlichen Zeile, um den Wechsel zwischen dem Lese- und dem Schreibbetriebsmodus zu ermöglichen.
Wenn sich das Gerät im Betriebsmodus "Schreiben" befindet, verschiebt das Schieberegister alle Daten bitweise heraus und verhält sich genau wie die destruktive Ausleseversion. Daten gehen somit verloren, aber wenn der Betriebsmodus auf "Lesen" umgeschaltet wird, werden Daten die am Eingang herausgeschoben werden, gehen zurück in das System und dienen als Eingang für das Schieberegister. Dies hilft sicherzustellen, dass die Daten länger bleiben (solange sie im Lesemodus bleiben).
- Zerstörerische Anzeige
Bei destruktiven Auslesungen gehen die Daten vollständig verloren, da das Flip-Flop die Informationen nur durchschiebt. Angenommen, für das obige 4-Bit-Schieberegister möchten wir das Wort "1101" senden. Nach dem Löschen des Schieberegisters wird der Ausgang aller Flip-Flops zu 0, so dass während des ersten Taktzyklus, wenn wir diese Daten (1101) seriell anwenden, die Ausgänge der Flip-Flops wie in der folgenden Tabelle aussehen.
Erster Taktzyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Zweiter Taktzyklus:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Dritter Taktzyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Vierter Taktzyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Serial In - Parallel Out Schieberegister
Die zweite Art von Schieberegister, die wir in Betracht ziehen werden, ist das serielle In-Parallel-Out-Schieberegister, das auch als SIPO-Schieberegister bekannt ist. Diese Arten von Schieberegistern werden für die Umwandlung von Daten von seriell nach parallel verwendet. Die Daten kommen nacheinander pro Taktzyklus und können entweder verschoben und ersetzt oder an jedem Ausgang abgelesen werden. Dies bedeutet, dass beim Einlesen der Daten jedes eingelesene Bit gleichzeitig auf ihrer jeweiligen Ausgangsleitung verfügbar wird (Q0 - Q3 für das unten gezeigte 4-Bit-Schieberegister).
Ein 4-Bit-Schieberegister mit seriellem Eingang und parallelem Ausgang ist in der folgenden Abbildung dargestellt.
Eine Tabelle, die zeigt, wie Daten aus dem seriellen In-Parallel-Out-4-Bit-Schieberegister verschoben werden, ist unten gezeigt, wobei die Daten 1001 sind.
klar |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Ein gutes Beispiel für das serielle In-Parallel-Out-Schieberegister ist das 74HC164-Schieberegister, ein 8-Bit-Schieberegister.
Das Gerät verfügt über zwei serielle Dateneingänge (DSA und DSB) und acht parallele Datenausgänge (Q0 bis Q7). Daten werden seriell über DSA oder DSB eingegeben und jeder Eingang kann als aktive HIGH-Freigabe für die Dateneingabe über den anderen Eingang verwendet werden. Die Daten werden bei den Übergängen von LOW nach HIGH des Takteingangs (CP) verschoben. Ein LOW am Master-Reset-Eingang (MR) löscht das Register und erzwingt alle Ausgänge LOW, unabhängig von anderen Eingängen. Die Eingänge umfassen Klemmdioden. Dies ermöglicht die Verwendung von Strombegrenzungswiderständen, um Eingänge mit Spannungen über VCC zu verbinden.
3. Parallel in - Serial out Schieberegister
Im Schieberegister Parallel In - Serial Out werden die Daten parallel geliefert. Betrachten Sie beispielsweise das unten gezeigte 4-Bit-Register.
Dieses Register kann zum Speichern und Verschieben eines 4-Bit-Wortes verwendet werden, wobei der Steuereingang zum Schreiben / Verschieben (WS) den Betriebsmodus des Schieberegisters steuert. Wenn die WS-Steuerleitung niedrig ist (Schreibmodus), können Daten über D0 bis D3 geschrieben und getaktet werden. Um die Daten seriell herauszuschieben, wird die WS-Steuerleitung auf HIGH (Shift-Modus) gebracht, das Register verschiebt die Daten dann am Takteingang heraus. Das Parallel in Serial unser Schieberegister wird auch als PISO-Schieberegister bezeichnet.
Ein gutes Beispiel für ein Parallel-In-Serial-Out-Schieberegister ist das 8-Bit-Schieberegister 74HC165, das jedoch auch als Serial-In-Serial-Out-Schieberegister betrieben werden kann.
Das Gerät verfügt über einen seriellen Dateneingang (DS), acht parallele Dateneingänge (D0 bis D7) und zwei komplementäre serielle Ausgänge (Q7 und Q7 '). Wenn der parallele Lasteingang (PL) LOW ist, werden die Daten von D0 bis D7 asynchron in das Schieberegister geladen. Wenn PL HIGH ist, werden Daten bei DS seriell in das Register eingegeben. Wenn der Taktfreigabeeingang (CE) LOW ist, werden die Daten in den Übergängen LOW zu HIGH des CP-Eingangs verschoben. Ein HIGH auf CE deaktiviert den CP-Eingang. Die Eingänge sind überspannungsverträglich bis 15 V. Dadurch kann das Gerät in Anwendungen mit hoher Pegelverschiebung von HIGH nach LOW verwendet werden.
Das Funktionsdiagramm des Schieberegisters ist unten gezeigt;
Das Zeitdiagramm für das System ist in der folgenden Abbildung dargestellt.
4. Parallel in - Parallel out Schieberegister
Bei einem Parallel-In-Parallel-Out-Schieberegister erscheinen die Ausgangsdaten über den parallelen Ausgängen gleichzeitig, wenn die Eingangsdaten eingespeist werden. Diese Art von Schieberegister wird auch als PIPO-Schieberegister bezeichnet.
Die Eingangsdaten an jedem der Eingangspins von D0 bis D3 werden zur gleichen Zeit eingelesen, wenn das Gerät getaktet wird, und zur gleichen Zeit werden die von jedem der Eingänge eingelesenen Daten am entsprechenden Ausgang (von Q0) ausgegeben bis Q3).
Das 74HC195-Schieberegister ist ein Mehrzweck-Schieberegister, das in den meisten Modi arbeiten kann, die von allen bisher diskutierten Typen beschrieben wurden, insbesondere als paralleles In-Parallel-Out-Schieberegister.
5. Bidirektionale Schieberegister
Schieberegister können entweder eine Datenverschiebung nach rechts oder links oder beides durchführen, abhängig von der Art des Schieberegisters und ihrer Konfiguration. Bei Rechtsverschiebungsoperationen werden die Binärdaten durch zwei geteilt. Wenn dieser Vorgang umgekehrt wird, werden die Binärdaten mit zwei multipliziert. Bei geeigneter Anwendung der kombinatorischen Logik kann ein serielles Schieberegister konfiguriert werden, um beide Operationen auszuführen.
Betrachten Sie das 4-Bit-Register im Bild unten. Einige NAND-Gatter sind als ODER-Gatter konfiguriert und werden zur Steuerung der Verschiebungsrichtung nach rechts oder links verwendet.
Die Steuerleitung links / schreiben wird verwendet, um die Richtung zu bestimmen, in die Daten entweder nach rechts oder nach links verschoben werden.
Das bidirektionale Schieberegister 74HC194 ist ein gutes Beispiel. Das Register kann in allen Modi und Variationen der seriellen und parallelen Ein- oder Ausgabe betrieben werden. Das Funktionsdiagramm des 74HC194, in dem die Steuerleitung, der Takt, die Eingangs- und Ausgangspins hervorgehoben sind, ist unten dargestellt.
Das Zeitdiagramm des Geräts ist ebenfalls unten dargestellt. Dies hilft Ihnen besser zu verstehen, wie die Steuerleitung die Aktionen des Registers steuert.
6. Zähler
Zähler, die manchmal als Drehschieberegister bezeichnet werden, sind im Grunde Schieberegister, deren Ausgänge als Eingänge so in das Gerät zurückgeführt werden, dass sie ein bestimmtes Muster erzeugen. Diese Arten von Registern werden aufgrund des Musters und der Reihenfolge, die sie aufweisen, als Zähler bezeichnet. Die beliebteste Art von Schieberegisterzählern sind die Ringzähler.
Ringzähler
Ringzähler sind im Grunde eine Art Zähler, bei dem die Ausgabe des höchstwertigen Bits als Eingabe für das niedrigstwertige Bit zurückgeführt wird. Ein 4-Bit-Ringzähler ist in der folgenden Abbildung unter Verwendung von D-Flipflops dargestellt.
Wenn der Taktimpuls angelegt wird, wird der Ausgang jeder Stufe zur nächsten verschoben, und der Zyklus läuft weiter. Wenn clear hoch eingestellt ist, werden alle Flip-Flops außer dem ersten (der auf 1 gesetzt wird) auf Null zurückgesetzt.
Anwendungen von Schieberegistern
Schieberegister werden in vielen Anwendungen verwendet, von denen einige sind;
1. Parallel zur seriellen Konvertierung, bei der die Anzahl der für die Kommunikation zwischen zwei Geräten erforderlichen Drähte oder Leitungen verringert wird, da für die serielle Kommunikation im Vergleich zur parallelen Kommunikation im Allgemeinen nur zwei Drähte erforderlich sind, was von der Anzahl der gesendeten Bits abhängt.
2. E / A-Erweiterung für Mikrocontroller. In der modernen Elektronik werden E / A-Pins von Mikrocontrollern als Immobilien bezeichnet, und für bestimmte Anwendungen wie das Einschalten von 100 LEDs oder das Lesen von 100 Reed-Schaltern mit einem Arduino oder dem Atmeg328p-Mikrocontroller wird so viel wie möglich benötigt. Das folgende Schaltbild zeigt beispielsweise, wie ein serielles zu paralleles Schieberegister verwendet werden kann, um 8 LEDs mit nur drei der E / A-Pins des Mikrocontrollers zu steuern.
3. Sie werden in Zustandsregistern verwendet, die in sequentiellen Geräten verwendet werden. Wie bei einer endlichen Speichermaschine wird der nächste Zustand des Geräts immer durch Verschieben und Einfügen neuer Daten an die vorherige Position bestimmt.
4. Eine weitere Hauptanwendung finden Sie unter Zeitverzögerungen. Schieberegister werden für die Zeitverzögerung in Geräten verwendet, wobei die Zeit durch den Takt eingestellt oder durch Kaskadieren von Schieberegistern erhöht oder durch Nehmen des Ausgangs von einem niederwertigen Bit verringert wird.
Die Zeitverzögerung wird normalerweise nach der Formel berechnet.
t = N * (1 / fc)
N ist die Anzahl der Flip-Flop-Stufen, bei denen der Ausgang genommen wird, Fc ist die Frequenz des Taktsignals und t, welcher Wert bestimmt wird, ist die Zeitdauer, für die der Ausgang verzögert wird.
Bei der Auswahl eines Schieberegisters für eine bestimmte Aufgabe aufgrund des großen Bereichs und der Eingabe ist es wichtig, eines auszuwählen, das Ihren speziellen Anforderungen entspricht, unter Berücksichtigung der Funktionsweise, der Bitgröße (Anzahl der Flip-Flops), rechts oder links oder bidirektional usw.
Einige der beliebtesten Schieberegister sind;
- 74HC 194 4-Bit-bidirektionales universelles Schieberegister
- 74HC 198 8-Bit-bidirektionales universelles Schieberegister
- 74HC595 Serial-In-Parallel-Out-Schieberegister
- 74HC165 Parallel-In-Serial-Out-Schieberegister
- IC 74291 4-Bit-Universalschieberegister, binärer Auf / Ab-Zähler, synchron.
- IC 74395 4-Bit-Universalschieberegister mit Drei-Zustands-Ausgängen.
- IC 74498 8-Bit-bidirektionales Schieberegister mit parallelen Eingängen und Drei-Zustands-Ausgängen.
- IC 74671 4-Bit-bidirektionales Schieberegister.
- IC 74673 16-Bit-Schieberegister für seriellen Eingang und seriellen Ausgang mit Ausgangsspeicherregistern.
- IC 74674 16-Bit-Schieberegister mit parallelem Eingang und seriellem Ausgang mit Ausgängen mit drei Zuständen.
Es gibt noch einige weitere, Sie müssen nur herausfinden, welche am besten zu Ihrer Anwendung passt.
Danke fürs Lesen bis zum nächsten Mal.