Forum: Digitale Signalverarbeitung / DSP / Machine Learning DSP mit geringer Einarbeitungszeit?


von Julian (Gast)


Lesenswert?

Hallo!

Ich bin kompletter MCU und DSP Anfänger und suche für meine Diplomarbeit 
einen DSP.  Meine Kriterien sind:

- geringe Einarbeitungszeit
- viel RAM (min. 100 KB)
- Leistung ist egal
- möglichst geringe Kosten für Chip und Eval-Board.

Meine bisherigen Recherchen haben ergeben, dass es in der unteren 
Preisklasse außer dem Blackfin nichts gibt, dass so viel RAM hat.

Die Alternative wäre Freescale DSP568XX oder DSP56F8XXX oder dsPIC mit 
externem RAM  (da müsste man natürlich noch ein Board für den Speicher 
basteln, aber da könnte ich Hilfe bekommen), wobei ich auch nicht weiß, 
wie leicht es ist, RAM an den dsPIC anzuschließen denn im Datenblatt 
steht davon nichts, während die beiden genannten Freescale Chips  extra 
so beworben, dass man externen Speicher anschließen kann.  Zumindest 
steht im Datenblatt „Up to 64K ×  16-bit words each of external Program 
and Data memory“ bzw.  „21 External Memory Address lines, 16 data 
lines“.

Meine Frage an Euch: Wo könnte man sich am einfachsten einarbeiten:

- Blackfin
- dsPIC mit externem RAM
- DSP568XX / DSP56F8XXX mit externem RAM

Ich habe bis jetzt nur C++ und Java auf dem PC programmiert. Wie lange 
brauche ich, bis ich mich im Selbststudium (40h/Woche) in 
Chip+Eval-Board eingearbeitet habe und selbstständig Code schreiben 
kann? Kann ich das in 2 Monaten schaffen?

Viele Fragen auf einmal. Ich hoffe ihr könnt mir helfen.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Julian wrote:
> - Leistung ist egal

Das bezweifle ich. Sonst würde ich einen AVR mit externem RAM empfehlen, 
der erfüllt deine Anforderungen am besten.

Was willst du überhaupt machen?

von Julian (Gast)


Lesenswert?

> - Was willst du überhaupt machen?

Der Algorithmus soll erst einmal  50 Multiplikationen und 50 Additionen 
von jeweils 4 Byte großen Werten berechnen. Dafür hat er 500 ms Zeit. 
Also nicht gerade hohe Leistungsanforderungen. (Für alle die es 
interessiert: Es geht um LDA=Lineare Diskriminanzanalyse).

Später soll der Chip dann auch noch eine Eigenwertberechnung auf einer 
ca. 30 kByte großen Matrix machen (daher auch meine hohen 
RAM-Anforderungen, ich hab mal 100 kB geschrieben, damit ich noch Luft 
habe.) Diese Berechnung muss allerdings nicht in Echtzeit passieren, es 
kann auch ruhig ne halbe Stunde dauern.

Ich vermute, das würde auch ein Mikrocontroller packen. Warum trotzdem 
ein DSP? Weil's so in der Aufgabenstellung steht und weil ein DSP auf 
MAC-Operationen spezialisiert ist, die recht häufig in dem Algorithmus 
vorkommen.

Das einzige Argument, doch einen normalen MCU zu benutzen, wäre 
geringerer Lernaufwand.

Ist es wesentlich einfacher einen MCU zu programmieren (müsste dann aber 
einer von Freescale sein, da Software schon vorhanden) als einen DSP?

von Matthias (Gast)


Lesenswert?

Ähm, es geht hier um ganze 100(!!!!) Multiplikationen pro Sekunde. Dabei 
schläft ja selbst der langsamste Microkontroller mit 
Hardwaremultiplizierer ein.

Den fast wichtigsten Punkt hast du übrigens immer noch unterschlagen: 
Von was für Datentypen reden wir? 8Bit Integer? 64Bit Floating-Point?

Ich glaube du solltest den Fokus auf was anderes legen, wie einfache 
Programmierbarkeit, einfacher Platinenaufbau.

von Olaf (Gast)


Lesenswert?

