74HC595 Schieberegister » Aufbau und Funktionsweise anschaulich erklärt

Das 8 Bit Schieberegister 74HC595 zählt zur grossen Gruppe der integrierten Schaltungen (ICs) und ist bei Elektronikern sehr beliebt. Denn ein Schieberegister kann als port Expander serielle Daten in parallele Daten umwandeln. Dadurch kann z.B. die Anzahl der Verbindungsleitungen zwischen einer Steuerelektronik und einer Diodenanzeige so gering wie möglich gehalten werden. Wir zeigen Ihnen wie das Schieberegister 74HC595 als Schnittstellenwandler in der Theorie funktioniert und wie es in der Praxis korrekt betrieben wird.

  

Was ist ein Schieberegister?

Diese Frage lässt sich am leichtesten in Verbindung mit einem Einplatinencomputer erklären. Wenn man z.B. mit einem einfachen Einplatinencomputer 8 Low Current LEDs gleichzeitig ansteuern will, werden auf der Computerplatine 8 Ausgänge benötigt. Das ist zwar technisch möglich, aber leider nicht immer praxisgerecht. Besonders dann, wenn der Steuercomputer nur eine begrenzte Anzahl von Ausgängen zur Verfügung stellt.

Jetzt kommt das Schieberegister zum Einsatz. Im Fall des 74HC595 können problemlos 8 LEDs parallel angeschlossen und seriell angesteuert werden.

Für die Datenübertragung vom Einplatinencomputer zum Schieberegister sind dann nur noch drei Leitungsverbindungen erforderlich. Auf einer Leitung werden die Informationen übertragen, welche LEDs leuchten sollen und die beiden anderen Leitungen dienen zur Steuerung der Schieberegisters.

So sieht das Schieberegister 74HC595 in der Praxis aus

  

Wie funktioniert das Schieberegister 74HC595?

Bei dem Schieberegister handelt es sich um einen integrierten Schaltkreis, der auch als IC (Integrated Circuit) bezeichnet wird. Um die Funktion des Schieberegisters zu verstehen, muss man sich zunächst die Anschlüsse (Pins) genauer anschauen. 

Das Bauteil besitzt 16 Anschlüsse (Pins) und auf einer der beiden schmalen Seiten eine halbkreisförmige Markierung. Der erste Anschluss (Pin 1) befindet sich links von der Markierung und ist mit einem Punkt gekennzeichnet. Die Pins sind wie folgt belegt:

Pin-Belegung des Schieberegisters 74HC595

Die Anschlüsse (Pins) sind immer entgegen dem Uhrzeigersinn durchnummeriert

Q0 bis Q7 = Parallel geschaltete Ausgänge
Vcc = Plus-Anschluss der Versorgungsspannung
GND = Minus-Anschluss der Versorgungsspannung
OE= Output Enable zur Aktivierung der Ausgänge Q0 –Q7
DS = Data Signal (serieller Dateneingang)
SHCP = SHift Clock Pin ist der Clock-Eingang zur Übernahme des Data Signals in das eigentliche Schieberegister (Shift Register).
STCP = STore Clock Pin - Der Wechsel von Low auf High kopiert den Inhalt des Shift Registers in das Ausgaberegister bzw. Speicherregister
MR= Master Reset für die Leerung des Shift Registers
Q7S = Überlauf für eine eventuelle Kaskadierung 22

Hinweis:

Je nach Hersteller werden die Pins auch mit anderen Bezeichnungen gekennzeichnet. Die Funktionalität des ICs bzw. die Belegung der Anschlüsse werden davon aber nicht beeinträchtigt.

  

Wie funktioniert das Schieberegister 74HC595?

Um die Funktion des Schieberegisters zu verstehen, muss man sich eine Reihe von acht Speicherblöcken vorstellen, die jeweils einen Schaltzustand bzw. ein Bit (Low oder High) speichern können. Die Nummerierung von 0 bis 7 erfolgt von links nach rechts.

Dateneingabe

Die Dateneingabe in das Shift Register erfolgt über den Anschluss DS. Dort liegen die Daten entweder als High- (H) und Low- (L) Impuls vor.

