DSP de gama baja frente a MCU de gama alta

5

Actualmente estoy trabajando en un proyecto de Guitar DSP, basado en STM32F407VGT6, pero a medida que avanzo llego a la conclusión de que necesitaré una unidad más grande (con SDRAM). La pregunta que está sonando 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 176 QFP. Ambas unidades rondan los 100 PLN (~ 22 euros / unidad), y eso es bastante dinero comparado con los MCU clásicos que son 1/10 del precio.

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

Por otro lado, tenemos Analog Devices low end DSP, con 400Mhz y todo tipo de productos DSP en silicona. (No puedo decir mucho al respecto ya que nunca lo he usado).

La pregunta es cual es mejor? La ventaja de STM32 son las herramientas baratas, bien conocidas, buenas y gratuitas. ¿El DSP clásico es mucho mejor o la diferencia es insignificante?

Que tengas un buen día a todos, Chris

    
pregunta Axel

2 respuestas

2

Me gustaría extender un poco tu pregunta:

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

y trata de responderla.

MCU de gama alta

Las MCU modernas son muy poderosas. 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 de elemento y luego un producto de puntos en una matriz de punto flotante de 12800 puntos distinta dentro de cada iteración, expresada en iteración por segundo realizada [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 Cortex-A5 con MCU basado en FPU de más de 500 MHz instalado en Colibri VF61 supera a un DSP de punto flotante dedicado, como el TMS320C de 250 MHz basado en C642x. Y lo hace de manera significativa. Pero, por supuesto, Core i los ha superado a todos.

DSP de gama baja

Al ser superados por los MCU modernos en rendimiento, los DSP modernos responden a los MCU vencidos en ... arquitectura . En términos generales, una arquitectura DSP IC está destinada a un procesamiento de datos continuo + en línea + estrictamente cronometrado +, es decir, tiene un diseño especial para unidades de lectura regular y luego procesa y luego escribe datos digitales en continuo Forma de muestras. Además, puede integrarse con ADC como fuente de muestras original y DAC como destino de muestras procesadas, más simple y prácticamente sin cola, nuevamente gracias a las unidades arquitectónicas dedicadas "en chip" que proporcionan interfaces dedicadas. MCU, incluso los de gama alta, normalmente no pueden jactarse de esto.

Filtro analógico

Tanto MCU como DSP son cosas digitales. Trabajando con digital, necesitas entender sus limitaciones: cuantización y grillas. El uso de números enteros en los filtros es simple pero proporciona un ruido de cuantificación significativo; el uso de números flotantes en los filtros es flexible, pero ofrece excepciones implícitas, como un sorprendente NaN en la acumulación continua que elimina el filtro. El análogo es una alternativa para eso.

Tal vez lo analógico parece algo del pasado, pero nunca parece algo inútil, incluso hoy en día. Los efectos naturales que tienen lugar en una lámpara o semiconductor no pueden modelarse 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é desea realmente y con exactitud: ¿controlar o disfrutar? Si desea controlar, tome digital, si quiere disfrutar, sea más audaz con analógico .

    
respondido por el asndre
1

Para llegar a la "" mejor "implementación de una función determinada, 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!

    
respondido por el Guill

Lea otras preguntas en las etiquetas