PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Freie Pins vom ATMEGA 8 in die Luft hängen?



Powell
23.02.2007, 22:39
Hallo Leutz,

eine kleine Einsteigerfrage: Was mache ich mit freien Pins vom ATMEGA8 wenn ich sie nicht nutze? Auf Masse legen oder "in die Luft hängen"? Was muss ich Softwaremäßig dann beachten? (Als Eingänge definieren?) Was mache ich mit den Pins AVcc und AGND wenn ich den Analogeingang nicht nutze? Habe mal gelesen dass sie irgendwie einen Port noch mit versorgen, aber kann mich nicht mehr genau erinnern...

Danke und Grüße

Paul

linux_80
23.02.2007, 23:31
Hallo,
AGnd und AVcc versorgen die Pins an denen auch die ADC-Eingänge sind, beim Mega8 PortC, diese müssen also auch angeschlossen werden wenn man den AD-Wandler nicht benutzt.

Die unbenutzten Pins kann man einfach offen lassen, auf Gnd legen ist ungünstig, denn wenn mal doch ein Pin auf Ausgang und auf High gestellt wird, entsteht ein Kurzschluss. Andersrum genauso.
Und auf Eingang lassen, so wie die auch gleich nach dem Reset sind, also muss man die unbenutzten Ports nicht anfassen, dann passt alles.

Ratber
24.02.2007, 00:47
Die unbenutzten Pins kann man einfach offen lassen,........

Naja nicht immer.

Wer den Analogteil und die interne Referenz nutzt sollte zb. den Aref mit einem kleinen Kondensator beglücken sonst schwimmt die interne Referenz leicht auf hoher see und die Messungen sind fürn Popo.

Ansonsten empfielt es sich dennoch nichtbenutzte Pins auf definiertes Potential zu legen.
Andernfalls kann man sich in einer nicht so ruhigen Umgebung wie den Basteltisch schnell mal störungen einfachen denn jeder offene Pin ist eine Antenne zum Chip.
Wenn genug Pegel erreicht ist dann gibts diese Merkwürdigen Störungen.
Wer auf niedrigen Standbystrom wert legt sollte natürlich die Internen Pullups dann Abschalten sonst schlägt jeder Pinn auf Masse mit rund 150µA (Bei 5V Versorgung) zu Buche
Wenn möglich unbenutzte Ports einfach abschalten (Sleep)



auf Gnd legen ist ungünstig, denn wenn mal doch ein Pin auf Ausgang und auf High gestellt wird, entsteht ein Kurzschluss. Andersrum genauso.

Das ist im Grunde unsinnig.
Wenn man keine Programmtechnischen Fehler gemacht hat dann passiert da auch nix.
Empfindsame Gemüter legen die Pinne einfach mit Widerständen auf Definiertes Potential. ;)



Wie auch immer.

solange man in einer ruhigen Umgebung Operiert kann man se offen lassen aber als Gerät sollte man sich genau überlegen was man tut.

Wie schnell ein Störung unangenehm auffallen kann hat sicher schon jeder mit Handy erlebt wenn Audiogeräte in der Nähe sind.
Man höhrt den Anruf schon bevor das Handy losplärrt.
Interessant dabei ist das auch Teure Geräte manchmal eine lausige Schirmung besitzen :D

SprinterSB
24.02.2007, 09:03
Nicht verwendete I/O-Ports stellt man auf IN und aktiviert den zugehörigen PullUp. Strom fliesst dann keiner (bis auf den Leckstrom der Ports, irgendwo im Bereich von pA). Ansonsten werden diese Pins nicht verdrahtet, also auch nicht nach GND was wie gesagt viel Strom ziehen würde.

Die Pins komplett offen zu lassen (high-Z, also IN ohne PullPu) ist nicht ratsam, weil die Eingangstreiber dann merklich Strom ziehen wenn das Signal floatet (Treiber ist dauernd am schalten). Das ist sehr ungünstig, wenn der µC schläft oder Idle ist etc. und sabotiert u.U. auch den ADC-noise-cancel.

Weitere Möglichkeit ist, die Ports auf OUT zu stellen und nicht zu verdrahten. Zieht auch kein Strom weil keine Last da ist.

