Schnelle AD wandlung mit ATMEGA48

Gast #434199
Lesenswert?

Hallo,

ich will mit dem internen AD wandler des ATMEGA48 messwerte aufnehmen.
Laut spec geht dies bei 10 Bit mit 15 kSPS.
Ich würde mich aber mit 8 Bit begnügen wenn ich eine höhere Rate 
hinbekommen würde. In wie weit beeinflusst die clock den 
Wandlungsprozess???

Vielen Dank,
Markus
#434313
Lesenswert?

> In wie weit beeinflusst die clock den
> Wandlungsprozess???

Eigentlich gar nicht.
Willst Du nur 8 Bit, so richtest Du lediglich das 10-Bit-Ergebnis 
linksbündig aus (adlar in admux) und ignorierst das L-Byte (nur adch 
auslesen), also die unteren zwei Bits (in adcl). Die Wandlung, und damit 
deren Timing (prima im Datasheet erklärt) wird dadurch nicht verändert.

...
Gast #434329
Lesenswert?

@Markus

in dem du den ADC-Clock Teiler niedriger wählst (ADPS0..2 im ADCSRA 
Register). Der ADC braucht 13 ADC-Clocks zur Wandlung, wenn der Mega48 
mit 20MHz läuft und der Clock-Teiler auf 011 =1/8 steht so ergibt sich 
eine max ADC Rate von: 20000  8  13 = 192 kSamples.
Mit 1/8 funktionierts noch ganz gut, mit 1/4 aber bei 20MHz nicht mehr 
richtig. Die nutzbare Auflösung sinkt aber auf 7-8 Bit (der interne DAC 
der für die AD-Wandlung verwendet wird ist dann langsamer als die 
Wandlungszeit eine Bits).

Dieses 'überclocken' ist übrigens durchaus zulässig, und sogar im 
Datenblatt erwähnt:
"By default, the successive approximation circuitry requires an input 
clock frequency between 50 kHz and 200 kHz to get maximum resolution. If 
a lower resolution than 10 bits is needed, the input clock frequency to 
the ADC can be higher than 200 kHz to get a higher sample rate."

Gruss Andi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren