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


von Seb A. (mbauer79)


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/Level-Converter-v10.pdf

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

von Wolfgang (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Seb A. (mbauer79)


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?

von Sascha H. (legroeder2k)


Lesenswert?

Ich habe das immer so gemacht, wie in der AppNote 97055 von NXP 
(http://ics.nxp.com/support/documents/interface/pdf/an97055.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.

von hp-freund (Gast)


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.

von Seb A. (mbauer79)


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.

von Seb A. (mbauer79)


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/Level-Converter-v10.pdf

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.