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
Me gustaría ampliar un poco su pregunta:
y trata de responderla.
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.
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.
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.
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!
mate joven
axel
mate joven
axel
mate joven
axel
turbo j
M0
. Podría valer la pena echarle un vistazo.scott seidman
axel