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.
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.
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
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.
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.
> 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 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.
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!
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
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.
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!
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
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