CD4051 Multiplexer und digitale Signale

Gast #6988323
Lesenswert?

Hallo zusammen,

ich möchte über den Multiplexer CD4051BE digitale I2C-Signale 
umschalten.
Ich habe mich bewusst gegen TCA9548A I2C Multiplexer entschieden (zu 
großer Aufwand den Code zu ändern).

Das Problem ist, dann wenn ich den Durchgang nach einem Schaltvorgang 
messe (mit einem einfachen Widerstandsmesser), dann ist der Widerstand 
erst 0, geht dann aber züging in die Richtung 100 kOhm.
Wenn ich umschalte, passiert das gleiche auf dem anderen Pin. Die nicht 
beschalteten Pins haben einen hohen Widerstand.
Es sieht aus wie ein kapazitives Verhalten.

Natürlich kommen auch keine I2C-Signale durch...

Habt ihr eine Idee, was ich falsch gemacht haben?

Arbeite mit dem R-PIE 3, GND und 3V3 liegen als Versorgungsspannung und 
auf den Schalt-Pins an.
Angehängte Dateien:
#6988331
Lesenswert?

Dergute W. schrieb:
> Ein normaler 4051 ist bei so niedrigen Betriebsspannungen zu hochohmig.
> Dafuer gibt's extra hochgezuechtete, pinkompatible Versionen vom 4051.

Das ist aber nicht die Erklärung für sein Problem.

Radi schrieb:
> Das Problem ist, dann wenn ich den Durchgang nach einem Schaltvorgang
> messe (mit einem einfachen Widerstandsmesser), dann ist der Widerstand
> erst 0, geht dann aber züging in die Richtung 100 kOhm.

Dann mißt Du Mist, denn 0Ohm kann ein 4051 noch nichtmal annähernd 
erreichen (eher richtung 1kOhm bei 3,3V). Und zweitens würde der R nicht 
so stark steigen nach angeblich anfänglich 0Ohm.
Gast #6988381
Lesenswert?

> Das ist aber nicht die Erklärung für sein Problem.

Sein Problem ist an erster Stelle das er das "Ich will aber kein 
Datenblatt lesen" Syndrom hat an dem hier so viele leiden. Dabei steht 
der ON-Widerstand dort als wichtigster Parameter garantiert drin.

Olaf
Gast #6988420
Lesenswert?

Radi schrieb:
> Das Problem ist, dann wenn ich den Durchgang nach einem Schaltvorgang
> messe (mit einem einfachen Widerstandsmesser), dann ist der Widerstand
> erst 0, geht dann aber züging in die Richtung 100 kOhm.

Hast du dabei sicher gestellt, dass der zulässigen 
Eingangsspannungsbereich eingehalten wird?

Zeige deine Gesamtschaltung. Die Pinbelegung steht in jedem Datenblatt.
Gast #6988444
Lesenswert?

Danke für eure Nachrichten.

Den ON-Resisotor habe ich schlicht überlesen... ich will aber kein 
Datenblatt lesen stimmt nicht, bei 42 Seiten darf man auch was 
übersehen, oder? :-P

Der Eingangsspannungsbericht ist zwischen 3V3 und GND. Kommen von einem 
GPIO vom R-Pie

Anbei die gesamte Schaltung...

Danke schonmal!
Angehängte Dateien:
Gast #6988453
Lesenswert?

Radi schrieb:

> Den ON-Resisotor habe ich schlicht überlesen... ich will aber kein
> Datenblatt lesen stimmt nicht, bei 42 Seiten darf man auch was
> übersehen, oder? :-P

Nein.

> Anbei die gesamte Schaltung...

Kannst Du vergessen.

Kommen wieder, wenn Du einen an- & vollständigen Schaltplan vorlegen 
kannst.
(Firma: S-C-I DATA GbR) #6988466
Lesenswert?

Also Prinzipjell, Funktioniert ein 4051 als I²C Selektor.
ABER
1.) Ein 4051 ist CMOS, also ESD Schutz
2.) Braucht Pullups, sonst Zappelt ein Unbelegter Port
3.) Durch sein Hohes RDsOn, werden das sehr runde Flanken.
4.) Gibt es I²C Selektoren die ein separater Selektport haben
5.) Unklug nur den SDA zu Decodieren

Das mal nur ganz grob.

73 55
#6988521
Lesenswert?

Moin,

Patrick L. schrieb:
> 5.) Unklug nur den SDA zu Decodieren

Das droesel ich mal noch etwas auf:
Unklug, den SCL gleichzeitig an viel mehr Leitungen und Bausteine 
haengen zu wollen. Damit werden die Dreckeffekte auf SDA und SCL auch 
noch stark unterschiedlich.
Paar 100n Kondensatoren "auf die Platine werfen" kann auch nicht 
schaden. Ok, hier wahrscheinlich auch nicht mehr viel nutzen, aber dann 
kann diesbezueglich wenigstens keiner mehr meckern.

Aber prinzipiell kann ich Patrick L. beipflichten: Sowas kann 
funktionieren. Hab's auch schon selbst gesehen und wuerde es ggf. auch 
selbst einsetzen (waehrend ich z.b. i2c multimaster niemals einsetzen 
wuerde). iirc ist dafuer auch z.b. im Linuxkernel etwas 
SW-Unterstuetzung vorgesehen (CONFIG_I2C_MUX oder sowas in der Art).

Gruss
WK
Gast #6988613
Lesenswert?

Radi schrieb:
> ... bei 42 Seiten darf man auch was übersehen, oder? :-P

Was machst du bloß, wenn du es mal mit einem aktuellen Mikrocontroller 
zu tun bekommst? Die Datenblätter haben oft über 1000 Seiten.

Patrick L. schrieb:
> 2.) Braucht Pullups, sonst Zappelt ein Unbelegter Port

Pullups sind für I2C in jedem Fall ein Muss. Wenn man so einen 
Umschalter einbaut, muss man die natürlich so aufspalten, dass sowohl 
der Master, als auch die Slaves einen vernünftigen rezessiven Pegel zu 
sehen bekommen.
Weiteres steht in der I2C-Spezifikation.
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

p.s.
Aber Vorsicht: Auch schon wieder mehr als zwei Seiten ;-)
Beitrag #6988634 wurde von einem Moderator gelöscht.
Gast #6989066
Lesenswert?

Radi schrieb:
> Beim bisherigen standard-I2C habe ich keine PullUps verwendet, da diese
> lt. DAtenblatt schon im R-Pie zugeschaltet werden.

Dann guck mal auf den Wert der internen Pullups im RaspPi und vergleiche 
das mit den I2C-Specs. Wenn du den Bus mit 10kHz laufen lässt geht es 
vielleicht auch mit den internen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren