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
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
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…
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
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.