DSP-Empfehlung für Einsteiger [geschlossen]

Ich erwäge ein Projekt, das einen fairen Anteil an digitaler Signalverarbeitung beinhaltet. Soweit ich weiß, sind die digitalen Signalprozessoren die besten IC-Typen, die dafür geeignet sind. Ich habe noch nie damit gearbeitet - können Sie mir ein Modell empfehlen, das für Anfänger einfach genug ist? Das Projekt umfasst das Filtern von digitalem Hi-Fi-Audio (44100 Hz, 16-Bit-Stereo) auf verschiedene Weise.

Benötige ich außerdem ein zusätzliches uC, um beispielsweise eine Benutzeroberfläche mit einem LCD-Panel und einigen Tasten zu steuern, oder kann der DSP dies zusammen mit seiner Signalverarbeitungsaufgabe bewältigen?

Antworten (9)

Ein paar gute Einstiegs-DSPs sind der C5505 DSP von TI und der C6713, ebenfalls von TI. Ich mag den ersten, weil er nur 55,00 $ kostet, und ich mag den zweiten, weil ganze Bücher über den Chip geschrieben sind (Digitale Signalverarbeitung und Anwendungen mit dem C6713 und C6416 DSK). Die meisten DSP-Evaluierungsboards haben eingebaute Unterstützung für LCDs.

Ti hat auch wieder ein paar ordentliche Devkits herausgebracht: prozessoren.wiki.ti.com/index.php?title=Ezdsp

Die dsPIC30F-Reihe von Mikrocontrollern von Microchip sind hervorragende Einstiegs-DSPs. Sie werden in C oder Assembler genauso programmiert wie andere PICs, enthalten aber DSP-Bibliotheken, die beim Filtern usw. helfen. Sie verfügen über alle erforderlichen Peripheriegeräte für die meisten Projekte (ADC, DAC, serielle Kommunikation, Timer, die Liste geht weiter und weiter). Sie sind ziemlich billig (nicht mehr als 10 US-Dollar), können in Durchsteckgehäusen bemustert und mit Standard-PIC-Programmierern und -Debuggern programmiert werden.

Sehen Sie sich die DSP-Seite von Analog Devices an .

Und die kostenlosen Entwicklungstools .

Keine Programmierung erforderlich, einfach Drag-and-Drop-GUI-Objekte.

Die Entwicklungswerkzeuge sind kostenlos wie in Bier, nicht wie in Freiheit. Außerdem ist Drag-and-Drop-Programmierung nicht automatisch eine gute Sache - einige von uns bevorzugen die altmodische Methode, und das aus gutem Grund! Allerdings hat AD gute DSPs. Ich habe gesehen, dass ihre SigmaDSPs mit gutem Erfolg zur Rauschunterdrückung und Digitalisierung in Automikrofonen verwendet wurden, aber sie haben mehrere Linien für verschiedene Märkte.
Beachten Sie, dass dies Sample-basierte Prozessoren sind, die keine blockbasierten Operationen wie FFT ausführen können. dsprelated.com/showmessage/131569/1.php

Wenn Sie sich für eines der dsPIC-Teile entscheiden, können Sie sowohl Schnittstelle als auch Verarbeitung in einem haben (das sind auch großartige Allzweck-MCUs). Sie sind in SOIC- und DIP-Gehäusen erhältlich, was das Prototyping vereinfacht, und einige der dsPIC 33-Reihe lassen fast alle Pins neu zuordnen, was das Routing einer Platine zum Kinderspiel macht.

Hardware ist großartig, aber die Entwicklungstools von Microchip sind SCHRECKLICH.
Wir haben dies aus dem letzten Kommentar herausgefunden, den Sie hinterlassen haben. :)

Sie brauchen wirklich, wirklich, keinen DSP, um sogar fortgeschrittene Audiofilter auf einem 44,1-kHz-16-Bit-Stereosignal durchzuführen.

Ein ARM-Kern ist für das Filtern und Ausführen des LCD / der Tasten gut geeignet.

Ich würde einfach ein Beagleboard nehmen , RT-Linux darauf werfen und loslegen. Wenn Sie wirklich nach Leistung suchen, gibt es auch einen TI 64x+ DSP an Bord des SoC.

Gerade in der Audiowelt gibt es heute nur noch wenige Anwendungen, für die ein DSP benötigt wird. Wenn Sie es mit 32 Kanälen mit 192-kHz-24-Bit-Audio zu tun haben, ist die Latenz kritisch, ja, entscheiden Sie sich für den DSP. Aber womit Sie arbeiten, liegt durchaus innerhalb der Möglichkeiten moderner Mikrocontroller.

