Forum: Mikrocontroller und Digitale Elektronik ESP 1-wire PullUp's auf beiden Seiten des LevelShifters 3.3V<>5V?


von Achim A. (achim_a)


Angehängte Dateien:

Lesenswert?

Hallo

ich habe hier verschieden Temp und auch Temp/Feuchte Sensoren wie 
DS18B20 und DHT Sensoren.

Damit beide stabil laufen sollte man diese mit 5V betreiben.
Da ich einen 3.3V ESP nutze den man auch auf der Datenleitung nur mit 
max 3.3V anfahren sollte, nutze dafür LevelShifter von 3.3V auf 5V.

auf dem Schema von Texas Instruments sah ich das zumindest beim I2C Bus 
auf beiden Seiten ein Pullup empfohlen wird

Ist das bei einem bi-direktionalen LevelShifter von  3.3V auf 5V auch so 
dass man auf der 3.3V Seite und auf der 5V Seite einen Pullup setzen 
sollte?

edit: suche ich hier unter google so gibt mir die KI aus, dass man den 
PulLUp nur auf der 5V Seite benötigt. Stimmt das?

: Bearbeitet durch User
von Andreas G. (andy1024)


Lesenswert?

Hallo Achim,

ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf 
beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen 
und auf der 3V3 Seite 3K3.
Einen Switch brauchst du meines Erachtens nicht, den brauchst du nur 
wenn du die Slave Adresse nicht ändern kannst.

Gruß
Andreas

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Achim A. schrieb:
> edit: suche ich hier unter google so gibt mir die KI aus, dass man den
> PulLUp nur auf der 5V Seite benötigt. Stimmt das?

Wie immer:
Auf keinem Fall einer Dokumentation glauben schenken, die vom Hersteller 
kommt!

Lieber einer Ahnungslosen Lügenmaschine trauen.

Merke:
Je größer die Lüge, desto glaubwürdiger sie ist.

von Falk B. (falk)


Lesenswert?

Achim A. schrieb:
> edit: suche ich hier unter google so gibt mir die KI aus, dass man den
> PulLUp nur auf der 5V Seite benötigt. Stimmt das?

Nö. Der Klassiker aus 2 MOSFETs, der auch in sehr ähnlicher Form in 
vielen integrierten Pegelwandlern stecket, braucht auf jeder Seite einen 
Pull-Up. Die integrierten haben sie teilweise schon eingebaut, Nomen est 
Omen!.

Ergo. Zeig mal einen Schaltplan mit konkreten Beuteilen.

von Jens M. (schuchkleisser)


Lesenswert?

Die DS18B20 tun es ganz hervorragend auch mit 3,3V VCC.

Das Texasdings ist ein Multiplexer und da es da auch die Möglichkeit 
gibt das keiner der Busse genutzt wird brauchts da an beiden Enden 
Pullups.

Die normalen Levelshifter für I²C brauchen ebenfalls an beiden Seiten 
einen.
Ob man SHT und DS18B mit einem I²C-Shifter betreiben kann weiß ich nicht 
nehme es aber an.

von Rainer W. (rawi)


Lesenswert?

Achim A. schrieb:
> Ist das bei einem bi-direktionalen LevelShifter von  3.3V auf 5V auch so
> dass man auf der 3.3V Seite und auf der 5V Seite einen Pullup setzen
> sollte?

Das hat nichts mit "sollte" zu tun.

Hast du dich schon einmal mit den Grundlagen vom I2C-Bus beschäftigt?
Woher soll bei einem Bus-System mit rezessivem High-Pegel der High-Level 
kommen, wenn nicht durch einen Pull-Up (oder eine Stromquelle)?

p.s.
Was hat das "1-wire" im Titel mit dem I2C-Bus zu tun?

von Jens M. (schuchkleisser)


Lesenswert?

Rainer W. schrieb:
> Woher soll bei einem Bus-System mit rezessivem High-Pegel der High-Level
> kommen

Da dürfte die Vermutung eines nicht-ganz-so-tiefen-Technikers sein, das 
der Levelshifter evtl. "durchsichtig" ist?

Rainer W. schrieb:
> Was hat das "1-wire" im Titel mit dem I2C-Bus zu tun?

Sowohl der DS18B20 als auch die DHT-Sensoren nutzen ein einstrippiges 
Protokoll, und der verwendete Levelshifter ist nicht 
I²C-Protokollspezifisch, wird aber oft so bezeichnet weil er halt 2 
Kanäle hat.

von Achim A. (achim_a)


Lesenswert?

Andreas G. schrieb:
> ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf
> beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen
> und auf der 3V3 Seite 3K3.

Hallo,
ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich 
ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal

Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als 
auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren 
sollte.

Vielen Dank für die Info

von Achim A. (achim_a)


Lesenswert?

Andreas G. schrieb:
> ich würde einen IIC Levelshifter einsetzen z.B. TCA9517. Du brauchst auf
> beiden Seiten PullUp Widerstände. Auf der 5V Seite würde ich 4K7 nehmen
> und auf der 3V3 Seite 3K3.

Hallo,
ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich 
ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal

Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als 
auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren 
sollte.

Vielen Dank für die Info

Falk B. schrieb:
> 2 MOSFETs, der auch in sehr ähnlicher Form in
> vielen integrierten Pegelwandlern stecket

ich vermute mal der von mir genutze TXS0108  ist so ein 
Mosfet-levelShifter

von Rainer W. (rawi)


Lesenswert?

Jens M. schrieb:
> Sowohl der DS18B20 als auch die DHT-Sensoren nutzen ein einstrippiges
> Protokoll, ...

Richtig, wobei nur der DS18B20 1-Wire® (Analog Devices, Maxim 
Integrated, Dallas) verwendet. Der DHT22 nutzt ein eigenes Protokoll. 
Beide Sensoren können sowohl mit 3,3V als auch mit 5V arbeiten, so dass 
eine Pegel-Shifterei doch eher überflüssig erscheint. Oder was sind das 
für "DHT-Sensoren"?

von Falk B. (falk)


Lesenswert?

Achim A. schrieb:
> Hallo,
> ich setze hier einen TXS0108 bi-dierktionalen LevelShifter ein, da ich
> ein paar Ports noch mehr haben wollte als die üblichen 4-Kanal

Der ist vollintegriert.

> Ok dann habe ich das so verstanden das man sowohl die 3.3V Seite als
> auch die 5V Seite auf der Datenleitung mit Pullupos stabilisieren
> sollte.

Nein, die hat der IC schon eingebaut, ca. 4k.

>> 2 MOSFETs, der auch in sehr ähnlicher Form in
>> vielen integrierten Pegelwandlern stecket
>
> ich vermute mal der von mir genutze TXS0108  ist so ein
> Mosfet-levelShifter

Noch viel mehr, da steck viel Know How drin.

von Nemopuk (nemopuk)


Lesenswert?

Die Pull-up Widerstände gehören so sehr zum I2C Bus, wie die Gummibänder 
zum Expander.

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.