Forum: Mikrocontroller und Digitale Elektronik dsPIC DSP Libraries Tutorial


von Thomas (Gast)


Lesenswert?

Hallo,

die dsPICs sind ja im Gegensatz zu normalen PICs oder anderen µC mit
speziellen MAC-Einheiten usw. ausgerüstet, um komplexe mathematische
Berechnungen FFTs, Filterung,... durchzuführen.

Ich finde allerdings überhaupt keine Application Notes oder Tutorials, 
die
die Benutzung dieser Funktionen erklärt.
Microchip hat einige kleine Democodes, die aber nicht aussagekräftig 
sind.

Gibt es eventuell ein Dokument, welches diese Libraries und ihre 
Anwendung beschreibt ?

Danke für eure Hilfe.

MfG
Thomas

von Stefan (Gast)


Lesenswert?

Hallo Thomas,

wenn du dir den C30 Compiler installiert hast (--> 
Programme-->Microchip-->C30-->Library-->DSP-->Doku  oder so ähnlich), 
oder auch nur die DSP-Lib von Microchip, dann ist dort die Doku für die 
DSP Sachen dabei. Ansonsten steht eigentlich alles über die Verwendung 
der MAC/Speichereingeit im Datenblatt des jeweiligen dsPics.

In den DSP-libs sind auch die Assembler Dateien der einzelnen Funktionen 
vorhanden. Sie sind sehr aufschlussreich. Jedoch sollte man wissen, wie 
z.B: ein FIR Filter funktioniert.


Stefan

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Microchip wirft Dich doch tot mit Infos...

Welche Anwendung soll es denn werden ??

Die dsPICs sind echt stark !

von C. H. (_ch_)


Lesenswert?

>Microchip wirft Dich doch tot mit Infos...
Das ist vielleicht genau das Problem. Wenn man irgend etwas wissen 
will, muss man immer mehrere Dokumente gleichzeitig durcharbeiten - 
anstatt dass es ein vernünftiges Datenblatt mit allen Infos gibt.

von Thomas (Gast)


Lesenswert?

Wie gesagt, ich habe bisher bei denen nur Code-Examples, ohne 
dazugehörige Applicagtion Notes oder sonstiges gefunden.

Wo steht z.B., wie ich die Filter-Koeffizienten im Programm ablegen 
kann, ohne
dieses File, dass vom kostenpflichtigen "dsPIC Filter Design"-Programm 
erstellt wird ?

von Stefan (Gast)


Lesenswert?

Hallo Thomas,

"Wo steht z.B., wie ich die Filter-Koeffizienten im Programm ablegen
kann, ohne dieses File, dass vom kostenpflichtigen "dsPIC Filter 
Design"-Programm erstellt wird ?"

Das steht eigentlich alles im Datasheet!

Zum Ablegen der Koeffizienten stehen dir eigentlich 2 Möglichkeiten zur 
Verfügung. Du definierst dir ein "fractional Array" und speicherst die 
Koeffizienten darin.

a) im Data-Speicher (=RAM) ablegen:
   Der dsPIC besitzt 2 RAM Bereiche, X und Y. Die MAC Einheit kann 
gleichzeitig auf diese beiden Bereiche zugreifen. z.B. liegen für einen 
FIR Filter die Koeffizient im Y-Bereich und die Datan im X-Bereich. 
Zusätzlich werden noch die Delay-Werte für die Filterung im X-Bereich 
gespeichert.
Der dsPIC holt sich gleichzeitig ein Daten-word aus dem X-Speicher und 
einen Koeffizient aus dem Y-Speicher und berechnet "MAC".

b) im Programm-Speicher (=FLASH) ablegen:
 Die Koeffizienten werden als Konstante so in dem FLASH abgelegt, dass 
sie über den PSV Zugriff gelesen werden können -->C30 Compiler Attribut 
"PSV". Durch einen PSV Zugriff wird der FLASH Speicherbereich in den 
Y-Speicherbereich gespiegelt. Somit kann die MAC-Einheit darauf, wie auf 
einen normalen Speicher zugreifen.
Die Daten und die Delay Werte werden weiterhin im X-Speicher abgelegt.

Aber deine Koeffizienten musst du dir schon selber berechnen z.B. 
Octave, Matlab oder diverse Programme. Wenn du nur mit festen 
Filterfunktionen arbeitest, dann kannst du sie einfach in wie in b) 
beschrieben in den FLASH legen. Brauchst du öfters andere Koeffizienten, 
dann musst du sie jedes mal z.B. per PC in den RAM laden oder neu in den 
FLASH schreiben.

Stefan

von Thomas (Gast)


Lesenswert?

Hallo Stefan,

danke für die Infos.
Ich bin eben erst auf dsPICs umgestiegen.
Durch das Lesen des Reference Manuals habe ich schon mehr Durchblick.

Die Speicherbereiche sind mir auch klar.

Digitale Signalverarbeitung und Digitale Filter sind kein Problem.

Filter waren nur ein Einstieg in die DSP Libraries des dsPICs. 
Eigentlich brauche ich die FFT-Funktion wesentlich öfter.

Mal sehen, wie es damit aussieht.

MfG
Thomas

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.