Forum: Mikrocontroller und Digitale Elektronik Interne Pullups vom STM32


von Artur (Gast)


Lesenswert?

Ich habe festgestellt, dass meine Schaltung auf dem MISO Pin vom SPI 
irgendwas einfängt und nicht richtig mit dem Chip kommuniziert (Halte 
ich den Finger drauf, beim Power-On des Boards, läuft alles Prima und 
danach auch). Ein externer Pullup von 10k auf der MISO Leitung hat das 
Problem gelöst. Dabei habe MISO als AF_PP initialisiert und messe da 
meine 3.3V

Würde für die Zukunft gerne lernen, ob man allgemein immer die externen 
Pull-Ups lieber einsetzen sollte. Oder ist das jetzt ein 
Hardwarespezifisches Problem? Die Leitung geht noch zu einem Connector 
ab, an dem z.Z kein weiterer SPI Baustein angeschlossen ist. Habe schon 
versucht vor der SPI Initialisierung als Low Out - open drain zu 
schalten und auch als Out mit pull up. Hilft irgendwie alles nicht und 
so eine Fädeldrahtlösung mit einem externen Pull-up ist nicht so schön 
:(

von 6A66 (Gast)


Lesenswert?

Hallo Artur,

die SPI ist bei hächsten Frequenzen sehr emfpindlich, da machen einige 
wenige pF schon was aus (haben wir selbst in unserer Schaltung 
nachvollzogen). Braucht an dem Pin m.W. keinen Pullup. Du wirst damit 
aber etwas am Timing verschoben haben so dass das stabil ist. Prüfe 
evtl. Dein Layout. Bei fliegenden Aufbauten Drähte und parasitäre 
Kapazitäten klein halten.

Ansonsten zu Pullup: Nur dort wo nötig, sind zusätzliche Lasten die 
Strom benötigen, wenn das möglich ist Interne verwenden (Bauteilanzahl).

Grüße

von Frank B. (f-baer)


Lesenswert?

6A66 schrieb:
> Ansonsten zu Pullup: Nur dort wo nötig, sind zusätzliche Lasten die
> Strom benötigen, wenn das möglich ist Interne verwenden (Bauteilanzahl).

Wenn das möglich ist, verwendet man externe, weil die definiert sind.
Ein typischer Wert für interne Pull-ups ist bspw. 30-100k. Wenn ich 
Strom sparen will, ist das viel zu klein, wenns halbwegs fix sein soll, 
zu groß.

Zu deinem eigentlichen Problem: MISO ist eine Push-Pull-Leitung. Da 
kommt kein Pull-up dran. Deswegen funktionierte dein erster Versuch auch 
nicht, du hast die Flanken mit dem internen Pull-up bis zur 
Unkenntlichkeit verschliffen. Der externe Pull-up ist viel kleiner, also 
tritt das Problem jetzt nicht mehr so stark zu Tage.
Mache dir bewusst, dass man mit Ziehwiderständen immer einen Tiefpass 
baut!

Und: An SPI kommen nie Ziehwiderstände (außer an die CS-Leitung um 
eine Vorzugslage zu definieren)!

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.