Forum: Mikrocontroller und Digitale Elektronik Schnelle AD wandlung mit ATMEGA48


von Markus (Gast)


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

von Hannes L. (hannes)


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.

...

von Andi (Gast)


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

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.