Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Download    Reaktionen    Spiele    Gadgets    Kontakt   




<<< Verstärker ICs         Schalter einlesen >>>

Demultiplexer

Ein Video zu Verstärker ICs gibt's noch nicht

Hinterlasst einen Kommentar, wenn ihr Ideen habt, was in diesem Video gezeigt werden sollte (außer den schon in diesem Kapitel erwähnten Themen).

Übersicht

In diesem Kapitel ist nachzulesen:


Adressierung

Zahlendarstellung im Dualsystem
Abbildung 1:
Oftmals möchte man mehr Verbraucher Schalten, als GPIOs zur Verfügung stehen. Im Kapitel zum Schalten einer LED Matrix haben wir schon eine Möglichkeit kennengelernt, genau das zu bewerkstelligen. Mit Hilfe des Demultiplexing kann man die Anzahl zu steuernder Verbraucher allerdings nochmals steigern. Bei diesem Verfahren werden die GPIOs genutzt, um Adressen im Binärformat auszugeben. Wie Zählen im Dualsystem funktioniert, habe ich im Kapitel zu Computerschaltungen erklärt.
Die Anzahl darstellbarer Zahlen beträgt 2n, wobei n der Anzahl der zur Verfügung stehenden Stellen, in unserem Fall der verwendeten GPIOs, entspricht. Mit 4 GPIOs lassen sich 24=16 unterschiedliche Zahlen darstellen:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10
1011 = 11
1100 = 12
1101 = 13
1110 = 14
1111 = 15
Durch eine entsprechende Verschaltung kann man nun jedem der Verbraucher eine dieser Zahlen zuordnen. Die Verbraucher erhalten eine individuelle Adresse.

Logikgatter

Verdrahtung Hardwareadressen eines Demultiplexers
Abbildung 2:
Die Zuordnung einer Adresse zu einem Verbraucher geschieht mit Logikgattern. Benötigt werden dazu UND-Gatter sowie NICHT-Gatter. Da eine Adresse aus 4 Bits besteht, werden 4-fach UND-Gatter benötigt, um einen bestimmten Verbraucher auszuwählen. Für jede "0" in der Dualzahl der Adresse muss am Eingang des Gatters ein Nicht-Gatter vorgeschaltet werden, die Positionen mit einer "1" sind direkt mit den GPIO-Pins verbunden. Die Hardwareadresse des rechten Gatters lautet "1", was der Dualzahl "0001" entspricht, womit NICHT-Gatter an den Eingängen "b", "c", und "d" benötigt werden. Für das mittlere Gatter mit der dezimalen Adresse "2" ("0010" als Dualzahl) sind NICHT-Gatter an den Eingängen "a", "c" und "d", am linken Gatter mit der dezimalen Adresse "3" ("0011" als Dualzahl) sind NICHT-Gatter an den Eingängen "c", und "d" nötig.
Im Ausgangszustand sind alle 4 GPIOs auf LOW-Signal ("0"). Die NICHT-Gatter invertieren die "0" an ihren Eingängen zu einem HIGH-Signal ("1") an ihren Ausgängen. Somit sind z.B. im mittleren UND-Gatter die Eingänge a, c, und d auf HIGH ("1"). An keinem der drei UND-Gatter sind alle Eingänge auf HIGH-Signal, entsprechend sind alle Ausgänge auf LOW.

UND-Bedingung Hardwareadresse
Abbildung 3:
Nun wird von den 4 GPIOs die Adresse "1" ("0001") ausgegeben:
Am rechten UND-Gatter liegt somit an Eingang "a" ein HIGH-Signal an. An die Eingänge c bis d wird ein LOW-Signal von den GPIOs "B" bis "D" geleitet. Da an Eingang "c" bis "d" NICHT-Gatter vorgeschaltet sind, wandeln diese die Signale in HIGH-Pegel, womit alle 4 Eingänge des rechten UND-Gatters auf HIGH-Signal sind, womit die UND-Bedingung erfüllt ist und der Ausgang des Gatters auf HIGH-Signal geht. Am mittleren (Eingänge "a" und "b") und linken Gatter (Eingang "b") gibt es nach wie vor Eingänge mit LOW-Signal, die UND-Bedingung ist hier nicht erfüllt.

