Hallo, ich will unter anderem einen ATmega8L mit 3.3V betreiben und den an mein I²C-Bus, der auf 5V läuft, anschließen. Sind in dem 3.3V-Modus die Eingänge trotzdem 5V-tolerant, also kann ich ihn einfach an den Bus dran hängen oder muß ich wirklich erst die Pegel wandeln? Ich hätte hier einen ADG3304 (ein bidirektionaler 4-Kanal-Pegelwandler), der ist zwar im TSSOP-14 Package, wäre mir aber trotzdem noch etwas zu grpß auf meiner Platine. Was gäbe es da noch für simple Alternativen? Widerstände, Z-Dioden - aber wie? Schon mal danke im Voraus... Tom
Gast
#493122
Diese "Problematik" hatte ich schon des öfteren, habe seither einen I2C-Repeater im Einsatz, den PCA9515A von Philips. So kann ich meinen "internen" I2C-Bus auch im Fehlerfalle vom externen trennen. LG EC
Gast
#493123
> Sind in dem 3.3V-Modus die Eingänge trotzdem 5V-tolerant
Auszug aus dem Datenblatt, Absolute Maximum Ratings:
Voltage on any Pin except RESET
with respect to Ground ................................-0.5V to VCC+0.5V
Und wenn Dein VCC 3,3 V ist, müsstest Du selber ausrechnen können, wie
viel Du da dranhängen darfst...
Ach ja, schon klar. Ich hatte das schon gelesen, aber mehr überlesen, weil mich das RESET irritiert hatte. Danke. Also auf jeden Fall Pegel wandeln.
Gast
#493153
@Thomas Kreisel >Also auf jeden Fall Pegel wandeln. Warum? I2C hat nur Pull-up, typisch 10K. Die ziehen eine 3.3V IO auf ca. 4V (3,3 +0,7). Bleiben 1V Spannungsabfall über 10K = 100uA Strom durch die Clampdioden. Das passt schon, vor allem wenn der AVR sowieso für 5V ausgelegt ist (sprich die Chipstrukturen halten 5V aus ohne Schaden zu nehmen). MfG Falk
Hallo! Schau mal da: http://www.standardics.nxp.com/support/documents/i2c/pdf/an97055.pdf 2 MOSFETS reichen (z.B. BSN 20 in SOT23). Hias
Vielen Dank @Hias, das schaut gut aus, ich hab den BSN20 genommen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.