www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Was versteht man unter "gemultiplext"?


Autor: Harald M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag, ich bin Laie und habe eine wahrscheinlich sehr banale Frage.
Was genau bedeutet es, wenn man im Zusammenhang mit vielen Leuchtdioden 
an einem Mikrocontroller von "gemultiplext" spricht? Wie kann man sich 
das vorstellen, wie funktioniert das Prinzip?


Schöne Pfingsten noch,
mfg Harald

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab auf meinem ATmega32 Testboard fünf 7-Segment Anzeigen, wenn du 
jetzt versuchen würdest jedes Segment von allen Anzeigen an die Ports zu 
löten, dann bräuchtest du ja 40 Pins am Prozessor, und dann hast du 
immer noch keine Grundbeschaltung. D.h.: man legt die Signale von den 
acht Anschlüssen einer Anzeige auf den gleichen Port, so spart man sich 
einige Anschlüsse am Prozessor, dennoch würde jetzt ja jede Anzeige das 
gleiche anzeigen, also nimmt man (in meinem Beispiel jetzt) noch fünf 
Transitoren daz, die man auch auf je einen Port zum ansteuern legt, und 
dann noch gegen Masse schaltet, also wenn man jetzt 7-Segment Anzeigen 
hat, die Common Kathode haben. dann hat man insgesammt acht Pins am 
Prozessor für die einzeln Segmente und dann noch je einen für die 
einzelnen Anzeigen. da spart man sich einige Anschlüsse, und man muss 
nacher nur in seinem Programm die einzelnen Segmente für je ne 
Millisekunde anschalten und den Buchstaben anzeigen lassen.
Ich kann dir auch einen Code schicken wenn du magst, hab gestern die 
ganze Multiplexing Geschichte geschrieben und sie Funktioniert Perfekt!

Grüße Hans

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans schrieb:
> Ich kann dir auch einen Code schicken wenn du magst, hab gestern die
> ganze Multiplexing Geschichte geschrieben und sie Funktioniert Perfekt!

Ist das nicht ein bischen weit aus dem Fenster gelehnt?

In dem anderen Thread hast Du doch massive Probleme berichtet.
Was auch kein Wunder ist, mit Delays ist und bleibt das ne Sachgasse.

Du mußt den Timerinterrupt benutzen!
Fang mal klein an (laß ne LED im Interrupt blinken), dann wird das 
schon.


Peter

Autor: Johann T. (joschua011)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
obwohl das Hans gut erklärt hat vieleicht ist der Link hier noch 
hilfreich
http://www.mikrocontroller.net/articles/LED-Matrix...

Autor: Dennis G. (hans_angemeldet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Hans schrieb:
>> Ich kann dir auch einen Code schicken wenn du magst, hab gestern die
>> ganze Multiplexing Geschichte geschrieben und sie Funktioniert Perfekt!
>
> Ist das nicht ein bischen weit aus dem Fenster gelehnt?

Naja okay stimmt ;) aber ich finde wenn man was zum angucken hat, gerade 
in C ist ein gut Kommentierter Code echt hilfreich, und da ich sehr 
viele Kommentare mach denk ich ist mein Code gut nachzuvolziehen.

Grüße Hans

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde die Erklärung weiter oben sehr hastig hingeschrieben. Man muss 
schon wissen was ein Multiplex ist, um die Erklärung einigermassen zu 
verstehen.

Worum gehts: Um Resourceneinsparung.
Oft macht man einen sog. Zeitmultiplex. Das bedeutet, dass eine oder 
mehrere Resourcen in einem zeitlichen Wechselspiel von mehreren 
Benutzern 'gleichzeitig' benutzt werden. Das gleichzeitig steht unter 
Gänsefüschen, weil es eben nicht wirklich ein gleichzeitig ist, sondern 
ein 'schnell hintereinander'.

Stell dir ein Übertragunsmedium vor, zb ein Kabel. Nun möchtest du über 
dieses eine Kabel 'gleichzeitig' 5 Sprechstellen auf der einen Seite mit 
5 Empfängern auf der anderen Seite kommunizieren lassen. Das geht so 
natürlich nicht. Aber man kann einen Trick benutzen: Man kann das Kabel 
kurzzeitig für 1/100 oder 1/1000 Sekunde einem Sender zuordnen und 
diesen Senden lassen. Wenn vor den Empfängern eine Schaltung sitzt, die 
im gleichen Takt das über das Kabel kommende Signal wieder an die 5 
Empfänger reihum weiterschaltet, so hat jedes Sender-Empfänger Pärchen 
einen virtuellen quasi direkten Kanal über das einzige Kabel. Die 
Signale der Sender werden also zeitlich geordnet über ein einzelnes 
Medium übertragen.

Was Hans weiter oben angesprochen hat ist auch ein Multiplex.
Hat man 5 7-Segment Anzeigen zur Verfügung, so müssen nicht alle 5 
gleichzeitig leuchten. Es genügt völlig, wenn nur jeweils eine davon 
leuchtet und die an dieser Stelle anzuzeigende Ziffer anzeigt. Dafür 
schaltet man in schneller Folge von einer einzelnen Anzeigestelle zur 
nächsten durch. Erfolgt das Weiterschalten von einer Anzeige zur 
nächsten schnell genug, so kommt das (träge) Auge nicht mehr mit und 
sieht alle 7-Segment Anzeigen gleichzeitig leuchten, auch wenn in 
Wirklichkeit immer nur eine für kurze Zeit leuchtet. Die Resource die 
hier gmultiplext wird, sind wieder die Kabel bzw. die Anschlüsse am µC.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.