www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I/O Pins


Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dennis (Gast)
Datum:

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

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibts etwas besseres als das AVR-Studio?

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.