Forum: Mikrocontroller und Digitale Elektronik Atmel ADC Samplerate vs. Genauigkeit


von thomas (Gast)


Lesenswert?

Der Atemel ADC schaft bei 10 Bit Auflösung 15 kSamples/sec.
Hat einer von Euch schon Erfahrungen damit gemacht wie sich die
Bit-Auflösung zur übertakteten Samplerate verhält?
Wenn ich z.B. mit 24 kSamples sample ,wie hoch ist dann die Genauigkeit
noch?

von Jörg Wunsch (Gast)


Lesenswert?

Irgendjemand schrieb mal in <news:de.sci.electronics>, daß er den ADC
mit > 1 MHz betreibt und dabei noch 6 bit Auflösung erreicht hat.

von Khani (Gast)


Lesenswert?

Hallo Leute,

also ich würde sagen, dass man die Frage, wie schnell man den
AD-Wandler beim AVR takten kann (also die Einstellung des Prescalers),
lässt sich nicht allgemeingültig beantworten.
Das Problem ist dabei, dass man den Fehler nur sehr schwer bestimmen
kann. Außerdem hängt das Ergebnis sehr stark vom zum wandelnden Signal
und dem Umgebungsrauschen ab. Schon bei "normalen" Abtastraten bei 10
bit Genauigkeit bekommt man da schon ganz schöne Rauscheffekte mit
hinein. Auf Grund des verwendeten Verfahren (sukzessive Approximation)
wird das Ergebnis mit zunehmender Taktrate schlechter, da sich während
der Wandlung am internen DAC (siehe Datenblatt) dann warhscheinlich
keine stabilen Pegel merh einstellen. Auch der Vergleich des
DAC-Ausgangs mit dem Sample&Hold-Glied wird ungenauer.
Da auch die Sample-Zeit des SH-Glieds kürzer wird, bekommt man auch von
dieser Ecke Probleme.

Wenn man einen Highspeed-ADC braucht, dann sollte man am besten einen
Parallelwandler nehmen - die sind am schnellsten und haben die oben
beschriebenen Probleme (bis auf die verkürzten Sample-Zeiten am
SH-Glied) nicht. (Dafür sind sie aufwändiger..)

MfG, Khani

von Michael (Gast)


Lesenswert?

Den Mega8 betreibe ich mit ca. 1 MHz und erreiche eine Genauigkeit von
6-7 Bits.
Die neueren Mega48++ sind nun auch mit 1MHz Abtastate 'spezifiziert':
Fehler ca. 4,5 LSB.
Da 24ks nicht viel sind, braucht man auch keinen Parallelwandler; es
gibt kleine (8 Pin) und günstige Teile (z.B. ADS7822), die Deine
Anforderungen locker erfüllen; aber vielleicht reicht ja auch der
interne ADC.

von thomas (Gast)


Lesenswert?

Michael, meinst du mit ca. 1 Mhz abtastrate die Taktrate des ADC oder
ist das die Samplefrequenz? Letzteres kann ich mir nicht vorstellen
:-(. Wie du weist ,wird beim adc  die Taktrate nocheinmal geteilt .

von Michael (Gast)


Lesenswert?

Natürlich die Taktrate des ADC; alles andere wäre Maggi :-)

von thomas (Gast)


Lesenswert?

Ok, danke für die antwort. Meine Befürchtung war ja ,das wenn man die
max 200 khz taktet 10 Bit , bei 400 dann nur 5 Bit bzw.  und bei 1 MHZ
nur 2 Bit genauigkeit u.s.w. hat. Also Genauigkeit ist Liniar
Antiproportional zur Samplerate. Das heist also bei dir das du
bei 1 Mhz um das 5 Fache übertaktest hast aber dir fehlen "nur" 3 Bit
an genauigkeit. das entspricht dann den Daten:
15 ksp/S * 5 = 225 ksp/s bei 7 Bit Auflösung,Richtig?
und da gibt es keine weiteren Einschränkungen? Also damit könnte man
dann doch leben und der Wandler der Atmega ist ja dann doch nicht so
schlecht wie ich befürchtet habe h

von Michael (Gast)


Lesenswert?

15 ksp/S * 5 = 225 ksp/s bei 7 Bit Auflösung,Richtig?
Nein, falsch: 5*15 = 74,999 :-)

Aus Erfahrungswerten eine lineare Funktion abzuleiten, ist mehr als
fragwürdig. Aber wieviel Bits Genauigkeit/ Auflösung brauchst Du denn
tatsächlich ? Und wo läßt Du diese Bits ? Viel Zeit, um diese zu
verarbeiten, bleibt ja nicht.

von thomas (Gast)


Lesenswert?

5*15 ist 74,9999 ,richtig g

also ich benötige für eine Anwendung ca. 36 ksp/s bei einer
Auflösung von 8 Bit. bei 36.000 byte /sec. habe ich bei 16 Mhz
Taktrate schon genug Zeit dies zu verarbeiten ,es kommen also auf
 ein Sample 444 Takte, das reicht dicke.
Meine frage ist jetzt , wie zuverläßig kriege ich die 8 bit bei
ca. 36.000 Abtastungen pro Sekunde?
Es handelt sich nicht um quasi zufällige Werte ,sondern um ein
Periodisches Signal(Audio-Signal) mit denen der ADC gespeist wird.

von Michael (Gast)


Lesenswert?

Wenn Du Deine Abtastrate jeden Tag um 50% steigerst (24 -> 36), wirst Du
nächste Woche doch einen externen ADC brauchen.
Mit Vorteiler :32 kommt man bei 16MHz auf rund 38ks. Bei 8 Bit würde
ich das mit dem internen ADC einfach machen. Wichtiger als die abs.
ADC-Genauigkeit ist m.E. die sinnvolle Begrenzung der
Eingangsbandbreite. Aber das ist ein anderes Thema; meinem
Taschenrechener und mir ist es dafür jetzt zu warm geworden.

von Werner Hoch (Gast)


Lesenswert?

Hi,

die Genauigkeit steht im Datenblatt unter "Elektrical
Characteristics".
IIRC 3LSB Fehler bei 1MHz ADC-Clock.


MfG
Werner

von Michael (Gast)


Lesenswert?

@Werner:

Welchen Typ meinst Du ?

von Werner Hoch (Gast)


Lesenswert?

Oh verdammt,
das wichstigste hab ich vergessen ...

ATmega16, ATmega32

Der oben angesprochene ATmega8 hat laut Datenblatt 3LSB typisch.

MfG
Werner

von Michael (Gast)


Lesenswert?

@Werner:

In dem allerneuesten Datenblatt vom Mega8 (12/03) finde ich die
Angaben. Dieses ist ja ausnahmsweise ohne den Vermerk 'vorläufig'
versehen und es gibt auch andere Datenangaben als 'TBD'. Die mir
vorliegenden Controller sind alle vor 12/03 gefertigt, sodaß ich die
Daten nicht überprüfen kann. So richtig glauben kann/will ich die 3 LSB
aber nicht. Papier ist eben nur Papier und man glaubt schon lange nicht
mehr, was da alles steht.

Wenn der ADC tatsächlich schneller geworden ist, soll es gut sein.

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.