I2C-Bus mit 3,3V

Gast #137592
Hi,

ich will mit meinen ARM9-Controller eine I2C-Uhr ansteuern, hab aber
das Problem, daß die Port-Pins nur 3,3V verkraften. Laut den
Datenblatt, von dem ich gern ein paar Sachen übernehmen würde, sollte
die Angelegenheit mit zwei FET-Transistoren zu bewältigen sein.
Vorsichtig wie ich bin habe ich die Beschaltung aber mit PSpice nochmal
simuliert. Laut der Simulation liegen für einen High-Pegel, der vom
Controller gesendet wird, auf dem Bus 5V. In Falle eines Low-Pegel aber
3,9V. ??? In die Gegenrichtung (Uhr sendet) ist alles bestens. Kann mir
jemand sagen ob man die Schaltung so verwenden kann und meine
Simulation falsch ist? Wäre die Schaltung auch für den Anschluß einer
PS/2-Tastatur geeignet? Falls es eine bessere Pegelwandlung gibt würde
ich mich über diese freuen! (der 5V-I2C-driver ist auf der ersten Seite
des Datenblatts oben abgebildet)
Angehängte Dateien:
Gast
Hallo,
schau Dir mal im Elektor 12/2004 Seite 20 den Beitrag zum USB/I2C
Interface an. Für SDA und SCL wurde jeweils ein MOS-Fet FDV301N
spendiert. Source liegt am 3,3V - Controller und Drain am I2C-Bus.
Dieser Teil wird über 10K gegen +5V terminiert. Das Gate liegt an
+3,3V. Fertig ist der Pegelwandler.

Gruss Klaus.
Gast
Hi Sebastian !

Hast Du de Schaltplan zu diesem Pegelwandler ?
Ich muss auch 5 V -> nach 3,3 V terminieren !!

Habe die Schaltung so gebaut wie in den Philips I2C Spec beschrieben ->
aber irgendwie funktioniert die noch nicht !

Habe 2 x BSS 138 verwendet -> siehe Schaltplan !!

Gruß
Jochen
Angehängte Dateien:
Gast
Hi Jochen!

Hier hast Du schon mal den Schaltplan aus dem Elektor-Heft.
Für den ganzen Artikel (engl.) willst benötige ich aber Deine
Email-Adresse. Der ist leider etwas größer als 1 MB weil er etwas
unklug eingescannt wurde.

Gruss Sebastian
Angehängte Dateien:
Gast
Hi Sebastian !

Danke für den Schaltplan !

Ist genau die Schaltung, die ich aus den I2c Spez von Ohilios
rausgelesen habe.
Hast Du die CLK und Data Leitungen zufällig schon einmal
oszilloskopiert?

Gruß
Jochen
Gast
Hi Jochen!

Konnte die Schaltung leider noch nicht genauer untersuchen, da ich kein
Oszi besitze. Die Version mit den FDV301N funktioniert eigentlich ganz
gut bei 100kHz. Ich konnte leider die AppNote bei Philips nicht mehr
finden sonst hätte ich mal reingeschaut. Hast schon oszilloskopiert?

Gruss Sebastian!
Gast
...die Beschaltung des BSS138 hab ich im Datenblatt eines eZdsp von TI
gefunden. Ist zwar in einem Reset-Schaltkreis gewesen, aber vielleicht
bringt es dich ja weiter. Aus einer Simulation wurde leider nichts, da
ich keinen BSS138 oder Ähnliches in PSpice finden konnte. Kenn mich
leider bei dem Namensgebungen für die Dinger nicht so gut aus. :-)

Gruss Sebastian!
Angehängte Dateien:
Gast
Guten tag,
ich mache gerade ein projekt mit der Entwicklungsboard EVB 9328.Dieses 
muss mit Linux funktionieren.Ich habe aber die Schwierigkeit, dass ich 
das Programm für das board nicht habe ,mit dem ich die datei entpacken 
muss.
Könnten Sie mir vieleicht helfen?
 Isa.
Gast
Hallo.
Ich möchte einen Sensor über I2C mit meinem µC verbinden und dessen 
Werte einlesen.
Der Controller wird mit 3,3V versorgt.Der Sensor wird allerdings über 
DVDD mit typ.1,8V (max. 2,3V) betrieben und dessen SCL-und SDA-Leitungen 
auch an DVDD gelegt,wo noch je Leitung ein 10K Widerstand nach DVDD 
gezogen ist.

Dabei kann es doch Probleme mit den High-bzw. Low Pegeln geben oder?
Wie kann ich dieses Problem beheben?
Gast
>Dabei kann es doch Probleme mit den High-bzw. Low Pegeln geben oder?

Kann. Muß aber nicht. I²C ist ein low-aktiver Bus, high wird niemals 
aktiv getrieben, sondern ergibt sich über die pull-up-Widerstände. Wie 
hoch die high-Spannung ist, ist damit erst einmal egal, es kommt nur 
darauf an, daß dein Mikrocontroller die 1,8V des Sensors sicher als high 
erkennt. Ob er das tut, steht im Datenblatt.

>Wie kann ich dieses Problem beheben?

Wenn die 1,8V zu wenig sind, brauchst du einen Pegelwandler. Siehe oben.

Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.