Forum: Mikrocontroller und Digitale Elektronik Atmega32 - pin configuration


von µC (Gast)


Lesenswert?

Hallo.

Benutze den ATMEGA32. Hab zwei Fragen:

1)
Wie configuriert man pins, die nicht verwendet werden? Beim MSP430 setzt 
man
sie auf output und low level. In der Doku des ATMEGA ist scheinbar 
input+pullup resistor angegeben, wenn ichs richtig versteh.  Output+low 
level klingt für mich plausibler. Hätte jemand kurz ne Erklärung für?

2)
Die controller pins haben I/O Funktionalität und meistens auch noch 
zusätzliche Funktionen. Wie wechselt man nun zwischen den 
unterschiedlichen Modi?


Viele Grüße und Danke!

von Horstl (Gast)


Lesenswert?

µC schrieb:
> 1)
> Wie configuriert man pins, die nicht verwendet werden? Beim MSP430 setzt
> man
> sie auf output und low level. In der Doku des ATMEGA ist scheinbar
> input+pullup resistor angegeben, wenn ichs richtig versteh.  Output+low
> level klingt für mich plausibler. Hätte jemand kurz ne Erklärung für?

Geschmackssache. Bei Output kann der Pin Treiber leichter kaputt gehen 
(bei irgendwelchen unabsichtlichen Schlüssen) Input und Pullup = 
definierter Pegel und hohe Eingangsimpedanz.

> 2)
> Die controller pins haben I/O Funktionalität und meistens auch noch
> zusätzliche Funktionen. Wie wechselt man nun zwischen den
> unterschiedlichen Modi?

Unterschiedlich. Steht im Datenblatt. zB durch Nutzung der alternativen 
Funktion wie Einschalten des ADC oder Setzen bestimmter Bits in 
bestimmten Registern.

von Kaj (Gast)


Lesenswert?

>>In der Doku des ATMEGA ist scheinbar
>>input+pullup resistor angegeben, wenn ichs richtig versteh.

ja, richtung=input, pinvalue=high
machs doch einfach so, wie es in dem Datenblatt steht. -.-*
So hast du einen "Tri-State" ähnlichen zustand und nicht einfach 
irgendwelche pins die ein LOW-Pegel auf die Leitung werfen!

2. schau ins datenblatt, als beispiel ins Kapitel U(S)ART...
Wenn du das Ding aktivierst werden deine vorherigen Einstellungen des 
Ports überschrieben. Ebenso bei anderen Funktionalitäten wie ADC, SPI 
etc...

Grüße

von µC (Gast)


Lesenswert?

hmmm ok.  Danke.


Kaj schrieb:
> machs doch einfach so, wie es in dem Datenblatt steht. -.-*
Was ist falsch daran, wenn ichs nicht nur kopieren, sondern auch 
verstehen will? ;)

von Karl H. (kbuchegg)


Lesenswert?

µC schrieb:
> hmmm ok.  Danke.
>
>
> Kaj schrieb:
>> machs doch einfach so, wie es in dem Datenblatt steht. -.-*
> Was ist falsch daran, wenn ichs nicht nur kopieren, sondern auch
> verstehen will? ;)

Na ja.
Einfach mal ein wenig nachdenken.

Was ist der wesentliche Unterschied zwischen einem Eingang und einem 
Ausgang?

Ein Ausgang zwingt einem Pin aktiv einen Pegel auf.

Das ist schön. Aber wenn je der Fall eintritt, dass sich dieser Pegel, 
den der Ausgangstreiber erzeugt, mit dem beißt, der irgendwie anders 
extern auf den Pin kommt, dann arbeiten 2 Systeme gegeneinaner. Dein 
PC_Netzteil (beispielsweise) will die Leitung auf +5V ziehen - der 
Ausgangstreiber vom µC will sie auf 0V ziehen. Ein ungleicher Kampf, den 
der µC nur verlieren kann, was seinem Ausgangstreiber nicht bekommen 
wird sofern er nicht kurzschlussfest ist.

Auf der anderen Seite erzwingt ein Eingangspin erst mal überhaupt nichts 
auf der Leitung. Der horcht nur, ob sich was an der Leitung tut. Da kann 
das PC-Netzteil +5V anlegen oder 0V, das lässt einen Eingangspin kalt. 
Und damit ein Eingangspin nicht einfach in der Luft hängt, wenn dann 
doch nichts angeschlossen ist, schaltet man dann eben noch einen Pullup 
dazu, damit sich da nicht irgendwelche EM-Felder am Pin austoben und ihn 
wie wild hin und her toggeln.

