I2C TWI 5V / 3V / SCL / SDA / Pegelwandler Interface Anpassung Schaltung

OP #3786484
Lesenswert?
• ▲
▼
Geschätztes Forum,

ein 3,3V Slave (z.B.HP03S) soll an einem 5V I2C-BUS betrieben werden.

Könnte man diese Schaltung verwenden, welche Nachteile hat sie?


Die SCL -Leitung wird theoretisch nur vom MASTER (µC) angesteuert, 
somit würde ja eine einfache Diode ausreichen, um SCL gegen GND zu 
ziehen.


Nur bei der SDA -Leitung wird's interessant, denn der Slave muss dies 
Leitung auch gegen GND ziehen können.

Ein einfacher Transistor (in Basisschaltung) könnte dies Aufgabe 
übernehmen, ein FET wäre natürlich auch möglich.


Welchen FET würdet Ihr empfehlen?

Bernhard
Angehängte Dateien:
Gast #3786501
Lesenswert?
• ▲
▼
Hallo,

Bernhard S. schrieb:
> Die SCL -Leitung wird theoretisch nur vom MASTER (µC) angesteuert,
> somit würde ja eine einfache Diode ausreichen, um SCL gegen GND zu
> ziehen.

Nein, denn es gibt das sogenannte "Clock-stretching". Der Slave kann 
denn Clock eine Weile (mehrere Mikrosekunden bis ...) auf Low ziehen bis 
er die Daten etc. bereit hat und so den Master bremsen.

Du musst beide Leitungen gleich behandeln!!!
#3786503
Lesenswert?
• ▲
▼
Wenn du Glück hast kannst du die einfach direkt verkabeln und Pullups 
auf 3.3V machen. Der 5V-Baustein müsste das eigentlich als High 
erkennen.

Ansonsten wird's schwer von Hand, dann würde ich lieber einen der 
zahlreichen 5V-toleranten I2C-Bus-Repeater ICs einsetzen.

Grüße,
Sven
OP #3786512
Lesenswert?
• ▲
▼
>Wenn du Glück hast kannst du die einfach direkt verkabeln und Pullups
>auf 3.3V machen. Der 5V-Baustein müsste das eigentlich als High
>erkennen.

Ja, aber !!!

Es ist nicht auszuschließen, dass am BUS (z.B. Programmierfehler) ein 
Pegel von 5V aniegt, dann könnte der SLAVE ev. Schaden nehmen und 
unbrauchbar werden.

Bernhard
#3786520
Lesenswert?
• ▲
▼
Bernhard S. schrieb:
>>Wenn du Glück hast kannst du die einfach direkt verkabeln und
> Pullups
>>auf 3.3V machen. Der 5V-Baustein müsste das eigentlich als High
>>erkennen.
>
> Ja, aber !!!
>
> Es ist nicht auszuschließen, dass am BUS (z.B. Programmierfehler) ein
> Pegel von 5V aniegt, dann könnte der SLAVE ev. Schaden nehmen und
> unbrauchbar werden.

Und es wäre auch außerhalb der Spezifikationen:
Laut "Two-wire Serial Interface Characteristics" des ATmega8 muss die 
Input High-Voltag min. 0.7Vcc sein, 5V*0.7=3.5V...
#3786521
Lesenswert?
• ▲
▼
Ich bin ein bisschen skeptisch ob ein beliebiger Pegelwandler reicht, 
schließlich hat i2c noch diesen Tri-State-Zustand der auch korrekt 
abgebildet werden muss. Ich würde dann eher zu einem i2c bus repeater 
raten. Ich habe mal den hier [1] verbaut, funktioniert gut.

Das mit den 3.5V ist natürlich Pech, dann geht die einfache Lösung 
leider nicht. Naja.

_____
[1] http://www.nxp.com/documents/data_sheet/PCA9515.pdf
#3786523
Lesenswert?
• ▲
▼
Sven B. schrieb:
> Tri-State-Zustand
Ich zähle nur zwei:
- Transistor im IC schaltet durch: Low auf der Leitung
- Transistor sperrt (also hochohmig): Pullup zieht die Leitung auf High
Diese beiden zustände gehen Problemlos durch den Pegelwandler aus dem 
MOSFET + Widerstände.
Diese Lösung wird auch in einer Appnote von NXP beschrieben:
http://www.nxp.com/documents/application_note/AN10441.pdf

Antwort schreiben

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.

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.