|
I have two designs for a MP3 player,
both similar but mainly differing by the MCU used.
The main aim of the project was to allow a normal FAT32 formated harddrive
to be used as a storage device for large quantities of mp3 music files.
Click Here for Player 2 Schematics and Specifications...
- 2 x Atmega 32's
- IDE Interface excluding DMA
mode
- STA013 Mp3 Decoder
- CS4334 Stereo I2S DAC
- RS232 line driver
- 16 pin Expansion port for LCD / Keypad

This player is based upon 2 x Atmega 32's and the STA013 with CS4334
DAC. The reason for building a player using the PDIP version of the ATMega
32 AVR is that of its ease of use in a prototyping, where Surface Mount
components are hard to use.
The ATMega32 has 32K of code space, 2K of SRAM, and 512 bytes of EEPROM,
along with 32 I/O lines and can run at upto 16MIPS.
Unfortunatly the downside of using an Atmega 32 is that of its limited
memory and pins. Due to pin restrictions, I choose to use two of these
processors to allow the IDE controller to be on one, and the I2C interface
to the STA013 and LCD/Keypad interface to be on the other.
Click
here for circuit diagram
You will notice that mp3 data is sent from the IDE interfacing Atmega32
to the STA013 directly.
I have developed C code to interface a FAT32 IDE disc, and Read MP3s,
but to impliment more features, like directory indexing and browsing,
more memory is required.
This is the reason for doing a second version of the player. The aim here
is to have only one microcontroller for interfacing to the STA chip and
the IDE interface, and by picking the ATMega128, more onboard SRAM is
available.
To keep this simple, I do not plan to add external SRAM, and the latches
that would be required.
Through testing my functions, and concepts of memory management, and 'virtual'
memory, I am confident that the 4K of SRAM provided onchip will be adequite
for my needs.
Click Here for player 2 specification and
schematics...
|