www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Multi-DSP-System Infoquellen

Autor: Gast (Gast)
Datum: 14.04.2008 13:21

Hallo Experten ;-)

Ich werde mich in der nächsten Zeit etwas intensiver mit (einem)
Multi-DSP-System beschäftigen. Das Ziel ist eine Art Framework inklusive
Betriebssystem für ein Multi-DSP-System. Da ich in diesem Gebiet noch
Anfänger bin, will ich mich erstmal informieren.

Nun meine Fragen...
Was ist in dieser Richtung auf dem Markt vorhanden? (Welche Produkte
oder Projekte)
Kennt ihr passende Informationsquellen? (Internetseiten oder Literatur)
(zum Thema Betriebssystem für DSP oder Multi-DSP-System oder Framework
für DSP...)

Würde mich über jeden kleinsten Tipp sehr freuen.

Vielen Dank!
Autor: 6645 (Gast)
Datum: 14.04.2008 19:52

Mit einem Betriebssystem ist die Leistung eines DSP im Keller, ist das
gewuenscht ?
Autor: Gast (Gast)
Datum: 15.04.2008 07:22

Das ist noch nicht ganz klar ob das gewünscht ist ;)
Erklärst du mir wieso das so ist? (Wo kann ich das nachlesen?)

Vielen Dank
Autor: Martin Strubel (strubi)
Datum: 15.04.2008 13:28

Moin,

> Mit einem Betriebssystem ist die Leistung eines DSP im Keller, ist das
> gewuenscht ?

Das muss nicht unbedingt so sein. Bei den "Hybriden" wie z.B. dem
Blackfin ist der Overhead - je nach System - nicht immens. Was eher
leiden kann, ist die Echtzeitfaehigkeit, der Begriff ist allerdings auch
wieder dehnbar. Kommt halt wirklich auf die Anwendung an..

Was soll das System denn leisten? Komplette Parallelverarbeitung, oder
auch intensiven Datenaustausch unter den CPUs?

Ich persoenlich weiss von verschiedenen Ansaetzen bzgl.
Multi-DSP-Boards:

* Multi-DSP-Board mit 4 single-core BF533, unabhängige
Parallelverarbeitg
* Dual-Core BF561 boards mit uClinux auf Core A und pur-DSP-Routinen auf
Core B

Mit den guten alten Motorola 56k(96k) DSPs wurden einige
Multi-DSP-Projekte umgesetzt (am besten mal googeln) aber das ist schon
ne geraume Weile her, den Chip gibts in der Variante nicht mehr. An der
Architektur dieser Boards kann man sich allerdings heute noch
orientieren.

Ein wichtiger Punkt sind die Entwicklungstools.
Multicore-Debugging-Tools sind oft schweineteuer, besonders spassig
wird's bei Prozessoren, die Cores unterschiedlicher Architekturen
vereinen, wie die DaVinci-Prozessoren von TI. Eventuell kann man sich da
tuechtig ins Knie schiessen, man hat zwar einen leistungsfaehigen
Prozessor, aber wendet beim Debugging unverhaeltnismaessig viel Zeit
auf.

Gruss,

- Strubi
Autor: Gast (Gast)
Datum: 18.04.2008 15:22

Genau... Es stellt sich erstmal die Frage: Wie sinnvoll ist
Parallelverarbeitung bzw. "Pipeverarbeitung" für die Digitale Signal
Verarbeitung? Welche Verfahren lassen sich parallelisieren?

Und dann noch die Frage, welche Boards kann ich dazu nutzen? Was ist bei
so einem Board alles dabei? Nur die reine Hardware? Framework? Wie gut
sind die vorhandenen Frameworks?

Mein Ziel ist erstmal der Aufbau eines Multi-DSP-Systems mit Konzeption
und Entwicklung eines Frameworks welches Digitale Signal Verarbeitung
vereinfachen soll. Und am besten natürlich ein Framework das sich von
vorhanden etwas unterscheidet, indem es bestimmte Aspekte besser löst.
Ob da ein Betriebssystem wirklich grosse Vorteile bringt weiss ich noch
nicht. Schätze den Aufwand dafür sehr hoch ein. Und wenn es dann nur
leicht was vereinfacht, dann lohnt es sich kaum.

Vielen Dank für eure Meinungen und Tipps. Die sind mir eine große Hilfe!
Autor: Strubi (Gast)
Datum: 18.04.2008 17:29

Hi,

