Multiplexer
Signal i Signal k |
De-Multiplexer
Signal x Signal y |
Im Forum: "Was ist ein Multiplexer?" wird eine passende Definition gegeben:
Herkoemmlicherweise besitzt ein Multiplexer mehrere Eingänge und einen Ausgang. Mit Hilfe von Signalen an Steuerleitungen wird jeweils ein Eingang auf den Ausgang geschaltet (parallel - seriell Umwandlung). So hat z.B. der 74151 drei Steuereingänge und acht Dateneingänge sowie einen Ausgang.
Ein Multiplexer, der einen Eingang auf mehrere Ausgänge schaltet, wird auch Demultiplexer genannt. Es handelt sich aber nach der Definition um einen Multiplexer, nur dass hier n < m ist."
Was ein Multiplexer ist, haben wir nun schon definiert, aber wozu braucht man so was?
Eigentlich wurde diese Technik erst relevant mit der Elektronik, aber es gibt sie
schon viel länger und es gelten die gleichen Gesetze, nur wurde es nicht als
Multiplexer behandelt.
Wir wollen ein Beispiel betrachten.
Die Eisenbahn ist da ein ganz tolles Beispiel. Wir wollen einmal annehmen,
dass wir einen großen Hafen haben und dieser mit einer Stadt verbunden ist.
Wie weit die Stadt entfernt ist, ist noch zu klären.
Auf der anderen Seite, die Stadt, gibt es aber auch ganz spezielle Anlaufpunkte, z.B.
die Kohle kommt zum Kraftwerk, der Kies zum Betonwerk, die Container zum
Containerbahnhof, die Passagiere zum Stadtbahnhof usw.
Man kann also exakt immer zwei Punkte (einen im Hafen, einen in der Stadt) miteinander
verbinden. Im oberen Beispiel erfolgt das durch jeweils eine Gleisverbindung.
Ob solche mehrere Verbindungen sinnvoll sind, hängt sicher von den örtlichen
Gegebenheiten ab, wie Entfernung, geografische Hindernisse, Nutzungshäufigkeit der
Strecke(n) usw.
Nehmen wir an, dass zwischen dem Hafen und der Stadt ein großer Fluss liegt. Dann
wird man selbst bei kurzen Entfernungen zwischen den Punkten nicht wie im Beispiel
8 Brücken nebeneinander bauen, sondern alle Gleise vereinen und über nur eine
Brücke führen:
Das sieht dann so aus:
Wenn man das zentral organisiert, könnte man so eine Art Warteschnlange machen:
Die zweite Variante gibt es in ähnlicher Weise im Internet. Da kann man nur ins Netz, also auf die Strecke, wenn sie frei ist (logisch) und dann wird der Zug noch in einzelne Wagen (Pakete heißen die Dinger in der Informatik) zerlegt und jeder weiß wo er hin will. Außerdem muss noch die Wagennummer mit angegeben werden, denn im Internet gibt es viele Wege und da kann schon mal der 3.Wagen vor dem 1.Wagen ankommen, also muss der Zug wieder richtig zusammengesetzt werden.
Und noch etwas sollte auffallen, das Gleis G1 in der Stadt ist noch besetzt.
Entweder gibt es mehrere Gleise G1 oder,
und das ist das nächste Problem,
die Züge müssen auch wieder zurück, es gibt noch Gegenverkehr!
Baut man dafür ein zweites Gleis, braucht man auch eine zweite oder breitere Brücke
und weitere Weichen, die nun auch wieder gesteuert werden müssen.
Wir wollen uns noch einmal mit den sieben zuerst vereinbarten Weichen beschäftigen. Die vorgestellte Lösung ist nicht die einzige, folgendes ist möglich:
Immer wenn die Weiche in waagerechter Stellung steht, sagen wir,
sie hat den Wert 0, im anderen Fall, den Wert 1. Das kann auch völlig anders sein, sie könnte auch nach unten zeigen, man muss nur die beiden Möglichkeiten kennzeichnen. |
Die Knoten werden durchnumeriert nach einem Schema, man beginnt (hier) von rechts
und numeriert fortlaufend (hier) von unten nach oben die einzelnen Ebenen. Der 1. Knoten hat die Bezeichnung 1. Die nächste Ebenen der Knoten, alle werden nur durch eine Kante erreicht, und es sind (logisch) zwei Knoten, haben die Bezeichnung 2 und 3, die nächste Ebene dann 4, 5, 6 und 7. Nun wenden wir in etwa die eben getroffene Festlegung an: nach oben 1, nach unten 0. Die Bezeichnung schreiben wir an die Kanten (eine kann nur 0 und eine nur 1 sein). Nun kann man mit dem Finger vom Knoten 1 zu einem Ende des Baumes (man sagt Blatt dazu) fahren und schreibt immer die Kennung der Kanten auf, z.B. zum Blatt/Gleis G0 kommt man mit den Kanten 0, 0 und 0, das ist aber, wenn man die Bezeichnung als Dualzahl interpretiert, genau die Dezimalzahl 0. Oder nach G5 ist das 101 also 5. Wieder zurück zur Digitaltechnik, hat man mit 3 Werten 8 verschiedene Möglichkeiten! |
Man kommt mit 3 Signalen zur Steuerung aller Weichen aus! Oder noch anders: Das Ziel beinhaltet zugleich die Steuersignale der Weichen, z.B. der Zug will nach G4, d.b. 4 = 100 (erste Weiche nach oben, die nächsten Weichen wagerecht). Die Weichen 4, 5, 6 und 7 und die Weichen 2 und 3 werden zusammen umgeschaltet und dazu die Weiche 1 - das sind die 3 Signale. |
mit: |
|
Damit soll das Prinzip eines Multiplexers ausreichend beschrieben sein.
Ein großes Feld gibt es in der Rechnerarchitektur, da ist sicher schon einmal
der Begriff Multiplex-Bus aufgetaucht. Es ist ein wirtschaftliches Problem, ob
man für jeden Bus im Rechner, man hat mehrere im Rechner, ein Leitungssystem anlegt
oder nur einen Bus als Multiplexbus nutzt, also alle Signale nacheinander
über den einen Bus führt. Welche Probleme entstehen, sieht man am Beispiel der
Eisenbahn.
Man kann natürlich auch jeden Bus einzeln durchziehen, bei 64 Bit Rechner sind das
nur für Adress- und Datenbus ja schon 128 Leitungen. Intern im Prozessor ist das
sicher machbar (sieht man ja), aber diese Busse müssen nach außen, z.B. zur Festplatte,
zum Hauptspeicher usw. geführt werden, da werden die Stecker dann ein Problem.
Sicher deshalb sind die neuen Rechner mit SATA (serieller Bus) ausgerüstet. Da werden
nun die Daten seriell übertragen, d.h. die einzelnen Bit's werden pro Bus gemultiplext.
Wird die Frequenz um 64 erhöht, gibt es keinen Unterschied, jedoch wird die Frequenz
immer mehr zur Störfrequenz im Rechner selbst und zu anderen Geräten. Die Leitungen
lassen sich nun aber auf Grund der wenigen Drähte besser abschirmen.
Im Prinzip funktioniert das so: Ein Schalter verbindet der Reihe nach alle 64 Leitungen mit der Ausgangsleitung. Man könnte das auch als Parallel-Seriell-Wandler bezeichnen. Rein technisch ist das natürlich so ganz einfach zu realisieren. |
Es sollten uns dazu nun mindest zwei Lösungen einfallen. Links ist eine Variante
gezeigt. Basis sind 64 elektronische Schalter, die der Reihe nach durch einen Zähler angesteuert werden. Für 64 braucht man 6 Leitungen, also brauchen wir ein AND-Element mit 7 Eingängen. Man muss natürlich auch dafür sorgen, dass im gewünschten Fall alle 6 Bits 1 sind, damit die Leitung durchgeschaltet wird, im Fall 0 hat der Zähler die Ausgangswerte 000000, die müssen also durch einen Negator zu 1 gewandelt werden. Das schafft man durch ein entsprechendes Leitungssystem und den notwendigen Verzweigungen. Die Schaltung ist so noch nicht komplett, es soll das Prinzip gezeigt werden. |
(aus: "Einfach • DIGITAL • SCHNELL; Die Datenblattsammlung für die ICs der CMOS 4000 Serie") |
(aus: "Data Sheet; Philips Semiconductors" ! andere Bezeichnungen: z.B. P0 hier = P1 links, usw.) |
Aber es gibt auch ganz anders gelegene Anwendungen der Multiplexer.
Beisielsweise kann ein Addierer für eine Bitstelle mit zwei 1 aus 8 Multiplexer aufgebaut werden. Es gibt ja 3 Eingangssignale a, b und Ü (von der vorhergehenden Stelle), damit auch 8 Möglichkeiten zur Bildung des Ergebnisses. Diese werden vorbelegt und nur noch ausgewählt. Sicher ist diese Variante der Bildung von Summe und Übertrag aufwendiger als durch eine spezielle logische Schaltung, zeigt aber die Möglichkeit der Nutzung von Multplexern:
De-Multiplexer
Nach Definition gibt es die gar nicht!
Es soll eine Zuordnung von einer Leitung auf mehrere Leitungen erfolgen.
In diesem Fall soll das Signal von einer Leitung auf 16 Leitungen verteilt werden. Zur Realisierung braucht man 4 Steuerleitungen (Bit0 - Bit3). Durch die Steuerung wird genau eine Leitung ausgewählt. Das kann man auch als Prizip erklären: "es wird eine Leitung ausgewählt, das Signal am Eingang ist uninteressant!" |
An den Eingang wird z.B. intern eine 1 gelegt, dann erscheint an genau einem Ausgang
auch eine 1. Der Multiplexer dekodiert aus den dual verschlüsselten Signalen der 4 Leitungen genau einen Dezimalwert, z.B. 0101(2) -> 5(10). Wir haben im Prinzip einen einfachen Decoder gebaut. |
Elektronisch lässt sich das auch recht einfach realisieren. Man braucht 16 AND-Gatter mit jeweils 5 Eingängen. Die 4 Signalleitungen werden zusätzlich einmal negiert, somit stehen 8 Leitungen bereit. Je nachdem welches AND-Gatter, Adresse, durchgeschaltet werden soll, müssen 4 Verbindungen von den 8 Leitungen hergestellt werden. Z.B. soll bei Adresse 11 das obere Gatter eine 1 ausgeben. Die Zahl 11(dez) hat die duale Codierung 1011. Um eine 1 auszugeben müssen alle anderen 4 Leitungen eine 1 haben, das geht, wenn S3, S1 und S0 direkt auf das Gatter gelegt werden, von S2 wird das negierte Signal genutzt. Somit liegt am Gatter 1 AND 1 AND 1 AND 1 AND 1 = 1 und da ist das Ergebnis 1 Man braucht nun die 1 gar nicht mehr durchschalten, denn 1 AND 1 AND 1 AND 1 ist ja bereits 1, also kommt man mit AND-Gattern mit 4 Eingängen aus. Man muss sich immer wieder daran erinnern, dass Nichts durchgeschaltet, sondern nur eine Adresse ermittelt werden soll!
Anders dagegen bei Adresse 5(dez). |
Anders dargestellt, sieht dann der Umschalter (Multiplexer) etwa so aus.
Das linke Bild zeigt den Multiplexer allgemein und rechts die gleiche Situation
mit der Ansteuerung des Wertes 1011(dual). Nur wenn das Muster der Signale mit der Bitfolge übereinstimmt, wird dort auch eine 1 ausgegeben. Aber es gibt ein Problem, es gibt nicht die Stellung aus, egal welches Muster anliegt, es wird immer eine Übereinstimmung geben. Auch wenn 0000 anliegt, wird eben eine 1 an der Stelle 0 ausgegeben. Aus diesem Problem kommt man nur raus, indem man z.B. die Adresse 0 nicht benutzt, zumindest nicht für die Auswahl oder man braucht pro Ausgang einen zusätzlichen elektronischen Schalter, der den Ausgang zu bestimmter Zeit durchschaltet, das erfordert eine weitere Leitung. |
|
Im Unterschied zur besprochenen Variante gibt es hier am Eingang 4 elektronische
Schalter, die festlegen, ob die Signale weitergestellt werden, gesteuert durch
das Signal Strobe (EL). Dann folgen 4 RS-Latch, die das Signal speichern. Danach erfolgt in zwei Stufen die Zuordnung zu den Ausgängen. In der zweiten Stufe ist jeweils wieder ein elektronischer Schalter integriert, gesteuert durch das Signal INHB/T (En), es legt fest, ob am Ausgang ein Signal erscheint oder nicht. Je nach Baustein (4514/4515) wird der Ausgang noch negiert.
|
Wie immer müssen die Eingänge mit einem Pegel belegt sein, alle Eingänge werden
mit einem Pull-Down-Widerstand auf 0 gelegt, der Schalter legt dann eine 1 auf den
Eingang. Das EL-Signal wird auf 1 gelegt, da ja der Decoder immer am Bus "hören" muss. Mit En kann eine Selektion des Bausteins vorgenommen werden. Er hat intern schon den entsprechenden Ausgang aktiviert, nur erscheint es wegen des Schalters nicht am Ausgang. |
Was wir mit der Anordnung nun können, ist ein Signal aus 16 auszuwählen. 4 Leitungen werden durch das System gezogen. An diese wird an beliebiger Stelle ein Decoder mit entsprechender Codierung angeschlossen. Alle decoder "horchen" nun an den 4 Leitungen und wenn die eingestellte Codierung auftritt, senden sie ein Signal aus. Natürlich kann man auf einem Decoder auch mehrere Signale decodieren, es wird ja immer eine andere Leitung ausgewählt. Auch die umgekehrte Variante ist möglich, es wird an mehreren Decodern das gleiche Signal ermittelt. Diese Schaltungsvariante kann man als Bus-System bezeichnen! Weitere Informationen findet man auch unter: Steuer-Module (Elektrische Steuerung einer Modul-Modelleisenbahnanlage). |
Kaskadieren der Multiplexer
Erweiterung auf 8-Bit-Bus
Kaskadierung ist das Hintereinander bzw. Zusammenschalten von einzelnen Baugruppen/Elementen zu größeren Systemen! Darüber müssen wir uns nun Gedanken machen, da mit 4 Leitungen nur aus 16 möglichen Varianten ausgewählt werden können, also 16 Adressen. Es kann sein, dass wir damit nicht auskommen, z.B. wollen wir 8 Leitungen verwenden, dann sind 256 Adressen möglich. Das kann man so realisieren, dass ein Multiplexer (Mux0) 16 andere Multiplexer (Mux1 bis Mux16) steuert. Der höherwertige Teil des Busses, Signal 4 bis 7, steuern Mux0. Die anderen 4 Signale werden parallel auf Mux1 bis Mux16 gelegt. Damit nun nicht bei allen Mux i bei Ansteuerung 1011(dual) überall die 11(dez) ausgegeben wird, wird Mux0 zur Selektion genutzt. Das geht, da bis auf einen Ausgang alle Ausgänge der Mux0 0 sind kann man wieder vor jeden Eingang einen elektronischen Schalter setzen. Somit wird mit 00001011 nur die 11(dez) der Mux1 aktiv! |
|
Mit den Bausteinen 4515 und 4514 lassen sich real solche Schaltungen aufbauen. Besonders günstig erweist sich, dass der Baustein 4515 als aktiver Ausgang eine 0 bereitstellt. Damit spart man 16 Negatoren, denn nun kann das Ausgangssignal direckt auf den En Eingang der folgenden Multiplexer gelegt werden. Für diese verwenden wir den Multiplexer 4514, der gibt als Ausgang eine 1 heraus, der kann dann direckt auf eine Schaltstufe gelegt werden, z.B. über einen Widerstand auf die Basis eines Transistors. |
Erweiterung auf 12-Bit-Bus
Und eine Erweiterung ist ohne Probleme möglich. Da wir kein Signal auf die 4096 Stellen verteilen, sondern nur aus dem binär übertragenen Signal eine Adresse heraussuchen, kann man besser von einem Decoder sprechen. In gleicher Weise ginge auch ein 16-Bit Bussystem, dann mit 65536 Adressen. |
Die eben dargestellten Varianten der Nutzung von Multiplexer dienen der Steuerung einer Modul-Modelleisenbahnanlage, mit der Zielstellung, dass jede Schaltstelle auf einem Modul eine Adresse zugeordnet bekommt und diese unabhängig von dem Zusammenbau der Module immer diese Adresse behält.
Der Schaltungstechnische Aufwand scheint gewaltig zu sein, ist auch so wenn alles aufgebaut werden soll, es gibt beim praktischen Aufbau denn doch größere Einsparungen. Das kann man auch bei Elektonische Steuerung der Modulanlage nachlesen.
zurück zur Start-Seite |