AVR: ADC übertakten

Dies ist ein Zitat aus dem ATmega32- Datenblatt:

By default, the successive approximation circuitry requires an input clock frequency between
50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the
input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate.

Ich plane, 8 Bit ADC zu verwenden. Die Frage ist: Wie viel höher als 200 kHz kann ich gehen? Im Datenblatt konnte ich dazu keine Angaben finden. Ist es möglich, einen Prescaler von 64 oder 32 zu verwenden und daher ADC mit 250 kHz bzw. 500 kHz ohne Konvertierungsfehler auszuführen, wenn der uC mit 16 MHz läuft? Und was sind die möglichen Folgen, wenn ADC außerhalb der Spezifikation läuft?

Antworten (1)

Die maximale Frequenz des ADC ist mit 1MHz angegeben.

Das eigentliche Problem ist nicht genau der ADC selbst, sondern das Sample-and-Hold-Gerät, das in den ersten 2 Takten des ADC eine Abtastung der Eingangsspannung erhalten muss.

Wenn diese 2 Takte zwei kurz sind, kann der Speicherkondensator des S/H dem Eingangssignal nicht mit ausreichender Genauigkeit folgen.

Übrigens, deshalb gibt es auch eine minimale Frequenz. In diesem Fall ermöglicht die enorme Wandlungszeit, dass sich der Speicherkondensator während der Wandlung entlädt.

Bei einem Takt von 1 MHz erhalten Sie eine Umwandlungszeit von 13 us oder ungefähr 77 ksps. Auf 200 kHz Takt - 15 ksps.

Gute Antwort Alter +1. Ich frage mich, ob der interne S&H freilaufend gelassen werden kann und ein externer S&H verwendet werden kann, der viel schneller ist?
@Andyaka - wahrscheinlich nicht. Der interne S/H wird nur von der Hardware gesteuert. Vielleicht ist ein Hack möglich, indem man den Frequenzteiler während der Konvertierung ändert - machen ist langsam für die ersten 2 Takte und dann höher ... Aber man muss im Handbuch nachsehen, ob es überhaupt möglich ist, und dann einen Versuch machen.
Danke für die Antwort. Grundsätzlich ist es also sicher, bei Verwendung von 8 Bit ADC auf 1 MHz zu gehen?
@AshtonHearts - Ja, ich denke schon. Warum nicht ein paar Tests machen? Es geht nur um ein Programm.
@johnfound - Ich habe tatsächlich versucht, ADC zu übertakten (bis zu 500 kHz mit 10-Bit-Auflösung) und hatte eine ziemlich stabile Leistung. Ich war tatsächlich besorgt über die Ergebnisse des Übertaktens auf lange Sicht (dh ob das Übertakten zu einer Fehlfunktion des ADC im Laufe der Zeit führt).
@AshtonHearts - es ist nicht übertaktet. Es ist dokumentiertes Verhalten. Sie erhalten nur eine geringere Genauigkeit.