Forum: Mikrocontroller und Digitale Elektronik USI I2C: 3.3V Master, 5V Slave ohne Pegelwandler


von Philipp F. (nerdture)


Lesenswert?

Hi,
also ich habe das oben beschriebene Szenario.

Der Master ist ein AT91SAM9G45, der laut Datenblatt an den Inputs 
maximal 3.3V verträgt.
Meine Dimmerplatinen laufen alle mit 5V und brauchen diese auch.

Beides soll mit I2C verbunden werden. Nun ist es ja eigentlich so, dass 
bei I2C der Master die Spannung liefert und den pull-up macht, und die 
slaves die Datenleitungen eigentlich nur auf GND ziehen, also nicht ihre 
eigene Betriebsspannung auf die Leitung legen sollten.

Es müsste doch daher eigentlich ohne Pegelwandlung funktionieren, oder?

Jetzt ist es komischerweise so, dass das kleine USI I2C library dass ich 
benutze 
(http://www.jtronics.de/elektronik-avr/lib-i2ctwi-mit-usi-interface.html) 
die Datenleitungen zeitweise auch als Outputs setzt und zwar mit 
High-pegel... Wieso? Reicht es nicht mit den beiden folgenden States zu 
arbeiten (für SCL und SDA)?:
1
DDRbit = 0 //also input
2
PORTbit = 0 //kein pullup, weil global
1
DDRbit = 1 //output
2
PORTbit= 0 //zieht datenleitung auf GND runter

Philipp

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Die benötigten Pegelwandler sind 2 simple MOSFETs - ist schon oft 
beschrieben worden.

von Philipp F. (nerdture)


Lesenswert?

Wie gesagt,
meine Frage ist, ob ein Pegelwandler überhaupt nötig wäre und warum die 
Library so arbeitet wie sie es tut...

von Philipp F. (nerdture)


Angehängte Dateien:

Lesenswert?

Würde es nicht auch so funktionieren?

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.