D.h. wenn du dich fragst: Was mache ich mit einem Pin, so dass er einen 
definierten Pegel hat, auf der anderen Seite aber auch nicht beschädigt 
wird, falls sich mal ein Draht auf den Pin verirrt, dann wird Ausgang 
nicht so prickelnd sein. Ist letzteres ausgeschlossen, dann kann man 
natürlich auch Ausgang nehmen.

Your choice.

von Kaj (Gast)


Lesenswert?

µC schrieb:

>>Was ist falsch daran, wenn ichs nicht nur kopieren, sondern auch
>>verstehen will? ;)

gar nichts. Meine antwort sollte nicht so pampig rüberkommen, sorry. :)
Aber schön zu wissen das es doch noch Menschen gibt, die das Verstehen 
wollen, was sie da machen. :)

von µC (Gast)


Lesenswert?

Danke für diese Erklärung :)
Ist soweit verständlich.

Bleibt von meiner Seite nur noch eine Frage.
Wieso wird dann beim MSP430 folgendes empfohlen:

8.2.8   Configuring Unused Port Pins
Unused I/O pins should be configured as I/O function, output direction, 
and left unconnected on the PC board, to prevent a floating input and 
reduce power consumption. The value of the PxOUT bit is irrelevant, 
since the pin is unconnected. Alternatively, the integrated 
pullup/pulldown resistor can be enabled by setting the PxREN bit of the 
unused pin to prevent the floating input. See the System Resets, 
Interrupts, and Operating Modes chapter for termination of unused pins.


Hier würde ja auch Gefahr bestehen, dass irgendwas ungewollt mim pin 
verbunden wird.

Schöne Grüße :)

von Karl H. (kbuchegg)


Lesenswert?

µC schrieb:

> Hier würde ja auch Gefahr bestehen, dass irgendwas ungewollt mim pin
> verbunden wird.

Das kommt drauf an.

Wenn der MSP in einem Satelliten verbaut ist, der auf dem Weg zum Pluto 
ist, dann ist es wohl eher ausgeschlossen, dass da mal irrtümlich ein 
auf Ausgang geschalteter Pin mit +5V verbunden wird :-) So fies sind 
auch die Aliens nicht.


Denn: natürlich braucht ein Eingang+Pullup durch den Pullup ein wenig 
Strom! Wenn du definitiv ausschliessen kannst, dass dem Pin in ferner 
Zukunft was passiert, weil zb die Schaltung in ein Gehäuse eingebaut 
wird, dann nimm deinen Ausgang. Arbeitest du aber an der SChaltung, dann 
würde ich eher damit rechnen, dass dir auch mal unabsichtlich was 
passiert.

TI geht davon aus, dass die Leute wissen was sie tun.


Auf Deutsch: Ein Kochrezept zu haben, nach dem man vorgeht ist zwar gut 
und schön. Aber im Einzelfall sollte man lieber auch mal überlegen, was 
man da eigentlich tut und was alles passieren kann. Denn die Welt ist 
nicht perfekt und wir alle machen (dumme) Fehler. Derjenige, der sich 
dessen bewusst ist und auch mal für den Fall vorsorgt, dass er selber 
einen dummen Fehler macht, fährt auf lange Sicht besser. Oder warum 
nehmen Bergsteiger ein Seil mit in die Wand? Sicher nicht deswegen, weil 
sie perfekte Kletterer sind.

von Kaj (Gast)


Lesenswert?

Anderer Hersteller, andere Ansichten :)
Der Eine macht es so, der Andere so. Ich würde nicht versuchen, da 
irgend eine allgemeinen Ansatz zu finden, sonden es immer so machen, wie 
es in den Datenblättern des Herstellers steht. Der wird sich da schon 
was bei gedacht haben. (hoffe ich zumindestens ;) )

Grüße

von µC (Gast)


Lesenswert?

Oki ^^

Ich versuche mal ein Fazit zu formulieren:

Maximale Sicherheit erhält man mit einem Eingang+Pullup Res.
Minimalen Stromverbrauch gibts mit einem Ausgang+low level.

Bist du am rumexperimentieren, dann wähle maximale Sicherheit.
Ist deine Schaltung verbaut und geschützt, so wähle minimalen 
Stromverbrauch.



Stimmt ihr damit soweit überein? :)

von Dietrich L. (dietrichl)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Denn: natürlich braucht ein Eingang+Pullup durch den Pullup ein wenig
> Strom!

