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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.