> Ist es wesentlich einfacher einen MCU zu programmieren (müsste dann aber
> einer von Freescale sein, da Software schon vorhanden) als einen DSP?

Das haengt von deiner Entwicklungsumgebung ab. Man kann auch DSPs in C 
programmieren und dann sind die Unterschiede eigentlich gering zu einem 
normalen Microcontroller. Allerdings musst du erstmal einen Compiler 
fuer deinen DSP haben. Die kosten da naemlich normalerweise ordentlich.

Du kannst den DSP natuerlich auch in Assembler programmieren, aber
ich glaube das willst du dir nicht antun, schon garnicht bei so einem
banalen Problem.

Loesbar ist das Problem sicher auch mit einem normalen Controller. 
Allerdings wuerde ich bei 32Bit Werten und vermutlich 64Bit Ergebnis 
nicht gerade einen AVR nehmen.

Olaf

von Flo (Gast)


Lesenswert?

Ich rate dir auch zu einem Mikrocontroller. Die Atmel ARM Dinger haben 
doch auch DSP-Funktionen. Damit wirst du sicherlich auch die geringste 
Einarbeitungszeit haben. Die Dokumentation/Codebeispiele von Atmel/Foren 
sind wirklich gut. Oder einen von TI.

Eine Alternative ist noch ein Infineon (z.B. XC164 Serie). Die haben 
auch DSP Funktionen drin. Da gabs damals so ein Evalboard für 99 Euro 
mit Wiggler. Da konnte man sämtliche Initialisierungsparameter eingeben 
und der hat dir schon mal einen StartUp Code erzeugt. Aber wirklich was 
über den µC gelernt hat man da nicht.

DSP in Assembler zu programmieren ist wirklich kein Spaß...da wirste als 
Anfänger erstmal 3 Monate dran hängen bist du des Ding halbwegs 
verstanden und initialisiert hast.

von GSP (Gast)


Lesenswert?

Der dsPIC hat einen einfachen ASM, der ist sehr leistungsfaehig. Wenn 
denn ein DSP sein muss. Die Devtools sind auch guenstig.

von Haggy (Gast)


Lesenswert?

Kann Dir nur raten die Finger von AnalogDevice DSPs zu lassen, die sind 
absoluter Mist, vom Manual ganz zu schweigen. Keine Ahnung was da für 
Amateure am Werk sind. Noch schlimmer sind nur die Evaluation Kits von 
Danville -> Kann nur jedem abraten so'n Scheiss zu benutzen.

Die Texas Instruments sind sehr gute leistungsfähige DSPs mit gut 
strukturiertem Manual, vielen guten Erklärungen und super 
Beispielprogrammen, die im Gegensatz zu AD sogar laufen.

Aber man wählt einen DSP nach dem Zweck, d.H. erstmal 
Pflichten-/Lastenheft aufsetzen und dann schauen welcher DSP am besten 
passt. Da es sich um eine Diplomarbeit handelt wirst Du wohl mit nem 
Evaluation Kit beginnen.

Schau mal bei TI in der 6000 Reihe, da findet sich bestimmt was.

Gruss,
 Martin

von Neubi (Gast)


Lesenswert?

1
... raten die Finger von AnalogDevice DSPs zu lassen ...

??? : wie kommst du auf eine solche aussage ?
wir verwenden einige derivate von AD-DSP's und sind eigentlich ganz 
zufrieden !??!

was konkret stört dich dabei ???


Neubi

von Senf (Gast)


Lesenswert?

nun Haggy hat die DSP's von Analog nicht geschnallt und da blieb nur der 
billige der NON PROFIT Variante von TI. Lasse am besten die Finger von 
allen DSP's.

von Neubi (Gast)


Lesenswert?

tippe auch eher darauf, dass Haggy der englischen sprache nicht mächtig 
war und somit die datenblätter einfach nicht lesen konnte ...

von Haggy (Gast)


Lesenswert?

Was macht ihr denn mit den ADs? Für richtige Arbeit sind die wohl kaum 
geeignet bei der miserablen Dokumentation?

von Haggy (Gast)


Lesenswert?

@ senf & neubi

Sind wie hier im Heise-Forum oder warum so beleidigend?

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.