3

I'm toying with the idea to build a music player. Now, before you close this as an exact duplicate: they often do this with a single board computer with a high end controller like ARM9, running Linux.
I do have experience with microcontrollers, but not with (RT)OSes, and I would like to do it without Linux or so.
Audio can be in MP3 format, but also native PCM. (I don't mind the larger files, a 500GB hard disk is a lot cheaper than a 50GB SSD). So I'm thinking of a very basic setup of a Cortex M3 controller (possibly NXP LPC1700) connected to a hard disk and a DAC, a few buttons and a text LCD.

What are possible pitfalls, and is this a good idea from the outset? And I must have overlooked some things too?

Edit:
The hard disk I want to use will be IDE, I don't thin an LPC can handle SATA.

Federico Russo
  • 9,658
  • 17
  • 68
  • 117
  • How do you want to get the data on the HD? Or is that an ordinary FAT32 drive? Do you want a connection to a PC? – stevenvh Jul 23 '11 at 08:57

1 Answers1

2

Not much pitfals here except quality of DAC+amplifiers.

From the digital side, all you need is libmad which is easy to compile for ARM, any micro with hardware multiplication (Cortex M3) with at least 32kb of SRAM (48-64kb is easier & better). For MP3 decoding with hardware multiplication you need clock of some 20-40Mhz+. No RTOS/Linux needed for libmad.

Another approach might be using weaker micro (like AVR) with hardware MP3 decoder - VS1011 and later. They have builtin DAC, and therefore easier to work with.
The VS1011 also accepts PCM, so that you bypass the MP3 decoder, and just use the DAC.

Accessing IDE is another topic, which should not be big of an issue, but can't recommend specific library. I would prefer to just use SD cards - they are very easy to interface, and even 32Gb cards are not too expensive.

stevenvh
  • 145,145
  • 21
  • 455
  • 667
BarsMonster
  • 3,267
  • 4
  • 45
  • 79
  • the VS1011 looks nice, especially as I can use it with PCM as well, but neither Rapid, Digikey nor Mouser seem to carry it. Do you know where I can buy it? – Federico Russo Jul 24 '11 at 12:29
  • Is IDE more complicated than SD? I like IDE's bigger capacity. I don't mind that it needs more I/O. – Federico Russo Jul 24 '11 at 12:31
  • 1
    Yes, IDE is much more complicated. Mainly because most microcontrollers have hardware interface to SD, but no interface to IDE. Handling IDE manually might be not easy and eat too much resources. If you are not trying to make it mobile - you can access network drives via Ethernet - this is easier than dealing with IDE's. – BarsMonster Jul 25 '11 at 00:05
  • I see only few devboards there : http://fr.mouser.com/Semiconductors/Engineering-Development-Tools/_/N-6hpeq?Keyword=VS10&FS=True Indeed wasn't able to find individual chips there. – BarsMonster Jul 25 '11 at 00:11