ADC und Sukzessive Approximation

Gast #3014127
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
Gast #3015212
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
#3015363
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.
Gast #3015411
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.
Gast #3023938
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!)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.