Zustände bei Adresse 2
Abbildung 4:
Hier wird von den 4 GPIOs die Adresse "2" ("0010") ausgegeben:
Am rechten UND-Gatter wird das HIGH-Signal von GPIO "B" in ein ein LOW-Signal an Eingang "b" gewandelt, das LOW-Signal von GPIO "A" wird direkt an Eingang "a" geleitet. Die UND-Bedingung ist nicht mehr erfüllt, der Ausgang geht aus LOW.
Nun ist für das mittlere Gatter die UND-Bedingung erfüllt. Das LOW-Signal von GPIO "A" wird von dem NICHT-Gatter an Eingang "a" in ein HIGH-Signal gewandelt, das HIGH-Signal von GPIO "B" wird direkt an Eingang b geleitet und die LOW-Signale der GPIOs "C" und "D" werden von den NICHT-Gattern zu HIGH-Signalen an den Eingängen c und d gewandelt. Der Ausgang ist auf HIGH-Signal.
Beim linken Gattern sind ist Eingang "a" auf LOW, entsprechend bleibt der Ausgang auf LOW-Signal.

Zustände bei Adresse 3
Abbildung 5:
Nächste von den 4 GPIOs ausgegebene Adresse ist die "3" ("0011"):
Am rechten UND-Gatter sorgt das LOW-Signal an Eingang "b" dafür, dass die UND-Bedingung nicht erfüllt ist, der Ausgang bleibt auf LOW.
Am mittleren Gatter ist Eingang "a" auf LOW, was die UND-Bedingung bricht. Der Ausgang geht wieder auf LOW-Signal.
Am linken Gatter werden die HIGH-Signale von GPIO "A" und "B" direkt ausgewertet, während die LOW-Signale von GPIO "C" und "D" über die NICHT-Gatter zu HIGH-Signalen gewandelt werden. Geben die GPIOs die Adresse "3" aus, so geht der Ausgang des linken Gatters auf HIGH.


Zustände bei Adresse 13
Abbildung 6:
Fü r keine der weiteren Adressen von 4 bis 15 geht einer der Ausgänge der drei Gatter auf HIGH. Immer ist mindestens einer der Eingänge "a" bis "d" auf LOW-Signal. Hier wird Adresse 13 (Dualzahl "1101") von den GPIOs ausgegeben.

Schaltverzögerung

Demultiplexer Zustand Adresse 2
Abbildung 7:
Signale werden immer mit endlicher Geschwindigkeit weitergeleitet. Ändern sich die Zustände der GPIOs, so macht sich das nicht augenblicklich und somit auch nicht gleichzeitig an allen Eingängen der UND-Gatter bemerkbar. Besonders an den NICHT-Gattern vergeht eine merkliche Zeitspanne bis das Signal invertiert wird. In dieser Abbildung wird erneut die Adresse "2" (Dualzahl "0010") ausgegeben. Schalten die GPIOs nun um...

Schaltverzögerung im Demultiplexer, Umschalten auf Adresse 3
Abbildung 8:
...auf die Adresse "3" (Dualzahl "0011"), so ist hier der Zustand zu sehen, der sich durch die Verzögerung an den NICHT-Gattern ergibt:
Beim Übergang von "2" auf "3" ändert sich lediglich der Zustand von GPIO "A" von LOW auf HIGH. Die Zustandsänderung wird an Eingang "a" des linken Gatters (mehr oder weniger) unverzüglich weitergeleitet, womit an diesem Gatter die UND-Bedingung erfüllt ist und dessen Ausgang auf HIGH-Signal geht. Die Signaländerung von GPIO "A" an Eingang "a" des mittleren UND-Gatters wird durch das NICHT-Gatter verzögert, womit an diesem die UND-Bedingung (noch) erfüllt bleibt. In dieser Übergangsphase sind zwei UND-Gatter gleichzeitig eingeschaltet!

5 GPIOs für 4-Bit Adressen