Der Befehl zur Speicherung erfolgt über eine positive Taktflanke am Shift Clock Pin (SHCP).

Sobald an diesem Anschluss ein Spannungssprung von Low auf High stattfindet,  werden die Inhalte der 8 Speicherblöcke des Shift Registers um eine Position nach rechts verschoben.

Der aktuelle Wert des Dateneingangs (Low oder High) wird in den ersten Speicherblock (links) geschrieben. Im gezeigten Beispielbild war es ein High-Pegel.

Um ein weiteres Bit speichern zu können, muss die Spannung am SHCP-Pin zunächst wieder auf Low geschaltet werden.

Das erste Bit wurde ins Shift Register geladen


Beim nächsten positiven Spannungssprung am SHCP-Eingang werden wieder alle Inhalte des Shift Registers um eine Position nach rechts verschoben.

Auf den dadurch frei werdenden Speicherplatz auf der linken Seite wird der momentane Pegel des DS-Eingangs gespeichert.

Wenn am DS-Eingang ein Low-Impuls (L) ansteht, wird nun dieser Wert im ersten Speicherblock abgelegt.

Die Spannung am SHCP muss nun erneut auf LOW geschaltet werden, damit weitere Daten abgelegt werden können.

Der zweite Bit wurde ins Shift Register geladen


Die zuvor beschriebenen Vorgänge wiederholen sich nun so oft, bis alle acht Speicherplätze im Shift Register belegt sind.

Die Anreihung der Speicherzustände Low oder High entspricht dann exakt der Datenfolge am DS-Eingang im Moment der Speicherung.

Wichtig: Der Wert des ganz rechten Speicherplatzes (Speicherplatz 7) wird zusätzlich auch am Ausgang Q7S ausgegeben. 

Der Wert im rechten Speicherblock wird auch am Pin Q7S ausgegeben


Datenüberlauf

Beim nächsten Spannungssprung am SHCP-Eingang von Low auf High werden die Inhalte aller 8 Speicherblöcke wieder um eine Position nach rechts verschoben.

Damit würde die Information des ganz rechten Speicherplatzes verloren gehen, weil er überschrieben wird.

Da die Information aber gleichzeitig am Pin Q7S ausgegeben wird, kann man bei Bedarf den Q7S-Anschluss mit dem DS-Eingang eines weiteren 74HC595 verbinden.

Wenn beide ICs einen gemeinsamen SHCP-Impuls erhalten, geht die Information nicht verloren sondern wird als erstes Bit in das zweite Schieberegister-IC geschrieben.

Nach dieser Methode können mehrere Schieberegister-ICs zu Kaskaden zusammengeschaltet werden.

Der Pin Q7S dient bei Bedarf zur Kaskadierung


Datenspeicherung

Bis jetzt wurde lediglich das Shift Register mit Daten befüllt. Doch das Shift Register ist nicht direkt mit den Ausgängen des ICs verbunden. Die Ausgänge würden sonst bei jedem Schiebevorgang unkontrolliert umschalten. 

Aus diesem Grund wird der Inhalt des Shift Registers in ein Ausgaberegister übertragen.

Dies geschieht mit Hilfe des STCP-Anschlusses. Bei einem positiven Spannungssprung bzw. bei einer positiven Flanke werden die Daten aus dem Shift Register in das Ausgaberegister kopiert.

Das Ausgaberegister arbeitet als 8fach Flip-Flop (8fach Latch) und speichert die acht Schaltzustände des Schieberegisters.

Per Steuerbefehl am STCP-Pin werden die Daten ins Ausgaberegister kopiert

Auch wenn die Spannung am STCP-Anschluss später wieder auf das Massepotential abfällt, bleiben die Daten im Ausgaberegister erhalten. Selbst wenn sich die Daten im Shift Register ändern, wirkt sich das nicht auf das Ausgaberegister aus. Die Daten im Ausgaberegister werden erst beim nächsten positiven Spannungssprung am STCP-Eingang überschrieben.


Ausgänge freischalten

