Seleccionando una plataforma para DSP

5

Tengo experiencia en la selección de PIC de gama baja, pero no he tenido que seleccionar un controlador para DSP antes. Inicialmente pensé en la línea dsPIC, pero la única razón para esto es que me siento cómodo con la línea de microchip.

Entonces, ¿qué opciones tengo para seleccionar? ¿Cómo puedo decidir qué es lo mejor para mí? ¿Hay diferencias en general entre líneas? Por ejemplo, la línea MSP430 es buena para una potencia muy baja, ¿hay algún tipo de cosas similar para las líneas DSP?

Para mi proyecto específico, voy a tener 3 conjuntos de SPI de ADC que son de 24 bits a aproximadamente 400 KHz, pero tengo una descripción amplia sobre cómo encontrar la plataforma adecuada.

    
pregunta Kellenjb

2 respuestas

8

Si me pidieran que mirara los productos DSP, vería la arquitectura. Las arquitecturas de hardware para los procesadores DSP son más variadas que para los procesadores de propósito general.

  1. Longitud de palabra . Como mencionó, sus datos de origen son de 24 bits. Por lo tanto, a menos que pueda perder algo de fidelidad, necesitará un DSP que pueda manejar datos de 24 bits por lo menos.
  2. Punto fijo / flotante . Deberá mirar sus algoritmos para ver si se necesita hardware de punto flotante o si se puede implementar completamente en un punto fijo. No todos los DSP pueden hacer punto flotante en hardware.
  3. Modos de direccionamiento . Se trata de buffers todo el tiempo. Mientras que los DSP tienen modos de direccionamiento circular, algunos tienen modos más avanzados que pueden encadenar bloques de memoria o voltear bloques de memoria en hardware y más. Diría que este es el aspecto de arquitectura más crítico para un DSP.
  4. Instrucciones especiales . Cada DSP tiene instrucciones especializadas. Como mínimo, tendrán una instrucción MAC. Sin embargo, algunos tienen muchos más esotéricos que pueden beneficiar su aplicación.
  5. Rutas de datos . Algunos DSP tienen rutas de datos únicas, o incluso múltiples rutas de datos, que permiten manipular diferentes flujos de datos por separado o combinados, en hardware.
  6. Unidades de ejecución . La mayoría de los DSP tienen muchas unidades de ejecución paralelas que pueden realizar cosas diferentes al mismo tiempo, por ejemplo, multiplica, agrega y desplaza diferentes registros al mismo tiempo.

Luego, observando los algoritmos que deben codificarse, seleccionaría una arquitectura DSP que sea más fácil de usar para implementar los algoritmos.

    
respondido por el sybreon
8

Primero, recopile algunos de los datos que desea procesar en una PC.

Segundo, desarrolla tus algoritmos en la PC. Comience con matlab / octave o numpy.

Tercero, traduzca el algoritmo a código C en la PC. ¿Se comporta bien como punto flotante? ¿Punto fijo de 16 bits? Perfílelo para ver cuántos multiplicados + acumula por segundo de datos de muestra.

Ahora conoce los requisitos y tiene el algoritmo listo para funcionar. Estás listo para elegir un DSP.

    
respondido por el markrages

Lea otras preguntas en las etiquetas