www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Level Converter richtig verdrahten - Frage dazu


Autor: Seb Astian (mbauer79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi@all,

ich möchte ein I2C Sensor an einen Atmega anschließen und Daten 
auslesen.

Der Mega läuft mit 5Vcc und der Sensor mit 3,3Vcc.

Nun habe ich mir einen LC bestellt. Weiß allerdings noch nicht so 
richtig ob meine Gedanken hierzu richtig sind.

Hier ist der Schaltplan:

http://www.sparkfun.com/datasheets/BreakoutBoards/...

Ich dachte mir, dass ich für SDA einfach TX_LV - TX_HV parallel zu RX_LV 
- RX_HV schließe. Dann sollte das doch bidirektional funzen?!

Das gleiche wollte ich bei Channel 2 für SCL machen.

Hab ich da nen Denkfehler? Wenn ich das so anschließe benötige ich doch 
auch keinen Pullup mehr?!

Danke schonmal,

Sebastian

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Seb!

I²C funktioniert grundsätzlich nicht mit Pegelwandlern, Bustreibern usw. 
dazwischen. Den AVR kannte auch mit 3,3V betreiben - kein Wandler 
notwendig -> alle glücklich.

Gruß - Wolfgang

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

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> I²C funktioniert grundsätzlich nicht mit Pegelwandlern, Bustreibern usw.
> dazwischen.

Das tut I²C sehr wohl, wenn man einen I²C-Pegelwandler einsetzt, wie 
z.B. den PCA9517. Der eignet sich vorzüglich, um in einem Gerät gemischt 
I²C-Bausteine mit 5V und 3.3V zu nutzen.

Autor: Seb Astian (mbauer79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

der Atmel läuft nicht mit 3,3V (4,5 V - 5V)!

Die Aussage von dir halte ich allerdings für falsch.

Überall im Netz findet man Level Converter im I2C Einsatz. Das ist sogar 
DIE gängige Methode!

Siehe LC-Beschreibung...dort steht auch das man den LC für I2C nutzen 
kann.

http://www.sparkfun.com/products/8745

Aber trotzdem Danke ;)


----> Zurück zu meiner Frage: Sind meine Gedanken bezüglich des 
anschließens richtig oder falsch?

Autor: Sascha H. (legroeder2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das immer so gemacht, wie in der AppNote 97055 von NXP 
(http://ics.nxp.com/support/documents/interface/pdf...) auf 
Seite 10, das hat bisher gut funktioniert. Den genauen MOSFET-Typ und 
Pullup-Widerstände könnte ich heute Abend noch nachliefern sobald ich zu 
Hause bin.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen Farbsensor (3,3V) mit einem Atmega8 (5V) über I²C mit der 
Pegelwandlerschaltung (2N7002,2x10k) angeschlossen, geht bidirektional.
Ich denke der Spannungteiler soll nur die "Sparvariante" sein.

Autor: Seb Astian (mbauer79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten und Ratschläge!

Ich habe im Augenblick nur den von mir beschriebenen Level Converter zur 
Verfügung. Bevor ich auf was anderes zurück greife wollte ich diese 
Möglichkeit testen.

Ich bin mir allerdings nicht sicher obs funzt - deshalb meine Frage.

Das es auch anders geht is mir schon klar ;)

Schöne Grüße

@Sascha: Ja gern!

P.S. Wenn ich das richtig übersetze sollte es funzen, oder?!

In nem Forum gefunden:

----------Frage------------------------------------------------

Syvwlch | August 16, 2008 at 8:23 AMComment Rating4

Hi, and thanks for all the good work.

One question on this logic level converter:

If I want to use this to connect a 5V processor to a 3.3V I2C sensor, 
can I connect one pin of the processor to the SDA pin of the sensor with 
both a TXI-TXO and a RXO-RXI line in parallel, and then switch that 
processor pin from input to ouput as required?

------------Antwort--------------------------------------------

If not, what do you recommend I do?
Quazar | September 30, 2008 at 11:41 AMComment Rating2

I think you can do that with this board. You'll need to use the two "TX" 
channels, (the ones with the MOSFETs), since I2C requires bidirectional 
I/O for both lines. There is a good appnote on the subject here.

Autor: Seb Astian (mbauer79)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Antwort gefunden.

Der BOB-08745 ist recht einfach (wenn man es weiß) einsetzbar.

für SCL und SDA werden einfach die beiden TX der zwei Kanäle genutzt.

Vergleich:

http://www.sparkfun.com/datasheets/BreakoutBoards/...

mit

http://www.nxp.com/documents/application_note/AN10441.pdf

Falls es mal jemand brauch. RX wird also nicht benötigt.

Schöne Grüße

Sebastian

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.