Forum: Mikrocontroller und Digitale Elektronik I2C zwischen 3,3 und 5V?


von Peter N. (alv)


Lesenswert?

Hi

Laut Datenblättern ist der I²C-Bus OC.

Demnach könnte ich bei Pullups an 3,3V 5V-I²C-Peripherie ohne 
Pegelwandler direkt an 3,3V µC anschließen?

von Wolfgang (Gast)


Lesenswert?

Peter N. schrieb:
> Demnach könnte ich bei Pullups an 3,3V 5V-I²C-Peripherie ohne
> Pegelwandler direkt an 3,3V µC anschließen?

I2C ist bidirektional, d.h. deine 5V-I2C-Peripherie muss die 3,3V Pegel 
auch sicher als High erkennen können.

von Jürgen (Gast)


Lesenswert?

Oft haben 5V-Bauteile dann Probleme mit höheren Geschwindigkeiten. 
Manche schaffen bei 3,3V keine 400kHz mehr, für 1MHz brauchst Du auf 
jeden Fall Pegelwandler.

von Stefan F. (Gast)


Lesenswert?

Peter N. schrieb:
> Demnach könnte ich bei Pullups an 3,3V 5V-I²C-Peripherie ohne
> Pegelwandler direkt an 3,3V µC anschließen?

Bei AVR Mikrocontrollern ja, aber leider klappt das mit vielen 
Peripheriebausteinen nicht.

PCF8574 und PCA9685 wollen als High Pegel mindestens 0,7·VCC sehen, also 
3,5 Volt. Der MCP23017 will sogar mindestens 0,8·VCC sehen.

von Falk B. (falk)


Lesenswert?

Jürgen schrieb:
> Oft haben 5V-Bauteile dann Probleme mit höheren Geschwindigkeiten.
> Manche schaffen bei 3,3V keine 400kHz mehr, für 1MHz brauchst Du auf
> jeden Fall Pegelwandler.

Wer betreibt I2C mit 1MHz? Ja, es gibt solche ICs, aber nutzen tut die 
kaum einer.

von Falk B. (falk)


Lesenswert?

Peter N. schrieb:
> Demnach könnte ich bei Pullups an 3,3V 5V-I²C-Peripherie ohne
> Pegelwandler direkt an 3,3V µC anschließen?

Anschließen ja, stabil betreiben nein. Tu dir einen Gefallen und nutze 
solide Pegelwandler.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> Wer betreibt I2C mit 1MHz?

Das macht bei den kleinen OLED Sinn, wenn man darauf Animationen 
ruckelfrei anzeigen will. Bei meinen Versuchen klappte es mit bis zu 900 
kHz.

von Falk B. (falk)


Lesenswert?

Stefan F. schrieb:
> Das macht bei den kleinen OLED Sinn, wenn man darauf Animationen
> ruckelfrei anzeigen will. Bei meinen Versuchen klappte es mit bis zu 900
> kHz.

Dann hat man die falsche Schnittstelle gewählt. Mit SPI wär das nicht 
passiert. Ok, es gibt immer eine exotische Nische. Sei's drum.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> Dann hat man die falsche Schnittstelle gewählt

Es war nur ein Experiment. Meine "richtige" Anwendung läuft auf 400 kHz 
und das reicht sogar zum sanften hoch Scrollen von Text.

von Old (Gast)


Lesenswert?

Falk B. schrieb:
> Jürgen schrieb:
>> Oft haben 5V-Bauteile dann Probleme mit höheren Geschwindigkeiten.
>> Manche schaffen bei 3,3V keine 400kHz mehr, für 1MHz brauchst Du auf
>> jeden Fall Pegelwandler.
>
> Wer betreibt I2C mit 1MHz? Ja, es gibt solche ICs, aber nutzen tut die
> kaum einer.

Macht man z.B. beim uSDX, um mit einem 5V ATmega328 den 3,3V Si5153 
Takgenerator phasenmodulieren zu können und dann mit zusätzlicher 
Amplitudenmodulation ein SSB-Signal ohne großen Aufwand erzeugen zu 
können. Die auf den (handels)üblichen Si5351-Modulen vorhandenen 
I2C-Pegelwandler sind da sogar hinderlich.

von Wolfgang (Gast)


Lesenswert?

Falk B. schrieb:
> Wer betreibt I2C mit 1MHz? Ja, es gibt solche ICs, aber nutzen tut die
> kaum einer.

Was hat das Thema hier mit der Frequenz zu tun?
Wenn man schon auf die Flanken abzielt, dann muss man genauso die 
Kapazität und damit die Leitungslänge (->Übertragungsfunktion) 
diskutieren.

von Atos (Gast)


Lesenswert?

Manche 3,3V Bauteile lassen sich auch etwas höher betreiben, meine 
Xmegas laufen mit 3,6V und so stimmen auch die High-Pegel fuer 5V.

von Wolfgang (Gast)


Lesenswert?

Atos schrieb:
> ... meine Xmegas laufen mit 3,6V und so stimmen auch die High-Pegel fuer 5V.

"stimmen" ist wohl das falsche Wort. Du hängst damit am Minimum und 
beraubst dich des Spielraumes bei runden Pulsen.

Wenn man denn absolut den Aufwand von zwei kleinen MOSFETs und zwei 
Widerständen scheut, hilft es auch noch etwas, die 5V-I²C-Peripherie 
nicht mit 5V, sondern eher nahe der unteren Spannungsgrenze zu 
betreiben.

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.