MP3 Player System Design
By
Eric Wu
Senior Project
ELECTRICAL ENGINEERING DEPARTMENT
California Polytechnic State University
San Luis Obispo
2011
Contents
Acknowledgements ....................................................................................................... 3
Introduction ................................................................................................................... 4
Requirements ................................................................................................................ 5
Primary Component Descriptions ................................................................................. 6
Technical Design ........................................................................................................ 10
Test Plans and Results ................................................................................................ 14
Conclusions and Recommendations ........................................................................... 16
Analysis of Senior Project Design .............................................................................. 17
Bibliography ............................................................................................................... 20
List of Figures ............................................................................................................. 20
List of Tables .............................................................................................................. 21
2
Acknowledgements
I’d like to thank my advisor, Dr. Tina Smilkstein, for answering all my dumb
questions and putting up with my lack of punctuality for our meetings.
I’d also like to thank my friends for throwing me ideas regarding this project and
helping out where ever possible.
And of course, I’d like to thank my family for providing me emotional and financial
support for getting through college and this tough engineering program.
3
Introduction
Portable music players have existed for decades, with the first truly portable
consumer device released by Sony in 1979. Known as the “Walkman”, this cassette
player for the first time allowed people to easily carry hours of music on their
persons. Since then, technology in this field abruptly moved away from analog
storage mediums to strictly digital ones. The CD player was the next revolution, as it
was the first foray into mainstream digital music mediums. With the trend of
shrinking the sizes of consumer electronics, and the growing popularity of sharing
music online, the CD player was given up for flash-based music players. Dubbed the
MP3 player, these devices allowed users far more convenience in customizing which
music they wanted to load onto their players. Since flash memory was (and to some
degree, still is) fairly expensive in terms of capacity per monetary cost, a shift to
mechanical hard-disk drive based players began.
Unfortunately, the current market trend for portable music players is shrinking
physical size, shrinking monetary cost, expanding capacity, and having svelte user
interfaces, but with no respect for high-fidelity sound. The purpose of this project is
to create the base hardware for a music player that sacrifices just about all else for the
ultimate musical experience; possibly taping into a niche market of audiophiles who
do not require tons of gigabytes of storage, or need fancy user interfaces.
4
Requirements
Since this is the design of an MP3 player system, the requirements are fairly straight
forward. All components must be as low power as possible, with digital hardware
running in low-power, or sleep states, whenever feasible. Because the purpose of this
project is to create a device that puts sound quality above all else, the analog circuitry
must be well designed. Only the core components of the music player are to be
designed; the design of secondary parts such as battery powered subsystems and user
interfaces are beyond the scope of this project.
5
Primary Component Descriptions
Main Microcontroller (Atmel ATMEGA32A):
The microcontroller chosen for this project was the Atmel ATMEGA32A, due to
already being familiar with the chip and its capabilities. With 32kB of flash program
memory, SPI, I2C, UART, three timers and 33 GPIOs, this microcontroller was a very
good starting place because of its rich peripheral set. Also, since it can run up to
16MHz, it is plenty fast for shifting data around. It is also ideally suited for a
portable application because of fairly low active power consumption (<1mA) many
sleep modes that further reduce current draw to below 1µA. The block diagram
Figure 1: Block Diagram of ATMEGA32A Microcontroller
6
Stereo Audio DAC (Wolfson WM8740):
This high-end audio DAC chip was chosen because it is found in some of the most
expensive commercial CD players, and is well regarded in the audiophile community.
Although this is no longer the highest performing DAC chip in the Wolfson
inventory, its successors (WM8741 and WM8742) are twice as expensive and on
paper only have slightly higher specifications. Conveniently, these three chips are
100% pin compatible drop-in replacements of each other, so if the WM8740 is ever
discontinued, the newer chips can be used instead.
Figure 2: Block Diagram of WM8740 Stereo DAC
Audio Decoder Chip (VLSI VS1053):
The VLSI VS1053 is a decoder chip that can decode many different types of audio
formats (MP3, OGG, FLAC, WMA and AAC), has a variety of possible outputs and
has low power consumption. Because the chip is actually a DSP microcontroller, one
7
could expand functionality by using it, along with the ATMEGA32A, to perform
additional functions in the music player. Since this part has a built-in amplified
analog output and can output I2S, it has the added benefit of flexibility: if the designer
wants to save on power and/or complexity, the analog output can be used, which
requires no additional parts. But because the purpose of this design is to create the
highest fidelity sound possible, the I2S output is used to send the audio data to the
WM8740.
Figure 3: Block Diagram of VS1053 Decoder Chip
Real-Time Operating System (FreeRTOS):
Although not a physical part, this real-time embedded operating system is still a vital
component in this project. The slightly added complexities of using an RTOS was
more than offset by the fast context switching and low latency afforded by the
preemptive scheduler, and the availability of built-in objects (mutex semaphores,
queues…etc) made it very easy to share data and protect global resources.
8
SD Card/FAT File System:
The SD card, which is a flash-based storage medium, is where the data for the music
files are stored. Conveniently, SD cards by default use SPI as the communications
protocol, so the interface with the microcontroller is relatively straight forward.
Unfortunately, reading and writing from the FAT file system is extremely non-trivial.
Figure 4: Pin-out of SD Card
9
Technical Design
Figure 5: Schematic of Main Components of the System
10
SD Card
SPI
MCU Audio Decoder Audio DAC Analog Filtering and
SPI I2S
(ATMEGA32A) (VS1053) (Wolfson WM8740) Amplification
Figure 6: Hardware Block Diagram
The schematic and hardware block diagram are seen in Figure 5 and Figure 6,
respectively. The design is fairly simple: the ATMEGA32A handles most of the
digital legwork and facilitates pulling data from the SD card, by reading its file
system, then sends that data, which is in the form of a compressed music file, to the
decoder chip. From there, the decoder chip decodes the music file into a raw bit-
stream, which is then sent to the DAC chip for digital filtering and analog conversion.
The majority of the schematic consists of recommended implementations as stated in
the components’ datasheets.
Designation Value Vendor P/N Price
Resistors R1 1M Mouser 0.15
270-1.0M-RC
R2 100k Mouser 270-100K-RC 0.15
R3 1M Mouser 0.15
270-1.0M-RC
R4 4.75k Mouser 270-4.7K-RC 0.15
R5 2k Mouser 270-2K-RC 0.15
R6 2k Mouser 270-2K-RC 0.15
R7 4.75k Mouser 270-4.7K-RC 0.15
R8 47k Mouser 270-47K-RC 0.15
R9 3.3k Mouser 270-3.3K-RC 0.15
11
R10 2k Mouser 270-2K-RC 0.15
R11 4.75k Mouser 270-4.7K-RC 0.15
R12 2k Mouser 270-2K-RC 0.15
R13 3.3k Mouser 270-3.3K-RC 0.15
R14 4.75k Mouser 270-4.7K-RC 0.15
R15 47k Mouser 270-47K-RC 0.15
Capacitors C1 1u Mouser 0.35
810-
FK24X7R1E105K
C2 18p Mouser 0.57
80-C315C103K5R
C3 18p Mouser 0.57
80-C315C103K5R
C4 18p Mouser 0.57
80-C315C103K5R
C5 0.1u Mouser 80-C320C104K5R 0.32
C6 10u Mouser 1.42
80-
T350E106K025AT
C7 220p Mouser 505- 0.38
FKP2220/100/2.5
C9 100p Mouser 505- 0.38
FKP2100/100/2.5
C10 10u Mouser 1.42
80-
T350E106K025AT
C11 0.1u Mouser 80-C320C104K5R 0.32
C12 0.1u Mouser 80-C320C104K5R 0.32
C13 1u Mouser 0.35
810-
FK24X7R1E105K
C14 220p Mouser 505- 0.38
FKP2220/100/2.5
C15 22u Mouser 647- 0.16
UKW1H220MDD
C16 100p Mouser 505- 0.33
FKP2100/100/2.5
C17 100p Mouser 505- 0.33
FKP2100/100/2.5
C18 220p Mouser 505- 0.38
FKP2220/100/2.5
C19 220p Mouser 505- 0.38
FKP2220/100/2.5
C21 1u Mouser 0.35
810-
FK24X7R1E105K
12
C22 22u Mouser 647- 0.16
UKW1H220MDD
C23 100p Mouser 505- 0.33
FKP2100/100/2.5
Integrated Circuits U1 REG101-33 Mouser 3.56
REG101UA-3.3
U2 REG101-18 Mouser 3.56
REG101UA-3.3
U3 WM8740 Mouser 5.70
238-WM8740SEDS
U4 VS1053 Sparkfun 19.95
COM-08892
U5 OPA2365 Mouser 2.88
595-OPA2365AID
IC1 ATMEGA32A Mouser 5.36
556-
ATMEGA32A-PU
Total 53.03
Table I: Bill of Materials
As seen in Table I, the base cost per unit is $53.03, not including shipping charges or
development hardware.
13
Test Plans and Results
Initialize decoder chip and run in a diagnostic mode:
The point of this test was to ensure that that the VS1053 chip actually worked. The
VS1053 has a few diagnostic modes, and the one that verifies that the analog and
digital hardware actually works sends sinusoidal test tones to the analog outputs.
Status: PASS
Results:
Figure 7: Oscilloscope Screen-Capture of Test Tone
As seen in Figure 7, the decoder chip was able to respond to this “Hello World” of
sorts. The output was somewhat noisy, which could have been attributed to the
questionable oscilloscope probe, or it could have been the fact that the analog output
hardware on the decoder chip is not very good.
14
Initialize FAT File System on SD Card:
The point of this test was to ensure that the ATMEGA32A was able to open and close
files on the file system when told to do so. LEDs were used to determine if SPI
transactions with the SD card were successful.
Status: Questionable (PASS?)
Results: The LEDs indicated that the microcontroller was able to initialize the SD
card and grab files from it. However, results from this test are still somewhat
inconclusive since this test cannot prove that the microcontroller can read the contents
of the opened files.
Transfer MP3 Data from SD Card to Decoder Chip:
The point of this test was to determine whether or not files could be opened, and if
data could be transferred to the decoder chip.
Status: FAIL
Results: No sound was heard from the analog outputs of the decoder chip.
15
Conclusions and Recommendations
Although the project seemed relatively simple in the hardware realm, the software
was quite tricky. Lack of documentation turned out to be the real obstacle in this
project.
For example, while the VLSI VS1053 is technically an SPI compliant device, it
contained some strange aspects that were definitely uncommon for an SPI device.
Communicating with various registers on the chip depended on pulling the chip-select
pin either high or low, which was somewhat unclear in the timing diagrams. Also,
various pins had to be pulled up high or low, depending on desired initial
configuration, and the datasheet did not make entirely clear which initial
configuration was correct.
16
Analysis of Senior Project Design
Project Title: MP3 Player System Design
Student’s Name: Eric Wu
Advisor’s Name: Dr. Tina Smilkstein
Summary of Functional Requirements:
The function of this project is to develop a high-end portable music player that
supports many different formats (namely MP3s). Music files are read from flash-
based storage (SD Card), decoded through a decoder chip and played through a high-
end audio DAC.
Primary Constraints:
The main challenge faced was poor documentation for various pieces of hardware,
which made it far more time consuming and difficult to implement.
Economics:
The cost of components for the basic design is $53.03, not counting shipping or
handling charges. This also does not include the cost of an SD card, which should be
supplied by the user/customer. Although not required, access to oscilloscopes and
logic analyzers is extremely helpful, but because this test equipment is extremely
expensive, it should not be factored into the final cost. Development time took
substantially longer than anticipated.
If Manufactured on a Commercial Basis:
17
The niche market for this product would probably not result in a large number of
devices sold yearly, so the markup per unit should be high due to low economies of
scale.
Environmental:
There are not really any direct environmental impacts associated with the use of a
music player, however, the manufacture would probably have somewhat of an
environmental impact since silicon and other components cannot be manufactured
cleanly.
Manufacturability:
There are not really any issues with manufacturing. Hand assembly would be
difficult and time consuming, but a pick-and-place would make populating the board
quick and easy.
Sustainability:
The only part of this product that could be considered disposable would be the
battery, which would need replacing every few hundred hours of operation due to the
degradation of rechargeable lithium batteries, so in that regard it is fairly sustainable.
Also, the hardware itself would not need to be upgraded (unless parts became
obsolete) and the software itself can easily be updated, further making the device
more sustainable.
Ethical:
18
Since some of the supported music file types are proprietary, special care must be
taken to ensure that the required royalties are paid if this were to be put into
production.
Health and Safety:
The manufacture and use of the device is no more unsafe than any other portable
music player already on the market.
Social and Political:
There are no social or political concerns.
Development:
Extensive use of oscilloscopes and logic analyzers were required for the development
of the product. Also, learning the Atmel microcontroller development environment
was very important.
19
Bibliography
"Microcontroller with 32KBytes In -S ystem Programmable Flash,
ATmega32A." Atmel. Atmel, Feb 2011. Web. 13 Jun 2011.
<[Link]
pdf>.
"OPA2365; 2.2V, 50MHz, Low -Noise Single-Suppl y Rail-to-Rail
Operational Amplifiers." Texas Instruments. Texas Instruments,
Feb 2011. Web. 13 Jun 2011.
<[Link]
"VS1053b Datasheet." VLSI Solution . VLSI Solution, 27 May 2011.
Web. 13 Jun 2011.
<[Link]
"WM8740: 24-bit, High Performance 192kHz Stereo DAC." Wolfson
Microelectronics. Wolfson Microelectronics, Apr 2010. Web. 13
Jun 2011.
<[Link]
en/[Link]>.
List of Figures
Figure 1: Block Diagram of ATMEGA32A Microcontroller ....................................... 6
Figure 2: Block Diagram of WM8740 Stereo DAC ..................................................... 7
Figure 3: Block Diagram of VS1053 Decoder Chip ..................................................... 8
20
Figure 4: Pin-out of SD Card ........................................................................................ 9
Figure 5: Schematic of Main Components of the System .......................................... 10
Figure 6: Hardware Block Diagram ............................................................................ 11
List of Tables
Table I: Bill of Materials............................................................................................. 13
21