SERENADE MP3 PLAYER The Hardware Perspective By: Jacob Messick, Marcel Deslauriers, Brendan Simpson, & Nick Miller
Acknowledgements Craig Damon - Guidance Michael Marceau - Guidance Barry Woodworth - Help in Shop Andy Child - Parts Management BAMC - Technical Support
Table of Contents System Diagram Hardware Description Main Controller Power Management User Interface Software Description Beethoven Program LCD Audio Graphical EQ Work Distribution Bill of Materials
System Diagram MCU ATmega32U4 MCU ATmega32U4 Audio Codec VS1003 Host PC Host PC µSD Card LCD HID: Tactile Buttons HID: Tactile Buttons SPI Serial GPIO
Hardware Description Five Major Components Milled Aluminum Case Atmega32U4 Microcontroller VS1003 Audio Codec 4DSystems µLCD-144 Graphical LCD System Power Management System
Case Design Milled aluminum Three pieces: Back panel Front panel Sidewalls Cutouts: LCD/ Buttons Audio Jack USB
ATMega32U4 Coordinates all peripheral functions between chips Manages SPI communication with µSD card and VS1003 Manages USB connection Manages information serving to LCD Operates at 3.3V
Audio Codec VS1003 Decodes MP3 &WMA SPI Control High Quality on chip Stereo 18-bit DAC Integrated DSP core provides advanced features such as pitch control Requires 3 voltage domains (3.3, 2.85, 2.7) and runs at MHz
Micro-Codec SPI Communication Microcontroller (Master) MISO MOSI SCK GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 Microcontroller (Master) MISO MOSI SCK GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 Vs1003 (Slave) SO SI SCLK xRESET DREQ xCS xDCS
LCD – 4D Systems LCD 128x128 Color LCD µSD card storage 10KiB of flash memory program storage 510 bytes of RAM for program memory Integrated Graphics Processor Interfaces via standard UART (serial)
Lithium Polymer Battery Single Cell High Energy Density Good long term discharge rate Rechargeable Works well under extreme conditions
Voltage Regulation Battery/USB power source 1 Switching boost regulator (LTC3203) 3 linear voltage regulators for localized voltage domains
Custom Hardware Design Atmega32U4 LCD Screen Audio Codec VS1003 SD Card LiPo Battery Power Management
Schematic Power Management Micro CODEC
Software Description Microcontroller Simple interrupt driven runtime to serve user requests (button input) Controls file streaming from the µSD to the VS1003 Sends inputs, the database, and status information about the current song playing to the LCD LCD Main GUI for the MP3 player Uses the database to create menus as needed Tells the microcontroller what song to play and volume level Beethoven Program Media library Music & database syncing MP3 playback Metadata editor
LCD: Menus 1. Main Menu 2. Song Navigation Menus 3. Current Song View 4. Now Playing Playlist 5. Settings
LCD - Interfacing : LCD CommandFunction /v+\increase volume /v-\decrease volume /pSong Title Here.mp3\play chosen song /r\resume current song /u\pause current song
LCD Database
Beethoven
Syncing Program Requirements: Syncs media files with MP3 player Cross Platform – Windows, Mac & Linux Built in media player Playlists Execution: Primary Language: Java Development Tools: IntelliJ Libraries: Javax.Swing (GUI), JavaFX (Media Player)
Initial Concept
About Beethoven ≈ 4000 lines of Java
Complications Drag and Drop interface Managing 3 rd Party Libraries Dynamic JTree Modification Database Generation Getting a Coffee…
Audio EQ
Labview: Measurement & Control Control Options Stop/THD Measurement Right & Left RMS Voltage Measurement
LabView: Voltage RMS Measure
Labview: THD & 11 Band Filter
Labview: 11 Band EQ SubVi
Work Distribution
Bill Of Materials
Demo
Summary System Diagram Case Micro-Codec Communication Hardware Description Schematic C odec C odec Power Management Micro Software LCD menus Syncing program Audio EQ Work Flow Bill of materials Demo
Power Management CHARGE PUMP Charge Controller
Power System Simulation
Power Management Results. LCD Draws 220 mA when powered No Sleep/ Hibernate Mode Current Draw On Battery (mA) USB Power (mA) On (No music)265 Playing a song 280 Volume at Battery LifeTime Powered On (No music)3 Hours 46 Minutes Playing a song3 Hours 34 Minutes Volume at 113 Hours 08 Minutes
Microcontroller
Codec