Forum: Digitale Signalverarbeitung / DSP / Machine Learning Billiger einstiegs-DSP?


von Robbi Tobbi (Gast)


Lesenswert?

Hallo Leute,

ich suche für einige Versuche (wisbegieriger Natur) einen einfachen und 
billigen DSP.

Angesehen habe ich mir die DsPICs. Die sind ja relativ günstig (meist 
<8€). Auch gibt es haufenweise Appnotes. Nur sieht es mau mit 
kostenfreien Compilern aus - SDCC kann den zum beispiel nicht :(

Jetzt suche ich für erste Gehversuche einen DSP (oder µC mit DSP 
Funktionen) der einfach zu bekommen ist, günstig und möglichst auch 
einfach programmiert werden kann. Auch sollte der Compiler nichts 
kosten.

Ideen die ich damit versuchen möchte sind u.A. 
Kleinleistungswechselrichter bzw generell alles was mit 
Leistungselektronik zu tun hat.

Von TI die Picolos finde ich sogar noch schicker, nur ist da die 
Software sündhaft teuer und die Programmierschnittstelle ist auch nicht 
gerade billig.

: Verschoben durch Admin
von Jens (Gast)


Lesenswert?

Wenn ich mich recht erinnere, kann der C30-Compiler von Microchip mit 
den dsPIC umgehen. Da gibt es eine (fast) voll funktionsfähige 
Studentenversion für lau.

von Robbi Tobbi (Gast)


Lesenswert?

Ja aber dafür brauche ich doch sicherlich einen "Schein" auf dem 
bestätigt wird, das ich Studi bin, was ich ja nicht bin :(
Da schweift man ja sicherlich schnell in das illegale

von Jens (Gast)


Lesenswert?

Nein, da ist kein Schein nötig. Einfach bei Microchip auf der Website 
registrieren und das Programm downloaden. Das Ding nennt sich zwar 
Studentenversion, doch es bekommt jeder. Es gibt im Vergleich zur 
Vollversion auch nur zwei Einschränkungen in der Compiler-Optimierung, 
wo der erzeugte Code etwas größer wird. Bisher hat mich das aber nicht 
gestört.

von Robbi Tobbi (Gast)


Lesenswert?

Da fällt mir noch ein, das ich nen ICD2 habe (also aktuell gibt es wohl 
den IDC3). Kann ich den noch benutzen um die "Dinger" zu programmieren?

von Marius W. (mw1987)


Lesenswert?


von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Robbi Tobbi schrieb:
> Kann ich den noch benutzen um die "Dinger" zu programmieren?

MPLAB sagt ja, siehe Screenshot...

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Der Compiler ist bei den Demoboards für die Ti Piccolo dabei und die 
sind auch nicht sonderlich teuer.
http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?familyId=916&sectionId=95&tabId=2655&toolTypeId=1

Das TMDXDOCK28027 wäre z.B. schön, da ist das Experimentierboard mit 
integriertem Programmiergerät dabei und der (unbeschränkte) Compiler 
auch. Die Karte kann man rausnehmen und mit den passenden Sockeln 
(TMDSDIM100CON5PK) auch auf eigenen Leiterplatten einsetzen.

Der Compiler (CCS-FREE) ist für die C2000 Serie von Ti generell 
kostenlos, solange man den einfachen, dafür etwas langsameren XDS100 als 
Programmiergerät und Debugger verwendet.

Den XDS100 kann man problemlos selbst nachbauen:
http://processors.wiki.ti.com/index.php/XDS100#How_to_make_an_XDS100_.2F_How_to_build_an_XDS100_hardware_emulator

Grüße,

Peter

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ich würde bei Leistungselektronik alleine schon wegen der ePWM Unit 
einen C2000 von Ti verwenden. Damit schafft man teilweise bis zu 150 
Pikosekunden Auflösung bei der PWM.

von BoeserFisch (Gast)


Lesenswert?

Ich könnte folgendes empfehlen:

http://www.analog.com/en/embedded-processing-dsp/blackfin/bf506-hardware/processors/product.html

VDSP kann man allerdings in die Tonne treten (für erste Gehversuche 
allerdings ist es ok). Aber da der gcc prima mit dem Blackfin 
funktioniert...

Grüsse!

von Olaf (Gast)


Lesenswert?

> Jetzt suche ich für erste Gehversuche einen DSP (oder µC mit DSP
> Funktionen) der einfach zu bekommen ist, günstig und möglichst auch
> einfach programmiert werden kann. Auch sollte der Compiler nichts
> kosten.

Die kleinen R8C von Renesas sind zwar sicherlich keine DSPs, aber
16Bit Controller und haben einen Multiply+Add Befehl.
Entwicklungsumgebung sowohl Renesas wie auch gcc ist kein Problem.
Es gibt auch spezielle Versionen extra fuer Motorsteuerungen und 
Leistungkram die irgenwelche abgefahrenen PWM-Modi unterstuetzen. Habe 
ich aber selber keine Erfahrungen mit.

Andere Moeglichkeit:
Der SH7262 (SH2A) mit dem ich gerade rumspiel hat 144Mhz, fuehrt zwei 
32Bit Befehle pro Takt aus, kann sehr schnell auf IRQs reagieren 
(16Registerbaenke), hat eine Fliesskommaeinheit und Dualportram 
(gleichzeitiger Zugriff von CPU und DMA). Das ist zwar auch kein DSP, 
aber vielleicht reicht die Leistung ja schon. :-)

Auch da ist der Compiler von Renesas umsonst (beschraenkt auf 256kb) und 
gcc ist auch moeglich.

> Aber da der gcc prima mit dem Blackfin
> funktioniert...

Wie gut ist der gcc denn dann eigentlich aus der Sicht des 
DSP-Entwicklers?
Ich koennte mir vorstellen das er als Allroundcompiler den es fuer jede 
CPU gibt da weit hinter den speziellen Compilern der Hersteller liegt. 
Liege ich da falsch?

Olaf

von Purzel H. (hacky)


Lesenswert?

Von Texas Instruments kann ich nur abraten. Die Teile sind zwar gut, 
aber die Devkits laufen nur mit dem mitgelieferten Compiler, resp 
umgekehrt. Man kann nicht den Compiler des Devkits an eigene Hardware 
anschliessen, sondern muss einen superteuren Compiler kaufen. Texas 
Instruments macht auch Probleme wenn jemand einen eigenen Compiler 
schreiben will, ruecken die Daten nicht raus.

Ich wuerd auch einen dsPIC empfehlen.

von Robbi Tobbi (Gast)


Lesenswert?

Das der Compiler von TI sehr teuer ist, habe ich auch schon bei meiner 
Suche raus gefunden - obwohl der mit all seinen Features mir schon am 
ehesten zusagen würde! Schade eigentlich!

von Strubi (Gast)


Lesenswert?

Moin,

zu den TIs muss man sagen, dass die DM/DaVinci und OMAP-Teile schon im 
Prinzip mit dem gcc funktionieren, da ARM-Core.
Was nur ein absoluter Graus ist: das Debuggen. Die TI-Architekturen sind 
absolut inhomogen, ein Wildwuchs von verschiedenen Cores und 
Peripherals, also nicht wirklich was fuer Einsteiger (von den Piccolos 
abgesehen).
Drum die Frage: Warum nicht gleich nen gaengigen ARM?
GCC ist zwar ein Allround-Compiler, aber beim z.B. beim Blackfin wuerde 
ich behaupten, dass er besseren Code generiert als die proprietaere 
VDSP-Toolchain (die ich fuer vernuenftige Projekte eher nicht so 
effektiv ist). Was ARM angeht, ist der Support sowieso schon sehr 
ausgereift.
Und das wichtigste zuletzt: Der Debugger-Support. Bei ARM und Blackfin 
funktioniert das prima mit GDB und den entsprechenden JTAG-Backends:
- OpenOCD auf dem ARM
- ICEbear/gdbproxy auf dem Blackfin

Der Teufel steckt im Detail (mit all den verschiedenen Architekturen), 
aber gerade bei ARM und Blackfin bleibt man als zur Effektivitaet 
gezwungener Mittelstands-Entwickler am wenigsten stecken. Bei TI DSPs 
(abgesehen von ARM) ist mit vielen versteckten Kosten und viel "closed 
source" zu rechnen, die auf den ersten Blick bessere Leistung (was z.B. 
Videokompression angeht) lohnt sich nur, wenn man GENAU die vorgegebene 
Anwendung benutzt und nicht mehr debuggen muss.