Das sehe ich nicht so. Da fließen nur die Restströme der Eingänge und 
der (abgeschalteten) Ausgangstreiber. Und das ist genauso wie bei einem 
offenen Ausgang,

vermutet Dietrich

von µC (Gast)


Lesenswert?

Weiß jemand was genaueres zu diesem Thema oder wo man was nachlesen 
könnt? ^^

von Horstl (Gast)


Lesenswert?

µC schrieb:
> Weiß jemand was genaueres zu diesem Thema oder wo man was nachlesen
> könnt? ^^

Ich finde, daß die wichtigen Auswahlkriterien hier genannt worden sind. 
Du mußt entscheiden. Weitere Meinungen werden vermutlich auch immer 
beide Seiten beleuchten.

von Spess53 (Gast)


Lesenswert?

Hi

>Weiß jemand was genaueres zu diesem Thema oder wo man was nachlesen
>könnt? ^^

Ist doch hier schon bis zum Abwinken diskutiert worden:

Beitrag "Überzählige Pins"

Beitrag "Pull-Up für ungenutzte µC-Pins"

Beitrag "Beschaltung nicht verwendeter Pins"

Beitrag "Nicht benötigte Ports beim µC wie verschalten?"

MfG Spess

von Spess53 (Gast)


Lesenswert?


von µC (Gast)


Lesenswert?

Oo  uff.... ^^  Hätte nicht gedacht, dass soviele Beiträge bereits 
vorhanden sind. Ich gebs zu, hab nicht allzu lang nach denen gesucht 
gehabt. ;)
Danke Spess53!


Habe jetzt aus Zeitmangel nur 2-3 Beiträge vollständig durchgelesen.
Ist soweit alles klar und verständlich. Aber eine klitzekleine Frage ist 
bei mir noch offen:

Was verbraucht mehr Strom:  input+pullup  oder output+low level?

Meine Meinung:
Output+low level verbraucht 0mA  und input+pullup vll ~6µA...

Würdet ihr dem beistimmen?

von Kaj (Gast)


Lesenswert?

definiere: "Strom verbauch"

~6µA sind für mich kein Stromfluss, das spürt man ja gar nicht ;)
da solltest du lieber drüber nachdenken das Leuchtmittel aus deinem 
Kühlschrank zu entfernen :D

und da der µC ja sowieso Arbeitet, kann man die 6µA auch sorgenfrei 
vernachlässigen. Wenn da Last am µC hängt, und der jetzt 30,000mA oder 
30,006mA bringen muss...  ;)

Grüße

von Hui (Gast)


Lesenswert?

Ultra-Low-Power, da ist man mittlerweile bei µA Zählerei angekommen.
aus dem ATMEGA644A:
Power Consumption at 1MHz, 1.8V, 25°C
– Active: 0.4mA
– Power-down Mode: 0.1µA
– Power-save Mode: 0.6µA (Including 32kHz RTC)

Woher auch immer die 6µA kommen, sie würden im Powersave-Mode das 
10fache des eigendlichen Stromverbrauchs ausmachen.

Also eine Anwendung die nicht mehr 100 Tage sondern nur noch 9 Tage 
hält. Vorausgesetzt der Rest braucht gar keinen Strom ;)

von Spess53 (Gast)


Lesenswert?

Hi

>Oo  uff.... ^^  Hätte nicht gedacht, dass soviele Beiträge bereits
>vorhanden sind. Ich gebs zu, hab nicht allzu lang nach denen gesucht
>gehabt. ;)

das ist auch nur ein kleiner Teil.

>definiere: "Strom verbauch"

Genau das ist die Frage. Außer bei batteriebetriebenen Geräten ist der 
Mehrverbrauch durch die Pins irrelevant. Auch offene Eingänge führen, 
korrekte Software vorausgesetzt, nicht zu Fehlfunktionen.

MfG Spess

von µC (Gast)


Lesenswert?

Wie es der Zufall will, habe ich tatsächlich ein batteriebetriebenes 
Gerät vor mir. ^^

Falls also diese Rechnung korrekt ist:
Output+low level verbraucht 0mA  und input+pullup vll ~6µA...

würde ich mich für output+low level entscheiden :)

von Hui (Gast)


Lesenswert?

Spess53 schrieb:
> Außer bei batteriebetriebenen Geräten ist der
> Mehrverbrauch durch die Pins irrelevant.

Oder bei Consumergeräten müssen noch irgendwie irgendwo ein paar µW für 
ein bestimmtes Energielabel rausgeholt werden

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.