Sugerencia de microcontrolador

Estoy diseñando un amplificador de audio analógico con un ecualizador analógico de 6 bandas controlado a través de una pantalla táctil LCD de 7". Quiero realizar una FFT de 2048 puntos en tiempo real y mostrarla en la pantalla en algún tipo de animación visual. El ecualizador tendrá digipot que estará en un bus SPI. Estaba buscando una solución todo en uno. También es imprescindible algún tipo de placa de desarrollo barata para crear prototipos. A continuación se encuentran los requisitos que se me ocurrieron.

  • mínimo 43 GPIO
  • reloj mínimo 50Mhz
  • min 1 ADC de resolución de 10 bits
  • capacidad FFT

Este es mi primer gran proyecto de diseño y estoy un poco abrumado con el tamaño del mercado. Estaba mirando el Stellaris fabricado por TI, pero resulta que el chip aún está en fase experimental y no está disponible para la distribución de pruebas. Estaba pensando en desoldar el chip y ponerlo en mi propia placa, pero me preocupaba que el chip estuviera demasiado estresado. Cualquier aporte es un consejo que ayudaría mucho.

En mi experiencia, TI es muy amigable cuando se trata de precisar qué parte necesita (incluso puede hacer que le envíen una muestra). Intentaría llamarlos y ver qué sugieren.
FFT normalmente no es una función de hardware. Hay muchas bibliotecas FFT que puede usar, algunas/la mayoría requieren una unidad de coma flotante, que es lo que realmente podría necesitar. En cuanto al GPIO, ¿necesitas tantos? Para leds o que? ¿Qué pasa con los ledes de charlie/multiplexación en ese caso? Como ya está usando spi, podría usar expansores de puertos spi si realmente necesita tantos gpio.
La pantalla LCD con la que estoy interactuando requiere un mínimo de 25 pines para interactuar con ella por completo. luego agregue 2 pines para una selección de fuente analógica, 3 pines para líneas CE en el bus SPI más la línea de datos y el reloj y el pestillo, luego la línea ADC. Entonces, el total es de alrededor de 30 y quiero algo de espacio para agregar funciones si lo desea.
Hay una gran cantidad de controladores LCD. Puede ahorrarse muchos GPIO, muchos problemas con la codificación y el rastreo, si usa uno de estos.
@Passerby: el DSP de audio (especialmente con una entrada de solo 10 bits) suele ser razonable en una plataforma sin FPU. Dicho esto, los cortex M4 son bastante baratos ahora.
@ChrisStratton Solo cuando tienes suficiente RAM de sobra. Las implementaciones de FFT de coma no flotante son menos amigables para el uso de ram de lo habitual.
@Passerby: eso no es necesariamente cierto, ya que los tipos de enteros que probablemente estén involucrados no son muy grandes.
Stellaris es ahora Tiva. Mejor, mejorado, nuevo launchpad y en plena producción.

Respuestas (4)

Además de la familia Stellaris de Ti con Stellaris Launchpad, otras familias Arm/Cortex cumplirán con los requisitos. Solo otro que conozco es la serie STM32 F3 Cortex-M4 de STM, con los kits de desarrollo Discovery como el STM32F3DISCOVERY . Básicamente, productos de la competencia, pero el STM32F303VCT6 está disponible para compra individual en Digi-key y demás (a 9 dólares en cantidades individuales, a veces usar la placa de desarrollo para su proyecto puede ser una mejor opción). Cualquiera de sus tableros de descubrimiento hará lo que necesite por aproximadamente el mismo precio.

Editar: como actualización desde la respuesta original, TI ha lanzado una nueva familia basada en las mejoras de la línea Stellaris. La línea Tiva está en plena producción activa.

Gracias por la sugerencia, definitivamente investigaré esa opción.
Si opta por STM32F3, es posible que desee ver los 37x en lugar de los 30x, ya que los primeros tienen un ADC sigma delta con ganancia configurable, que puede ser más aplicable a un proyecto de audio. Eso requeriría una placa personalizada, pero vale la pena obtener el descubrimiento F3 de todos modos para usarlo como un programador SWD barato, si no es una plataforma de aplicación.

Hay una serie de placas de desarrollo baratas disponibles que podrían satisfacer sus requisitos más bien bajos. ¿Está dispuesto a ejecutar un sistema operativo de alto nivel en su sistema, como Linux incorporado? Si es así, la familia OMAP de TI sería una gran decisión. El muy popular Beagleboard sería una excelente placa de desarrollo para comenzar.

http://en.wikipedia.org/wiki/BeagleBoard

