mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welcher MSP 430 für FFT? Einsteigerfragen.


Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wir möchten ein niederfrequentes Signal (20-100Hz) abtasten (Messzeit 2 
Sekunden) und so auf max. Amplitude und Frequenz des Signals 
rückschließen.

Wo wir anstehen: Welchen µC sollen wir nehmen? Wir würden gern bei 
MSP430 bleiben, weil wir da schon ein paar Erfahrungen sammeln konnten. 
Ein externer ADC (AD7680) soll zum Einsatz kommen.
Gibts schon fertige Algorithmen wo man nur noch Parameter einstellen 
muss? Im Programmieren sind wir ziemliche Eier, also wollten wir uns da 
nicht unnötig plagen.

Könnt ihr uns da aus der Patsche helfen bitte?

Danke im Voraus :)

lg,
Dominik

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnt ihr das mal noch ein bisschen spezifizieren? Ihr habt ein Signal, 
dass ihr über eine Zeit von 2 Sekunden abtastet. Geschieht das nur 
einmal oder zyklisch? Bei einer einmaligen Abtastung habt ihr ja 
anschließend genügend Zeit für die Berechnung. Also am besten die Werte 
während der Messung in einen Speicher schreiben und danach dann die 
Werte aus dem Speicher für die Berechnung verwenden. Da habt ihr dann 
keine Probleme mit der Taktrate.
Wollt ihr die Werte während der Messung berechnen, dann wäre eine Angabe 
der Zeit die zwischen zwei Messwerten liegt hilfreich.
Gruß Phil

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, es ist nur eine einmalige Messung!
Wir gehen davon aus, dass wir 500 Messwerte pro Sekunde aufnehmen, ist 
das realistisch?

lg, Domi

Autor: Northernhessian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaut mal auf http://msp430.ms.funpic.de, da gibts Informationen zum 
Thema FFT und MSP430.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu einen externen ADC verwenden? Der in vielen MSP430-Varianten zu 
findende ADC_12 lässt mit ausreichendem Oversampling auch 16 Bit 
Auflösung erzielen.

Mit dem 'F5438 (jetzt endlich auch auf 'nem Olimex-Board: 
http://olimex.com/dev/msp-5438-stk.html) sollte eine brauchbare 
Grundlage für die Anwendung gefunden sein.

16 kiB RAM, 256 kiB Flash-ROM, bis zu 25 MHz Taktfrequenz ...

sollten für die 1000 Samples während Eurer 2-Sekunden-Messung "dicke" 
ausreichen-

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Tips!

@ rufus:
Wie darf ich das mit dem Oversampling verstehen? Wie geht das? Auf 
"echte" nutzbare 16 Bit werde ich damit aber nie kommen. Kannst du mir 
das ein bisschen weiter ausführen?

Danke!
lg,
Dominik

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt eine AppNote* von TI, die Oversampling mit dem DAC_12 
beschreibt.

Um ein Bit mehr Auflösung zu erlangen, ist ein vierfaches Oversampling 
erforderlich, bei zwei Bit mehr Auflösung entsprechend ein 16-, bei drei 
Bit mehr ein 64- und bei vier Bit mehr ein 256-faches Oversampling.

Der "Trick" auf der Softwareseite ist, daß bei der Mittelwertbildung bei 
2^n-fachem Oversampling die Summe aller Samples nicht durch 2^n, sondern 
nur durch 2^(n/2) geteilt wird, bei 256-fachem Oversampling (n = 8) wird 
die Summe also nur durch 16 geteilt.

Wenn das Schaltungsdesing ausreichend sauber ist (Abblockkondensatoren 
in Doppelausführung 100n + 10n an allen Versorgungsspannungsanschlüssen 
etc., ausreichende Masseflächen etc.), dann sind mit 
256-fach-Oversampling tatsächlich reale und stabile 16 Bit Auflösung 
erzielbar.

Das habe ich mit einem 'F449 (auf dieser Testplatine 
http://olimex.com/dev/msp-449stk2.html, kein besonders gutes Layout), 
einem 'F1611 und einem 'F5438 (die letztgenannten auf einer eigens dafür 
entwickelten Platine) durchgeführt.


Für Deine gewünschten 500 Hz Samplerate ist bei 256-fach-Oversampling 
also eine reale Samplerate von 128 kHz erforderlich - das schafft der 
'F5438 locker.


*) 
http://focus.ti.com/general/docs/lit/getliterature...

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Erklärung Rufus!

Ich glaube der wirds werden :D
Hat der eine parallele Schnittstelle für ein LC-Display?

lg,
Dominik

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik schrieb:
> Hat der eine parallele Schnittstelle für ein LC-Display?

Eine "parallele Schnittstelle" hat ja quasi jeder uC.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik schrieb:
> Hat der eine parallele Schnittstelle für ein LC-Display?

"Der"? Von welchem MSP430-Derivat reden's denn?

Der 'F449 steuert controllerlose Displays direkt an, wie auch das auf 
dem Olimex-Board zu sehende.


Und genügend I/O-Pins, um ein 44780-Display oder ein GLCD mit Controller 
darauf anzusteuern hat er auch. Und der 'F5438 erst recht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.