AVR mit 3,3 V an einen 2,8 V I2C-Bus anschließen

Ich möchte einen AVR (ATmega48PA) an einen I2C-Bus anschließen, dessen Pullups mit 2,8 V verbunden sind, was die Betriebsspannung für andere Geräte am Bus ist. Der AVR läuft mit 3,3V.

Da die SDA- und SCL-Pins Open-Drain sind, wird der angeschlossene AVR keine 3,3 V auf den Bus "pushen", sodass andere Geräte auf dem Bus sicher sind. Gemäß dem Abschnitt zu den elektrischen Eigenschaften des Datenblatts beträgt der Schwellenwert für logisch hoch 0,6 * Vcc, was 1,98 V entspricht, wenn Vcc 3,3 V beträgt. Die I2C-Busspannung liegt deutlich über dieser Schwelle, sodass ich den AVR vermutlich ohne Pegelverschiebung direkt an den Bus anschließen kann. Ist das korrekt?

Datenblatt Seite 383, Tabelle 33-2: Gemeinsame DC-Eigenschaften

Vielleicht möchten Sie ein paar Klemmdioden hinzufügen, um die 2,8-V-Geräte nur für den Fall zu schützen

Antworten (1)

Open-Drain-Ausgänge von einem 3,3-V-System teilen sich die Leitungen mit anderen Geräten auf Partyleitungen, die auf 2,8 V hochgezogen werden. Wenn Sie die Dinge nach unten ziehen, liegt die Spannung in der Nähe von Masse. Das ist für alle okay. Wenn Sie nicht nach unten ziehen, liegt die Spannung der Leitung nahe bei 2,8 V. Wie Sie betonen, ist es die Frage nach dem logisch hohen Eingang von etwa 2 V für Ihr 3,3-V-System, die Sie zum Staunen bringt.

Ich denke, es sollte gut funktionieren. Wenn Ihr Geräte-Pin als Eingang fungiert und ein anderes Gerät ebenfalls als Ausgang mit Open-Drain fungiert, befinden sie sich, wenn sie eine „1“ ausgeben, in einem hochohmigen Zustand und verlassen die gesamte Partyleitung durch den Pull-up auf 2,8 V gezogen. Solange alle kombinierten Leckströme aller Geräte nicht zusammen dazu führen, dass dieser Pull-up-Widerstand um mehr als ein halbes Volt oder so abfällt, sollte es Ihnen gut gehen. Und es ist schwer vorstellbar, dass das passiert. Natürlich weiß ich nicht, welchen Wert der Klimmzug hat, wie viele Geräte angeschlossen sind oder was ihre Lecks sein könnten. Es ist also schwer, absolut sicher zu sein. Aber ich denke, es ist in Ordnung.