Low-End-DSP vs. High-End-MCU

Ich arbeite derzeit an einem Gitarren-DSP-Projekt, das auf STM32F407VGT6 basiert, aber im Laufe der Zeit komme ich zu dem Schluss, dass ich eine größere Einheit (mit SDRAM) benötigen werde. Die Frage, die in meinem Kopf klingelt, ist, was besser ist, Low-End-DSP oder High-End-MCU. Vergleichen wir zum Beispiel STM32F439 im 144-QFP-Paket mit ADSP-21489 im 176-QFP. Beide Einheiten kosten um die 100 PLN (~22 Euro/Einheit), und das ist ziemlich viel Geld im Vergleich zu klassischen MCUs, die 1/10 des Preises kosten.

Warum ist stm32f439? Es ist eine 180-MHz-Einheit mit DSP- und FPU-Einheiten im Kern, CortexM4F-basiert mit SDRAM-Controller. Derzeit ist es ein Deckengerät auf dem MCU-Markt, soweit ich weiß, gibt es nichts Leistungsstärkeres (M7 ist noch nicht auf dem Markt).

Auf der anderen Seite haben wir Low-End-DSP von Analog Devices mit 400 MHz und alle Arten von DSP-Produkten auf Silizium. (Ich kann nicht viel darüber sagen, da ich es nie benutzt habe).

Die Frage ist was ist besser? Der Vorteil von STM32 sind günstige Tools, bekannter Kern, gute und kostenlose Tools. Ist klassisches DSP viel besser oder ist der Unterschied vernachlässigbar?

Allen einen schönen Tag, Chris

Oder dsPIC, billige Teile, Tools und DSP-Funktionen.
Bei dsPIC bin ich mir nicht sicher, ob es genügend Leistung hat, es ist eine 16-Bit-Einheit und hat keine SDRAM-Schnittstelle (ich brauche es, da ich Samples über einen langen Zeitraum [bis zu 10 Sekunden] speichern muss).
1. Es spricht nichts dagegen, 16-Bit-Teile für Audio zu verwenden. 2. Das Speichern von Samples für 10 Sekunden und eine Samplerate sind Dinge, die in Ihrer Frage enthalten sein müssen.
Was 1 betrifft, ist es gut, da heutzutage 24-Bit-ADC zum Standard werden. Zum zweiten ist das richtig. Aber die Frage ist über High-End-MCU vs. DSP. Ich würde gerne wissen, ob jemand Leistungsunterschied getestet hat.
Ein AD-DSP-Kern ist für DSP ausgelegt. Die SHARC-Serie findet Eingang in viele High-End-Audioprodukte. Der Cortex M4 ist ein Allzweck-Mikrocontroller. Ich bezweifle sehr, dass irgendjemand diesen Vergleich gemacht hat, weil es Äpfel mit Bananen ist.
Hmmm, ich denke, Sie haben Recht, jetzt ist es an der Neugier, wie viel besser es ist?
Die LPC4300-Serie ist Cortex M4F mit 204 MHz plus Cortex M0-Kern. Könnte einen Blick wert sein.
Wenn Sie keine DSP-Sachen machen, gibt es wenig Grund, einen DSP zu verwenden. Verwenden Sie multiplizieren und akkumulieren? FFT? Faltung? Benötigen Sie einen Gleitkommaprozessor?
Da der erste Satz "Gitarren-DSP" besagt, benötige ich FPU- und DSP-Anweisungen, da es viele MACs und viele Gleitkommaoperationen gibt. Auch die allgemeine Frage war, was besser ist.

Antworten (2)

Ich möchte Ihre Frage etwas erweitern:

Low-End-DSP vs. High-End-MCU vs. Analog

und versuche darauf zu antworten.


High-End-MCU

Moderne MCUs sind sehr leistungsfähig. Die unten dargestellte Tabelle listet die Ergebnisse auf, die durch einen synthetischen Test erhalten wurden, der aus zwei Sequenzen von FFT und dann einem Quadrat nach Element und dann einem Punktprodukt auf einem unterschiedlichen 12800-Punkt-Gleitkomma-Array innerhalb jeder Iteration besteht, ausgedrückt in Iteration pro Sekunde durchgeführt [it/ s] und Iterationsdurchschnittszeit [us = Mikrosekunden]:

Device-under-test        it/s    time/it, us   Remark
TMS320C6422B             2.50        400 000
MityDSP-L138F            3.97        252 188   L3 cache off, about x7 with L3 cache on
InMys SOM-AM180X-L8      5.90        169 491   L3 cache off
VAR-SOM-OM3X            37.00         27 027
RaspberryPI             35.80         27 933
InMys SOM-AM180X-L8     52.20         19 157   L3 cache on
Renesas RZ/A1H          54.61         18 311   linux, data+code in internal sram
Colibri VF61            56.80         17 606
Intel Core i3          949.42          1 053
Intel Core i5        1 583.84            631