Damit die Signale am Ausgang zur Verfügung stehen, müssen die Ausgänge eingeschaltet sein. Dies erfolgt über den OE-Anschluss.

Wenn dieser Anschluss mit einem Widerstand auf das Massepotential geschaltet wird, sind die Ausgänge aktiviert (Low-Aktiv) und die angeschlossenen Lampen leuchten.

Ist der OE-Anschluss auf High gesetzt, sind die Ausgänge hochohmig.

Demzufolge haben die Ausgänge drei mögliche Zustände (Tri-State Output): High, Low oder hochohmig.

Die Tatsache, dass der Anschluss ein LOW-Potential aufweisen muss, damit die Ausgänge aktiviert sind, wird durch den Überstrich bei dem Pin-Namen zum Ausdruck gebracht.

Über den OE-Pin können die Ausgänge aktiviert werden


Nachdem das Ausgangsregister befüllt wurde, können in das Shift Register nach dem oben gezeigten System neue Daten geschoben werden. 

Auch wenn sich die Daten im Shift Register ändern, bleiben die Daten im Ausgaberegister als auch das Leuchtschema der Lampen davon unberührt.

Das Shift Register wird wieder mit neuen Daten befüllt


Erst wenn am STCP-Anschluss wieder ein positiver Spannungssprung stattfindet, werden die aktuellen Daten aus dem Shift Register in das Ausgaberegister übernommen.

Nun können erneut Daten in das Shift Register geladen werden.

Daten aus dem Shift Register werden in das Ausgaberegister übernommen


Daten löschen

Bei Bedarf können die Daten im Shift Register auch gelöscht werden.

Dazu wird der Anschluss MR (Master Reset) genutzt. Dieser Anschluss wird im Regelfall über einen Widerstand mit der Versorgungsspannung verbunden. Damit befindet sich der Anschluss kontinuierlich auf einem High-Niveau.

Wird der Anschluss auf das Massepotential (Low) geschaltet, werden die Daten im Schieberegister gelöscht.

Da an diesem Pin ein Low-Potential anliegen muss (Low Aktiv), um die Daten zu löschen, ist die Bezeichnung des Reset-Anschlusses auch mit einem Überstrich versehen.

Ein Low-Impuls am MR-Eingang löscht das Shift Register


Um auch die Daten im Ausgaberegister zu löschen, muss noch ein positiver Spannungssprung am STCP-Anschluss erfolgen.

Dadurch werden die Schaltzustände im Ausgaberegister überschrieben und die angeschlossenen Lampen erlöschen.

Ein Low-Impuls am MR-Eingang löscht das Shift Register

  

Wie wird das Schieberegister 74HC595 angeschlossen?

Beim Anschluss des Schieberegisters muss man sich in jedem Fall an die technischen Daten des Herstellers halten.

Besonders die Betriebsspannung von 2 – 6 V und der der maximale Ausgangsstrom von 35 mA müssen unbedingt eingehalten werden.

Aus diesem Grund müssen in jedem Fall Low Current-LEDs verwendet werden, falls die LEDs direkt vom Schieberegister angesteuert werden. Wer am Ausgang Verbraucher mit höherer Leistung betreiben will, muss an den Ausgängen Schalttransistoren einsetzen.

Es können aber auch weitere Schaltungen aus dem Bereich der Digitaltechnik direkt mit den Ausgängen des 74HC595 verbunden werden.

Kaskadenschaltung

Zwei Schieberegister in Kaskadenschaltung

Wie bereits angesprochen, können mehrere ICs vom Typ 74HC595 hintereinandergeschaltet werden

Dabei muss der Ausgang Q7S des vorgeschalteten ICs mit dem Eingang DS des nachgeschalteten ICs verbunden werden.

Die Anzahl der kaskadierbaren ICs ist theoretisch unbegrenzt.

Doch je mehr ICs hintereinander geschaltet werden, desto länger dauert es, bis alle Speicherplätze um eine Stelle verschoben sind.

In den meisten praktischen Anwendungen ist die Zahl der hintereinander geschalteten Schieberegister begrenzt, sodass der Zeitfaktor in diesem Fall keine grosse Rolle spielt.

  

