1:1 level Shifter

Gast #6091749
Lesenswert?

Ich habe folgendes Problem:

Ein SPI Bus muss mit mindestens 10.8V laufen, der Mikrocontroller 
(ATSAMD21) kann jedoch nur 3.3V.

Ich habe diverse "Level-Shifter" gesehen, wo das Signal mit einem 
Pull-Up auf 12V gezogen wird, und dann mit einem Mosfet auf 0V, so hat 
man dan einen Levelshifter. Leider invertieren diese, das heist das 
Signal am Shifter is 1 wenn der Ausgang vom Mikrocontroller 0 ist. Bei 
einem GPIO ist das einfach lösbar indem man in Software das Signal 
umdreht.

Nun ist aber bei SPI das Problem das dies nicht möglich ist. Ich 
benötigen die beiden SPI Signale SCK und MOSI und CS genau so wie Sie 
aus dem Controller kommen.

Meine Idee wäre jetz so einen 74er Inverter vor jeden der 3 Mosfet zu 
setzen. Oder geht das einfacher?
#6091784
Lesenswert?

Simonium schrieb:
> Ein SPI Bus muss mit mindestens 10.8V laufen

Hui, bist Du Dir da ganz sicher?

Das ist für SPI eine recht ungewöhnliche Spannung. SPI ist kein Feldbus 
oder ähnliches, sondern für die Kommunikation innerhalb einer Platine 
oder meinetwegen eines Moduls/Geräts gedacht, nicht für lange Leitungen. 
Master und Slaves sind daher normal ICs und gängige Spannungen max. 5V.

Wenn es wirklich SPI ist:

- Was für eine Taktrate?
- Wie lang sind die Leitungen?
- Sind die Leitungen an einem Stecker oder ähnlichem von außen 
zugänglich?
- Werden die Leitungen unter Spannung an-/abgesteckt?

Die Antworten darauf entscheiden ob Du eine Push-Pull-Stufe brauchst 
oder ob OpenDrain reicht und was für Schutzbeschaltungen Du brauchst.
Gast #6091825
Lesenswert?

Für eine solche Pegelumsetzungen nehme ich gerne Multiplexer, die mit 
dem kleinen Pegel der Ansteuerung (3,3 V) klar kommen. Hier könnte es 
ein DG4053 tun, der mit LV-CMOS- oder TTL-Pegeln bis zu +16 V 
Ausgangsspannung schalten kann. MAX4583 ist ähnlich, geht bis +12 V.
Gast #6091899
Lesenswert?

Simonium schrieb:
> Also hier ist z.b ein Link von einem der Level Shifter die ich kenne,
> dieser invertiert ja
>
> 
https://hackaday.com/wp-content/uploads/2016/11/mosfet-step-up-microchip-ds41285a.jpg

Wenn Du Gate und Source vertauschst invertiert die Schaltung nicht. Wenn 
der Port low ist, ist der Mosfet leitend und zieht Drain runter.
Ist der Port high, sperrt er und Drain geht auf Potential der 
Versorgung. Bei Zenos Vorschlag
zieht die Mosfet Diode den Port runter, wenn die Schaltung andersrum 
betrieben wird.
Gruß Ludwig
Gast #6092143
Lesenswert?

Zeno schrieb:
> Nein Gate komm auf 3,3V!

Ihr macht einen ja ganz kirre. Mein Zitat war schon wieder die 
Korrektur.

Machs so wie auf dem verlinkten Bildle. Da funktioniert auch 
bidirektional. Habe genau diese Schaltung für den I2C Bus aufgebaut und 
funktioniert bestens.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren