Forum: Mikrocontroller und Digitale Elektronik Frage zu TCA9548A i2c Multiplexer und Raspi, Pullups wählen, 3.3v und 5v


von Bariel G. (bariel_g)


Lesenswert?

Hallo, liebe Gemeinde!
ich habe mehrere AD Wandler über i2c, die ich über Optokoppler und zwei 
besagten TCA9548A mit meinem Raspi auslesen möchte.

Nun möchte der Raspi ja 3.3v über i2c bekommen, die 3.3v 
"Versorgungsleitung" des Raspi gibt maximal 50mA, die verwendeten 
Entkoppler ADuM1250 haben max 3mA, davon habe ich aber ein Dutzend, die 
können also so nicht versorgt werden. Die Optokoppler bekommen also auf 
der "Ausgabe"-Seite ebenfalls 5v (vom StromPi Shild, der liefert genug) 
und gehen damit an die Multiplexer.

Die TCA9548A können laut Datenblatt die Level ummünzen, unter 10.2 ist 
ein Diagramm, das suggeriert, dass ich mit 5v rein und mit 3.3v 
rauskommen kann, da bin ich mir aber nicht so sicher, denn die Rede ist 
immer von 3.3v rein und mit 5v Master kommunizieren, ich will es aber 
genau anders herum.

Geht das? Ziehe ich die Ausgänge der zwei Multiplexer mit PullUps auf 
die 3.3v Pin1 vom Raspi? Welche PullUps wähle ich da? Raspi hat ja schon 
auf den für i2c verwendeten Pins 3 und 5 interne PullUps, reichen die 
vielleicht ganz?

Vielen Dank im Voraus!

von Gerd E. (robberknight)


Lesenswert?

Aus Deinem Text wird, zumindest mir, nicht wirklich klar was Du da wie 
verschalten möchtest. Mach doch mal einen Schaltplan und stell den hier 
rein, dann sehen wir weiter.

von Falk B. (falk)


Lesenswert?

Bariel G. schrieb:
> Hallo, liebe Gemeinde!
> ich habe mehrere AD Wandler über i2c, die ich über Optokoppler und zwei
> besagten TCA9548A mit meinem Raspi auslesen möchte.

Hä?? Wozu die Optokoppler? Die übliche Paranoia?

> Nun möchte der Raspi ja 3.3v über i2c bekommen, die 3.3v
> "Versorgungsleitung" des Raspi gibt maximal 50mA, die verwendeten
> Entkoppler ADuM1250 haben max 3mA, davon habe ich aber ein Dutzend, die
> können also so nicht versorgt werden. Die Optokoppler bekommen also auf
> der "Ausgabe"-Seite ebenfalls 5v (vom StromPi Shild, der liefert genug)
> und gehen damit an die Multiplexer.

Mein Gott, geht's nicht noch etwas lyrischer? Schon mal was von einem 
SCHALTPLAN gehört? Ein Bild sagt mehr als tausend Worte, selbst wenn die 
von Goethe kommen.

> Die TCA9548A können laut Datenblatt die Level ummünzen, unter 10.2 ist
> ein Diagramm, das suggeriert, dass ich mit 5v rein und mit 3.3v
> rauskommen kann, da bin ich mir aber nicht so sicher, denn die Rede ist
> immer von 3.3v rein und mit 5v Master kommunizieren, ich will es aber
> genau anders herum.

Wirr deiner Wort Sinn gar ist.

> Geht das? Ziehe ich die Ausgänge der zwei Multiplexer mit PullUps auf
> die 3.3v Pin1 vom Raspi? Welche PullUps wähle ich da? Raspi hat ja schon
> auf den für i2c verwendeten Pins 3 und 5 interne PullUps, reichen die
> vielleicht ganz?

Vermutlich nicht. Du solltest einfach saubere Pegelwandler von 3.3V 
I2C auf 5V I2C nutzen.

von Martin K. (mk279)


Angehängte Dateien:

Lesenswert?

