Forum: Mikrocontroller und Digitale Elektronik ADC und Sukzessive Approximation


von Digitalism (Gast)


Lesenswert?

Hi zusammen!

Ich beschäftige mich gerade mit der (elektrischen) Funktionsweise des 
A/D Wandlers in einem AVR.

Wie ich bereits feststellen konnte, verwenden wohl alle AVR das 
SAR-Verfahren (Sukzessive Approximation).

Nun, so weit so gut. Mich würde allerdings ein wenig genauer 
interessieren, wie ein Wert "digitalilsiert" wird?

Also zum Beispiel habe ich hier diese Seite gefunden:

http://www.vias.org/mikroelektronik/adc_succapprox.html

Welche schon recht hilfreich ist. Aber wie findet dieses 
"digitalisieren" statt, wie wird aus einer Spannung ein digitaler Wert?

Gruss

von Michael R. (dj_motionx)


Lesenswert?


von Harald W. (wilhelms)


Lesenswert?

Michael Rathmair schrieb:
> http://en.wikipedia.org/wiki/Successive_approximation_ADC
>
> Unter Algorithm genau erklärt.

Hier stehts, allerdings recht kurz, auch in Deutsch:
de.wikipedia.org/wiki/Analog-Digital-Umsetzer#W.C3.A4geverfahren
Gruss
Harald
PS: Die sog SAR-Wandler waren wohl mit die ersten, die als fertiges
IC angeboten wurden

von Peter D. (peda)


Lesenswert?

Harald Wilhelms schrieb:
> PS: Die sog SAR-Wandler waren wohl mit die ersten, die als fertiges
> IC angeboten wurden

Sie lassen sich sehr einfach integrieren, man braucht nur 2 gleiche 
Kondensatoren und 3 Analogschalter.


Peter

von Digitalism (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Sie lassen sich sehr einfach integrieren, man braucht nur 2 gleiche
> Kondensatoren und 3 Analogschalter.
>
>
> Peter

Hallo Peter

Deine Antwort scheint mir am ehesten auf meine Frage einzugehen (danke 
den anderen zwei trotzdem).
Wie meinst du das?

Kannst du das ein wenig genauer ausführen?

Gruss

von Karl H. (kbuchegg)


Lesenswert?

Digitalism schrieb:

> Deine Antwort scheint mir am ehesten auf meine Frage einzugehen (danke
> den anderen zwei trotzdem).

Hast du dir die anderen Links wenigstens angesehen und ein wenig darüber 
nachgedacht?

Das Prinzip ist so einfach wie

Denk dir eine Zahl zwischen 0 und 1023 aus! Hast du?
Gut

Ist deine Zahl größer/gleich oder kleiner als 512?
Aha kleiner.

Ist deine Zahl größer/gleich oder kleiner als 256
Aha größer.

Ist deine Zahl größer/gleich oder kleiner als 384 (das ist (512+256)/2)
Aha kleiner.

Ist deine Zahl größer/gleich oder kleiner als 320 (das ist (384+256)/2
Aha größer.

Ist deine Zahl größer/gleich oder kleiner als 352
Aha kleiner

...

Mit jeder Entscheidung schränkst du den 'Suchraum' um die Hälfte ein. 
Nach 10 derartigen Abfragen hast du die Zahl eindeutig festgenagelt.

Der SAR macht auch nix anders.
Der Teil "Denk dir eine Zahl" ist die Sample&Hold Stufe, in der die 
aussen anliegende SPannung zwischengespeichert wird.

Der Teil "Ist deine Zahl ..." ist eine Kombination, indem der Wandler 
sich selbst eine Spannung aus einem Bitwert erzeugt ...
"größer/gleich oder kleiner"
... und mit einer OpAmp vergleicht, welches Verhältnis zwischen der 
erzeugten Spannung und der zu messenden Spannung vorliegt.
je nach diesem Ergebnis entscheidet sich, ob das zugehörige Bit in dem 
Register aus dem die Vergleichsspannung erzeugt wurde auf 1 bleibt oder 
ob es auf 0 gesetzt werden muss.

Das ADC beginnt also im 10 Bit Register damit, dass er das linkste Bit 
(das MSB) versuchsweise auf 1 setzt (und damit die Hälfte der 
Referenzspannung als Vergleichsspannung benutzt wird) und wenn die so 
erzeugte Vergleichsspannung kleiner als die zu messende Spannung ist, 
dann bleibt dieses Bit auch auf 1 (und wird ansonsten auf 0 
zurückgesetzt). Damit ist geklärt, wie das oberste Bit aussehen muss. 
Dann kommt das nächste Bit drann. Aufgrund seiner Bitposition schaltet 
es ein 1/4 der Referenzspannung zur Vergleichsspannung dazu. Und wieder 
die Frage: Ist die Vergleichssapnnung damit größer oder kleiner als die 
zu messende Spannung. Je nach Ausgang behält das Bit seine 1 oder wird 
zurückgesetzt. Und so geht das weiter. Bit für Bit wird entschieden, ob 
man einen entsprechenden Anteil der Referenzspannung braucht, damit man 
die zu messende Spannung damit abbildet.
Ist der Prozess durch, dann kannst du dir die 10 Bit abholen. Der ADC 
hat eine Spannung gewandelt.


Und jetzt schaust du dir den Link
http://en.wikipedia.org/wiki/Successive_approximation_ADC
nochmal genauer an. Du findest dort alles wieder. Das Prinzip ist 
wirklich sehr/sehr simpel.

von Gregor B. (Gast)


Lesenswert?

Also, eine sehr gute, ausführliche Erklärung (mit Beispiel für die 
Realisierung) findest du hier:

Analog Devices - The Data Conversion Handbook

http://www.analog.com/library/analogDialogue/archives/39-06/data_conversion_handbook.html


und da das Kapitel 3:

http://www.analog.com/library/analogDialogue/archives/39-06/Chapter%203%20Data%20Converter%20Architectures%20F.pdf


Ausführlicher geht es meines Wissens nicht mehr.

von Digitalism (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Hast du dir die anderen Links wenigstens angesehen und ein wenig darüber
> nachgedacht?

Ja, der englische Wiki-Artikel ist eig. super. Nur leider englisch, was 
mich zuerst ein wenig abgeschreckt hat :)
Geht aber gerade noch so.

Zusammen mit deiner ausführlichen Erklärung (danke dafür!) und noch 2, 3 
mal durchlesen ist das mehr als ich eigentlich wissen muss.

Perfekt, vielen Dank für deine Hilfe (und auch danke den anderen für die 
zutreffenden Links!)

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.