Offen lassen (high-Z) und nach GND oder VCC verdrahten würde ich abraten. Bei Fehlfunktion ist das übel, also zB Softwarefehler oder unkontrolliertes Verhalten des µC wenn zum Beispiel keine BrownOut-Detection aktiviert ist. In den Sleep-Modes ist es nicht immer günstig/nötig den BOD zu aktivieren (zieht merklich Strom). Das Programm kann also wild umherhopsen und irgendwelche Instruktionen ausführen, zB auch Daten als Befehle interpretieren. Zudem gäbe das Anschliessen ungenutzter Ports an GND oder VCC mehr Leitungen und ein etwas komlpexeres Layout, was nicht nötig ist. Zudem kann man die Schaltung später besser patchen (Draht ziehen) wenn man den Port doch noch nutzbar machen will für etwas, das man erst nicht eingeplant hatte, und muss dazu nicht die GND/Vcc Verbingung aufrippen, was zudem nicht immer geht.

Ratber
24.02.2007, 09:53
Na dann schreib das zb. mal allen namhaften Automobilherstellern denn genauso wie ich es oben erklärt habe (Freie Pins Deaktiviert und nach Masse zur Verringerung der Störeinflüsse) machen sie es in jeder Schaltung und davon gibts Heute ja reichlich in jedem Modell.
Nichts was nicht irgendwie von einer "Schachtel" gesteuert und geregelt wird.
Und es funktioniert (bis auf die bekannten Fälle natürlich).

Sachen gibts ;) :lol::lol:

shaun
24.02.2007, 11:41
Dann scheint das aber eine ganz neue Erkenntnis zu sein, die die Hersteller da haben. Unbenutzte Controllerpins habe ich schon oft genug offen gesehen, nicht selten allerdings trotzdem mit definiertem low-Pegel beglückt - was nur darauf hindeuten kann, dass ebendiese als Ausgang und auf 0 gesetzt definiert wuden. Offen lassen ist aus den genannten Gründen (Schaltvorgänge durch Einstreuungen) natürlich nicht optimal.
Eine andere Geschichte sind wirklich schnelle Anwendungen, zB Highspeed-FPGAs. Dort bin ich auch schon über Pins gestolpert, die als Ausgang definiert, auf 0 geschaltet UND mit Masse verbunden waren.

Ratber
24.02.2007, 12:55
Dann scheint das aber eine ganz neue Erkenntnis zu sein, die die Hersteller da haben.

Wenn du die letzten 10-15 Jahre als neu bezeichenn möchtest dann hast du vieleicht recht.



Unbenutzte Controllerpins habe ich schon oft genug offen gesehen, nicht selten allerdings trotzdem mit definiertem low-Pegel beglückt

Naja,man sollte schon berücksichtigen das eben nicht jeder Hersteller gleich arbeitet.
Wenn man mal schaut was gewisse Hersteller auf den Markt werfen dann kommt man schnell zu dem Verdacht das es sich dabei mehr um Rumpelbuden handelt.
wir hatten auch mal ne Externe Lötbude die uns gewisse Arbeiten abgenommen hatte.
Angeblich Zertifizierter Betrieb.
Naja,was die da zu oft abgeliefert haben sah mehr nach Studentenwerk 1. Semester aus :lol:




Wie gesagt,das Argument von SprinterSB "Es könnte ja mal ne Fehlschaltung geben" akzeptiere ich nicht.
Und das aus dem Grund das die selben "Fehlschaltungen" (Also Fehlerhafte Soft bzw. externe Störungen) auch an jedem genutzen Pin auftreten können (Zb. Tastereingang) und da wäre das Ergebnis das gleiche.
Eine anfällige Schaltung aufgrund schlechter Soft oder mangelnder Schirmung ist indiskutabel.
Dafür testet man ja hoffentlich die eigenen Produkte ;)

ogni42
24.02.2007, 14:05
Im Massenmarkt ist es sicherlich erheblich preiswerter, unbenutzte Pins auf IN mit aktiviertem Pullup zu schalten. Man spart sich die externen Widerstandsarrays, die Platinenfläche, Leiterbahnen, etc.

Den Vorteil von externen Widerständen im Vergleich zu den internen Pullups sehe ich nicht, lerne aber gerne noch was hinzu.

