mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP DSP mit geringer Einarbeitungszeit?


Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: GSP (Gast)
Datum:

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

Autor: Haggy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Neubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... 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

Autor: Senf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Neubi (Gast)
Datum:

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

Autor: Haggy (Gast)
Datum:

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

Autor: Haggy (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
@ senf & neubi

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.