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
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... Welche Anwendung soll es denn werden ?? Die dsPICs sind echt stark !
>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.
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 ?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.