Porta-AMPPorta-AMPPortable Audio MP3 PlayerPortable Audio MP3 Player
By :
Kevin Mlazgar
Dan Leder
Edmund Fung
John Koob
What is MP3?What is MP3?
A compressed audio media format
(11:1 lossy compression) MPEG (Motion Picture Experts Group) MP3 is
the MPEG audio layer 3 standard Filters out frequencies which human ear can’t hear Provides variable quality & compression of audio The audio is compressed using Huffman encoding.
Project ObjectivesProject Objectives
Ability to store multiple songs to Porta-AMP from a PC or integrated CDROM.
Ability to play, pause, and stop songs. Display song name, number and the present state
of the Porta-AMP on a LCD. 128MB RAM for audio storage. Audio streaming support using parallel port and
CDROM.
Hardware ArchitectureHardware ArchitectureParallel
Port Interface
Memory Managemen
tInterface
CD-ROM Interface
MP3 Interface
KeypadInterface
LCD Interface
MASTER
CONTROL
LCD DriverLCD Driver
The first known implementation of a WORKING LCD driver, that can display multiple static screens.
Original implementation of the LCD Driver used nearly 570 logic blocks.
Current implementation uses ~200 logic blocks and is independent of the number of screens to be displayed.
Uses the EABs located on the FLEX10K to store the static screens.
MP3 Decoder InterfaceMP3 Decoder Interface Create a 8 bit serial
data stream from parallel data
Operates at ~1 MHz The demand line is
used to make data requests from the interface.
The decoded data is streamed to a DAC in I2S data format.
CD-ROM Interface GoalsCD-ROM Interface Goals
Read MP3 songs from a CD so that they can be downloaded to RAM or directly streamed by the Porta-AMP.
Ability to read an ISO-9660 level 2 CD. Identifying all MP3 files on the CD which can be
used by Porta-AMP. Obtain filenames and display to LCD for user
selection.
CD-ROM ImplementationCD-ROM Implementation
A CDROM controller was designed and simulated.
Due to time constraints and issues arising from the large scale integration of our project, the CDROM implementation has not been tested.
For more information see T13 Standards Committee Document from ANSI, where information on ATAPI is available.
Parallel Port InterfaceParallel Port Interface Three Parallel Port transmission modes:
– SPP (Standard Parallel Port) – 40K-100KBytes/s– EPP (Enhanced Parallel Port) – ~1MBytes/s – ECP (Extended Capabilities Port) – 300K-800KB/s
The EPP bandwidth exceeds the requirements to provide MP3 streaming.
The PC and device should negotiate the transmission mode for IEEE 1284 compliance.
DOS EPP Device DriverDOS EPP Device Driver
In order to use EPP mode, the development of a custom device driver was required.
An attempt to use standard Windows printer drivers proved to be futile, due to unavailability of the IEEE-1284 standard ($120 from IEEE.org).
Instead, a driver was developed using C to upload files from the PC to the Porta-AMP.
After eradicating the effects of ringing and synchronizing the inputs, a reliable data link was achieved.
Memory InterfaceMemory Interface
Currently interfacing 8MB of EDO DRAM. A preliminary design for up to 128MB of PC100
SDRAM exists. It was decided to implement DRAM due to time
constraints and 3.3 to 5 V interfacing issues.
DRAM ImplementationDRAM Implementation
The memory interface abstracts all addressing and access to memory from the main modules of the Porta-AMP.
The Memory interface controller handles all reads and writes to memory via the RAS#, CAS#, and WEN# signal lines.
Handling of CBR refreshes are also taken care of by the controller.
DRAM Implementation (2)DRAM Implementation (2)
At this time only one song in memory is supported.
Preliminary design for a song table supporting multiple songs exists.
Each DRAM access takes 6-7 clock cycles when using a 25MHz clock frequency.
Project AchievementsProject Achievements
LCD Interface – working with multiple screens Keypad Interface – samples key presses MP3 Decoder Interface – tested with MCORE CDROM – unable to test Parallel Port Interface – complete file download DRAM – read and write with memory refresh