Forum: Mikrocontroller und Digitale Elektronik Warum Dummy-readout


von Braten (Gast)


Lesenswert?

Hallo,

ich frage mich gerade warum im Tutorial beim ADC angegeben ist:

>> /* nach Aktivieren des ADC wird ein "Dummy-Readout" empfohlen, man liest
>>     also einen Wert und verwirft diesen, um den ADC "warmlaufen zu >>lassen" */


Habe gerade mal ins datenblatt vom Atmega8 geguckt, aber nichts 
gefunden.

Hat da jemand eine Erklärung für?

Habe mal mit einem externen AD Wandler gearbeitet und da war das so, 
dass man den Enable betätigt hat und somit die Wandlung gestartet hat. 
Hat man den Enable wieder zurückgenommen sind die Daten rausgepurzelt.

Hat man nun den Enable vor 5 minuten betätigt, und ihn irgendwann wieder 
zurückgenommen, so hat man nicht den aktuellen Wert bekommen, sondern 
den Wert vor 5 minuten, also einen alten wert.

Ist das beim Atmega so ähnlich? könnte es sein dass man deshalb ein 
dummy readout macht um keine alten Wandlungen und damit alte Werte zu 
bekommen?

Vielen Dank fürs lesen :-)

Grüße

von Johannes M. (johnny-m)


Lesenswert?

Das Ergebnis der ersten Wandlung nach Aktivieren des ADC ist 
undefiniert. Deshalb sollte man den ADC auch nicht nach jeder Wandlung 
wieder abschalten, wenn man nicht grad jedes µA Strom sparen muss. Steht 
aber im Datenblatt...

EDIT:
Habe grad im Datenblatt vom Mega8 nachgesehen, da scheint tatsächlich 
nichts dazu zu stehen (ich habe jedenfalls auf die Schnelle nichts 
gefunden). Ich meine aber, mich erinnern zu können, dass in 
Datenblättern älteren Datums diese Vorgehensweise empfohlen wurde (ich 
habe mich jedenfalls auch daran gewöhnt, das Ergebnis der ersten 
Wandlung nach Setzen von ADEN zu verwerfen). Möglicherweise hat ATMEL 
den ADC mittlerweile soweit optimiert, dass das eigentlich nicht mehr 
erforderlich ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bestimmte Umschaltvorgänge dauern einfach mal etwas länger.  Wenn man
beispielsweise die Referenzspannung wechselt, kann man nicht sofort
danach eine Wandlung starten und erwarten, dass das Ergebnis Sinn
hätte.  Wenn man an dieser Stelle einfach eine dummy-Wandlung vornimmt,
liegt man auf der sicheren Seite.

Es ist übrigens sinnvoll, beim Umschalten der Referenz vorher den ADC
komplett außer Betrieb zu nehmen (ADEN abschalten) und danach neu
einzuschalten.  Dadurch wird bei der anschließenden ersten Wandlung
ein Kalibrierzyklus gefahren.

von Johannes M. (johnny-m)


Lesenswert?

Jörg Wunsch wrote:
> Dadurch wird bei der anschließenden ersten Wandlung
> ein Kalibrierzyklus gefahren.
Wie ich das verstehe, geht ATMEL wohl mittlerweile davon aus, dass 
dieser bei der jeweils ersten Wandlung durchgeführte "Kalibrierzyklus", 
der ja immerhin 12 ADC-Takte dauert, ausreicht, um zu gewährleisten, 
dass die Eingangsbeschaltung (speziell das S&H) komplett eingeschwungen 
ist.

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.