Forum: Mikrocontroller und Digitale Elektronik I/O Pins


von Dennis (Gast)


Lesenswert?

Hey!

Mal so eine grundsätzliche Frage:

Wozu brauch man eigentlich die internen Pull-ups der uC?
Verbinden der Controller den eigenen I/O-Pin dann mit der eigenen 5V 
versorgungsspannung? und was heißt es eigentlich, wenn ein Pin hochohmig 
oder niederohmig ist?

Dennis

von Florian Pfanner (Gast)


Lesenswert?

Die Pull-ups brauchst du, um dem Controller einen Definierten 
Eingangspegel zu geben. Ein Beispiel: du willst einen Taster abfragen 
und hängst in an einen Pin. Wenn du nun das DDR-Register setzt, so ist 
der Eingang hochohmig, d.h. er benötigt so gut wie keinen strom um einen 
'1' zu erkennen. Dieser Strom kann aber auch "aus der luft" durch z. B. 
Hochfrequenzeinstrahlungen kommen. Wenn nun der Taster offen ist, und du 
dich an einer ungünstigen stelle befindest, so kann es sein, dass der 
Controller einen Aktiven Taster erkennt, obwohl gar keiner vorhanden 
ist. Durch das aktivieren des Pull-ups wir nun intern ein (hoher) 
widerstand gegen +5V auf den Pin gelegt. Wenn du jetzt den eingang 
abfrägst, so kannst du dir ziemlich sicher sein, dass du den 'echten' 
taster erkennst. Versuch es einfach mal: Programmiere eine LED am 
Ausgang so, dass diese den Zustand eines Einganges ausgibt - einmal mit 
und einmal ohne Pull-up und vergleiche. In einer zeitschrift habe ich 
mal gelesen, dass schon das nähern mit der hand die LED zum leuchten 
bringen kann.

Soweit meine kurze Erklärung - wenn du weitere Fragen hast, so bitte 
etwas genauer spezifizieren!

Gruß, Florian

von Dennis (Gast)


Lesenswert?

mmmmh,

also ich benutze immer das AVR studio um meine noch recht einfachen 
Codes zu testen. Wenn ich jetzt PortB Pinx logisch eins setze und dann 
das passende ddrx lösche geht bei PinBx das lämpchen an so wird der 
Pull-up ja anscheinend eingeschaltet, für mich sieht das dann so aus, 
als würde dieser Pin dann nur noch eine logische Null, also 0V erkennen 
, aber keine 1, weil die ja schon quasi anliegt, oder???????

Dennis

von thkaiser (Gast)


Lesenswert?

Das AVR-Studio ist nicht schlecht - aber auch nicht gut.
Dies ist ein gutes Beispiel dafür, daß Theorie und Praxis völlig 
unterschiedliche Ergebnisse haben können. Das AVR-Studio berücksichtigt 
nun mal keine Einstreuungen.

von Dennis (Gast)


Lesenswert?

Und das heißt jetzt,dass meine Vermutung korrekt ist oder ist sie völlig 
daneben?

von thkais (Gast)


Lesenswert?

In der Praxis sieht das so aus:
Bei einem eingeschalteten Pull-Up liest man eine "1", sofern der Pin 
offengelassen wird oder an 5V angeschlossen ist. Eine "0" wird dann 
erkannt, wenn GND (0V) an den Pin angeschlossen werden.

von Dennis (Gast)


Lesenswert?

Gibts etwas besseres als das AVR-Studio?

von mikki merten (Gast)


Lesenswert?

Dieser Umstand wird leider im Simulator des AVR-Studio nicht recht 
sinnvoll simuliert. Nach dem Start sind liegen alle Input-Ports per 
default auf GND.

von Dennis (Gast)


Lesenswert?

Dann kann dann also bedeuten, daß ich ein Programm für ein externes 
Bauteil schreibe, im AVR-Studio simuliere und was dann von den 
Zeitabläufen her super aussieht, aber in der Praxis völlig daneben ist.
Im simulator sind bei einem 4Mhz-Quarz die Taktzeit bei 250ns
und wie sieht in der Realität aus?

von mikki merten (Gast)


Lesenswert?

Das Timing wird für bis auf EEPROM-Zugriffe taktgenau simuliert. 
Lediglich die per Default auf GND-Level liegenden Input-Ports sind etwas 
ungünstig. Viel Klickerei oder Stimuli-Files erforderlich. Die wenigen 
Einschränkungen des Software-Simulators sind aber in der Hilfe zum 
AVR-Studio ausführlich dokumentiert.

von thkais (Gast)


Lesenswert?

Dafür is er ja auch kostenlos.
Ich nutze das Studio eigentlich nur dann, wenn ich mal wieder vergessen 
habe, welche Flags bei > / < Operationen nun gesetzt werden ;-)
Oder wenn der Controller ums verrecken nicht das tut, was er soll. Aber 
98% aller Programme gehen live auf den Controller.

von Dennis (Gast)


Lesenswert?

Wenn ein Pin hochohmig wird, wieso ist er eigentlich dann so empfindlich 
gegen statische Aufladung. Ich höhr das immer bei CMOS-Bauteilen, wo die 
Eingänge anscheinend generell sehr hochohmig sind und wo es ausreicht 
die Beine nur kurz anzutippen um das Ding ins Bauteile-Nirvana zu 
schicken.

von Florian Pfanner (Gast)


Lesenswert?

Bei CMOS-Bauteilen sitzt am Eingang ein Feld-Effekttransistor. Der 
Abstand der Isolierschicht zwischen dem Gate und dem 
Drain-Source-Substrat ist sehr gering. Kommt nun ein zu hohe Spannung an 
das Gate, so wird die Isolierschicht durchschlagen und somit unbrauchbar 
--> der FET ist def.

Wens du genau wissen willst, so such mal im Internet nach FET - Aufbau 
u. Funktion!

Gruß, Florian

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.