Mp3 player project presentation


Published on


1 Comment
1 Like
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mp3 player project presentation

  2. 2. THE PRODUCT <ul><li>Initial product goal: </li></ul><ul><ul><li>Design fully functional MP3 player utilizing DE2 development board, Touch-screen LCD, and hardware MP3 decoder </li></ul></ul><ul><li>Our target audience: </li></ul><ul><ul><li>Wide age range audience who are interested in a MP3 player with integrated karaoke functionality </li></ul></ul>
  3. 3. PROJECT MANAGEMENT <ul><li>How was the project managed: </li></ul><ul><ul><li>Working in parallel utilizing Agile SCRUM methodology </li></ul></ul><ul><ul><li>Tasks broken down into subtasks utilizing iterative development </li></ul></ul><ul><li>Collaboration: </li></ul><ul><ul><li>Communicated via email and wiki </li></ul></ul><ul><ul><li>Weekly group meetings in lab to discuss progress and issues </li></ul></ul>
  4. 4. METHODOLOGIES <ul><li>Jira for task management </li></ul><ul><li>SVN for version control </li></ul><ul><li>Confluence for wiki and project progress </li></ul><ul><li>Planned on using BlackBerrys to communicate in real time but later switched to email and Skype on PCs </li></ul>
  5. 5. DEVELOPMENT TIMELINE <ul><li>First, developed requirements and a wish list </li></ul><ul><li>Laid out and manufactured the PCB board for the decoder </li></ul><ul><li>Create Hardware Prototype of case and design </li></ul><ul><li>Started working on displaying objects on the LCD board –Altera IP here helped </li></ul><ul><li>Then started working on producing sound from the decoder </li></ul><ul><li>Researched different possible OS for the GUI </li></ul><ul><li>Finally decided to build the GUI from scratch </li></ul><ul><li>Combined both processors to have an operational system </li></ul>
  6. 6. EXTERNAL CASE <ul><li>4.3” 800x480 LCD </li></ul><ul><li>3.5mm Headphone Out </li></ul><ul><li>3.5mm Line In </li></ul><ul><li>Volume +/- </li></ul><ul><li>Mini-USB </li></ul><ul><li>Power switch </li></ul><ul><li>SD Card Slot </li></ul>
  7. 7. CASE PROTOTYPE <ul><li>Designed in Solidworks </li></ul><ul><li>Worked with MET Rapid Prototype Lab to have the 3D model printed </li></ul><ul><li>Model Design: 8-10hrs </li></ul><ul><li>Print Time: 4hrs </li></ul><ul><li>Made of Anodized Aluminum </li></ul><ul><li>or Stainless Steel </li></ul><ul><li>EST Cost/Unit: $4.50 </li></ul><ul><li>Prototype Cost: $46 </li></ul>
  8. 8. PCB Design & Production <ul><li>Schematic done in EAGLE </li></ul><ul><li>Utilize EAGLE net-list to layout board </li></ul><ul><li>Used mill purchased by department to produce double sided board and drill holes </li></ul><ul><li>Used on campus resources to place and solder parts. </li></ul>
  9. 9. HIGH LEVEL DESIGN SPECIFICATION <ul><li>Two processors used –one video and another audio </li></ul><ul><li>Both are soft-core IP </li></ul><ul><li>One processor would likely not have the processing power to handle both tasks </li></ul><ul><li>Why both and how it was a benefit </li></ul><ul><li>The two processors communicate using a mutex and shared memory </li></ul><ul><li>Had problems with memory limitations for the audio processor </li></ul>
  10. 10. HARDWARE DESIGN VIDEO PROCESSOR <ul><li>Utilizes NIOS II/f processor </li></ul><ul><li>Needed for fast refresh rates </li></ul><ul><li>Uses 8MB SDRAM memory </li></ul><ul><li>Interfaces to the LCD Controller </li></ul><ul><li>Runs the GUI </li></ul><ul><li>Screen resolution: 400 x 240 </li></ul><ul><li>Color Depth: 16 bits per pixel </li></ul>
  11. 11. HARDWARE DESIGN AUDIO PROCESSOR <ul><li>Uses NIOS II/s processor </li></ul><ul><li>Enough to do the audio transfer between the SD card and the decoder (economy version was not fast enough) </li></ul><ul><li>Uses 32kB of on-chip memory – problem fitting program </li></ul><ul><li>Configures the decoder </li></ul><ul><li>Transfers data from SD card to the decoder </li></ul><ul><li>Processes the commands sent from the video processor </li></ul><ul><li>WAVE (.wav) and mp3 files were playable </li></ul>
  12. 13. INTER-PROCESSOR COMMUNICATION <ul><li>Both processors’ busses are connected to the same memory </li></ul><ul><li>Can’t both access it at the same time due to collisions </li></ul><ul><li>So what is used is a mutex </li></ul><ul><li>Who ever wins the mutex gets to access the memory </li></ul><ul><li>Generally the video processor leaves a command in the memory and the audio processor reads it </li></ul>
  13. 14. IP DESIGN AND REUSE <ul><li>Reused a significant amount of code in our system </li></ul><ul><ul><li>LCD drivers </li></ul></ul><ul><ul><li>SD card drivers </li></ul></ul><ul><ul><li>I2C peripheral (from ESD II) </li></ul></ul><ul><ul><li>Altera University Program IP </li></ul></ul><ul><li>Created these components: </li></ul><ul><ul><li>SPI peripheral </li></ul></ul><ul><ul><li>Code for the audio system (C/C++) </li></ul></ul><ul><ul><li>Code for the GUI (C/C++) </li></ul></ul>
  14. 15. BATTERY CHARGER & 5V SUPPLY <ul><li>Battery Charger (TI BQ24073): </li></ul><ul><li>Fully Compliant USB Charger Selectable 100mA and 500mA Maximum </li></ul><ul><li>100mA Maximum Current Limit Ensures Compliance to USB-IF Standard </li></ul><ul><li>Dynamic Power Management (VIN-DPM) for Protection Against Poor USB Sources </li></ul><ul><li>Status Indication – Charging/Done, Power Good </li></ul><ul><li>Small 3 mm × 3 mm 16 Lead QFN Package </li></ul><ul><li>$1.60 each/1000 </li></ul><ul><li>Battery (RB-Spa-109): </li></ul><ul><li>3.7V 1100mAH Lithium Polymer battery </li></ul><ul><li>Dim: 50mm x 32mm x 5mm 22 grams </li></ul><ul><li>2A max </li></ul><ul><li>$9 each/1000 </li></ul><ul><li>5V Power Supply (TPIC74100-Q1): MP3 decoder and FPGA Supply </li></ul><ul><li>5V output with 1.5V to 40V input 1.5A max current </li></ul><ul><li>$1.70 each/1000 </li></ul>
  15. 16. BATTERY CHARGER & 5V SUPPLY <ul><li>Taken from TI: </li></ul><ul><li>Reference Design for Cyclone II: 5 Vin, Small Size, Simple Design, Dual TPS6204x </li></ul><ul><li>Key Features </li></ul><ul><li>Integrated high and low-side FETs to achieve up to 95% conversion efficiency </li></ul><ul><li>Operating input voltage range: 2.5 V to 6.0 V </li></ul><ul><li>Typical quiescent current: 18 μA </li></ul><ul><li>Load current: 1.2 A </li></ul><ul><li>Efficient generation of lower power I/O voltages </li></ul><ul><li>Adjustable and fixed output voltages </li></ul><ul><li>Power save mode operation at light load currents </li></ul><ul><li>Internal soft-start </li></ul><ul><li>Benefits </li></ul><ul><li>Power rail sequencing </li></ul><ul><li>High efficiency over wide-load range </li></ul><ul><li>Small solution size </li></ul>
  17. 18. POWER USAGE <ul><li>Using Early Power Estimation FPGA: 172mWh </li></ul><ul><li>LCD Power (est. based on spec sheet): 200mWh </li></ul><ul><ul><li>Backlight Typical: 80mWh </li></ul></ul><ul><ul><li>Touch/ADC: 120mWh </li></ul></ul><ul><li>MP3 Decoder: 200mWh </li></ul><ul><li>Total Power Consumption: 572mWh </li></ul><ul><li>Battery 3.7V 1100mAh: 4070mWh </li></ul><ul><li>Estimated Run Time: 7 hr </li></ul>
  18. 19. GUI Research <ul><li>Embedded OS </li></ul><ul><ul><ul><li>uClinux </li></ul></ul></ul><ul><ul><ul><li>Micro-C/OS II </li></ul></ul></ul><ul><li>GUI Research </li></ul><ul><ul><ul><li>QT Creator </li></ul></ul></ul><ul><ul><ul><li>Micrium Micro-C/GUI </li></ul></ul></ul><ul><ul><ul><li>Altera Neek MP3 Player Reference Design </li></ul></ul></ul><ul><ul><li>Outcomes: </li></ul></ul><ul><ul><li>uC-Linux available for NIOS/II cores and Altera Hardware </li></ul></ul><ul><ul><li>DE2 is able to run barebones uC-Linux, but leaves nearly no memory, board limitations with SRAM and SDRAM </li></ul></ul><ul><ul><li>GUI Design and implementation much quicker than GUI from scratch. </li></ul></ul>
  19. 20. GUI Design <ul><li>Image Display </li></ul><ul><ul><ul><li>All images are stored in the software code. </li></ul></ul></ul><ul><ul><ul><li>All characters are stored as images. </li></ul></ul></ul><ul><li>Touch screen response </li></ul><ul><ul><ul><li>Reads a flag controlled by the video processor. </li></ul></ul></ul><ul><ul><ul><li>Compares the x and y coordinates to a range represented by a button. </li></ul></ul></ul><ul><li>Audio control </li></ul><ul><ul><ul><li>Sends control information to the mutex for audio processor to read. </li></ul></ul></ul><ul><ul><ul><li>Microphone is enabled in Karaoke screen. </li></ul></ul></ul>
  20. 21. Touch Screen Control <ul><li>Main Menu </li></ul><ul><ul><ul><li>Displays a logo for the device </li></ul></ul></ul><ul><ul><ul><li>Displays the options available to select </li></ul></ul></ul><ul><li>MP3 Player/Karaoke </li></ul><ul><ul><ul><li>Play button </li></ul></ul></ul><ul><ul><ul><li>Stop Button </li></ul></ul></ul><ul><ul><ul><li>Previous Track </li></ul></ul></ul><ul><ul><ul><li>Next Track </li></ul></ul></ul><ul><ul><ul><li>Volume up </li></ul></ul></ul><ul><ul><ul><li>Volume down </li></ul></ul></ul><ul><ul><ul><li>Mute </li></ul></ul></ul>
  21. 22. CODE REVIEWS <ul><li>We analyzed each others code and made comments </li></ul><ul><li>Also used code analysis program to analyze VHDL code </li></ul><ul><li>This generally helps to improve coding as you may be doing something wrong that you don’t know </li></ul>
  22. 23. ISSUES IN DEVELOPMENT <ul><li>OS research and selection </li></ul><ul><li>GUI Development </li></ul><ul><li>Fitting the audio code into the available memory </li></ul><ul><li>Could not make either processor run at a faster speed </li></ul>
  23. 24. CONCLUSIONS <ul><li>Accomplished most of our intended goals </li></ul><ul><li>Project was interesting and fun but also challenging </li></ul><ul><li>Lessons learned, recommendations </li></ul><ul><li>If we had to do it again… </li></ul>