Beim Multiplex-Verfahren sind die gleichen Steuerleitungen für unterschiedliche Bereiche einer Anzeige zuständig. Das lässt sich am einfachsten an einem Beipiel erklären. Gegeben sei eine Anzeige die aus drei 7-Segment-Modulen besteht. In klassischer Verdrahtung (wie bei meinem Countdown-Timer ohne Multiplex) benötigt man 21 Steuerleitungen (3 x 7 Segmente) um jedes Segment eindeutig ansteuern zu können. Diese Zahl lässt sich jedoch erheblich reduzieren, indem man über weitere 3 Steuerleitungen kontrolliert, ob ein LED-Modul insgesamt an oder aus ist. Anders gesagt: man benutzt 7 Leitungen um zu steuern welches Segment leuchtet und 3 Leitungen um zu steuern auf welchem Modul dies passiert. Auf diese Weise kommt man mit 10 Leitungen aus (und es wird günstiger mit jedem weiteren Modul das hinzukommt).
Die fertige Schaltung sieht ziemlich komplex aus. Von den 12 ICs sind jedoch 6,5 alleine für den Countdown und die Ende-Erkennung zuständig. Ich habe die Bauteile farblich markiert und gehe im Folgenden auf die einzelnen Funktionsgruppen detailliert ein.
|
Der eigentliche Countdown-Timer besteht aus den DIP-Schaltern zur Vorbelegung (hellgrün), dem Taktgeber (ein Teil der grünen Gruppe) sowie der Zähleinheit (orange). Über die Schalter wird der Startwert vorgegeben, während der Timer läuft haben sie keine Funktion mehr. Der Takt wird durch eine Hälfte eines NE556 gebildet (eine fallende Flanke pro Sekunde). Die Zähleinheit wird aus drei kaskadierten BCD-Dekadenzählern vom Typ 74HC192 gebildet, die als Ausgabe je vier Leitungen besitzen.
Damit der Timer bei 000 stehen bleibt werden die 3 x 4 Ausgabe-Leitungen durch ODER-Gatter (74HC32, rot) miteinander verknüpft. Solange noch irgendeine Leitung auf HIGH steht ist der Countdown aktiv, sobald alle auf LOW stehen ist der Vorgang beendet und der Taktgeber wird angehalten.
Beim Multiplex-Verfahren werden die Ziffern nacheinander angezeigt. Durch das schnelle Umschalten in Verbindung mit der Trägheit des menschlichen Auges entsteht jedoch der Eindruck, dass alle Ziffern gleichzeitig leuchten. Dabei gibt es aber zwei Punkte zu beachten:
In meiner Schaltung wird die Auswahl von einem 4-Bit-Binärzähler (74HC161, gelb) übernommen, von dem nur die unteren beiden Bits genutzt werden. Die Zählfrequenz wird von der zweiten Hälfte des NE556 erzeugt. Weiterhin beteiligt sind:
Der Punkt mit den 74HC153 verdient etwas mehr Aufmerksamkeit. Als Eingabe stehen drei 74HC192 mit jeweils 4 Bit zur Verfügung, als Ausgabe werden einmal 4 Bit als Eingabe für den 74HC4511 benötigt. Mit den beiden 74HC153 stehen insgesamt 4 Decoder zur Verfügung, von denen jeder für sich genommen 1 aus 4 auswählen kann. Jeder Decoder ist also für ein Bit zuständig und holt dieses aus allen möglichen Zählern. Gesteuert wird das über die 2-Bit-Adresse die der 74HC161 erzeugt. Das heißt auch, dass diese Schaltung sogar noch ein viertes LED-Modul kontrollieren könnte.
Das Multiplex-Verfahren macht in Verbindung mit Mikrocontrollern viel mehr Spaß, weil die Takterzeugung, Auswahl der Segmente und Aktivierung des passenden Displays in ein paar Zeilen Software verschwindet. Weiterhin weiß man in Mikrocontroller-Schaltungen die Einsparung von Leitungen und damit I/O-Pins besonders zu schätzen, weil dies eine bedeutende Kennzahl in Auswahl des Controller-Typs und damit letztendlich des Stückpreises darstellt.
In einer Mikrocontroller-Schaltung könnte man ein 8-Bit-Shift-Register (z.B. 74HC164) benutzen, in das über I/O-Pins das Bitmuster für die Ansteuerung der Segmente geschoben wird. Über weitere I/O-Pins könnten die LED-Module aktiviert werden. Dies erlaubt auch die Module alle gleichzeitig dunkel zu schalten während das Muster im Shift-Register für die nächste Ziffer aktualisiert wird. Wir wären also auf 2 + 3 = 5 Pins runter, plus 1 weiterer Pin pro Ziffer. Das skaliert wesentlich besser als eine Ausgabe ohne Multiplexing.
Version | Datum | Änderungen | Datei | Beschreibung |
---|---|---|---|---|
1.0 | 2007-05-07 | Erstes Release | TTL-Counter-Multiplex.zip | Schaltplan und Layout im Eagle-Format (konvertiert auf Version 9.2) |