Forum: Mikrocontroller und Digitale Elektronik SPI Level Shifter - Pegel wird nicht erreicht


von Simon T. (narfinus)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

mein MOSFET-Level Shifter verhält etwas merkwürdig und ich wüsste gerne 
die Ursache.

Ich nutze einen BSS138 mit Gate-Beschaltung, bei der auf Master-Seite 
3,3V anliegen und die Slave-Seite entweder mit 3,3V oder mit 1,8V 
betrieben werden kann. Das ganze ist eine 1-zu-1-Umsetzung des Sparkfun 
Level-Shifters.

Messe ich nun bzw. das Clock-Signal nach dem Level-Shifter (gelb im 
Oszi-Bild), so kommt er nur bis ca. 2,5, danach geht lädt er sich nur 
noch extrem langsam weiter auf.
In Blau ist der MOSI zu sehen, hier habe ich den selben Effekt, 
überlagert durch Übersprechen von der Clock.

Das ganze funktioniert, da die Schaltschwellen eingehalten werden, aber 
sauber ist das nun wirklich nicht. Hat jemand eine Idee woran es liegen 
könnte, das der MOSFET die 3,3V nicht sofort erreicht?

Grüße

von Jim M. (turboj)


Lesenswert?

Zeichne Dir mal die Body Dioden der MOSFETs mit in den Schaltplan ein,
die Schaltung verwendet die nämlich.

Das Ganze ist nur für I²C Signale wirklich brauchbar, da die Pullups die 
Signal Anstiegszeit (rise time) bestimmen. Für (schnelleres) SPI braucht 
man aber Push-Pull Ausgänge.

von Clemens L. (c_l)


Lesenswert?

Simon T. schrieb:
> Das ganze ist eine 1-zu-1-Umsetzung des Sparkfun Level-Shifters.

Der Sparkfun-Level-Shifter achtet darauf, dass das Gate an der kleineren 
Spannung liegt.

Und wie hast du den Wert der Pullup-Widerstände berechnet?

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.