dsPIC DSP Libraries Tutorial

Gast #874944
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
Gast
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
>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.
Gast
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 ?
Gast
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
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.