Forum: Mikrocontroller und Digitale Elektronik umschaltbarer Levelshifter?


von Peter N. (alv)


Lesenswert?

Hi

Ich möchte an einem Pi Pico, wahlweise 3,3V- und 5V-Peripherie 
anschließen.

Kann ich diese klassischen Levelshifter aus 2 Mosfets umschalten, indem 
ich die 5V-Spannung zwischen 3,3V und 5V umschalte?

von Marek N. (db1bmn)


Lesenswert?


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


Lesenswert?

Peter N. schrieb:
> Ich möchte an einem Pi Pico, wahlweise 3,3V- und 5V-Peripherie
> anschließen.
Warum schließt du die  3.3V Peripherie nicht VOR dem Levelshifter an?

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter N. schrieb:
> Kann ich diese klassischen Levelshifter aus 2 Mosfets umschalten
Weil die High-Pegel bei dieser Schaltung nur vom Pullup definiert ist, 
musst du einfach diesen Pullup an die entsprechende Spannung 
anschließen.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Peter N. schrieb:
> Kann ich diese klassischen Levelshifter aus 2 Mosfets umschalten, indem
> ich die 5V-Spannung zwischen 3,3V und 5V umschalte?

Ähm, bedeutet das nicht dass deine 3,3V Peripherie 5V abbekommt wenn du 
gerade mit deiner 5V Peripherie redest? Keine gute Idee, also nicht wenn 
die 3,3V Peripherie nicht 5V fest ist.

von Sebastian W. (wangnick)


Lesenswert?

Peter N. schrieb:
> diese klassischen Levelshifter aus 2 Mosfets

Du meinst den klassischen bidirektionalen Levelshifter aus nur einem 
Mosfet, wie Philips ihn damals für I2C in AN97055 beschrieben hat?

https://cdn-shop.adafruit.com/datasheets/an97055.pdf

Dann ja.

LG, Sebastian

: Bearbeitet durch User
von Bernd B. (bbrand)


Lesenswert?

Peter N. schrieb:
> wahlweise

Hannes J. schrieb:
> Ähm, bedeutet das nicht dass deine 3,3V Peripherie 5V abbekommt wenn du
> gerade mit deiner 5V Peripherie redest?

Also ich verstehe das "wahlweise" vom TO so, dass er entweder 5V oder 
3.3V Peripherie anschliessen will, nicht beides gleichzeitig. In dem 
Fall wäre die von Lothar vorgeschlagene Lösung vermutlich die 
einfachste.

von Rudolph R. (rudolph)


Lesenswert?

Diese "klassischen" Levelshifter mit FETs wurden von Phillips vor 
Ewigkeiten für I2C entwickelt (AN97055) und funktionieren entsprechend 
nur mit verhältnismäßig langsamen Signalen gut.

Und bis auf wenige Ausnahmen, wie eben I2C, braucht man auch keine 
bi-direktionalen Level-Shifter.
Mit z.B. einem SPI hat man da nicht viel Freude.

Für sowas wie SPI verwende ich gerne LVC Logik-Gatter, z.B. 74LVC2G17, 
die vertragen an den Eingängen 5V, auch bei 3,3V Versorgung.

Beispiele von mir:
https://github.com/RudolphRiedel/EVE_display-adapter/tree/master/L-D5019-08

Die verwende ich schon seit Jahren erfolgreich mit diversen 3,3V und 5V 
Eval-Boards oder Arduinos und 3,3V Displays.

https://github.com/RudolphRiedel/8x-Logic-Analyzer

RP2350, ein Board für das gusmanb/logicanalyzer Projekt.
Ok, ist jetzt rein Input, aber einen 10MHz SPI habe ich mir mit der 
ersten Platinen-Revision schon angesehen.

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


Lesenswert?

Rudolph R. schrieb:
> RP2350

Die neueren sind 5V kompatibel, ganz ohne Levelshifter.

von Rudolph R. (rudolph)


Lesenswert?

Arduino F. schrieb:
> Rudolph R. schrieb:
>> RP2350
>
> Die neueren sind 5V kompatibel, ganz ohne Levelshifter.

Ja, schon, aber erstmal muss man die A4 Revision bekommen und JLPCB 
hatte die noch nicht auf Lager am Wochenende.
Und dann muss man auch aufpassen, dass IOVDD anliegt bevor Signale 
anliegen, dass war mir für die Anwendung zu heikel.
Aber ja, eventuell tut es auch ein Längswiderstand zur Sicherheit, um 
den auszulegen braucht man aber ein paar Parameter.

von Harald K. (kirnbichler)


Lesenswert?

Arduino F. schrieb:
> Die neueren sind 5V kompatibel, ganz ohne Levelshifter.

Sie können 5V-Signale verdauen, aber nicht ausgeben.
Das kann kritisch werden, wenn die angesteuerte 5V-Peripherie einen 
5V-High-Pegel benötigt und mit 3.3V nicht auskommt.

Mit einem dazwischengeschalteten 74HCT-Baustein (der mit 5V versorgt 
wird) lässt sich das Problem lösen, denn der akzeptiert niedrigere 
Highpegel an seinen Eingängen.

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


Lesenswert?

Harald K. schrieb:
> ....

Leider dürfen wie mal wieder nicht erfahren welche Peripherie verwendet 
werden soll, und warum solche "Klimmzüge" notwendig erscheinen,

So bleibt es ein stochern im Nebel.

: Bearbeitet durch User
von Peter N. (alv)


Lesenswert?

Es geht darum, irgendwelche Schaltungen in 5V und auch 3,3V, die etwas 
kompliziertere Ansteuerung als Ein/Aus brauchen, zu testen.

Die Ansteuerung soll ein frei programmierbarer Pi Pico machen.
Damit ich das nicht immer neu zusammenstöpseln muß, sollen die 
Levelshifter fest montiert und deshalb umschaltbar sein.

von Jens G. (jensig)


Lesenswert?

Arduino F. schrieb:
> Leider dürfen wie mal wieder nicht erfahren welche Peripherie verwendet
> werden soll,

Wozu? Frage ist doch schon lange geklärt.

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


Lesenswert?

Jens G. schrieb:
> Frage ist doch schon lange geklärt.

Sehe ich nicht!

Es soll ein Levelshifter, welcher für open Drain vorgesehen ist, für 
irgendwas geheimes verwendet werden.
Ohne Klärung werde ich nicht sagen: Das geht!

Aber was ich denke oder sage, scheint sowieso nicht so wichtig zu sein.
Ist auch OK so.

von Harald K. (kirnbichler)


Lesenswert?

Arduino F. schrieb:
> Es soll ein Levelshifter, welcher für open Drain vorgesehen ist

?

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.