mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C-Bus mit 3,3V


Autor: Sebastian Halle (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: KlaRa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Sebastian Halle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp! Da werd ich wohl mal reinschauen.

Gruss Sebastian

Autor: Jochen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sebastian Halle (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Sebastian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...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!

Autor: Isabelle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist mit einem PCA9517 zuverlässig und stabil lösbar.

Autor: Ron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info´s ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.