Unsere Strategie:
1. Unter Linux/gcc die Algorithmen entwickeln (moeglichst 
plattformunabhaengig)
2. Library auf den Target portieren
3. Noetige Hardware-Layer schreiben

Funktioniert prima, und der gleiche Code tut dann dank GCC sehr gut auf 
verschiedenen Plattformen.
Gebe zu, ich bin inzwischen schon solch ein GCC-Nazi geworden, dass ich 
keine von GCC nicht unterstuetzte Plattform mehr anfasse...

Gruesse,

- Strubi

von Robbi Tobbi (Gast)


Lesenswert?

Hmm, gibt es denn ARM Cores die für meinen Einsatz ideal wäre?
Hab mal mit den LPC2119 gearbeitet. Ich muss aber passen, in den Bezug 
auf die PWM Einheiten. Sind die für Leistungselektronik schnell genug?

Hat da vielleicht jemand schon Erfahrung in diesem Segment mit den NXP 
ARMs gesammelt?
Mir würde da jetzt spontan der LPC2103 einfallen, der hat wenn ich mich 
recht erinnere 6 PWMs, aber wie schnell die jetzt sind??? Muss ich wohl 
noch einmal die Datenblätter studieren.

von Josef (Gast)


Lesenswert?

Das Entwicklungstool von TI (CodeComposer V4.1) fuer Piccolo ist 
kostenlos!
und basiert auf der offenen Entwicklungsplatform ECLIPSE. Ich wuerde 
nicht eine geschlossene Herstellerspezifischen Platform nutzen. Ist zu 
unflexibel.
PS: Der CodeComposer unterstuetzt uebrigens auch ARM Derivate!

von branadic (Gast)


Lesenswert?

Hallo,

für die STM32 gibt es wohl eine DSP-Lib. Die STM32 sind 32biter und 
vergleichsweise günstig und schnell. Kostenfreie Compiler gibt es auch. 
Vielleicht wäre das eine Alternative?

branadic

von Friedrich (Gast)


Lesenswert?

Hallo Robbi.

>Von TI die Picolos finde ich sogar noch schicker, nur ist da die
Software sündhaft teuer und die Programmierschnittstelle ist auch nicht
gerade billig.

Die komplette Umgebung (Code Composer Studio V4) ist bei den C2000ern 
kostenfrei. Die Umgebung läuft stabil.

fj

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.