Forum: Digitale Signalverarbeitung / DSP / Machine Learning C2000 32 bit 28x Piccolo + SIMULINK


von Dennis (Gast)


Lesenswert?

Hallo uC-Community,

ich habe einige Fragen zu dem DSP C2000 von TI.
Ich muss gerade eine Studienarbeit schreiben in der ich den oben 
genannten DSP mit Simulink programmiere. Jedoch bin ich neu in Sachen 
SIMULINK und hätte dazu einige Fragen. Ich hoffe ihr könnt helfen bzw. 
habt Erfahrung.

Und zwar geht es eigentlich mehr um die Programmierung und die 
Laufzeiteinstellungen in Simulink.

1. Frage: Wenn ich in Simulink mehrere Schleifen oder Blöcke habe, woher 
weiß in welcher Reihenfolge der DSP das Programm abarbeitet, bzw. wie 
wird das Simulinkprogramm in C-Code umgewandelt. Da ich in Simulink ja 
keinen Laufcode habe?

2. Frage: Wenn ich mein Simulinkprogramm in Simulink simuliere, stelle 
ich ja dort Zeiten ein (in den Blöcken z.B bei einem Timer) und in den 
Simulations- und Parametereinstellungen. Kann ich sagen das diese Zeiten 
der DSP übernimmt oder muss ich diese Laufzeiten irgendwie ausmessen, 
bei laufendem DSP ?

Ich glaube meine Beschreibung ist ein bisschen schwammig liegt daran das 
ich mich mit den Begriffen in Simulink nicht gut auskenne, sorry. Bitte 
fragt einfach nach ich versuche das dann besser zu beschreiben.

Vielen Dank für eure Mühe.

Dennis

von Dennis (Gast)


Lesenswert?

Hallo,

gibt es in diesem Bereich keinerlei Erfahrung, bzw. kann mir niemand 
helfen ?
Oder sind meine Fragen einfach zu doof gestellt ? Mir würde es vllt 
sogar reichen wenn jemand überhaupt einen uC mit Simulink programmiert, 
es muss ja kein DSP sein.

Zu Frage 1. konnte ich auch weiterhin keine Infos finden.

Zu Frage 2. hier bin ich auf Infos gestoßen....

Die Simulations- und Parametereinstellungen sollten im Solver als 
Fixed-step eingestellt werden, so kann die Rechenzeit genauer für die 
Hardware (uC, DSP) abgeschätzt und mit anderen Messergebnissen 
verglichen werden.

Außerdem muss vor dem "builden" angeblich im "Fixed Point Adviser (FPA)" 
floating point in fixed point umgewandelt werden.

Die Zykluszeit eines Programmdurchlaufs kann man einsehen wenn man das 
Programm im "RTW" bzw. neu im "Simulink Coder" builded und in den "Model 
Execution Profiling Results" die "Average turnaround time" anschaut.

Kann das jemand nachvollziehen bzw. unterschreiben ?

Eine weiter Frage kamm mir während den Recherchen dazu :/ ..

Und zwar weiß jemand welche Simulink Blöcke für C-Code geeignet sind 
bzw. gibt es hierzu eine Liste ?

Weiterhin vielen Danke für eure Mühe

Dennis

von Olle Kammelle (Gast)


Lesenswert?

Den uC kenne ich...zu Simulink kann ich Dir allerdings nichts sagen :-D

von Dennie (Gast)


Lesenswert?

Hallo Dennis,

gerade ist es auch mein Problem.

Soviel kann ich dir helfen: Ein C Code von Simulink kannst du generieren 
mit Code Generator (Tools -> Code Generation). Daraus kannst du 
versuchen, welche C Code für welche Bauteil verantwortlich ist.

Falls doch eine Liste existiert wurde ich auch gerne wissen ;)

von Stefan Z. (wooschder)


Lesenswert?

Bin mir nicht ganz sicher, aber ich glaube mit dem Realtime Embedded 
Workshop kannst du das CodeComposerStudio fernsteuern.
Beim Starten in Simulink wird zuerst ein C-Code erzeugt, und der dann im 
CodeComposerStudio compiliert. Du kannst versuchen, irgendeinen Block 
einfügen, dem einen doofen geben und den C-Code anschauen. Danach einen 
zweiten Block mit nem dooferen Namen einfügen und im C-Code danach 
suchen. AFAIR fügt Simulink noch Prä-/Suffixe hinzu.

Wie machst du in Simulink eine Schleife?

Hints:
Ich hatte Probleme mit den Versionen von CCS und Simulink. Manche 
Kombinationen haben funktioniert, andere sind abgestürzt.
Die Optimierungsstufe -o3 hat nicht funktioniert. Kann aber bei anderen 
Versionen anders sein.

Gruß

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.