Forum: Mikrocontroller und Digitale Elektronik PIC Miktrokontroller Pull Up/Down unbenutze Pins


von Kai (Gast)


Lesenswert?

Hallo,
diese Seite rät einem dringend jeden nicht benutzte eingangs Pin meines 
PICs an einen Pull Down/Up anzuschließen.
http://www.piclist.com/techref/logic/xtrapins.htm
Nun könnte ich ja alle nicht benutze Pins einfach als Ausgang 
programmieren.
Aber die Seite rät einem auch bei Pins deren Modus(Eingang/Ausgang) 
programmierbar ist die an einen Pull Up/Down anzuschließen da während 
der Initialisierung schon Probleme auftreten könnten da der Eingang ja 
dort in einem undefinierten Zustand ist.
Dann müsste ich aber ja jeden Pin meines PIC18F46K80 an einen Pull 
Up/Down anschließen, da am Anfang ja alle Pins Eingänge sind und bis ich 
sie zum Aussgang programmiert habe um z.B. eine LED anzusteueren ja 
störungen auftreten könnten.
Was haltet ihr davon?
Sollte man alle Pins jeweils an einen Pull Up/Down anschließen?

von HildeK (Gast)


Lesenswert?

Bei ATMEL-Prozessoren mache ich das nicht.
Kritisch sind eigentlich nur Pins, die im Programm irgendwas steuern 
sollen, z.B. einen Motor o.ä., der dann unkontrolliert während der paar 
Mikrosekunden eingeschaltet werden könnte. Da verwende ich dann einen 
entsprechenden Pull, um solches zu verhindern.
Pins, die nichts bewirken können, brauchen nicht beschaltet zu werden, 
wenn du sie im Programm dann mit einem Pull versiehst oder als Ausgang 
schaltest. Wie gesagt, das ist ja in ein paar Mikrosekunden nach der 
Resetfreigabe erledigt.
Wenn du allerdings mit RESET den Kontroller für längere Zeit lahmlegst, 
dann ist es sinnvoll, die unbenutzen Pins mit Pulls zu versehen, dass 
sie nicht floaten und so einen höheren Verbrauchsstrom verursachen.

von Kai (Gast)


Lesenswert?

Ok an sich würde ich auch so denken, aber warum steht dann auf der Seite 
das es gefählich ist 'unbenutze' Pins nicht an Pull Up/Down Widerstand 
anzuschließen?
Ich meine der Autor wird das doch nicht einfach so erfunden haben?

von Kai (Gast)


Lesenswert?

Mh,
habe gerade nochmal die Doc von dem Pic durchsucht und das gefunden.
Demnach scheint es zu reichen die unbenutzen Pins einfach als Outputs zu 
konfigurieren.
1
2.7 Unused I/Os
2
Unused I/O pins should be configured as outputs and
3
driven to a logic low state. Alternatively, connect a 1kΩ to 10kΩ resistor to VSS on unused pins and drive the output to logic low.

von HildeK (Gast)


Lesenswert?

Naja, er gibt ja viele Gründe an:
- falls der Pin beschaltet werden soll, dann über R und nicht direkt an 
GND oder VCC. Im Falle des ICT, einer falschen Programmierung oder für 
den Fall, dass händisch nachgearbeitet werden muss. Das ist so natürlich 
richtig. Wenn der SWerker auf die Art aber mal einen Chip kaputt macht, 
dann haut man ihm auf die Finger :-)

- normale CMOS-Bausteine müssen natürlich an allen Eingangspins eine 
Beschaltung haben. Festes Klemmen auf z.B. GND ist m.E. kein Problem, 
man kann dann nur nicht den Eingang nachträglich leicht durch 
Handverdrahtung nutzbar machen. Ein durchentwickeltes Design braucht das 
nicht unbedingt, außer man will z.B. der Fertigung die Möglichkeit 
geben, mit dem ICT gewisse Tests zu fahren.

- wenn man keine interne Pulls schalten kann, der Pin aber trotzdem ein 
IO ist und man nicht sicherstellen kann, dass er in der Resetphase nicht 
doch zum Output wird, dann ist der Pull die richtige Wahl.

Wie so oft: man muss das an Hand des Chips, des Einsatzes und der 
sonstigen Randbedingungen (Fertigungstests) individuell entscheiden.
Du hattest nach dem PIC gefragt. Ich habe noch mit keinem gearbeitet, 
gehe aber davon aus, dass er sich genauso verhält wie die vielen anderen 
Prozessoren auch. Pins sind konfigurierbar als In oder Out, man kann 
Pulls dazuschalten usw. - das reicht vollkommen aus. Für einzelne, 
dedicated Pins kann was anderes gelten.
Den Begriff 'gefährlich' würde ich nicht verwenden ...

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.