Forum: Mikrocontroller und Digitale Elektronik sehr schnell samplen


von Sand M. (findus)


Lesenswert?

Hallo,

ich möchte ein (sehr schnelles) Signal analysieren. Dazu verwende ich 
einen Atmega 644P, welcher möglichst schnell den Pin A0 a/d wandelt. 
Nach 1024 Samples, welche in einen Array abgelegt werden, überträgt der 
Atmega diese seriell zum PC, der die eigentliche Signalanalyse vornimmt.

Leider erreiche ich mit der Single-Conversion höchstens Samplingraten 
von 30kHz (gemessen an einem Testsignal).

Wie kann ich höhere Frequenzen (so hoch wie möglich!) erreichen?

von Christian R. (supachris)


Lesenswert?

Wie schnell ist denn ein "sehr schnelles Signal"?

Externer ADC an Atmega, an SPI oder parallel angeschlossen und die Daten 
per DMA in den Speicher. Noch schneller gehts mit externem ADC, CPLD und 
direkt in den Speicher.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Etwa das Doppelte erreichts Du im Free-Running Modus, also etwa 72kHz, 
was einer Signal-Bandbreite von <35kHz entspricht.

von Christian U. (z0m3ie)


Lesenswert?

^wundert sich gerade wo ihr die taktzeiten für das projekt des Authors 
hernehmt um das errechnen zu können ...

von Skua C. (skua)


Lesenswert?

@Untoten
dito

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ist die maximale Geschwindigkeit des ADC, 13,5µs.

von Benedikt K. (benedikt)


Lesenswert?

Travel Rec. wrote:
> Ist die maximale Geschwindigkeit des ADC, 13,5µs.

Laut Datenblatt werden maximal 200kHz ADC Takt empfohlen, macht also 
15,4kS/s. Allerdings erlaubt das Datenblatt bis zu 1MHz ADC Takt bei 
leicht reduzierter Auflösung, also 76,9kS/s. Man kann auch noch etwas 
höher gehen. Bei etwa 150-200kS/s ist dann allerdings Schluss, darüber 
liefert der ADC nur noch Mist. Zumindest war das meine Erfahrung (ein 
Sinus war nicht mehr wirklich als Sinus erkennbar, so stark war das 
Signal verzerrt).

von Sand M. (findus)


Lesenswert?

Hallo,

ich würde mich freuen, wenn mir jemand die Initialisierung und das 
kontinuierliche Auslesen des ADC im Freerun-Modus auf dem Atmega644 als 
Minimalbeispiel zeigen könnte.

von Teplotaxl X. (t3plot4x1)


Lesenswert?

Christian R. wrote:
> Wie schnell ist denn ein "sehr schnelles Signal"?
>
> Externer ADC an Atmega, an SPI oder parallel angeschlossen und die Daten
> per DMA in den Speicher. Noch schneller gehts mit externem ADC, CPLD und
> direkt in den Speicher.

Seit wann kann ein AVR DMA? Wäre mir jetzt irgenwie sehr neu

von spess52 (Gast)


Lesenswert?

Hi

>Seit wann kann ein AVR DMA? Wäre mir jetzt irgenwie sehr neu

XMega.

MfG Spess

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.