PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : at90can128 PORTX=1 um spannungsspitzen zu vermeiden



b0b
27.08.2007, 01:09
wenn man beim at90can128 einen port über das ddr register als eingang schaltet ist doch der pull up widerstand auf high, also portxn=1 oder?

eine begründung ist doch das man dadurch einen eindeutigen pegel innerhalb des netzes definiert.

ist eine andere begründung evtl auch das man dadurch spannungsspitzen abfangen kann?

oder darf man nur sagen man möchte kurzschlüsse vermeiden? (also das man kurzschlüsse vermeiden möchte ist denke ich richtig aber ist es auch richtig das man spannungsspitzen vermeiden möchte/kann ?)

wäre nett wenn mir jemand helfen könnte.

mfg
flo

linux_80
27.08.2007, 11:33
Hallo,

also der Pullup wird erst mit PortX.y = 1 aktiviert. (bzw. PortX |= (1<<PXy); )

Verwendet wird das zB. wenn man Taster abfrägt die nach Gnd schalten. Wenn der Taster nicht betätigt ist, wird das Signal auf High gezogen (also Pull up), wenn man den Taster drückt, liegt Gnd am Eingang an. Durch den Pullup-Widerstand fliesst dann ein geringer Strom, da der interne Pullup relativ hoch ist, bis zu 50k beim CAN128.
Mit URI kann man sich ausrechnen wieviel Strom durch den Pullup fliesst.

Wenn man statt dem Pullup direkt auf Vcc gehen würde, wäre das beim betätigen des Taster ein Kurzschluss.
Aber sonst hat das mit Kurzschluss nix zu tun :-k

Evtl. noch bei analogen Eingängen, damit die Leitung nicht als Antenne irgendwelches rauschen einfängt, das kommt aber auch auf den Sensor an, bzw. was man dort anschliesst. Grundsätzlich aktivieren sollte man den bei analogen Signalen nicht.