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?
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.
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.
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.
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.
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.
Sie können auch ein BeagleBoard verwenden , das für nur 150 $ von sparkfun erhältlich 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.
XTL