OT: MP3, HDD, Blutooth, ARM

Go To Last Post
7 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

All,

I'm planning a major and long term project for the new year and would like your thoughts.
I plan to make an upgraded iPod/Ipaq although from scratch so I can really get to know in depth the workings of such a beast. I want the player to be HDD based with a 1.8" 40GB (Travelstar C4K40) drive however it is intended to be portable and completely battery powered (3.7v 770mAh Varta Li-Ion). To conserve battery the hard drive must only be switched on for a small amount of time, and the data cached in memory waiting to be played. I am looking to have 256Mbits of SDRAM memory which should allow approximately 45 minutes of cached music at 196kbps. (over kill you might say however this is for future upgrades as the player will have a 1/4VGA mono touch screen (Hitachi SP10Q003-T) and some sort of expansion bay, most likely CF)

This leads to the first question. What would you suggest as the most suitable processor? I think I’m leaning towards the AT91R40008. The AT91EB40A evaluation board is reasonably priced at just over £100 and the ARM processors are supported by GCC. Do you have an idea of more suitable processor which has cheap development tools? (I’ve not yet got any ARM experience, I’m and AVR type of guy)

The second question comes from the idea to integrate Bluetooth communications. I would like to emulate a Bluetooth voice headset for my mobile phone, so when a call comes in I can take it using the player and not have to remove the headphones from my ears while using the mobile phone. I plan to achieve this using either an off the shelf CF Bluetooth adaptor or the integrated module such as ROK104001 from Infineon. Does anybody have links to information regarding voice data over Bluetooth?

Thirdly anyone got experience in interfacing to a display such as the SP10? Can you recommend a display controller chip or will I have to do my own in VHDL?

Look forward to your thoughts.

Thanks
Tim

PS: I saw a topic earlier about people in the neighborhood collaborating. Sounds like a good idea to me. Might be a long shot but if there is anyone in Norfolk, UK that is interested send me a PM.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You will need to use an external MP3 decoder (may I suggest the VS1002) with the AT91 chip, it's not fast enough for decoding in SW (at least not with the free code around).

Your RAM is overkill even if you have your screen and expansions. Neither of this needs any RAM. (well, the display may need a frame buffer, but that may be embedded).
Remember that the large amount of buffer RAM will only be useful if you don't change tracks. 8-16 MB shoud should be more than enough.

But note that the AT91R4008 does NOT have an SDRAM controller !
Have a look at the Sharp LH79520 instead or the ST STR720.

For the display, use a dedicated controller like the Epson S1D13A04 or similar, you even get an USB 1.1 channel with that.

For Bluetooth, also look at the Ericsson ROK 101 008/21 modules.

/Jesper
http://www.yampp.com
The quick black AVR jumped over the lazy PIC.
What boots up, must come down.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

8meg is more than enough memory, even if you intend on adding video support at a later date. I have some 5000 MP3's and only 200 of them are over 8meg. A buffer over 4meg is over kill, even for video streaming.

-Curiosity may have killed the cat
-But that's why they have nine lives

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good call Jesper on the processor not having SDRAM capability. I realised this soon after the post! Guess I should have read the data sheet more closely.

I would like to have a reasonable amount of RAM. I have found finding SRAM in large quantities difficult. I have found some 18Mbit memories (4M*18) so I could use 4 or 6 of them on the AT91R40008 to give me 32 or 48Mbytes of space. I know this is still a huge ammount but the idea is that the hard disk only should be powered up once every 20 minutes or more to give the best possible battery life. The player will cache as many songs from the play list as possible, and if there is any space left over it will cache the most commonly played songs.

Thanks for the ideas on chips. I will take a look after work. I have had other people suggest chips in other posts from manufacturer's I'd not normaly look towards. It's a real eye opener.

Big thanks to AVRFreaks.net users and to Jesper and his YAMPP crew who have been sourse of incredible knowledge. :-)

I was going to use the VS1002 chip already so I could get the project off the ground. I thought that MP3 decoding could be done with about 40MIPS so was hoping to have a go with the AT91R4008 at a later date (much later) Guess I'll have to see how much processor time is left over. The processor is capable of around 60MIPS.

Tim

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Decoding CAN be done at 40 MIPS, according to ARM, their MP3 decoder implementation needs about 30 MHz (MIPS) to decode a 128 kbps MP3.

I've tried that decoder, and I've decoded 320 kbps with that on a 73 MHz ARM7 without any problems at all.

The real problem is that the ARM decoder is neither free nor cheap !

The best free decoder is MAD, which is an all integer variant written in C.
Unfortunately I could hardly decode a 128 kbps MP3 properly at the 73 MHz processor, so it's way slower than the ARM decoder.

/Jesper
http://www.yampp.com
The quick black AVR jumped over the lazy PIC.
What boots up, must come down.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you thought about using a single large FPGA for this project? With one of the bigger chips available, I would imagine you could cram an MP3 decoder, RAM interface, HD interface, and display driver all into a single chip. Or maybe this would work better with one large chip and one or more small CPLDs for the "dirty work" ... Using FPGAs and/or CPLDs you could also have your choice of high end DAC in the project, that may or may not be important to you though. Anyway, just some ideas kicking around.. good luck ;)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

have you looked at Gumstix (http://www.gumstix.com)?

(ok, so not exactly from scratch, but there would certainly be enough engineering work needed to make a PDA that you'd be pretty busy)...

Should be quite fast enough for an mp3 decoder :)