Einige Infos findet man im Datenblatt (Atmega328P, DS40002061A / 2018).
- Kapitel 11.2 Reset Sources: Schaltschema mit eingezeichnetem Pullup-Widerstand
- Kapitel 25.3 Physical Interface: Hier heißt es, dass für debugWIRE der Pullup an RESET nicht kleiner als 10 K sein darf. Außerdem steht da, dass kein Pullup notwendig ist und dass ein direkter Anschluss an Vcc nicht funktioniert. Daraus muss man schließen, dass es einen internen Pullup > 10 K gibt.
- Kapitel 30.2 DC Characteristics: Tabelle, Rrst = 30-60 KOhm.
Die erste Antwort bezieht sich auf das Kapitel 14.2, in dem es um IO-Pins geht. Dort heißt es in 14.3.2: When the RSTDISBL Fuse is programmed, this pin functions as a normal I/O pin, and the part will have to rely on Power-on Reset and Brown-out Reset as its reset sources. When the RSTDISBL Fuse is unprogrammed, the reset circuitry is connected to the pin, and the pin can not be used as an I/O pin.
Der Pin wird also je nach Verwengung (Fuse) zwischen den Schlatkreisen für Reset und I/O umgelegt. Wenn der Pin als Reset geschaltet ist, gilt die im gleichen Kapitel weiter vornegetroffene Empfehlung für unconnected Pins offenbar nicht. Die Pegel von I/O und Reset-Funktion würden sich ja sonst auch gegenseitig in die Quere kommen. Zumal die programmierbaren internen Pullups mit 20-50 KOhm in ähnlicher Größenordnung liegen wie der Pullup des Reset.
Nichtsdestotrotz sollte man dann wohl auch die Application-Note beherzigen und in störanfälligen Umgebungen mit einem externen Pullup nachhelfen. (Deshalb ist wohl praktisch auch auf allen Boards und in allen Beschaltungsamleitungen der Pullap drin - sicher ist sicher.) Grundsätzlich ist der Pulluip aber nicht zwingend notwendig.
Lesezeichen