Praktischer Schaltungsaufbau für Lehrzwecke

Um die zuvor gemachten theoretischen Aussagen in der Praxis zu überprüfen, eignet sich ein einfacher Schaltungsaufbau. Die überschaubare Schaltung lässt sich leicht auf einer Steckplatine nachbauen und eignet sich somit ideal für den Bereich Education bzw. zur Ausbildung in Schule und Beruf. 

Schaltungsbeschreibung:

An den Ausgängen Q0 bis Q7 werden acht grüne LEDs angeschlossen, die jeweils mit einem 560 Ohm Widerstand an Masse geschaltet sind. Diese LEDs dienen zur Anzeige der acht Ausgänge. Die LED9 am Q7S dient zur Anzeige des Ausgangssignales für eine Kaskadenschaltung.

Der Taster T1 dient zur Simulation der High- und Low-Impulse am Dateneingang. Wird der Taster nicht betätigt, steht am Eingang DS ein Low-Signal an. Wird der Taster T1 betätigt, steht ein High-Signal an.

Bei Betätigung des Tasters T2 findet am Shift Clock Pin der geforderte Spannungssprung von Low auf High statt. Das aktuelle Signal am DS-Eingang wird nun  in das Shift Register übernommen.

Um ein High-Bit in das Shift Register zu landen, muss der Taster T1 gedrückt und gehalten werden. Danach wird der Taster T2 betätigt. Anschliessend können beide Taster losgelassen werden. Um ein Low-Bit in das Shift Register zu laden ist es ausreichend, nur den Taster T2 zu betätigen.

Mit den Tasten T1 und T2 kann jetzt das Shift Register beliebig gefüllt werden. Sobald das 8. Bit eingelesen wurde, zeigt die LED 9 den Zustand des 1. Bits an. Im Falle eines High-Bits wird die LED leuchten.

Sobald der Taster T3 betätigt wird, werden die Daten aus dem Shift Register in das Ausgaberegister kopiert. Da der Pin OE mit einem Widerstand auf Masse gelegt wurde, sind die Ausgänge dauerhaft eingeschaltet. Deshalb zeigen die LEDs die unterschiedlichen High-/Low-Zustände unverzüglich an. Bei einem High-Bit wird die zum Speicherplatz gehörende LED leuchten und bei einem Low-Bit bleibt sie dunkel.

Mit dem Taster T4 kann das Shift Register gelöscht werden. Die Leuchtreihenfolge der acht Ausgangs-LEDs wird dabei vorerst nicht beeinflusst. Erst wenn anschliessend der Taster T3 betätigt wird, müssen alle LEDs erlöschen.


Schaltungsaufbau

Steckplatinen eignen sich ideal zum Experimentieren

Für die maximale Flexibilität und für einfache Messungen eignet sich ein Schaltungsaufbau auf einer Steckplatine. Dadurch sind die Anschlüsse leicht zugänglich und es kann genau geprüft werden, ob das Schieberegister-IC innerhalb seiner technischen Spezifikationen betrieben wird. Bei Bedarf lassen sich die Bauteile der Aussenbeschaltung sehr einfach austauschen.

Wichtig:
Es müssen prellfreie Taster verwendet werden, denn sonst kann es passieren, dass trotz einmaliger Tastenbetätigung zwei oder drei Impulse abgegeben werden.

Wenn die LEDs direkt vom Schieberegister angesteuert werden, müssen unbedingt Low Current Leds verwendet werden.


Weiterer Ausbau der Schaltung 

Wenn die Schaltung soweit zufriedenstellend funktioniert, können die drei Anschlüsse DS, STCP und SHCP mit einem Einplatinencomputer (Arduino oder Raspberry Pi®) verbunden werden. Nun besteht die Möglichkeit, z.B. ein individuelles Lauflicht zu programmieren. Bei der Kaskadierung mehrer Schieberegister sind komplexe Matrixanzeigen oder auch Laufschriften möglich. Der Phantasie sind hier fast keine Grenzen gesetzt.