shaun
24.02.2007, 14:08
Ich meinte eher die letzten 5 Jahre, und in denen dann die Bereiche Industrieelektronik, Weisse Ware, Kfz-Komfortelektronik, Meldeanlagen usw.
Zumindest bei Markteinführung sollte ein unentdeckter Programmierfehler allerdings nicht mehr als Argument für schwanzwedelnde ungenutzte Portpins herhalten, da ist wohl nichts hinzuzufügen.

Was das Löten von Erstis angeht: Du solltest Deine Ansichten mal auf die Probe stellen, wenn ich mich bei uns an der Uni im Labor so umsehe, trifft Deine Beschreibung durch die Reihe bis zu den meisten Diplomanden zu. Die, die es nicht vor dem Studium schon konnten, werden es dort sicher nicht lernen.

Ratber
24.02.2007, 14:48
@Ogni42


Im Massenmarkt ist es sicherlich erheblich preiswerter, unbenutzte Pins auf IN mit aktiviertem Pullup zu schalten.

Andersrum ist häufiger weil Masse zusätzliche Schirmt (Man nimmt ja jedes Gramm mit *g* )
Pin auf Masse und möglichst abgeschaltet.
Ruhestrom ist im Automotiven Bereich sehr wichtig.



Den Vorteil von externen Widerständen im Vergleich zu den internen Pullups sehe ich nicht, lerne aber gerne noch was hinzu.

Das ist einfach.
Der Interne Pullup beträgt >=30k
Damit ist die benötigte Energie für eine Störung kleiner als wenn man mit 10k oder weniger arbeitet.
Am besten ist direkt auf Masse also 0 Ohm.

Einfaches Experiment für Zuhause:

Eine Einfache Controllerschaltung.
Wir nehmen zwei interruptfähige Ports
Ein Portpin wird über eine 10cm lange Leitung an einen Taster angeschlossen.
Der interne Pullup ist ausgeschaltet.
Statdessen wird mit einem Externen Widerstand gearbeitet.
Ein anderer Portpin wird wie ein unbenutzter Pin behandelt und wieder mit externem Widerstand abgeschlossen bzw. offen gelassen.
Die Software reagiert auf Int. und zeigt Pinchange an (LED/LCD/7Segment)
Nun versuchen wir die Schaltung nach herzenslust zu stören.
Handy,Impulse auf der Versorgung (Las nen Relais klackern) usw.
Wenn man es dann mal geschafft hat zuverlässig was zu bewirken,kann man anfangen mit unterschiedlichen Widerständen arbeiten um zu sehen ab wann das Signal sicherer wird.

Ist sehr interessant was ene Schaltun so alles macht.


Wie gesagt,solange die Schaltung in einer gemässigten Umgebung läuft (Zb. Basteltisch) ist das alles nicht so dramatisch.
Beim Entwickeln lasse ich auch alle unbenutzten offen.
Erst wenn der Prototyp einwandfrei läuft wird auf Störfestigkeit gearbeitet (Platine und Gehäuse)
Das schließt auch die Verbindungen zur Aussenwelt mit ein.




@Shaun



Ich meinte eher die letzten 5 Jahre, und in denen dann die Bereiche Industrieelektronik, Weisse Ware, Kfz-Komfortelektronik, Meldeanlagen usw.

Also die Gebiete sollte man schon etwas nach sensivität trennen.

Industrie und KFZ sind sicher in Punkto Störunanfälligkeit höher anzusetzen als standard Meldeanlagen oder gar Haushaltsgeräte.




Was das Löten von Erstis angeht: Du solltest Deine Ansichten mal auf die Probe stellen, wenn ich mich bei uns an der Uni im Labor so umsehe, trifft Deine Beschreibung durch die Reihe bis zu den meisten Diplomanden zu. Die, die es nicht vor dem Studium schon konnten, werden es dort sicher nicht lernen.

Ja,das scheint an den Hochschulen leider ein allgemeiner Trend zu sein.
Um so unverständlicher für mich da diese Leute ja die Führungsriege von Morgen sind.

Ich kann mir nie das Grinsen verkneifen wenn mal wieder jemand ,der sonst nie in der Produktion zu sehen ist, irgendjemanden auf die ESD-Vorschriften anmosert weil der am Kittel den untersten Knopf nicht zu hatte und selber mit einem Stapel Papier im "Platikordner" und nem eingeschalteten Handy in der Hose rumrennt uuuund dann auch noch ungeniert zwischen den offenen Schaltungen Telefoniert.