Bariel G. schrieb:
>Die TCA9548A können laut Datenblatt die Level ummünzen, unter 10.2 ist
>ein Diagramm, das suggeriert, dass ich mit 5v rein und mit 3.3v
>rauskommen kann, da bin ich mir aber nicht so sicher, denn die Rede ist
>immer von 3.3v rein und mit 5v Master kommunizieren, ich will es aber
>genau anders herum.

Ja, das ist so gedacht. Das Datenblatt vom TCA9548A sagt, dass es so 
funktioniert. Die Spannung, die an den Pull-Ups anliegt kann ja frei 
gewählt werden, d.h. auch 3.3V beim Master und 5V bei den Slaves (siehe 
Bild oder Figure 13, http://www.ti.com/lit/ds/symlink/tca9548a.pdf).

Der TCA9548A verträgt Spannungen von bis zu 6V bei SCL und SDA, wobei 
der TCA9548A SDA bzw. die SCx, SDx sowieso nur auf 0V ziehen kann.

Bariel G. schrieb:
>>Entkoppler ADuM1250

Falk B. schrieb:
>Hä?? Wozu die Optokoppler? Die übliche Paranoia?
Falks Frage ist schon berechtigt. Welche Spannung soll denn an Vdd2 vom 
vom ADuM1250 (Vdd1 sind die 5V vom RPi) angelegt werden?

Bariel G. schrieb:
>Welche PullUps wähle ich da? Raspi hat ja schon
>auf den für i2c verwendeten Pins 3 und 5 interne PullUps, reichen die
>vielleicht ganz?

Die vom RPi sollten wohl reichen. Siehe auch z.B.:
http://www.raspberry-pi-geek.de/Magazin/2015/01/Der-I2C-Bus-des-Raspberry-Pi-Teil-1
1
Direkt auf der GPIO des Raspberry Pi finden Sie auch eine I2C Schnittstelle. Die Pins P1-03 (SDA_1) und P1-05 (SCL_1) besitzen sogar schon die benötigten Pullup-Widerstände (1,8 kOhm gegen +3,3 Volt). Eine zweite I2C-Schnittstelle erreichen Sie über den Verbinder P5, allerdings müssen Sie diese erst auf der Rückseite des Raspberry Pi auflöten. Die zweite Schnittstelle sprechen Sie über die Pins P5-3 (SDA_0) und P5-4 (SCL_0) an, es fehlen jedoch die vorbestückten Pullup-Widerstände.

Einen Schaltplan bitte.

von Bariel G. (bariel_g)


Lesenswert?

Hi@all

Falk B. schrieb:
> Hä?? Wozu die Optokoppler? Die übliche Paranoia?

Die AD Wandler lesen Akkuspannungen von bis 22V aus, nach einer 
Skalierung durch Operationsverstärker. Wenn da was durchbrennt, wollte 
ich keine 22v am Eingang vom Raspi haben. Hat aber wenig mit der Frage 
zu tun.

Falk B. schrieb:
> Mein Gott, geht's nicht noch etwas lyrischer?

es geht auch etwas lyrischer, ja. Aber wieso gleich die Aufregung? 
Bedenke, Karma! : D

Falk B. schrieb:
> Du solltest einfach saubere Pegelwandler von 3.3V
> I2C auf 5V I2C nutzen.

Ha, dann ist der Sinn meiner Worte anscheinend rüber gekommen : ) Die 
Frage anders formuliert ist: ersetzt der Multiplexer diese Wandler? Laut 
Datenblatt anscheinend ja, aber das sehe ich nur in der Zeichnung, die 
in diesem Zusammenhang wichtigen !Worte! fehlen, und deswegen wende ich 
mich an erfahrene Anwender hier im Forum.

Schaltplan: )

0-5V       5v        5v                3.3v
       _      ____      ___________         __
------|AD|----|opto|----|multiplexer|-------|RPi|
------|__|----|____|----|___________|-------|___|


Martin K. schrieb:
> Ja, das ist so gedacht.
cool, vielen Dank!


Martin K. schrieb:
> sollten wohl reichen.
meiner bescheidenen Meinung nach auch...
werd's wohl ausprobieren müssen

Vielen Dank für die konstruktiven Beiträge!

: Bearbeitet durch User
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.