willst du das Ganze akademisch angehen, oder hast du ein bestimmes
Projekt im Sinn?
Es duerfte recht teuer werden, "mal eben so" ein Multi-DSP-Board zu
besorgen. Koennte dir schon Quellen nennen, aber das Thema ist so
komplex und oft derart spezialisiert, dass keiner ein
Multiprozessorboard mal eben so zum evaluieren anbietet. Die mir
bekannten Kunden haben alle ihre eigenen, dedizierten Systeme
entwickelt.
Von der akademischen Seite her gibts einige Ansaetze aus der
Transputerzeit (man erinnere sich), die mit Occam und anderen Exoten wie
Erlang laufen.
Ist meiner Meinung aber alles eben immer noch akademisch und scheint
sich deshalb auch bisher zur Loesung konkreter Entwicklungsaufgaben
nicht wirklich durchgesetzt zu haben (lasse mich gern eines bessern
belehren).

Wenn Du wirklich mit Multi-Core experimentieren willst, wuerde ich mir
entweder einen ganz normalen Multicore-AMD i86 besorgen, oder wenn's in
Richtung embedded gehen muss, mal den Blackfin BF561 anschauen. Der Chip
hat z.B. an jedem Core einen schnellen Parallelport angebaut, ueber den
sich per DMA Daten einlesen und simultan verarbeiten lassen.

Viele DSP-Projekte lassen sich auch mit einer effizienten Kombination
aus FPGA und DSP erschlagen - damit hat man dann serielle und parallele
Verarbeitung sauber getrennt. Haengt halt wirklich alles von der
Aufgabenstellung ab.

Gruss,

- Strubi
Autor: Gast (Gast)
Datum: 24.04.2008 12:45

Hallo Strubi.
Ja das ganze soll akademisch angegangen werden. (Also kein all zu
komplexes System!)
Deswegen wollte ich mich zu Anfang auch erstmal in das Thema
einarbeiten.
Könntest du mir ein paar Quellen du aktuellen Projekten nennen?
Es wird wahrscheinlich so sein, dass ich zwei einzelne DSP-Boards
zusammenbringe und somit schonmal ein Multi-DSP-System habe. Dafür werde
ich auf jeden Fall ein Framework entwickeln. Was würde mir ein
Betriebssystem für Vorteile bringen und wie umfangreich ist die
Entwicklung?

Vielen Dank soweit! :)
Es ist immer wieder ein Erstaunen wenn Leute (einfach so) helfen.
Autor: Martin Strubel (strubi)
Datum: 24.04.2008 16:59

Hi 'Gast',

Zu dem genannten Multi-DSP-Projekt gibts folgende Links:

Uebersicht:

http://soma.mit.edu/browser/DSPboard/trunk/docs/ov...

Generell findet sich die Projektseite:

http://soma.mit.edu/

Momentan ist noch nicht viel Dokumentation verfuegbar, das kann sich
aber aendern. Das Projekt ist mitten in der Entwicklung, Hardware laeuft
schon.
Das System ist allerdings eher vom Hardware-Aspekt interessant, da
simultane Verarbeitung auf allen DSPs erfolgt, ohne massive
Kommunikation zwischen den DSPs.

Sonst einfach mal bei Fraunhofer nachgoogeln, die hatten auch mal was
mit 56k-Derivaten, inzwischen duerften es TI-DSPs sein.

Zum Thema OS: Fragt sich, wie parallel die Verarbeitung sein muss. Wenn
die DSPs untereinander (womoeglich synchron) kommunizieren muessen,
brauchst Du irgend eine Art Message Pipe oder "time domain slots". Da
mir kein Multi-DSP-Betriebssystem bekannt ist, das simpel, generisch und
groesstenteils plattformunabhängig ist, wuerde ich mal fast behaupten:
Du wirst das "Betriebssystem" selber schreiben muessen.
Wenn Du bereits die Boards hast, ist das ev. kein schlechter Ansatz, mal
die moeglichen Datenkanaele zur Kommunikation (SPORT, Microwire/TDM, und
wie sie alle heissen) zusammenzuhaengen und ganz unten anzufangen. Sei
es akademisch oder praktisch, ich vermute mal, man wird sich hier kaum
jemals in ein gemachtes Nest setzen koennen.
Ist fuer mich auch schwer, dir sinnvolle Tips geben zu koennen, da mir
halt die Anwendung / Idee nicht klar ist.
Hoffe, das hilft dennoch weiter.

Gruss,

- Strubi

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net