6 votos

DSP de gama baja vs MCU de gama alta

Actualmente estoy trabajando en un proyecto de DSP de guitarra, 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 suena 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 176 QFP. Ambas unidades están alrededor de 100PLN (~22euro/unidad), y eso es bastante dinero comparado con las MCU clásicas 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 el CortexM4F con controlador SDRAM. Actualmente es una unidad de techo en el mercado de mcu, por lo que sé no hay nada más potente (M7 no está en el mercado todavía).

Por otro lado tenemos dispositivos analógicos DSP de gama baja, con 400Mhz y todo tipo de productos DSP sobre silicio. (No puedo decir mucho sobre esto ya que nunca lo he usado).

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

Que tengan un buen día todos, Chris

1 votos

O dsPIC, piezas baratas, herramientas y funciones DSP.

0 votos

En cuanto al dsPIC no estoy muy seguro de que tenga suficiente potencia, es una unidad de 16 bits, y no tiene interfaz SDRAM (la necesito ya que necesito almacenar muestras de un largo periodo de tiempo [hasta 10s]).

0 votos

1. No hay nada malo en utilizar partes de 16 bits para el audio. 2. El almacenamiento de muestras durante 10 segundos y la frecuencia de muestreo son cosas que deben estar en su pregunta.

4voto

asndre Puntos 797

Me gustaría ampliar ligeramente su pregunta:

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

y tratar de responder a ella.


MCU de gama alta

Las MCU modernas son muy potentes. La tabla que se presenta a continuación recoge los resultados obtenidos al realizar una prueba sintética consistente en dos secuencias de FFT y luego cuadrado por elementos y luego producto punto en una matriz distinta de 12800 puntos flotantes dentro de cada iteración, expresado en iteración por segundo realizada [it/s] y tiempo medio 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 puedes ver, la moderna MCU de 500+ MHz basada en Cortex-A5 con FPU instalada en el 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, los Core i los superan a todos.


DSP de gama baja

Al verse superados por las MCU modernas en cuanto a rendimiento, los DSP modernos contraatacan superando a las MCU en... arquitectura . En términos generales, la arquitectura de un CI DSP está destinada al procesamiento de datos continuo + en línea + estrictamente cronometrado + isócrono, es decir, tiene por diseño unidades especiales para leer regularmente y luego procesar y luego escribir datos digitales en forma de muestras. Además, puede integrarse con ADCs como fuente de muestras originales y DACs como destino de muestras procesadas, de forma más sencilla y prácticamente sin cola, de nuevo gracias a las unidades arquitectónicas "en chip" dedicadas que proporcionan interfaces dedicadas. Los MCU, incluso los de gama alta, no pueden presumir de esto.


Filtro analógico

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

Puede que lo analógico parezca algo del pasado, pero nunca parece algo inútil, ni siquiera hoy. Los efectos naturales que tienen lugar en una lámpara o en un semiconductor no pueden ser modelados de forma ideal en una MCU/DSP, quizá sólo en un clúster de superordenadores, pero entonces no en tiempo real :-)

A la hora de elegir entre diseñar en digital o en analógico, pregúntate qué es lo que quieres real y exactamente: ¿para controlar o para disfrutar? Si es para controlar, toma lo digital, si es para disfrutar, sé más audaz con lo analógico.

0 votos

Cuando empiezas a poner circuitos analógicos en la ruta de la señal de un procesador de guitarra puede que lo "disfrutes" pero estás aumentando el coste, aumentando la dificultad del diseño y disminuyendo la flexibilidad del diseño para obtener muy poca ganancia (a menos que estés vendiendo a hipsters)

0 votos

@crgrace De todas formas siempre se ponen circuitos analógicos al menos un filtro antialiasing antes y un filtro reconstructor (recuperador) después de la unidad de procesamiento digital. Exceptuando ciertamente los casos en que su procesador utiliza una interfaz digital para el amplificador como HMRAI, HyperMAC, SuperMAC en equipos Hi-End. En mi opinión, diseñar un buen filtro recuperador ajustado al menos al filtro digital implementado en el DSP no es tan fácil. Además, según tengo entendido, el OP hace el dispositivo para sí mismo, no para la producción de lotes.

0 votos

La comparación también debería mencionar el coste unitario y el consumo de energía. No necesariamente quieres un PC Intel completo en un efecto de guitarra.

1voto

Martin R-L Puntos 2300

Para llegar a la "mejor" implementación de una función determinada, la primera pregunta es: ¿puede hacerse con más de un método? Si la respuesta es afirmativa, la segunda pregunta es qué método es más barato, más fiable, más fácil de modificar/actualizar, etc., y la "pregunta original" se responderá automáticamente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X