Si está buscando una solución completa, OMAP aún podría funcionar, pero es mucho menos compatible y tiene muchos menos recursos disponibles.

Sin embargo, esto sería un poco más complejo y multiplicaría el costo del hardware por un factor de entre 3 y 15.
Los OMAP3530 en BeagleBoard son paquetes BGA y normalmente requieren placas de varias capas. No es muy amigable, en comparación con Stellaris LQFP (paquete de cuatro conductores). OP quiere usar el chip en su propia placa personalizada, sin el resto del kit de desarrollo.
Mi pensamiento inicial fue ir a Beagle Bone Black y tener mucho más poder del necesario. Tendría toneladas de bibliotecas y poder para hacer el procesamiento de la señal. No he usado SPI en BBB pero I2C fue fácil. Tiene controladores de pantalla, etc. Pero antes de hacer esa recomendación sobre una MCU, necesitamos más información sobre el objetivo final de OP. Si está construyendo uno para sí mismo, entonces creo que una placa robusta como BBB es una obviedad, tantas características, y ni siquiera es mucho más cara que las placas MCU. Si planea rodar su propia placa de circuito impreso y, por otro lado, vender kits, OMAP es obviamente desalentador para un aficionado.

Si quieres algo realmente barato, consideraría la plataforma Freescale Freedom. Echa un vistazo aquí: Libertad

Está construido con un microcontrolador ARM cortex-M0. Este puede funcionar hasta 48 MHz, por lo que no podría decir si es suficiente para su aplicación. Hay mucho FLASH y RAM para hacer algún tipo de matemática FFT y, además, esta es una CPU de 32 bits.

Si está dispuesto a invertir más dinero en este proyecto, siga adelante y elija el sistema Freescale Tower. Es muy versátil y puede optar por varias placas de microcontroladores para que actúen como su cerebro. Torre de escala libre . Este es un sistema de desarrollo modular, y para sus necesidades recomendaría seleccionar una placa con un ColdFire+ mcu (16 bits) o un Kinetis (32 bits) que se adapte a sus gustos.

Además, algunos de los mcu de ColdFire+ y Kinetis tienen capacidades de dsp de hardware, por lo que realmente podría ayudar con sus rutinas de FFT. Busque los que tienen un módulo MAC.

Yo optaría por la familia de microcontroladores PIC32MX o STM32F4 Cortex o AT91SAM9620.

Probablemente valga la pena agregar algunos detalles más sobre por qué los recomendaría, qué herramientas de desarrollo / creación de prototipos están disponibles, etc.
Bueno, tengo una placa de Mikroe con la familia PIC32MX. Era la más cara (alrededor de 170 EUR), pero también tengo un compilador de C potente y el más barato. Sin embargo, carece de puerto ethernet (se puede comprar una placa adicional). Viceversa , STM32F4 Discovery es la placa más barata, pero, creo, el IAR Embedded Workbench cuesta alrededor de 2300 EUR (estoy esperando la confirmación del precio del departamento de ventas), pero también hay una forma de descubrimiento de Linux (gcc de brazo libre). Última opción fue AT91SAM9260SAM devboard de la universidad local, estaba bien, pero IDE era WinIdea, que tenía muchos errores y el desarrollo fue el más difícil.
Tenga en cuenta que no estaba sugiriendo que haya nada malo con sus sugerencias, solo se deben editar algunos detalles adicionales como los anteriores para que la respuesta sea más útil. La razón por la que noté su respuesta es que apareció en una revisión de "publicaciones de baja calidad" que incluye respuestas breves para su revisión para que se puedan sugerir mejoras.
Tiva-C Launchpad es quizás una opción de precio mucho mejor, a $ 12.99 que incluye entrega internacional de 3 días y una selección de 4 cadenas de herramientas de compilador diferentes que se proporcionan de forma gratuita (licencias de usuario único): Keil, Sourcery CodeBench, IAR Tools y CodeComposer Studio.
Pero creo que todos los compiladores mencionados tienen algún tipo de límite de tamaño de código para la licencia "gratuita". Todos los compiladores que mencionó, @AnindoGhosh, son muy costosos para el uso de pasatiempos.
@MarkoFrelih El límite de tamaño del código suele ser igual al espacio de código disponible en el microcontrolador con el que se ofrece el compilador de forma gratuita, es decir, para que los usuarios no usen ese compilador para otros microcontroladores más grandes. Presumiblemente, no está considerando usar el compilador gratuito que viene con, digamos, Tiva C, para cualquier otro propósito que no sea MCU de Tiva C.