Wie Sie sehen können, schlägt die moderne 500+ MHz Cortex-A5 w/FPU-basierte MCU, die in Colibri VF61 installiert ist, einen dedizierten Gleitkomma-DSP wie den C642x-basierten 250-MHz-TMS320C. Und tut es erheblich. Aber natürlich hat Core i sie alle geschlagen.


Low-End-DSP

Da sie von modernen MCUs in der Leistung geschlagen werden, schlagen moderne DSPs zurück und schlagen MCUs in ... Architektur . Allgemein gesagt ist eine DSP-IC-Architektur für eine kontinuierliche + Online- + streng zeitgesteuerte + isochrone Datenverarbeitung vorgesehen, dh sie hat konstruktionsbedingt spezielle Einheiten zum regelmäßigen Einlesen und dann Verarbeiten und dann Ausschreiben von kontinuierlich laufenden digitalen Daten in a Form von Proben. Außerdem kann es mit ADCs als Original-Sample-Quelle und DACs als verarbeitetes Sample-Ziel integriert werden, einfacher und praktisch ohne Kleber, wiederum dank dedizierter "On-Chip"-Architektureinheiten, die dedizierte Schnittstellen bereitstellen. MCUs, selbst High-End-Geräte, können sich damit normalerweise nicht rühmen.


Analogfilter

Sowohl MCU als auch DSP sind digitale Dinge. Wenn Sie mit digitalem Material arbeiten, müssen Sie dessen Grenzen verstehen: Quantisierung und Raster. Die Verwendung ganzer Zahlen in Filtern ist einfach, führt jedoch zu einem erheblichen Quantisierungsrauschen. Die Verwendung von Gleitkommazahlen in Filtern ist flexibel, führt jedoch zu impliziten Ausnahmen wie einer überraschenden NaN bei kontinuierlicher Akkumulation, die den Filter abschaltet. Analog ist dafür eine Alternative.

Analog sieht vielleicht aus wie etwas aus der Vergangenheit, aber es sieht auch heute noch nie wie etwas Unnützes aus. Natürliche Effekte, die in einer Lampe oder einem Halbleiter stattfinden, können in MCU/DSP nicht ideal modelliert werden, vielleicht nur in einem Supercomputer-Cluster, aber dann nicht in Echtzeit :-)

Entscheiden Sie sich zwischen digitalem oder analogem Design und fragen Sie sich, was Sie wirklich und genau wollen: kontrollieren oder genießen? Wenn du kontrollieren willst, nimm digital, wenn du genießen willst, sei mutiger mit analog.

Wenn Sie anfangen, analoge Schaltungen in den Signalpfad eines Gitarrenprozessors einzubauen, "genießen" Sie es vielleicht, aber Sie erhöhen die Kosten, erhöhen die Designschwierigkeiten und verringern die Designflexibilität für sehr wenig Gewinn (es sei denn, Sie verkaufen an Hipster).
@crgrace Auf jeden Fall setzen Sie analoge Schaltungen immer mindestens einen Antialiasing-Filter vor und einen rekonstruierenden (wiederherstellenden) Filter nach der digitalen Verarbeitungseinheit. Mit Ausnahme der Fälle, in denen Ihr Prozessor eine digitale Schnittstelle zum Verstärker verwendet, wie HMRAI, HyperMAC, SuperMAC in Hi-End-Geräten. Meiner Meinung nach ist es nicht so einfach, einen guten Wiederherstellungsfilter zu entwerfen, der zumindest eng mit dem digitalen Filter ausgestattet ist, der im DSP implementiert ist. Soweit ich weiß, stellt das OP das Gerät für sich selbst her, nicht für die Serienproduktion.
Der Vergleich sollte auch die Stückkosten und den Stromverbrauch erwähnen. Sie wollen nicht unbedingt einen kompletten Intel-PC in einem Gitarreneffekt haben.
@filo PC als Gitarrenpedal... Warum nicht? music.stackexchange.com/questions/14579/…

Um die „beste“ Implementierung einer bestimmten Funktion zu finden, lautet die erste Frage: Kann dies mit mehr als einer Methode erfolgen? Wenn die Antwort ja ist, dann ist die zweite Frage, welche Methode billiger, zuverlässiger, einfacher zu ändern/aufzurüsten usw. ist und die "ursprüngliche Frage" wird automatisch beantwortet!