Forum: Mikrocontroller und Digitale Elektronik TWI 5v mit 3.3v ohne Pegelwandler


von Roman (Gast)


Lesenswert?

Hallo zusammen

Ich habe eine spezifische Frage über die Verwendung von 5V und 3.3V 
Komponenten in einem TWI-Bussystem.

Es gibt natürlich die Möglichkeit die Bussleitungen auf 3.3V zu 
betreiben und einen 5V->3.3V Pegelwandler für die 5V Komponenten zu 
benutzen.

Ich möchte wissen ob man auch einfach nur einen passenden Widerstand 
(R1) zwischen die Pins der 5V Komponenten und die Busleitungen einbauen 
kann?
Etwa so:

5V o----[ R1 ]----o----[ Pullup ]-------o 3.3V
Pin               |                        Pin
                  |
                o->Anschluss für 3.3V Komponente

Die 3.3V Komponenten schliesse ich zwischen R1 und Pullup an.

Mir ist klar, dass ich die Spannung zwischen Widerstand R1 und dem 
Pullup nie ganz auf 3.3 V bringen kann, aber wenn sie wenigstens 
innerhalb des Toleranzbereiches der 3.3V Komponenten liegt, dann ist das 
doch schonmal gut.

Mit Hilfe eines einfachen Spannungsteiler wähle ich den Widerstand R1 
gerade so,
dass die Spannung z.B 3.5V beträgt (Bei 3.6V Maxspannung im Datenblatt 
der 3.3V Komponenten).

Was für Nachteile bringt mir so eine Schaltung und funktioniert dies so 
überhaupt? Reduziere ich damit meine TWI Busgeschwindigkeit vielleicht?
Ich vermute mal, dass ich einen höheren Energieverbrauch haben werde, da 
immer ein Strom von 5V nach 3.3V fliessen wird.

Wie gesagt, ich kenne andere Lösungen, es gibt massenweise Vorschläge im 
Forum. Ich möchte einfach wissen ob diese Methode funktioniert und was 
die Nachteile davon sind (habe ich so explizit noch nicht gefunden).

Liebe Grüsse,
Roman

von Roman (Gast)


Lesenswert?

Nachtrag:
Ich bin mir natürlich des Problems bewusst, dass die 3.3V an der 
Busleitung für einen 5V Input Pin eher auf der niedrigen Seite liegen. 
Im Datenblatt des Atmega8 steht für den TWI, dass die Spannung für ein 
High-Pegel mindestens 0.7*Vcc sein sollte, also mindestens 0.7*5V = 
3.5V.
Mache Leute in den Foren behaupten, dass das gerade noch gehen sollte.
Gibt es denn auser diesem Problem noch andere?

lG
Roman

von Max H. (hartl192)


Lesenswert?

Roman schrieb:
> Mache Leute in den Foren behaupten, dass das gerade noch gehen sollte.
> Gibt es denn auser diesem Problem noch andere?
Ich würde mich mal um dieses Problem kümmern. Atmel garantiert dir 
nicht, dass die 3.3V sicher als High erkannt werden, es kann also 
funktionieren muss es aber nicht und zusätzlich für der 3.3V Pegel an IO 
zu einer erhöhten Stromaufnahme der Eingangsstufe. Ich würde einen 
Pegelwandler einbauen, da ich Bauteile grundsätzlich nicht außerhalb 
ihrer Spezifikationen betreibe…

von Klaus (Gast)


Lesenswert?

Man könnte die Pullups des I2C Busses auch auf eine Spannung legen, die 
für die 3,3 Bausteine noch zulässig ist, also etwa 3,8V. Der High-Pegel 
reicht dann auch für die 5V Bausteine.

MfG Klaus

von Detlev T. (detlevt)


Lesenswert?

Für den Pegelwandler braucht man nur zwei kleine MOSFETs - da sollte man 
solche Basteleien gar nicht erst anfangen. Man riskiert sonst wahlweise 
fehlerhafte Übertragungen oder zerstörte ICs. Wozu?

von Max H. (hartl192)


Lesenswert?

Detlev T. schrieb:
> Für den Pegelwandler braucht man nur zwei kleine MOSFETs
Die Schaltung dazu: 
http://www.smarkwardt.de/data/images/articles/i2c-level-shift-mosfet.png
> Man riskiert sonst wahlweise
> fehlerhafte Übertragungen oder zerstörte ICs. Wozu?
Frag ich mich auch.

von Roman (Gast)


Lesenswert?

Vielen Dank allen für die Antworten.
Die Methode mit den zwei Mosfets finde ich elegant, danke hartl192 für 
den Schaltplan.

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.