Forum: Mikrocontroller und Digitale Elektronik XMega ADC gesamten SampleVector auf einmal einlesen


von Christoph L. (clauer)


Angehängte Dateien:

Lesenswert?

Hallo,
ich experimentiere mit dem XMega3 Board 
(http://blog.entwicklungsboard.eu/?p=5). Das Board hat einen ATXMega64A3 
und ein OLED Display. Ich habe auch schon ein kleines Ozilloskop 
implementiert (siehe Photo und Sourcecode). Später will ich probieren 
noch eine kleine FFT-Spektralanalyse dazuzubasteln. Im Moment hänge ich 
aber an anderer Stelle --> Zum einlesen des Samplevectors lese ich im 
Moment immer nur ein Wert ein, das mehrmals hintereinander und schreibe 
die Samples in mein Array, die XMegas können aber soweit ich das 
herausgefunden habe auch direkt einen ganzen Vektor auslesen und über 
DMA in den Speicher schieben.(Freerunning Mode) Hat jemand hier für 
Samplecode oder Erfahrungen bezüglich der Einstellung der Samplerate, 
dem DMA transfer usw. Im Netz ist diesbezüglich leider nichts zu finden.


Ich schreibe mal auf wie ich mir das in etwa denke:

- ADC auf richtige Samplerate, Sampleanzahl und Quantisierung einstellen
- ADC auf FreeRunning-Mode stellen und einen Interupt schalten
- wenn der ADC fertig ist kümmert sich die ISR darum das der Vector über 
DMA in meinem Array landet.

Stimmt das so in etwa ?

Grüße,
Christoph

von Werner B. (werner-b)


Lesenswert?

> Im Netz ist diesbezüglich leider nichts zu finden.

Kann ich nicht nachvolliehen.

Appnotes
AVR1300: Using the XMEGA ADC
  3.3 Free-running Mode
  4.1 DMA Controller -> verweist auf AVR1304
AVR1304: Using the XMEGA DMA Controller
  2.2 Data Transfer
  2.6 Address Reload
AVR1305: using the XMEGA Interrupts and the Programmable Multi-level 
Interrupt Controller

Erhältlich bei...
http://www.atmel.com/dyn/products/app_notes.asp?family_id=607

Ein bisschen mitdenken muss man aber schon.

von Christoph L. (clauer)


Lesenswert?

Hallo Werner,
danke ! Die AppNote ist ja genau das was ich suche, die hatte ich 
übersehen.

von Christoph L. (clauer)


Lesenswert?

Ich habe das jetzt mal alles soweit implementiert wie ich das aus den 
data-sheets rausziehen konnte und es scheint soweit zu funktionieren, 
wer den Sourcecode sucht und ein Video von einem FFT-Analyzer sehen will 
kann auf meiner webSeite vorbeischauen --> 
http://www.christoph-lauer.de/Homepage/Blog/Eintrage/2010/8/25_Selfmade_Microcontroller_Spectrumanalyzer.html

Viele Grüße,
Christoph Lauer

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.