XMega ADC gesamten SampleVector auf einmal einlesen

OP #1827758
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
Angehängte Dateien:
#1827900
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.
OP #1830596
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.