DSP de gama baja frente a MCU de gama alta

Actualmente estoy trabajando en un proyecto de guitarra DSP, basado en STM32F407VGT6 pero a medida que avanzo llego a la conclusión de que voy a necesitar una unidad más grande (con SDRAM). La pregunta que resuena en mi cabeza es cuál es mejor, DSP de gama baja o MCU de gama alta. Por ejemplo, comparemos STM32F439 en el paquete 144 QFP, con ADSP-21489 en el paquete 176 QFP. Ambas unidades cuestan alrededor de 100PLN (~22 euros/unidad), y eso es bastante dinero en comparación con los MCU clásicos que cuestan 1/10 del precio.

¿Por qué es stm32f439? Es una unidad de 180Mhz con unidades DSP y FPU en el núcleo, basada en CortexM4F con controlador SDRAM. Actualmente es una unidad de techo en el mercado mcu, que yo sepa, no hay nada más potente (M7 aún no está en el mercado).

Por otro lado tenemos DSP de gama baja de Analog Devices, con 400Mhz y todo tipo de productos DSP sobre silicio. (No puedo decir mucho al respecto ya que nunca lo he usado).

La pregunta es ¿cuál es mejor? La ventaja de STM32 son las herramientas baratas, el núcleo bien conocido, las herramientas buenas y gratuitas. ¿Es mucho mejor el DSP clásico o la diferencia es insignificante?

Que tengan un buen día a todos, Chris

O dsPIC, piezas baratas, herramientas y funciones DSP.
En cuanto a dsPIC, no estoy seguro de si tiene suficiente potencia, es una unidad de 16 bits y no tiene una interfaz SDRAM (la necesito porque necesito almacenar muestras de un largo período de tiempo [hasta 10 s]).
1. No hay nada de malo en usar partes de 16 bits para audio. 2. El almacenamiento de muestras durante 10 segundos y una frecuencia de muestreo son cosas que deben estar en su pregunta.
En cuanto a 1, bueno, ya que hoy en día los ADC de 24 bits se están convirtiendo en estándar. En cuanto a la segunda, eso es correcto. Pero la pregunta es sobre mcu vs dsp de gama alta. Me gustaría saber si alguien ha probado la diferencia de rendimiento.
Un núcleo AD DSP está diseñado para DSP. La serie SHARC se abre paso en una gran cantidad de productos de audio de alta gama. El Cortex M4 es un microcontrolador de propósito general. Dudo mucho que alguien haya hecho esa comparación porque son manzanas con plátanos.
Hmmm, creo que tienes razón, ahora es por curiosidad, ¿cuánto mejor es?
La serie LPC4300 es Cortex M4F a 204 MHz más núcleo Cortex M0. Podría valer la pena echarle un vistazo.
Si no está haciendo cosas de DSP, hay pocas razones para usar un DSP. ¿Estás usando multiplicar y acumular? FFT? ¿Circunvolución? ¿Necesita un procesador de punto flotante?
Como la primera oración dice "Guitar DSP", NECESITO instrucciones FPU y dsp, ya que hay muchas MAC y muchas operaciones de punto flotante. También la pregunta general era cuál es mejor.

Respuestas (2)

Me gustaría ampliar un poco su pregunta:

DSP de gama baja frente a MCU de gama alta frente a analógico

y trata de responderla.


MCU de gama alta

Los MCU modernos son muy potentes. La tabla que se presenta a continuación enumera los resultados obtenidos al realizar una prueba sintética que consiste en dos secuencias de FFT y luego un cuadrado por elemento y luego un producto escalar en una matriz distinta de coma flotante de 12800 puntos dentro de cada iteración, expresada en iteración por segundo realizado [it/ s] y tiempo promedio de iteración [us = microsegundos]:

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

Como puede ver, el moderno MCU Cortex-A5 de más de 500 MHz con FPU instalado en Colibri VF61 supera a un DSP de punto flotante dedicado como el TMS320C de 250 MHz basado en C642x. Y lo hace significativamente. Pero, por supuesto, Core i los venció a todos.


DSP de gama baja

Superados por los MCU modernos en rendimiento, los DSP modernos contraatacan superando a los MCU en... arquitectura . En términos generales, una arquitectura DSP IC está destinada al procesamiento de datos continuo + en línea + estrictamente cronometrado + isócrono, es decir, por diseño tiene unidades especiales para leer regularmente y luego procesar y luego escribir continuamente datos digitales en un forma de muestras. Además, se puede integrar con ADC como fuente de muestras originales y DAC como destino de muestras procesadas, más simple y prácticamente sin pegamento, nuevamente gracias a las unidades arquitectónicas "en chip" dedicadas que proporcionan interfaces dedicadas. Los MCU, incluso los de gama alta, normalmente no pueden presumir de esto.


Filtro analógico

Tanto MCU como DSP son cosas digitales. Al trabajar con digital, debe comprender sus limitaciones: cuantificación y cuadrículas. El uso de números enteros en los filtros es simple pero produce un ruido de cuantificación significativo; el uso de números flotantes en los filtros es flexible pero da excepciones implícitas como un NaN sorprendente en la acumulación continua que elimina el filtro. El analógico es una alternativa para eso.

Tal vez lo analógico parezca algo del pasado, pero nunca parece algo inútil, incluso hoy. Los efectos naturales que tienen lugar en una lámpara o semiconductor no se pueden modelar idealmente en MCU/DSP, tal vez solo en un grupo de supercomputadoras, pero no en tiempo real :-)

Al elegir entre diseñar digital o analógico, pregúntese qué quiere realmente y exactamente: ¿ controlar o disfrutar? Si para controlar, toma digital, si para disfrutar, sé más audaz con analógico.

cuando comienza a colocar circuitos analógicos en la ruta de señal de un procesador de guitarra, puede "disfrutarlo", pero está aumentando el costo, aumentando la dificultad del diseño y disminuyendo la flexibilidad del diseño por muy poca ganancia (a menos que esté vendiendo a hipsters)
@crgrace De todos modos, siempre coloca circuitos analógicos al menos un filtro antialiasing antes y un filtro de reconstrucción (recuperación) después de la unidad de procesamiento digital. Exceptuando ciertamente los casos en que su procesador utilice una interfaz digital al amplificador como HMRAI, HyperMAC, SuperMAC en equipos Hi-End. En mi opinión, diseñar un buen filtro de recuperación bien ajustado con al menos el filtro digital implementado en el DSP no es tan fácil. Además, según tengo entendido, el OP fabrica el dispositivo para sí mismo, no para la producción por lotes.
La comparación también debe mencionar el costo unitario y el consumo de energía. No necesariamente desea una PC Intel completa en un efecto de guitarra.
@filo PC como pedal de guitarra... ¿Por qué no? music.stackexchange.com/questions/14579/…

Para llegar a la ""mejor"" implementación de una función dada, la primera pregunta es, ¿se puede hacer con más de un método? Si la respuesta es sí, entonces la segunda pregunta es qué método es más barato, más confiable, más fácil de modificar/actualizar, etc. ¡y la "pregunta original" se responderá automáticamente!