Schieberegister - Bitschubserei
Materialbedarf
Anz. | Bezeichnung | Datenblatt |
1 | Batterie/Spannungsquelle 9V | |
2 | CMOS-IC 4013 | |
4 | Widerstand 470 Ohm | |
1 | Widerstand 10 kOhm | |
1 | Widerstand 1,0 MOhm | |
1 | Kondensator 22 nF | |
2 | Mikrotaster | |
4 | Standard-Leuchtdiode 3mm oder 5mm | 3mm, 5mm |
Grundlagen
In vielen Bereichen der Digitaltechnik und der Computertechnik ist es notwendig, parallele Daten in eine serielle Abfolge von Bits umzuwandeln und umgekehrt. Für solche Anwendungen verwendet man so genannte Schieberegister.
Schieberegister bestehen im Grunde aus hintereinander geschaltete D oder JK-FlipFlops. Die Takteingänge aller Stufen werden zusammengeschaltet und über einen gemeinsamen Takt versorgt.
In der Grafik ist noch einmal der Grundaufbau eines einfachen Schieberegisters zu sehen. Hier ist deutlich zu sehen, dass alle Takteingänge zusammen geschaltet sind. Auch das die Ausgänge mit dem jeweiligen Dateneingang des nächsten FlipFlops verbunden ist. |
Wir schieben Bits hinein
Wenn
wir nun diese Schaltung in Betrieb nehmen, können wir mit Hilfe des
Tasters S2 ein Datenbit an die erste Register-Stufe anlegen. Wird nun
der 'Takt-Taster' S1 gedrückt, wird das angelegte Bit in das erste
Register übernommen. Nun kann man mit S2 wieder ein Bit anlegen. Wird nun noch einmal S1 geschlossen, wird das erste Bit ins 2. Register übernommen und das angelegte wird in die erste Stufe geschrieben. Bei jedem Druck auf S1 werden die eingeschriebenen Bits weiter geschoben. Da nach der 4. Stufe nichts weiter kommt, fallen die Bits dort heraus. Also die Bit-Information geht nach dem 4. Takt verloren. Warum wird das Datensignal immer nur um eine Stelle weiter geschoben und nicht gleich in alle Register übernommen? Diese sind doch hintereinander geschaltet. |
Nehmen
wir erst einmal an, alle Register-Stufen führen eine 0. Nun legen wir an
den Dateneingang eine 1 und geben das Taktsignal auf die Schaltung. In genau dem Moment, wo wir das Taktsignal anlegen, führt das erste Register eine 0. Da die Eingänge nur auf eine Flanke reagieren, wird diese 0 von der 2. Stufe übernommen. Das angelegte '1'-Signal braucht ja einige µS bis dieses am Ausgang erscheint. In dieser Zeit hat die nächste Stufe aber schon das aktuelle Signal übernommen. Reagiert also dann nicht mehr auf die Ausgangsänderung. |
Nehmen wir nun den Takt wieder weg, liegt jetzt im ersten Register das '1'-Signal und somit auch gleichzeitig am Dateneingang der zweiten Stufe. |
Wird
jetzt wiederum ein Takt angelegt, findet die zweite Stufe am
Dateneingang eine 1 vor und übernimmt diese Augenblicklich. Da hier jetzt eine 0 am Dateneingang angelegt wurde, wird diese nun in die erste Stufe übernommen. Bei jedem weiteren Takt, wird das '1'-Signal weitergegeben. |
Auffüllregister - Das Schieberegister füllt sich selbst
Mit dem Schieberegister sind auch sehr interessante Lichteffekte möglich. Eines der bekanntesten Schaltungen mit dem Schieberegister ist das so genannte Auffüllregister. Hier wird der Dateneingang der ersten Stufe nur mit dem invertierten Ausgang der letzten Stufe verbunden.
Bei
der Inbetriebnahme dieser Schaltung gehen nun die LEDs nach jedem Takt
an, bis alle leuchten. Anschlissend gehen die Leuchtdioden nacheinander
wieder aus. Das Ganze wiederholt sich fortlaufend. Das Register wird also im Grunde 'aufgefüllt'. Die Funktionsweise schauen wir uns einmal näher an. |
Gehen wir erst einmal davon aus, dass sämtliche FlipFlops zur Zeit ein 0-Signal führen. Da wir das invertierte Signal der letzten Stufe auf den Dateneingang zurück führen, führt der Eingang der ersten FlipFlop-Stufe ein 1-Signal. |
Legen wir nun ein Taktsignal an wird die '1' ins erste Register übernommen. Da der Ausgang des Registers mit dem Dateneingang der zweiten Stufe verbunden ist, liegt dort auch eine '1' an. |
Bei
jedem weiteren Takt übernimmt die folgende Stufe dieses Signal. Dies
läuft so lange, bis das Signal alle Stufen durchlaufen hat. Da in diesem Moment der Ausgang des letzten Registers auch 1-Signal führt und wir das invertierte Signal von dort wieder auf den Eingang zurück führen, wird jetzt ein 0-Signal am Dateneingang angelegt. Dieses wird dann beim nächsten Takt übernommen und das Spiel wiederholt sich. |