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
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
Ja, es ist nur eine einmalige Messung! Wir gehen davon aus, dass wir 500 Messwerte pro Sekunde aufnehmen, ist das realistisch? lg, Domi
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-
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
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.tsp?baseLiteratureNumber=slaa323
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
Dominik schrieb: > Hat der eine parallele Schnittstelle für ein LC-Display? Eine "parallele Schnittstelle" hat ja quasi jeder uC.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.