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?
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.
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?
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. |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.