DSP: TMS320C64X+

Introducción

Es un DSP incorporado en muchas placas clones de la Beagle Board. Es un DSP de Texas Instruments. Realmente, ese DSP está integrado en el OMAP3530.

El objetivo es usarlo para hacer filtrado digital de audio.

En el datasheet dice:

¿Es apropiado?

Ver el rendimiento que proporciona y estimar si tiene potencia suficiente para nuestra aplicación.
En este documento, describe el rendimiento en la página 12:

  • El filtro es: 240 Filter Coefficients and 200 Output Samples
  • El número de ciclos empleados es menor de 13000.
  • El número de coeficientes del filtro (nh) tiene que ser múltiplo de 4 u 8.

Para sustituir a BruteFIR, pensamos en un filtro muy largo: ej. 120000 taps es múltiplo de 8. Una de las ecuaciones para calcular el número de ciclos es:

nh * nr/4 + 16

en donde:

  • nh = número de coeficientes
  • nr = número de samples.

A 48000 samples por segundo y una señal estéreo, se necesitarían:

(120000 * 48000/4 + 16) * 2 = 2880 millones de ciclos por segundo

Este DSP tiene 480MHz por lo que entiendo que la potencia parece insuficiente. Supongo que el truco será particionar de la misma manera en la que lo hace BruteFIR.

Ver la página 14 de este documento. Parece que podría tener un rendimiento algo mejor que el de un Pentium III.

http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/43845.aspx

¿Herramientas?

Tiene peculiaridades en cuanto a las herramientas que se necesitan para programarlo. Requiere una librería que no es Open Source. Por otro lado, las herramientas para compilar son de pago, pero se puede hacer una descarga gratuita si el proyecto a desarrollar es open source.

Investigar las alternativas gratuitas para eliminar esta dependencia.

Funciones

Las candidatas para el filtrado FIR con números reales son:

  • DSP_fir_gen
  • DSP_fir_r4
  • DSP_fir_r8
  • DSP_fir_sym

Links

made to the internal memory and describes the new features which have been added
to support the internal memory architecture's performance and protection.

http://pixhawk.ethz.ch/omap/dsp
http://www.facebook.com/note.php?note_id=247252734361
http://elinux.org/BeagleBoard#C64x.2B_DSP
http://elinux.org/BeagleBoard/DSP_Howto
http://elinux.org/BeagleBoard/gst-dsp
http://gitorious.org/vjaquez-beagleboard/dsp-samples
http://gitorious.org/vjaquez-beagleboard
http://omappedia.org/wiki/DSPBridge_Project
http://elinux.org/BeagleBoard/dsp-tools

Salvo que se diga otra cosa, el contenido de esta obra está bajo la licencia: Creative Commons Reconocimiento NoComercial CompartirIgual 2.5 España.