Das ist ungefähr so wie jemanden wegen nem Feurrzeug in der Tasche anzumosern wärend man selber mit ner Brennnenden Zigarre im Maul im Gaslager steht.

Echt gruselig :D




Wie gesagt und ich betone das nochmal.

Soll jeder machen wie er gerne möchte.
Ich halt keinen ab.
Ich geb nur nen Tip.

ogni42
24.02.2007, 16:05
Danke für die Info Ratber.

SprinterSB
24.02.2007, 18:50
Na dann schreib das zb. mal allen namhaften Automobilherstellern denn genauso wie ich es oben erklärt habe (Freie Pins Deaktiviert und nach Masse zur Verringerung der Störeinflüsse) machen sie es in jeder Schaltung und davon gibts Heute ja reichlich in jedem Modell.
Nichts was nicht irgendwie von einer "Schachtel" gesteuert und geregelt wird.
Und es funktioniert (bis auf die bekannten Fälle natürlich).

Sachen gibts ;) :lol::lol:

Ich ging davon aus, daß der OP nicht im Sinn hatte eine Schachtel für ein Automobil zu entwickeln. AVR ist in dem Bereich recht esotherisch. Ein Auto wird zudem nicht an eine Lithium-Knopfzelle betrieben (kommt vielleicht auch noch ;-)).

Es gibt -- wie gesagt -- mehrere Lösungen zur Frage des OP. Je nach Umfeld wird sich für die eine oder andere Lösungen entscheiden. Jedefalls ist alles besser als ein offener, hochohmiger Eingang.

Es ist ein Unterschied, ob man einem Bastler was rät oder ein Steuergerät entwickelt, das dann millionenfach produziert und verwendet wird. Kein PKW/LKW/Airbus/Bahn-Besitzer wird hingehen und sich denken:

"Hoppla, an dem µC in der ominösen Steuereinheit ist noch ne Pinne frei, da zieh ich doch ne Strippe und motz meinen Airbus mit Case-Modding auf!" (kommt vielleicht auch noch).


Wie gesagt, das Argument von SprinterSB "Es könnte ja mal ne Fehlschaltung geben" akzeptiere ich nicht.
Und das aus dem Grund das die selben "Fehlschaltungen" (Also Fehlerhafte Soft bzw. externe Störungen) auch an jedem genutzen Pin auftreten können (Zb. Tastereingang) und da wäre das Ergebnis das gleiche.

Das kann nicht passieren. Ich aktiviere möglichst den BOD und verschalte Eingänge so, daß es nicht dramatisch ist, wenn die mal Ausgang sein wollen. Konkret: Ein Taster an einem PullUp zieht nie naggisch nach GND, sondern kultiviert mit einem Widerstand, zB 1kΩ.

Ihr dürft mich fortan also paranoid schimpfen ;-) Aber 100% Wasserdicht wird man es nie hinbekommen, klar.

