Home ==>
Inhaltsverzeichnis ==>
Zwei-Bit-Schieberegister
Seitenindex
Bis auf den 4093-Blinker und das Umkippen des R-S-Flipflops
war bisher alles mehr oder weniger statisch. Digitaltechnik
ist aber meistens eine dynamische Angelegenheit: da wird
getaktet, Bits werden geschoben, Takte werden gezählt,
und alles unterliegt einem zeitlichen Wandel. Höchste
Zeit, ein wenig von dieser Dynamik in die Experimentierreihe
einzuführen, mit einem recht vielseitigen D-Flipflop.
So ein D-Flipflop hat mindestens vier Anschlüsse, hier
sind sie:
Seine Funktionsweise ist einfach folgende:
- Immer wenn der Takteingang (CLK, Clock) von Low nach
High wechselt, wird der aktuelle Zustand am Eingang D
in einen Flipflop kopiert,
- Der Zustand des Flipflops wird am Q-Ausgang, sein
invertierter Zustand am "Q-mit-Querstrich"-Ausgang
ausgegeben.
Dass der Zustand nur wechselt, wenn Takteingang von Low nach
High wechselt, heißt bei Digitaltechnikern "positiv
flankengetriggert". Englisch "to trigger"
bedeutet so viel wie "anstoßen". Und
natürlich gibt es auch negativ flankengetriggerte
D-Flipflops, aber unserer reagiert nur auf positive Flanken.
Manche D-Flipflops haben noch zwei zusätzliche Eingänge,
nämlich RESET oder CLEAR und SET. Damit lässt sich der
Flipflop unabhängig vom Eingang D und vom Takt
zurürücksetzen oder setzen, ganz so wie ein R-S-Flipflop.
Bei Digitaltechnikers nennt man das dann "asynchron",
weil es jederzeit zuschlagen kann und unabhängig ist von
irgendwelchen Taktsignalen.
Mit solchen D-Flipflops bauen wir in diesem Experiment ein
zwei-bittiges Schieberegister.
Die Schaltung sieht so aus:
Die erste Neuerung, die hier gelernt werden muss, ist, dass die
Versorgungsleitungen nur noch mit einem umkringelten Plus und einem Strich
für Minus eingezeichnet sind. Das spart einfach Striche und Tinte.
Und das machen alle so, also auch wir ab hier.
Es beginnt links unten mit einem 0,8-Sekunden-Taktgenerator aus einem Viertel
eines 4093, einem 100k-Widerstand und einem 10µF-Elko. Der Taktausgang
taktet beide D-Flipflops des 4013.
Der linke D-Flipflop wird am Dateneingang mit einem DIP-Schalter eines
Mäuseklaviers gefüttert. Der Dateneingang des rechten D-Flipflops
ist mit dem Ausgang Q des linken D-Flipflops verbunden und übernimmt
beim ansteigenden Signal des Taktgeneratores dessen Zustand.
An die Ausgänge Nicht-Q (Q-mit-Querstrich) der beiden D-Flipflops
sind über 1k-Widerstände zwei Leuchtdioden gegen Plus
angeschlossen, sie sind an, wenn die Q-Ausgänge High sind.
Die beiden Widerstände von 100kΩ,
den von 1 kΩ, den Elko
von 10 µF,
die LED,
das CMOS-IC 4093 und die
14-polige IC-Fassung
kennen wir schon.
So sieht das IC 4013 äußerlich aus. Es ist 14-polig.
Seine Innereien sind hier abgebildet.
Die Betriebsspannungsanschlüsse VDD (plus) und VSS (minus) sind
wie beim 4093 an zwei Ecken angeordnet (englisch: corner pinning). Ein
D-Flipflop ist an die Pins 1 bis 6, der zweite an 8 bis 13 angeschlossen.
Wie zu erkennen ist, hat der 4013 nach außen geführte
RESET(CLR)- und SET-Anschlüsse, kann also auch asynchron
manipuliert werden. Sowohl die normalen (Q) als auch die invertierten
(Q-mit-Querstrich) Ausgänge sind herausgeführt.
Das hier ist ein Abblockkondensator mit 100 nF Kapazität und
Keramikisolation:
Solche Kondensatoren kommen immer dann zum Einsatz, wenn die
Betriebsspannung an MOS-ICs "sauber" gehalten werden muss.
Die wird nämlich "dreckig", weil MOS-ICs an ihren
Ausgängen zwei MOS-Transistoren haben. Einen, der den Ausgang
nach Plus zieht, einen, der nach Minus zieht. Solange einer der
beiden abgeschaltet ist, passiert nix dramatisches. Wenn aber die
Polarität des Ausgangs wechselt, dann sind für eine sehr
kurze Zeit beide ein kleines bisschen an. In diesem kurzen Moment
ist der Stromverbrauch sehr groß, an den
Versorgungsspannungsanschlüssen wird für eine sehr kurze
Zeit viel Strom gebraucht, die Spannung kann dann kurzzeitig etwas
zusammenbrechen.
Der Zusammenbruch ist umso stärker, je länger
die Leitung bis zur Batterie ist. Nicht wegen des Widerstands der
Leitung (der sehr klein ist), sondern weil die Leitung auch wie
eine kleine Spule wirkt und sich dem plötzlichen Stromanstieg
entgegenstemmt. Der kurze Spannungszusammenbruch und die umgekehrte
Spulenwirkung, wenn der Strom wieder steil abnimmt, kann weitere,
sehr kurze Schaltvorgänge im IC selbst oder auch bei
benachbarten ICs nach sich ziehen. Bei Digitaltechnikers heißt
das "Noise auf der Versorgungsleitung".
So ein kleiner Keramikkondensator macht Schluss mit diesem Noise,
weil er beim Spannungszusammenbruch mit seiner geladenen Kapazität
erst mal selbst Strom in das IC leitet, und deswegen die kurze Belastung
auf der Versorgungsleitung überbrückt, und weil er auch noch
so gebaut ist, dass er möglichst wenig selbst wie eine Spule wirkt
(induktionsarm). Klassische Wickelkondensatoren oder Folienkondensatoren
sind viel zu viel selbst Spule, nur die sehr speziellen
Keramikkondensatoren können das. Und auch nur dann, wenn sie
möglichst nahe an den Versorgungsspannungspins des IC sitzen.
Also immer wenn es dynamisch wird, einen Keramikkondensator, auch
"Abblockkondensator" genannt, pro IC spendieren, dann
bleibt auch alles sauber. Meister Proper der Versorgungsleitung.
Aber nicht irgendeinen, der kann es sogar verschlimmbessern, sondern
Keramik (deswegen heißt er auch 100 nK!).
Die für dieses Experiment benötigten Bauteile sind in der
Bauteilliste für den
Versandhandel Reichelt
aufgelistet.
Der Aufbau beginnt mit dem Taktgeber um den 4093:
Dann folgt der Rest:
Wie es funktioniert, steht weiter unten.
Bei Inbetriebnahme der Schaltung und offenem DIP-Schalter 1 sind alle
beiden Leuchtdioden aus. Wird der DIP-Schalter 1 geschlossen, dann
geht die erste LED nach dem ersten Takt des Taktgebers an, die zweite
bleibt aus. Mit dem nächsten Takt geht auch die zweite LED an.
Wird der DIP-Schalter wieder geöffnet, dann geht nach dem ersten
Takt die erste LED wieder aus, die zweite bleibt an. Beim nächsten
Takt geht auch die zweite LED wieder aus.
Die Animation zeigt die Zusammenhänge beim D-Flipflop in einer
etwas anderen Darstellung.
Am D-Eingang (schwarze Kurve) liegen mit der Zeit irgendwelche Zustände
an. Der CLK-Eingang (grüne Kurve) wechselt regelmäßig, die
ansteigenden Flanken sind gekennzeichnet und takten den Flipflop.
Ist der Eingang D während (oder besser: ganz kurz vor) einer solchen
Flanke auf High (erste und dritte Flanke), dann geht der Ausgang Q (blaue
Kurve) auf High.
Ist der Eingang D kurz vor der Flanke auf Low (zweite Flanke), dann geht
der Ausgang Q ebenfalls auf Low. Der Ausgang Nicht-Q (Q-mit-Querstrich),
die violette Kurve, folgt dabei einfach dem invertierten Q-Ausgang.
Was der D-Eingang zwischen den positiven Flanken macht hat keinen
Einfluss auf das Ergebnis, entscheidend ist nur der Zustand kurz vor der
Flanke am CLK-Eingang.
Mit "kurz davor" ist ein Zeitraum von 15 Nanosekunden, also
0,000.000.015 Sekunden, gemeint, also ein extrem kurzer Zeitraum davor.
Nichts was irgendwie mit Schaltern zu tun hat, weil die 100.000 mal
länger brauchen um tatsächlich mechanisch umzuschalten.
Dieses Verhalten bezeichnet man als "Schieberegister". Wir
könnten noch weitere D-Flipflops hinten dran bauen und könnten
dann z. B. acht oder 64 Schiebevorgänge brauchen, bis das am
Dateneingang hereingeschobene Bit am letzten D-Flipflop wieder
herauskommt.
Natürlich gibt es auch mehr Schieberegister pro IC fertig zu kaufen,
z. B.
- 40195: 4 Stufen,
- 4014: 8 Stufen,
- 4015: zwei mal 4 Stufen,
- 4021: 8 Stufen,
- 4006: 18 Stufen,
- 40100: 32 Stufen, links/rechts
- 4031: 64 Stufen,
- 4557: 1..64 Stufen,
- 4517: zwei mal 64 Stufen.
Es ist also für jedem Geschmack etwas dabei.
Man kann mit solchen Schieberegistern z. B.
- Lauflichter bauen (eine Eins macht nacheinander an acht
Ausgängen eine Lampe an), mal schnell, mal langsam, dann vier
auf einmal, dann abwechselnd jede zweite im Wechsel, dann alle auf
einmal, usw. usf.,
- ein Fernsehbild eine Minute lang zwischenspeichern (dafür
braucht man natürlich ganz, ganz viele Schieberegister) und
immer wieder abspielen (wenn man die Bits beim Abspielen immer
wieder vorne hineinschiebt), und dabei auch noch in Zeitlupe, wenn
man dabei den Takt langsamer macht,
- mit drei Leitungen (Data, Clock und Minus) ganz viele Bits (z. B.
64 Stück) einzeln nacheinander übertragen und dann wieder
richtig herum zusammensetzen (das Verfahren dazu heißt
"serielle Synchronübertragung),
- Binärzahlen malnehmen (kriegen wir erst später).
Hauptsache, wir haben erst mal das digitale Schieben verstanden, dann
durchschauen wir auch solche komplizierteren Schiebtricks.
©2012 by Gerhard Schmidt