Ich suche das gleiche. Dieser Thread enthält einige Vorschläge.

Es gibt auch das TAS3202 System-on-a-Chip von TI, das alles zu haben scheint, was Sie zum Filtern von Stereo-Audio benötigen. Konverter und alles sind eingebaut. Der Chip selbst kostet etwa 5 US-Dollar, aber das Bewertungsboard kostet etwa 500 US-Dollar . Meine Güte.

(Sie können einen einzelnen TAS3204 für etwa 10 US -Dollar bekommen . TAS3202 kann ich nicht einmal in geringen Mengen finden.)

Es gibt auch den AK7742 , der eine sehr praktische GUI hat, aber Sie müssten das Evaluierungsboard kaufen.

Ich würde gerne ein Open-Source-DSP-Board für Bastler wie BASIC Stamp, Arduino, Chameleon usw. finden.

Um die allgemeinen Grundlagen von DSP zu erlernen, sollten Sie jedoch mit Ihrem Computer beginnen und Tools wie MATLAB oder seine kostenlosen Klone Scilab , Octave , Freemat usw. verwenden, um Simulationen durchzuführen. Ich habe in letzter Zeit viel mit SciPy herumgespielt. Auf diese Weise können Sie die theoretischen Dinge lernen, ohne sich mit den Implementierungsdetails zu verzetteln.

+1 MATLAB-Vorschlag. Es ist viel besser, es in MATLAB zum Laufen zu bringen, bevor es auf einen tatsächlichen DSP portiert wird.

Um den zweiten Teil Ihrer Frage zu beantworten: Ja, Sie benötigen wahrscheinlich einen Allzweck-Mikrocontroller für Ihre Benutzeroberfläche. DSPs sind dedizierte Prozessoren: Sie machen eine Sache sehr gut (Signalverarbeitung), aber sonst nichts.

??? Heutzutage unterscheiden sich DSPs und Mikrocontroller kaum. Sie sind für Hochleistungs-DSP-Verarbeitung optimiert, ja, aber kein Grund, warum Sie keine Allzweck-Sachen machen können, es sei denn, Sie müssen mit viel Speicher umgehen, und selbst dann müssen Sie nur einen DSP mit einem externen finden Daten-/Adressbus.
Das einzige, was ein DSP hat, was ein uC heutzutage nicht hat, sind kreisförmige Adressierungsmodi. Abgesehen davon sind sie im Grunde dasselbe. Vielleicht hat ein typischer uC mehr I/O- und DMA-Kanäle, aber die Blackfin-Familie von Analog Devices macht auch das zu einer ziemlich veralteten Annahme.
Das Hinzufügen zufälliger Funktionen zur Last auf dem DSP kann einige Risiken mit sich bringen, aber sie sollten durchaus in der Lage sein, allgemeine Schnittstellen wie Anzeigen / Schaltflächen / Kommunikationsleitungen bereitzustellen.

Sie können auch ein BeagleBoard verwenden , das für nur 150 $ von sparkfun erhältlich ist

Das Problem mit dem Beagleboard ist, dass Sie keinen Zugriff auf digitale Audio-E/A erhalten. Die D/A-Wandler sind verdrahtet. Russ White von Twisted Pear Audio hat es so gehackt, dass es mit den Buffalo D/A's funktioniert, aber mir wurde gesagt, dass es nicht so einfach ist.

Zwei alternative Optionen könnten auch einen Blick wert sein:

Mikrocontroller mit Mixed-Signal-Fähigkeiten wie MSP430. 44k * 2 * 2 sind viele Samples, sodass Sie möglicherweise nicht viel Zeit haben, sie bei den Geschwindigkeiten zu verarbeiten, in denen diese ausgeführt werden.

Eigenständiger PC, PDA oder ähnliches. Sie erhalten wahrscheinlich mehr oder weniger HI-FI (und aufrüstbares) AD/DA- und Audiomaterial eingebaut und verfügen über eine enorme CPU-Leistung sowie Anzeigefähigkeiten. Gute Entwicklungssoftware ist oft kostenlos und Hardware kann billig oder sogar kostenlos sein. Die Latenzen könnten jedoch hoch sein, und Sie müssten mit einer großen, leistungshungrigen, ineffektiven Maschine arbeiten.

Das Problem dabei ist, dass der Overhead des laufenden Betriebssystems fast jede Art von Anwendung beenden wird. Der Stromverbrauch steht in keinem Verhältnis zu dem, was Sie mit einer Form von DSP finden würden. Kurz gesagt, es wird funktionieren, aber die eigenständige PC-Option ist sehr ineffizient.