Forum: Mikrocontroller und Digitale Elektronik 4051 als Multiplexer/Demultiplexer


von Philipp B. (phbu)


Angehängte Dateien:

Lesenswert?

Hallo Forumnutzer,

ich habe mal wahrscheinlich eine sehr einfache Frage, doch im Datenblatt 
habe ich die Stelle entweder überlesen oder einfach nicht gefunden.

Es geht um das Logik-IC 4051 (8 Kanal-Multi-/Demultiplexer).

Ich versetehe leider nur nicht, wie ich in den "Demultiplex-Modus" komme 
(peinlich hoch 10).
Ist es etwa der INH-Pin bzw. /EN-Pin, der auf HIGH gesetzt werden muss, 
damit ich demultiplexen kann (=> 0..7 Signal-Input und Pin 3 I/O 
Output)?

Und mit /EN LOW kann ich dann wieder multiplexen, oder?

Ich will einfach nochmal sicher gehen, ob das so richtig ist.

Danke für Eure Hilfe im Voraus!

Mit freundlichen Grüßen
PHBU

von MCUA (Gast)


Lesenswert?

>Ich versetehe leider nur nicht, wie ich in den "Demultiplex-Modus" komme
Das sind bidirekt. Schalter.

von Peter D. (peda)


Lesenswert?

DEMUX ist genau umgekehrt, wie MUX, d.h. X0..X7 sind die Ausgänge.
Der 4051 liefert allerdings keine Logikpegel, sondern nur hochohmig oder 
Durchgang.
Will man Logikpegel, muß man 8 Pulldowns anschließen und an X kommt VCC 
ran.

von Achim S. (Gast)


Lesenswert?

dieses IC hat keine eigenen Ausgangstreiber, sondern es hat nur 
Halbleiterschalter, die "Z" mit einem der "Y0..Y7" verbinden.

Wenn du Y0..Y7 als Eingänge benutzt und Z als Ausgang, dann ist es ein 
MUX. Wenn du Z als Eingang benutzt und Y0..Y7 als Ausgänge dann ist es 
ein DEMUX. Es hängt also nur davon ab, was du außen an die IOs 
schaltest. Den IOs selbst ist die Datenrichtung egal.

Wenn du Enable deaktivierst, legst du den ganzen Chip lahm (-> keine 
Verbindung zwischen Z und irgendeinem der Y0..Y7).

von Philipp B. (phbu)


Lesenswert?

Hallo,

danke für all die Antworten. Er schaltet als immer nur zwischen 
hochohmig und niederohmig. Und Datenrichtung ist egal.

Gibt es jetzt

A: ein Multiplexer/Demultiplexer, der HIGH/LOW schaltet
B: ein Treiberbaustein, der internet Pull-Ups am Eingang besitzt (der 
KID6500x hat z.B. keine interne Pull-Ups)

?

Danke nochmal im Voraus!

MfG

PHBU

von Philipp B. (phbu)


Lesenswert?

Hallo nochmal,

damit Ihr mal aufgeklärt werdet:Diese 
Multiplexer-/Demultiplexer-Geschichte soll mehrere AVRs miteinander über 
USART kommunizieren lassen (ähnlich wie TWI - die haben die AVRs 
allerdings nicht). XCK wird mit jedem verbunden und RxD/TxD und TxD/RxD 
soll eben über den Mul./Dem. laufen.

Kann man beim USART im RxD-Pin einfach den internen Pull-Up aktivieren 
(per DDR und PORT)? Danach eben den USART initialisieren und schon wird 
RxD eben vom 4051 immer auf Masse oder nicht gezogen.

So müsste es doch gehen, oder?

Danke im Voraus!

von Philipp B. (phbu)


Lesenswert?

Nicht auf Masse... Sry. Ich meinte natürlich hochohmig oder Z<->Y0-Y7.

von MCUA (Gast)


Lesenswert?

>damit Ihr mal aufgeklärt werdet:..
du müsstest dich mal aufklären, was deine ICs WIRKLICH machen.
DB schauen.

von Peter D. (peda)


Lesenswert?

RX, TX läßt sich bequem im AVR selber disablen, da braucht es keinen 
MUXer.

Oder am besten, gönne jedem AVR einen RS485- oder CAN-Transceiver.

von supi (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Will man Logikpegel, muß man 8 Pulldowns anschließen und an X kommt VCC
> ran.

Super - genau so wird es hier auf einer anderen Baustelle
gebraucht - nochmal zur Kontrolle:

VCC ------------> X
GND ----R10K----> Y0 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y1 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y2 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y3 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y4 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y5 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y6 -----> Pin Abgriff logikpegel 0/1
GND ----R10K----> Y7 -----> Pin Abgriff logikpegel 0/1

Ok so?
Vielen Dank!

von MCUA (Gast)


Lesenswert?

> Will man Logikpegel, muß man 8 Pulldowns anschließen und an X kommt VCC
> ran.
Nicht, wenn an den (Y-)Eingängen schon (von IC-Outs) Logikpegel 
anliegen. (was er offensichtlich vor hat)

von Route_66 H. (route_66)


Lesenswert?

Philipp Buchmann schrieb:
> damit Ihr mal aufgeklärt werdet:Diese
> Multiplexer-/Demultiplexer-Geschichte soll mehrere AVRs miteinander über
> USART kommunizieren lassen (ähnlich wie TWI - die haben die AVRs
> allerdings nicht). XCK wird mit jedem verbunden und RxD/TxD und TxD/RxD
> soll eben über den Mul./Dem. laufen.

Komplizierter kann man es wohl nicht machen!? Das ist weder 
schaltungstechnisch noch programmtechnisch eine vernünftige Lösung. 
Üblicherweise läuft sowas über einen Bus oder einen Ring.
Was spricht bei Dir dagegen?

von Philipp B. (phbu)


Lesenswert?

Hallo Route 66,

> Komplizierter kann man es wohl nicht machen!?

Tja, dann fällt mir jetzt nur noch das TWI als vernünftige Lösung ein. 
Gibts aber nur bei den neueren Megas.

Oder gibt es noch eine Chance für den ATtiny2313 mit mehreren anderen 
AVRs effizient zu kommunizieren?

Schönen Abend noch
PHBU

von Peter D. (peda)


Lesenswert?

Philipp Buchmann schrieb:
> Oder gibt es noch eine Chance für den ATtiny2313 mit mehreren anderen
> AVRs effizient zu kommunizieren?

Beitrag "mehrere MC seriell über Datenbus verbinden (1Draht)"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.