PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständnissfrage ADC und I/O



Stephan90
08.08.2013, 15:02
Hallo,
was genau ist der Unterschied zwischen I/O port und ADC?
Verstehe ich es richtig das I/O einfach nur zwischen High und Low "unterscheiden" (also Spannung liegt an - High; es liegt keine Spannung an - Low) also verwendung nur z.B für Schalter/Taster bzw als ausgang zum Schalten von LED etc. Und ADC kann auch verschiedene Spannungen auswerten, also z.B. Temperatursensor,...?
Danke im vorraus
Mfg

PICture
08.08.2013, 15:11
Hallo!

Ja, es ist richtig, genauso wie von dir erklärt ! :)

redround
08.08.2013, 16:10
nur nochmal zur Konkretisierung: viele Sensoren (gerade zum Beispiel für Temperatur) liefern keine Spannung sondern ändern nur ihren Widerstand in Abhängigkeit von der zu messenden Größe. Deshalb sind für den Anschluss der meisten Sonsoren noch irgendwelche Zusatzschaltungen erforderlich. Aber das ist für die Erklärung des Unterschiedes I/O (oft übrigens auch GPIO genannt) und ADC unerheblich. Das hast Du schon korrekt wiedergegeben.

Searcher
08.08.2013, 17:00
Ich würde einen Port als Gruppe von Pins bezeichen. zB PORTB mit acht I/O Pins (PB0, PB1, PB2 ...)

I/O ist die Abkürzung für Input/Output. So einen Pin kann man als Output nutzen um zB eine LED ein- und auszuschalten. In dem Fall schaltet man den Pin vom µC aus auf HIGH oder LOW, was dann einem Spannungspegel von nahe Vcc oder nahe 0V (GND) entspricht.

Man kann den Pin aber auch als Input nutzten. Im einfachen Fall stellt man dann fest, ob dort von außen eine Spannung anliegt, die vom µC als HIGH oder LOW erkannt wird. Welche Spannung als HIGH oder LOW erkannt wird, kann man dem Datenblatt zum µC entnehmen. Ganz grob ist bei CMOS oberhalb von der halben Vcc HIGH und unterhalb LOW.

ADC ist der Analog Digital Converter und ist eine eigene HW Einheit innerhalb des µC. Dessen Eingang kann man bei den meisten hier im Forum benutzten AVR mithilfe des ADMUX Registers auf einen I/O Pin schalten. Von außen wird eine Spannung auf den, sinnvollerweise als Eingang konfigurierten I/O Pin angelegt, die man dann mit dem angeschalteten ADC in einem 10 Bit Digitalwert darstellen kann. Es gibt nur einen ADC, der auf verschiedene I/O Pins geschaltet werden kann, aber nicht auf alle. Oft kann man auch zwei I/O Pins als Eingang für den ADC nutzen und dann die Spannung zwischen diesen beiden Pins messen (differentielle Messung). Welche Pins als Eingang für den ADC genutzt werden können kann man auch dem Datenblatt entnehmen. Es gibt µC wie den ATtiny2313, die überhaupt keinen ADC haben.

Gruß
Searcher

radbruch
08.08.2013, 17:37
Von außen wird eine Spannung auf den, sinnvollerweise als Eingang konfigurierten I/O Pin angelegt, die man dann mit dem angeschalteten ADC in einem 10 Bit Digitalwert darstellen kann.Der ADC vergleicht dazu die am Pin angelegte Spannung mit einer wählbaren Referenzspannung: Vcc, interne 2,56V/1,1V oder eine an AREF angelegte externe Spannung. Die Wandlung dauert je nach gewähltem ADC-Takt und der Betriebsart des ADC eine gewisse Zeit, in der das Ergebniss nicht aktuallisiert wird.

Stephan90
08.08.2013, 18:16
Danke für die Schnellen und Informativen Antworten von euch ;).
Ich meine mal etwas gelesen zu haben das man mit den I/O Pins auch ein PWM Signal ausgeben kann (mit einer stopwatch), ist das richtig?
Finde den Beitrag dazu nicht mehr.

PICture
08.08.2013, 18:48
Das ist nur möglich falls der µC einen dafür geeigneten Timer hat.

Stephan90
08.08.2013, 19:13
Das ist ein Atmega 32 auf dem RP6 M32 erweiterungmodul.

PICture
08.08.2013, 19:50
Ich beschäftige mich mit PIC's und kann mich irren, aber Atmega 32A laut Datenblatt (DB) 4 PWM Kanäle hat: http://www.atmel.com/Images/doc8155.pdf .

shedepe
08.08.2013, 20:49
Eine PWM kann man durchaus auch ohne Timer ausgeben, wenn man etwas mit dem Takt rumrechnet.