Forum: Mikrocontroller und Digitale Elektronik unbenutzte Eingänge interner Pullup oder als Ausgang


von Sven (Gast)


Lesenswert?

Hallo,

ich verwende einen Atmega8 im KFZ.
Ich frage mich, ob ich die unbenutzten Eingänge mit den internen Pullups 
hochziehen soll oder als Ausgang (low) beschalten.

Ich habe mal gelesen, dass es mit den internen Pullups dazu kommen kann, 
dass man sich Störsignale einfängt.

Was empfehlen die Experten?

Danke.

von Ingo (Gast)


Lesenswert?

Unbenutzte Eingänge auf Ausgang stellen...

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe mal gelesen, dass es mit den internen Pullups dazu kommen kann,
>dass man sich Störsignale einfängt.

Was für Störsignale?

Datenblatt des ATMega8:

Unconnected pins

If some pins are unused, it is recommended to ensure that these pins 
have a defined level. Even
though most of the digital inputs are disabled in the deep sleep modes 
as described above, floating
inputs should be avoided to reduce current consumption in all other 
modes where the digital
inputs are enabled (Reset, Active mode and Idle mode).
The simplest method to ensure a defined level of an unused pin, is to 
enable the internal pull-up.
In this case, the pull-up will be disabled during reset. If low power 
consumption during reset is
important, it is recommended to use an external pull-up or pull-down. 
Connecting unused pins
directly to VCC or GND is not recommended, since this may cause 
excessive currents if the pin is
accidentally configured as an output.

MfG Spess

von Sven (Gast)


Lesenswert?

spess53 schrieb:
> Was für Störsignale?

Beispielsweise von Zündkabel oder nicht entstörten Zündkerzen...

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Bei solchen Störungen würde ich noch eine extra Supressordiode an die 
5V/GND rein bauen, z.B. MSP5.0A.

von spess53 (Gast)


Lesenswert?

Hi

>Beispielsweise von Zündkabel oder nicht entstörten Zündkerzen...

Im Auto ist der kritische Punkt die Stromversorgung.

Ich habe in über 15 Jahren mit AVRs nicht geschafft die durch offene 
Eingänge außer Tritt zu bringen. Selbst ein paar Zentimeter von einer 
5kW PWM-Vollbrücke entfernt, laufen die problemlos. Du kannst das nicht 
mit den Eingängen von Logikgattern vergleichen.

MfG Spess

von Peter D. (peda)


Lesenswert?

Sven schrieb:
> Ich habe mal gelesen, dass es mit den internen Pullups dazu kommen kann,
> dass man sich Störsignale einfängt.

Wenn die Störungen so extrem sind, daß sogar ein Pad als Antenne 
ausreicht und den MC außer Tritt bringt, dann ist eh alles zu spät.

Es soll aber Programmierer geben, die unbenutzte Pins nicht 
ausmaskieren, dann könnte ein Leiterzug in der Nähe übersprechen und 
unerwartete Pegel einlesen lassen.

von Axel S. (a-za-z0-9)


Lesenswert?

Sven schrieb:

> ich verwende einen Atmega8 im KFZ.
> Ich frage mich, ob ich die unbenutzten Eingänge mit den internen Pullups
> hochziehen soll oder als Ausgang (low) beschalten.

Das ist in erster Linie egal.

Ich bevorzuge es, unbenutzte Pins als Eingang zu schalten und den 
Pullup zu aktivieren. Denn dann haben die Pins einen definierten Zustand 
(floaten also nicht wild in der Gegend herum). Und wenn man sie doch aus 
Versehen auf GND oder Vcc legt (Zinnbrücke etc) passiert auch nichts 
dramatisches.

Wenn man einen Pin hingegen als Ausgang schaltet und dann versehentlich 
mit dem falschen Pegel verbindet ...

> Ich habe mal gelesen, dass es mit den internen Pullups dazu kommen kann,
> dass man sich Störsignale einfängt.

Und? Was interessieren dich Störsignale an Pins, die du nie abfragst? Es 
versteht sich natürlich von selbst, daß Hardwarefunktionen auf solchen 
Pins (z.B. Interrupts) abgeschaltet sind. Und bei Pins bei denen das 
nicht geht (z.B. Reset) muß natürlich die externe Beschaltung für 
Sicherheit sorgen.


Ingo schrieb:
> Unbenutzte Eingänge auf Ausgang stellen...

Mit der Begründung, weil ... ?


XL

von Frank K. (fchk)


Lesenswert?

Ich habe das mal ausprobiert und die Stromaufnahme des Controllers bei 
input&Pullup und bei out 0 gemessen. Bei output 0 war die Stromaufnahme 
messbar niedriger, also habe ich das gewählt. Das war allerdings nicht 
AVR, sondern MSP430.

Mach einfach mal bei AVR das gleiche Experiment.

fchk

von Ingo (Gast)


Lesenswert?

Axel Schwenke schrieb:
> Mit der Begründung, weil ... ?
... es keine offenen Ausgänge gibt ;)

von Micha H. (mlh) Benutzerseite


Lesenswert?

Sven schrieb:

> ich verwende einen Atmega8 im KFZ.

Dito.

> Ich frage mich, ob ich die unbenutzten Eingänge mit den internen Pullups
> hochziehen soll oder als Ausgang (low) beschalten.

Weder noch. Alle unbenutzten Pins bei mir sind Eingänge, so wie es der 
Hersteller ausliefert. Macht keine Probleme.

Gruß,
Micha

von Peter D. (peda)


Lesenswert?

Frank K. schrieb:
> Mach einfach mal bei AVR das gleiche Experiment.

ATtiny84 an 5V mit 11 IOs als:
Eingang mit Pullup: 150nA
Ausgang low: 150nA
Ausgang high: 150nA

von Axel S. (a-za-z0-9)


Lesenswert?

Peter Dannegger schrieb:
> Frank K. schrieb:
>> Mach einfach mal bei AVR das gleiche Experiment.
>
> ATtiny84 an 5V mit 11 IOs als:
> Eingang mit Pullup: 150nA
> Ausgang low: 150nA
> Ausgang high: 150nA

Wie nicht anders zu erwarten. Wenn ein µC mit auf Eingang+Pullup 
konfiguriertem Pin mehr Strom aufnimmt als mit auf Ausgang 
konfiguriertem Pin, dann stimmt was nicht. Vielleicht zieht ja etwas den 
Pin extern auf L und man mißt in Wirklichkeit den Strom durch den 
Pullup.

Die Zahlen zeigen auch sehr schön, daß sich AVRs nicht vor MSP430 oder 
den "nanowatt" PICs verstecken müssen.


XL

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.