Reproductor de música basado en microcontrolador

Estoy jugando con la idea de construir un reproductor de música. Ahora, antes de cerrar esto como un duplicado exacto: a menudo hacen esto con una computadora de placa única con un controlador de gama alta como ARM9, que ejecuta Linux.
Tengo experiencia con microcontroladores, pero no con sistemas operativos (RT), y me gustaría hacerlo sin Linux más o menos.
El audio puede estar en formato MP3, pero también en PCM nativo. (No me importan los archivos más grandes, un disco duro de 500 GB es mucho más barato que un SSD de 50 GB). Así que estoy pensando en una configuración muy básica de un controlador Cortex M3 (posiblemente NXP LPC1700) conectado a un disco duro y un DAC, algunos botones y una pantalla LCD de texto.

¿Cuáles son las posibles trampas? ¿Es esta una buena idea desde el principio? ¿ Y debo haber pasado por alto algunas cosas también?

Editar:
el disco duro que quiero usar será IDE, no creo que un LPC pueda manejar SATA.

¿Cómo desea obtener los datos en el HD? ¿O es una unidad FAT32 ordinaria? ¿Quieres una conexión a una PC?

Respuestas (1)

No hay muchos escollos aquí, excepto la calidad de los amplificadores DAC+.

Desde el lado digital, todo lo que necesita es libmad, que es fácil de compilar para ARM, cualquier micro con multiplicación de hardware (Cortex M3) con al menos 32 kb de SRAM (48-64 kb es más fácil y mejor). Para la decodificación de MP3 con multiplicación de hardware, necesita un reloj de unos 20-40Mhz+. No se necesita RTOS/Linux para libmad.

Otro enfoque podría ser usar un micro más débil (como AVR) con un decodificador de MP3 de hardware: VS1011 y posterior. Tienen DAC incorporado y, por lo tanto, son más fáciles de trabajar.
El VS1011 también acepta PCM, por lo que omite el decodificador de MP3 y solo usa el DAC.

Acceder a IDE es otro tema, que no debería ser un gran problema, pero no puede recomendar una biblioteca específica. Preferiría usar solo tarjetas SD: son muy fáciles de interconectar e incluso las tarjetas de 32 Gb no son demasiado caras.

el VS1011 se ve bien, especialmente porque también puedo usarlo con PCM, pero ni Rapid, Digikey ni Mouser parecen llevarlo. ¿Sabes dónde puedo comprarlo?
¿Es IDE más complicado que SD? Me gusta la mayor capacidad de IDE. No me importa que necesite más E/S.
Sí, IDE es mucho más complicado. Principalmente porque la mayoría de los microcontroladores tienen una interfaz de hardware para SD, pero no una interfaz para IDE. Manejar IDE manualmente puede no ser fácil y consumir demasiados recursos. Si no está tratando de hacerlo móvil, puede acceder a las unidades de red a través de Ethernet, esto es más fácil que tratar con IDE.
Solo veo algunas placas de desarrollo allí: fr.mouser.com/Semiconductors/Engineering-Development-Tools/_/… De hecho, no pude encontrar chips individuales allí.