Welcome to SolderMonkey.com!
Current Project: Portable MP3 Player
Status: Early Planning; LCD Controller Design
Last Updated: 3/24/06

FPGA Design
     LCD Controller
          Coming Soon!
     Portable Player
          Features
Microcontrollers
     Spastic MP3 Player
          Features
          Pictures
          Updates
          Schematics
          Downloads
          Related Links
     Streaming MP3
          Features
          Updates
          Pictures
          Downloads
          Related Links
          Schematics

· Home
· Feedback
· Recommend Us

 Tutorial Requirements Defined

MicrocontrollersThe hardware requirements and components for the simple portable MP3 player have been defined. The player will include a PIC microcontroller, Compact Flash memory, and a VS1011B MP3 decoder. All parts, except for the MP3 decoder, will be through-hole packages for ease of prototyping and experimentation.  Click "Read More" below for details.

Introduction

There are four principle components that must be included in even the most simple MP3 player: A processor, an MP3 decoder, a storage medium, and some form of user control. The parts selected in this tutorial were chosen based on ease of programming, ease of construction, expandability, and popularity in the homebrew electronics community. The details for each part are listed below.

Storage

The two most common storage methods in commercial production today are flash memory and hard disk based. Although using straight flash memory is potentially the smallest solution and consumes the least amount of energy, the interface to these devices is not straight forward and the music must be downloaded through the player, requiring more components and more programming on both the PC and MP3 player side to download and manage the file system.

A hard drive based player is more desirable from the perspective of storage space. Storage space is limited only by the current PC market, and at a fraction of the cost of flash memory. Additionally, because these devices can be plugged directly into the PC, your existing computer operating system can handle the file downloads for free. However, the necessity of removing the hard drive from the player every time you want to add music is tedious at best. Finally, the high current draw and voltage of hard disk drives will sap the battery of a portable system in no time (unless you can afford one of the drives Apple uses.)

For this player, I will be compromising with Compact Flash. These devices have the low power of flash and can be operated in a "True IDE" mode, which will look identical to an IDE hard drive from the controlling device's perspective. This will not only give us a removable and replaceable storage medium that can easily be plugged into a laptop to update the music, but it will also allow the hardware design and drivers to be extended to support IDE hard drives with no effort.

MP3 Decoder

For my previous projects, I have depended mainly on the STA013 and CS3443 chips for my decoding needs, but this is a two chip solution. The new VS1011B, from VLSI Solution, has an internal DAC and headphone amplifier, uses a single serial port for both commands and music data, and plays PCM, WAV, and MP3 files. Another benefit over the STA013 is a simple initialization. The STA requires about 2KB of data to be loaded into the memory every time it is powered up, requiring a large amount of external memory for storage.

LCD Display

This project will be designed around the character LCDs based on the HD44780 controller. With an interface similar to the Compact Flash, an LCD using this controller will only need one additional I/O. I will be designing for single controller displays (up to 80 characters).

Keypad

My keypad will have at least the following buttons:

  • Play
  • Next
  • Previous
  • Mode
  • Menu
These buttons will require 5 individual I/Os. However, the lines will be added to the parallel data bus through a tristate buffer, limiting the number of additional pins needed to one deveice select pin.

Processor

In order to choose the best processor, we must first see what peripherals we need. For instance, we will need the following I/Os:

Description
Pins
Bus Data
8
Bus RD
1
Bus WR
1
CF Address
3
CF Chip Select
2
CF IRQ
1
LCD Chip Select
1
Keypad Select
1
Reset
1
MP3 Data Req
1
MP3 SPI Port
4
Total
24

The data bus can easily be bit-banged, but the SPI port is better left to the hardware. Any periodic functions will require at least one timer. External interrupts will improve code efficiency for the MP3 and Compact Flash drivers.

Any microcontroller should be able to meet these basic requirements. This project will be implemented on a PIC processor, most likely the PIC18F2515, in a 28 pin SDIP package.

Next Task...

Next task will be to put all of this together in the schematic. I'll be updating the site as soon as that is complete.




 
· More about Microcontrollers
· News by Steve


Most read story about Microcontrollers:
Tutorial Requirements Defined


Average Score: 4
Votes: 1


Please take a second and vote for this article:

Excellent
Very Good
Good
Regular
Bad



 Printer Friendly Printer Friendly


Associated Topics

Microcontrollers






Web site powered by PHP-Nuke
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2005 by me.
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.13 Seconds