Forum: Digitale Signalverarbeitung / DSP / Machine Learning Sinuston generieren mit TMS320VC5505


von Ingo (Gast)


Lesenswert?

Hallo,

ich soll mit Assembler einen Sinuston erzeugen, der dann über Kopfhörer 
vom TMS320VC5505 ausgegeben werden kann. Allerdings muss die Freqeunz 
variabel gestaltbar sein (womöglich in 1Hz- oder 10Hz-Schritten).
Da ich noch recht unerfahren sowohl mit Assembler als auch dem EZDSP 
bin, kann ich nicht nachvollziehen, wie ich den entsprechenden Adressen 
sage, was sie zu tun haben bzw. wie ich einzelnen Variablen ihre Werte 
zuordne.

Vielleicht kann mir ja jemand helfen

von Ingo (Gast)


Lesenswert?

Mir geht es darum nachzuvollziehen, wie beim EZDSP vorgegangen werden 
muss, da ich bisher nur über Matlab oder R programmiert habe und jetzt 
einfach nicht so schnell umdenken kann.

Vielen Dank schonmal im Voraus.

Ingo

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Hier gibt es einige Beispiele für das Board:
http://code.google.com/p/c5505-ezdsp/

Die Beispiele sind in C geschrieben. Das Audiofilter Beispiel lässt sich 
bestimmt entsprechend abändern.
Das würde ich dann compilieren und das Assemblerlisting anschauen. Das 
wiederum dann als Basis für eigene Assemblerentwicklung verwenden. So 
sieht man an einem schon relativ großen Beispiel, auf welche Eigenheiten 
man aufpassen muss und hat nebenbei einen schon relativ gut optimierten 
Programmierstil.

Mit entsprechenden Vorkenntnissen kann man das natürlich auch einfach 
unter der Hilfe aller Datenblätter und App-Notes der verwendeten 
Hardware gleich in Assembler machen, ohne eirgendwelche Beispiele 
anzusehen.

Warum muss das denn eigentlich in Assembler geschrieben sein?
Da gab es vor kurzem schon mal eine Anfrage:
Beitrag "TMS320VC5505 eZDSP USB Stick"

Ist das zur zu Ausbildungszwecken?
Normalerweise schreibt man Programme für so große Prozessoren nicht mehr 
in Assembler. Üblich ist es, Programmteile, die in einem bestimmten 
Timing ablaufen müssen, bzw. entsprechend schnell sein müssen, in 
Assembler zu schreiben und im C-Programm zu nutzen. Nachdem die 
Prozessoren aber immer komplizierter werden, so dass man mögliche 
Optimierungen selbst gar nicht alle überblickt, ist bei DSPs eine 
Implementierung in einer Hochsprache oft genauso effizient.

Grüße,

Peter

von Ingo (Gast)


Lesenswert?

Hallo Peter,

vielen Dank für Deinen Hinweis!

Allerdings habe ich dieses Beispiel schon mal ausprobieren bzw. 
ausführen wollen. Nur leider kann ich das Beispiel nicht in den 
Controller laden und ausführen lassen. (In der Debug-Ansicht des 
Code-Composer-Studios kommt die Fehlermeldung "Source not found").
Auch wenn ich die Codebeispiele einzeln in die C/C++ Ansicht reinlade 
und dann ausführen möchte, werden permanent Fehler angezeigt.
Bei allen anderen Beispielen funktioniert es aber seltsamerweise.
Übersehe ich eventuell etwas?

Danke schonmal für die Hilfe.

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.