Demultiplexer mit Zusatzbit auf LOW
Abbildung 9:
Mit Hilfe eines weiteren GPIOs können die UND-Gatter beim Umschalten der Adressen gesperrt werden. Benötigt werden nun UND-Gatter mit fünf Eingängen. Erneut wird von den GPIOs die Adresse "2" ausgegeben. Ist GPIO "E" auf LOW, so ist auch der Ausgang des mittleren (und aller weiterer) UND-Gatters auf LOW.

Demultiplexer mit Zusatzbit auf HIGH
Abbildung 10:
Das mittlere UND-Gatter geht erst auf HIGH am Ausgang, wenn auch GPIO "E" auf HIGH-Signal gesetzt ist. GPIO "E" wird als Daten-Eingang, im Englischen als Strobe bezeichnet.

Demultiplexer deaktiviert
Abbildung 11:
Vor dem Ausgeben der nächsten Adresse wird GPIO "E" wieder auf LOW gesetzt, womit alle UND-Gatter gesperrt sind, da spätestens Eingang "e" die Bedingung bricht. Der Ausgang des mittleren UND-Gatter geht wieder auf LOW.

Deaktivierter Demultiplexer beim Übergang 2 zu 3
Abbildung 12:
Somit kommt es auch in der Übergangsphase beim Umschalten zu Adresse "3" (Dualzahl "0011") nicht zu einer unerwünschten Aktivierung zweier UND-Gatter.

Deaktivierter Demultiplexer mit Adresse 3
Abbildung 13:
Liegt das Signal der neuen Adresse an allen Eingängen an,...

Aktivierter Demultiplexer mit Adresse 3
Abbildung 14:
...so kann nun das linke UND-Gatter über GPIO "E" bei Bedarf eingeschaltet werden.

Zum Schalten von bis zu 16 Verbrauchern werden mit dem hier gezeigten Demultiplexer 5 GPIOs benötigt. Bei einer 4x4 LED-Matrix sind es 8 GPIOs. Mit dem Demultiplexer können allerdings nie mehrere Verbraucher gleichzeitig geschaltet werden. Immer nur ein UND-Gatter kann aktiviert werden.. Mit 6-fach UND-Gattern können bis zu 32 Verbraucher geschaltet werden, mit 7-fach UND-Gattern 64 Verbraucher und so weiter....

Komplette Sequenz

Zum Abspielen der Bildsequenz muss Javascript in eurem Browser für diese Seite aktiviert sein.
Das Beispiel zeigt die Schaltung für die Adressen "6" ("0110"), "7" ("0111") und "13" ("1101").

Animation Demultiplexer


Weniger NICHT-Gatter

Es genügt, lediglich 4 NICHT-Gatter direkt an den vier Adresseingängen zu verbauen. In dem hier zu sehenden Beispiel mit den Dualzahlen "1000" (=8), "0100" (=4) und "0011" (=3) würden nach dem vorangegangenen Schema allein für die drei Adressen schon 8 NICHT-Gatter benötigt.

Animation Demultiplexer 2


74154N 16-Kanal Demultiplexer

1 auf 16 Demultiplexer IC
Abbildung 15:
Ein praktisches Beispiel für einen 16-Kanal Demultiplexer ist der hier zu sehende 74154N für eine Versorgungsspannung von 5V. Laut Datenblatt beträgt die Zeitspanne vom Wechsel der Adresse an den 4 Eingängen (Pin 20 bis 23) bis zum Erreichen der Ausgänge maximal 36 Nanosekunden.
Der Chip ist als Sink Current Driver IC (Details hierzu im Kapitel zu Verstärker ICs) für bis zu 16mA pro Kanal ausgelegt. Das bedeutet, dass Verbraucher zwischen positive Versorgungsspannung und die Ausgänge des Chips gestaltet werden müssen und somit deaktiviert sind, wenn ein HIGH-Signal am entsprechenden Ausgang anliegt. Es handelt sich um einen Active LOW Chip
Der Chip besitzt 2 Strobe-Eingänge, beide über ein UND-Gatter verbunden, an dessen Eingänge wiederum NICHT-Gatter geschaltet sind.
Bei Sink Current Treibern gilt an den Ausgängen die "umgekehrte" Logik. Das bedeutet, dass im Vergleich zu den obigen Beispielen der Ausgang auf LOW-Signal sein muss, wenn dieser aktiviert ist, und auf HIGH-Signal, wenn dieser deaktiviert ist.

