I decided to do this project for several reasons: first I like music, second I have a huge collection of MP3, and third I wanted to be able to play them anytime in my living room. I began the project with one major restriction, the printed circuit board of MP3 player MUST be single side in order to do it myself. After 2 months of drawing, I realized this project was in fact ‘feasible’! One major characteristic of this player was the bi-directional remote control. I had to give several information, folders and songs on a small graphic LCD.
In the comfort of your living room you can browse and listen to 30 gig of MP3. The MP3 player is nicely built around the Atmel ATMega128 running at 16Mhz. The MP3 decoder is a VS1001k which gives a crystal clear sound. The USB interface is done via FT232MB, which by the way, makes USB development very simple. In this project I found two big difficulties: understanding FAT32 and transmitting a large quantity of information via Infrared. In order to understand FAT32 I used these tools: – Windows software for checking the hard drive data on sector like WinHex. – Microsoft FAT32 white paper’s reading (not so easy to understand) – Other source code of FAT32’s analyzing could be useful Infra Red Communication Devices like GP1UD26xk (infrared sensor) need to have a density of 1’s lower then 45% so the Manchester encoding MUST be used with a speed of 2400bps maximum and 2 stop bits. Manchester encoding gives you 50% of 1’s. Each time you send “1″ you will send “10” and for “0″ you send “01″. The utilization of 2 stop bit by bytes will give you approximately 45% of 1’s. The fact is that you loose 50% of the original speed but that’s the only way to do it and you will send the double quantity of bytes. ATA Interface The ATA interface in PIO mode is very simple, if you know how to interface any MCU peripherals this is the same method. You have a 16 bits address bus which controls the register you want to write to or read from.
Please note that this MP3 player is not see like a mass storage unit by windows, it's a high speed serial port (1Mbps) and you must wrote your own driver.
- IDE ATA interface
- FAT 32 with long file name support
- USB interface
- On board power supply (input from 7v to 20v DC)
- Bootloader firmware upgradeable via USB port
- Infrared bi-directional interface
- Back light graphic LCD
- worked with only 2x AA batteries
- In sleep mode sink less than 1uA (2.5mA in active mode)
- 5 buttons for easy navigation
- Long range (more than 20 feets)
30 Comments to “MP3 Player”
All my source codes were taken from my personal projects.
Everything is for your information only. The C/C++ codes have been written
with ICCAVR. You can find the header and source CRT files by downloading their compiler.
All is for your information and everything is AS IS without any warranty of any kind. No other files are available and I don't make any modification for any body.
- All projects
- Electric Train
- General Posting
- Lastes News
- Work Bench Tools