In professionallen Anwendungen ist so was indiskutabel, weil man da schon Kündigungsdrohungen erhält, wenn man ein Bauteil verwendet, das ein Cent zu teuer ist... (OT: "Da sind doch noch Kondensatoren, warum verbauen Sie die nicht. *allgemeine Sprachlosigkeit*)

Ob das, was die Jungs in der Industrie treiben, das Maß der Dinge ist...? :-k

Seit ich hier und da mal ein Blick in die Innereien von einigen Geräten erhasche (was deren Software angeht, wenn die Hardware genauso robust ist: gute Nacht!), fahre ich *noch* mehr Fahrrad als zuvor und gehe *noch* mehr zu Fuß oder laufe eben.

Was die Einstreuungen angeht: Ratbers EMV-Experimente sind bestimmt ganz lehrreich, werd ich mich bei Zeit und Muße mal drantun.

Ratber
24.02.2007, 20:00
Es ist ein Unterschied, ob man einem Bastler was rät oder ein Steuergerät entwickelt, das dann millionenfach produziert und verwendet wird.

Nicht wirklich.

abgesehen davon das man im Automotiven Breich immer eine Spur Paranoider ist sollen ja die allermeisten Geräte auch im Alltag bestehen und da ist das schon gerechtfertigt mal über Entsörungen nachzudenken.

Ein 78xx Spannungsregler funktioniert im Hobbybereich meist ohne die 100nF aber allgemein hat man akzeptiert das es nötig ist.
Hier ist es meines Erachtens nur eine Frage der Akzeptanz so wie zb. SMD-Löterei keine Hexerei ist.



Ihr dürft mich fortan also paranoid schimpfen Zwinkern Aber 100% Wasserdicht wird man es nie hinbekommen, klar.


Da stimmen wir voll überein.
aber nicht benötigte Pinne auf definiertem Pegel zu ziehen ist eine sehr Preiswerte Methode und kostet fast keine Entwicklungszeit.



In professionallen Anwendungen ist so was indiskutabel, weil man da schon Kündigungsdrohungen erhält, wenn man ein Bauteil verwendet, das ein Cent zu teuer ist...

Nein ,die Preisfrage stellt sich überall.
Was gerade in diesem Bereich Tödlich ist ist Bauteile zu verwenden die nicht abgemacht sind.
Alleine bei uns gibt es auf jeder Schaltung etliche Bauteilpositionen die nur mit bestimmten Modellne bestimmter Hersteller besückt werden dürfen.
Da geht es um Garantierte Serienabweichungen ,Rauschen oder auch nur um die Chemische Zusammensetzung des Schutzlackes.
Besonders Schaltungen für Tropische oder Arktische Umgebunfgen sind davon betroffen.
Für den Bastler ist das alles mehr oder weniger unwichtig.



Ob das, was die Jungs in der Industrie treiben, das Maß der Dinge ist...?

Naja,Maß aller Dinge nicht gerade aber Schrittmacher.
Ich hantiere täglich mit Bauteilen nach denen sich manch ein Bastler die Finger lecken würde sofern er überhaupt von ihnen wissen würde.
Dazu gehöhren auch Schaltungstechniken und das Denken an Sachen die normalerweise nicht üblich sind.
Ich gebe zu,ich muß mich manchmal bremsen um es bei anderen nicht zu übertreiben aber das Schöne ist,man lernt in so einer Bude gut dazu auch wenn man es nicht sofort umsetzen kann.



Seit ich hier und da mal ein Blick in die Innereien von einigen Geräten erhasche..........

Ja,wie gesagt.
Auch im Schaltungsdesign gibt es wie überall alles von "Geil" über "Cool" bis "Oh Gott,wir werden alle sterben"
Das betrifft auch die Software.
Gerade dort gibt es manchmal Effekte das einem sich die Haare sträuben :lol:
(Das ist das interessante an einer Vorserie.



Ich ging davon aus, daß der OP nicht im Sinn hatte eine Schachtel für ein Automobil zu entwickeln. AVR ist in dem Bereich recht esotherisch.

Nicht unbedingt.
Was wenn ich dir verrate das in einigen gängigen Deutschen Modellen AVR's und PIC's ihren Dienst tun ?
Es spielt keine Rolle ob diese oder Motorola,ST oder sonst ein Hersteller.
Die Netzte in den Kfz werden immer sauberer aber die steigende Komplexität der Schaltungen bringt steigende Empfindlichkeiten.

Ein Steuermodul für eine Krafststoffpumpe ist nicht viel komplexer als eine komplette Stepperstufe mit Controller.
Was da meist so komplex aussieht ist die vielzahl an Schutzmaßnahmen die meist in Form von RC-Kombis und Induktivitäten stattfindet.
Da ist wirklich nicht viel Unterschied.




Ein Auto wird zudem nicht an eine Lithium-Knopfzelle betrieben (kommt vielleicht auch noch

Also Lithium steht derzeiut nicht auf der Wunschliste.
Der Grund ist die bekannt niedrige Lebensdauer.
Die Hersteller gehen da mehr in andere Richtungen.
Da werden wir mittlefristig noch was beim Bleiakku bleiben.

Erstmal steht die Renovierung des Boardnetzes an.
Höhere Spannungen,Kombinierte Lichtmaschinen/Anlasser (Alles in einem im Motorblock) und längerfristig durchgängigeer Softstart (Motor bleibt definiert stehen und kann über gezielte Einspritzung und Zündung ohne Anlasser gestartet werden.Gibts schon aber nur in wenigen Modellen)

Lass dich überraschen,die nächsten 10 Jahre kommen viele Quantensprünge.
Es hat ja schon etwas begonnen.



Edit:

Nochn Roman.
Irgendwie bekomm ich nie die Kurve. ](*,)