Active LOW Demultiplexer
Abbildung 16:
Hier ist an den Eingängen die Adresse "7" (Dualzahl "0111") angewählt. Zu beachten ist, dass die Eingänge "A" bis "D" in der Zeichnung von links nach rechts angeordnet sind.
G1 ist auf HIGH, G2 auf LOW, womit nur der rechte Eingang des UND-Gatters durch die NICHT-Gatter auf HIGH ist. Die Bedingung UND ist nicht erfüllt und somit liegt ein LOW-Signal am Ausgang und damit gleichzeitig an mindestens einem der fünf Eingänge der UND-Gatter an den Ausgängen. Die UND-Bedingung ist nirgends erfüllt und durch die NICHT-Gatter an den Ausgängen, sind diese wiederum alle auf HIGH-Pegel.

Active LOW Demultiplexer mit einem aktiviertem Ausgang
Abbildung 17:
Geht nun Eingang G1 auf LOW, so ist durch die NICHT-Gatter die UND-Bedingung an den Eingängen erfüllt. Damit geht auch der fünfte Eingang des UND-Gatters an Ausgang "7" auf HIGH-Signal. Diese UND-Bedingung ist erfüllt, das UND-Gatter geht auf HIGH. Dieses Signal wird durch das NICHT-Gatter invertiert, womit der Ausgang mit Adresse "0111" als einziger auf LOW-Signal geht.
Der adressierte Ausgang geht nur dann auf LOW, wenn beide Eingänge G1 und G2 auf LOW-Signal sind. Ist G1 oder G2 (oder beide) auf HIGH-Signal, so ist das UND-Gatter am Eingang auf LOW, womit alle Ausgänge auf HIGH gehen. Somit kann G1 als invertierter Dateneingang verwendet werden und G2 zur Aktivierung der Schaltung. Liegt an G2 ein HIGH-Signal, so ist der Demultiplexer gesperrt, alle Ausgänge sind unabhängig vom Zustand von G1 auf HIGH. Nur wenn G2 auf LOW-Signal ist, kann über G1 der adressierte Ausgang geschaltet werden. G2 ist somit der Not Enable Pin. Der Demultiplexer ist bei HIGH-Signal an G2 deaktiviert (=nicht aktiviert).

Animation SN74154N

Die animierte Version zeigt die Zustände der Ausgänge in Abhängigkeit der Zustände der Eingänge und sollte somit helfen, die letzten Unklarheiten zu beseitigen.

Animation Demultiplexer Typ SN74154N


Bezugsquellen für Bauteile

Durch den Kauf von Bauteilen über die von mir angegebenen Affiliate-Partnerlinks in der Tabelle (oder in den Bannern auf meinen Seiten) unterstützt ihr meine Projekte - vielen Dank!
Die Links anzuklicken bedeutet allerdings keinen Kaufzwang - völlig ungezwungenes Stöbern ist möglich ;-)

Meine frei zugängliche Bildungsplattform ohne einzukaufen mit Hilfe einer Spende oder als Patreon zu unterstützen geht natürlich auch. Vielen Dank an alle, die mir bereits einen Obolus haben zukommen lassen!

Wenn ihr weitere, gut erhältliche Typen von Demultiplexern kennt, hinterlasst bitte einen Kommentar auf dieser Seite.

Bauteil Online Shops Bemerkung
SN74154N SN74154N auf eBay

SN74154N auf Amazon
16-Kanal Demultiplexer, Sink Current, Active LOW
74HC238N 74HC238N auf eBay

74HC238N auf Amazon
8-Kanal Demultiplexer, Source Current, Active HIGH




<<< Verstärker ICs         Schalter einlesen >>>


Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Archiv    Download    Reaktionen    Spiele    Verweise    Gadgets    Kontakt    Impressum   





Twitter YouTube Hackaday Patreon TPO