Forum: Mikrocontroller und Digitale Elektronik stm32 offene Eingänge


von Martin B. (ratazong)


Lesenswert?

Hallo zusammen,


bei meinen stm32 designs brauche ich in der Regel nicht alle PINs des 
controllers, daher lasse ich sie einfach unbeschaltet.

Soll man eigentlich nicht, da sie per reset als Input geschaltet sind. 
Also eigentlich pullup oder pulldown dran.
Es gibt jetzt verschiedene Möglichkeiten die unbeschalteten Inputs zu 
konfigurieren, damit sie nicht floaten.

1) Ich kann einen internen pullup/pulldown Widerstand konfigurieren.
2) Pin als output konfigurieren.
3) Pin als analog input konfigurieren ?

Bei der dritten Möglichkeit bin ich hat unsicher, ob das ausreicht. STM 
empfiehlt die Konfiguration als analog input wegen des Stromspareffekts. 
Aber darf der dann floaten? (also unbeschaltet lassen)

Bei dem STM cube MX gibt es die Einstellung "alle unbenutzten pins als 
analog input" zu definieren. Daher frage ich, denn die haben sich 
eventuell dazu etwas gedacht.

Wie macht ihr das? Vielleicht hat ja einer in den Datenblättern einen 
Hinweis gesehen.

Grüße

von Uwe Bonnes (Gast)


Lesenswert?

Ja, "analog" darf floaten. Genauso darfst Du eine mit "pull" 
beschalteten Eingang floaten lassen.

von Stefan F. (Gast)


Lesenswert?

Der Punkt ist, dass ein digitaler Eingang mit einem Pegel in der 
"verbotenen" Zone mehr Strom aufnimmt, als ein analoger Pin oder ein 
digitaler mit gültigen Pegeln.

Davon geht aber nichts kaputt. Wirklich relevant wird der Unterschied 
nur, wenn du Strom sparen willst.

Früher (TM) gab es angeblich Chips, die durch ungültige Pegel an 
ungenutzten Eingängen lahm gelegt werden konnten. Das muss aber vor 
meiner Zeit gewesen sein. Ich habe den Effekt noch nie in freier 
Wildbahn gesehen.

von S. R. (svenska)


Lesenswert?

Stefanus F. schrieb:
> Der Punkt ist, dass ein digitaler Eingang mit einem Pegel in der
> "verbotenen" Zone mehr Strom aufnimmt, als ein analoger Pin oder ein
> digitaler mit gültigen Pegeln.

Und das kann dazu führen, dass die Versorgungspins überlastet werden 
oder der Chip überhitzt. Daher ist das nicht gut.

Martin B. schrieb:
> 1) Ich kann einen internen pullup/pulldown Widerstand konfigurieren.

Das ist die aus meiner Sicht beste Variante.

> 2) Pin als output konfigurieren.

Das kann schiefgehen, wenn du versehentlich doch etwas angeschlossen 
hast (z.B. in der nächsten Board-Revision) und dann einen Kurzschluss 
produzierst. Macht man nicht.

> 3) Pin als analog input konfigurieren ?

Kann ich nicht einschätzen. Ich kann mir nicht vorstellen, dass jeder 
Pin das kann.

von Martin B. (ratazong)


Lesenswert?

>> 3) Pin als analog input konfigurieren ?
>
> Kann ich nicht einschätzen. Ich kann mir nicht vorstellen, dass jeder
> Pin das kann.

Bei stm32f411 kann es jedenfalls jeder pin. Man kann halt nur nicht 
jeden Pin an den ADC anschließen.

Mir geht es um Stromsparen und erhalte von STM etliche Ratschläge.

Wenn ich die clock für einen Port nicht enable, dann spar ich Strom.
Dann kann ich aber den Port auch nicht initialisieren und der steht auf 
Reset Value input digital.

Wenn ich auf analog in konfiguriere spare ich Strom, muss aber die clock 
enablen, was zu erhöhtem Stromverbrauch führt.

Ich werde aus STM nicht wirklich schlau oder finde das in den docs 
nicht. Habe nirgends gefunden, dass man unbeschaltete Eingänge 
terminieren muss. Die Eingänge (bis auf auf XTAL pins) sind als Schmitt 
Trigger ausgeführt, vielleicht haben die das Stromverbrauchs-Problem der 
"verbotenen Zone" nicht.

Bisher setze ich einfach pulldowns, um sicher zu gehen.

Danke noch mal an alle.

von Gerd E. (robberknight)


Lesenswert?

Martin B. schrieb:
> Bei stm32f411
[...]
> Mir geht es um Stromsparen

Dann schau Dir auch mal die STM32L4- und STM32L4+-Serien an. Die haben 
noch deutlich mehr Optionen was das Stromsparen angeht und sind auch 
generell sparsamer konstruiert.

von Lutz (Gast)


Lesenswert?

Martin B. schrieb:
> Wenn ich die clock für einen Port nicht enable, dann spar ich Strom.
> Dann kann ich aber den Port auch nicht initialisieren und der steht auf
> Reset Value input digital.
>
> Wenn ich auf analog in konfiguriere spare ich Strom, muss aber die clock
> enablen, was zu erhöhtem Stromverbrauch führt.

An welcher Stelle im Manual steht denn, daß man den clock nach dem 
Konfigurieren nicht wieder abschalten darf?

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.