Schieberegister
Schieberegister
Schieberegister sind Schaltungen, die mehrstellige binäre Signale taktgesteuert aufnehmen, speichern und wieder abgeben können. Schieberegister arbeiten entweder mit einer seriellen oder einer parallelen Ein- und Ausgabe. Der Unterschied liegt in der Anzahl der Ein- und Ausgänge. Für den diskreten Aufbau eines Schieberegisters eignen sich taktflankengesteuerte D-Flip-Flops, SR-Flip-Flops und JK-Flip-Flops.
Häufig verwendete Schieberegister stehen schon fertig als integrierte Schaltungen zur Verfügung. Da ein Flip-Flop nur ein Bit speichern kann, werden mehrere Flip-Flops zu einem Schieberegister zusammengeschaltet. Das hier dargestellte Schieberegister besteht aus 4 taktzustandsgesteuerten Flip-Flops.
Wird ein Schieberegister am Eingang mit einem Impuls belegt, so wird dieser Impuls bei jedem Takt um je ein Bit eine Stelle (ein Flip-Flop) weitergerückt.
Ein Schieberegister ist eine digitale Speicherschaltung, die in Taschenrechnern, Computern und Datenverarbeitungssystemen zu finden ist. Es besteht aus einer Reihe von Flipflops, die in einer Kette verbunden sind, sodass der Ausgang eines Flipflops zum Eingang des nächsten wird. Schieberegister werden zur vorübergehenden Speicherung von Daten und zur Übertragung von Daten in einem seriellen oder parallelen Format verwendet.


Schieberegister Arten
Grundsätzlich sind Schieberegister Schaltungen, die zunächst ein Signal mit mehreren Bits taktgesteuert aufnehmen, dann vorübergehend speichern und es anschließend wieder ausgeben. Sie werden also zum Speichern von Signalen verwendet. Es gibt grundsätzlich vier verschiedene Möglichkeiten ein Schieberegister aufzubauen.
Erstens haben wir es mit einem Schieberegister mit seriell geschaltetem Input und seriell geschaltetem Output: kurz SISO.
Zweitens haben wir Register mit seriell geschaltetem Input und parallel geschaltetem Output: kurz SIPO.
Drittens haben wir Register mit parallel geschaltetem Input und seriell geschaltetem Output: kurz PISO.
Und dann gibt es noch Register mit parallel geschaltetem Input und parallel geschaltetem Output: kurz PIPO.
PCF8574 Remote 8-Bit I/O Expander for I2C Bus
Dieser 8-Bit-Ein-/Ausgabe-(I/O)-Expander für den zweizeiligen bidirektionalen Bus (I2C) ist für den Betrieb mit 2,5 V bis 6 V VCC ausgelegt. Das IC, PCF8574, bietet eine universelle Remote-I/O-Erweiterung für die meisten Mikrocontrollerfamilien über die I2C-Schnittstelle [Serieller Takt (SCL), Serielle Daten (SDA)]. Das Gerät verfügt über einen 8-Bit-quasi-bidirektionalen I/O-Port (P0–P7), einschließlich verriegelter Ausgänge mit „Hochstrom“-Antriebsmöglichkeit zum direkten Ansteuern von LEDs. Jeder quasi-bidirektionale I/O kann als Eingang oder Ausgang verwendet werden, ohne dass ein Datenrichtungs-Steuersignal verwendet wird. Beim Einschalten sind die I/Os High. Da der Expander mit einem Open-Drain Ausgang daher kommt, muss ein Pull-Up gegen Betriebsspannung geschaltet werden. Der gesamt aufgenommene Strom sollte 100mA nicht überschreiten.

Der SN74HC595-Baustein enthält einen seriellen 8-Bit-Eingang und ein Parallel-Out-Schieberegister, welches einen 8-Bit-D-Typ Speicherregister speist. Das Speicherregister hat parallel 3- stufige Ausgänge. Für beide sind getrennte Takte vorgesehen; für das Schiebe- und Speicherregister. Das Schieberegister hat ein direkt überschreibenden Löscheingang (SRCLR). Einen seriell (SER) Eingang und serielle Ausgänge zur Kaskadierung. Wenn der Output-Enable (OE)-Eingang HIGH ist, sind die Ausgänge in den hochohmigen Zustand geschaltet.
Mit dem Schieberegister lassen sich bis zu 8 Pins gleichzeitig ansteuern, wobei aber nur 3 Pins auf der Seite des Mikrocontrollers benötigt werden. Durch Verwendung von mehreren Schieberegistern können noch weitaus mehr Pins angesteuert werden.
Ein Schieberegister besteht genau genommen aus zwei Registern: das Schieberegister, in welches der Zustand der einzelnen Ausgangspins seriell, also Bit für Bit, geschoben wird. Und das Ausgangsregister, in das der Zustand des Schieberegisters auf ein Signal vom Mikrocontroller hin kopiert wird. Erst dann wird der Zustand der ins Schieberegister geschickten Daten an den Ausgangspins sichtbar.

Funktionsablauf
Über GND und VCC erfolgt die Spannungsversorgung. GND wird mit Masse verbunden, VCC mit +5V oder +3,3V.
Mit OE wird die Ausgabe des Schieberegisters generell aktiviert. Dieser Eingang wird daher mit GND verbunden.
Die Dateneingabe erfolgt über SER, RCLK und SRCLK in folgender Reihenfolge:
1.) SRCLK auf 0 setzen.
2.) RCLK auf 0 setzen.
3.) SER auf 0 oder 1 setzen, je nach dem, welche Information man übergeben will.
4.) RCLK auf 1 setzen – damit der Registerinhalt um ein Bit verschoben und das Bit von SER in das Register übernommen.
5.) Schritt 2-4 für die übrigen sieben Bits wiederholen.
6.) SRCLK auf 1 setzen – damit werden die geschriebenen Bits zu den Ausgängen übernommen.

In vielen Fällen werden Funktionen oder Teile von Funktionen digitaler Logikbausteine nicht genutzt. Beispielsweise, wenn nur zwei Eingänge eines UND-Gatters mit drei Eingängen verwendet werden oder nur 3 der 4 Puffergatter. Solche Eingangspins sollten nicht unbeschaltet bleiben, da die undefinierten Spannungen, an den Ausgängen, zu nicht definierten Zuständen führen.
Das nebenstehende Bild legt die Regeln fest, die unbedingt eingehalten werden müssen. Alle unbenutzten Eingänge von digitalen Logikbausteinen müssen an eine hohe oder niedrige Vorspannung angeschlossen werden, um undefinierte Zustände zu verhindern. Die Logikebene, sollte auf einen bestimmten, unbenutzten Eingang angewendet werden. Das hängt von der Funktion des Geräts ab. In der Regel werden sie an GND oder VCC angeschlossen.
