Mp3 player project presentation

Post on 20-Aug-2015

1542 Views

Category:

Education

47 Downloads

Preview:

Click to see full reader

Transcript

ERIC ALLEY-ALEXANDER KOZITSKY- PETER STANLEY

MP3 PLAYER PROJECTTEAM 1

THE PRODUCT

• Initial product goal:• Design fully functional MP3 player utilizing

DE2 development board, Touch-screen LCD, and hardware MP3 decoder

• Our target audience:• Wide age range audience who are interested

in a MP3 player with integrated karaoke functionality

PROJECT MANAGEMENT

• How was the project managed:• Working in parallel utilizing Agile SCRUM

methodology• Tasks broken down into subtasks utilizing

iterative development• Collaboration:

• Communicated via email and wiki• Weekly group meetings in lab to discuss

progress and issues

METHODOLOGIES

• Jira for task management

• SVN for version control

• Confluence for wiki and project progress

• Planned on using BlackBerrys to communicate in real time but later switched to email and Skype on PCs

DEVELOPMENT TIMELINE

• First, developed requirements and a wish list• Laid out and manufactured the PCB board for the

decoder• Create Hardware Prototype of case and design• Started working on displaying objects on the LCD

board –Altera IP here helped• Then started working on producing sound from

the decoder• Researched different possible OS for the GUI• Finally decided to build the GUI from scratch• Combined both processors to have an operational

system

EXTERNAL CASE

• 4.3” 800x480 LCD• 3.5mm Headphone Out• 3.5mm Line In• Volume +/-• Mini-USB• Power switch• SD Card Slot

CASE PROTOTYPE

• Designed in Solidworks• Worked with MET Rapid Prototype Lab to have the

3D model printed• Model Design: 8-10hrs• Print Time: 4hrs• Made of Anodized Aluminum

or Stainless Steel• EST Cost/Unit: $4.50• Prototype Cost: $46

PCB Design & Production

• Schematic done in EAGLE• Utilize EAGLE net-list to layout board• Used mill purchased by department to produce

double sided board and drill holes• Used on campus resources to place and solder

parts.

HIGH LEVEL DESIGN SPECIFICATION

• Two processors used –one video and another audio• Both are soft-core IP• One processor would likely not have the

processing power to handle both tasks• Why both and how it was a benefit• The two processors communicate using a mutex

and shared memory• Had problems with memory limitations for the

audio processor

HARDWARE DESIGNVIDEO PROCESSOR

• Utilizes NIOS II/f processor • Needed for fast refresh rates• Uses 8MB SDRAM memory• Interfaces to the LCD Controller• Runs the GUI• Screen resolution: 400 x 240• Color Depth: 16 bits per pixel

HARDWARE DESIGNAUDIO PROCESSOR

• Uses NIOS II/s processor• Enough to do the audio transfer between the SD

card and the decoder (economy version was not fast enough)• Uses 32kB of on-chip memory – problem fitting

program• Configures the decoder • Transfers data from SD card to the decoder• Processes the commands sent from the video

processor• WAVE (.wav) and mp3 files were playable

INTER-PROCESSOR COMMUNICATION

• Both processors’ busses are connected to the same memory• Can’t both access it at the same time due to

collisions• So what is used is a mutex• Who ever wins the mutex gets to access the

memory• Generally the video processor leaves a command

in the memory and the audio processor reads it

IP DESIGN AND REUSE

• Reused a significant amount of code in our system

• LCD drivers• SD card drivers• I2C peripheral (from ESD II)• Altera University Program IP

• Created these components: • SPI peripheral• Code for the audio system (C/C++)• Code for the GUI (C/C++)

BATTERY CHARGER & 5V SUPPLY

Battery Charger (TI BQ24073):• Fully Compliant USB Charger Selectable 100mA and 500mA Maximum• 100mA Maximum Current Limit Ensures Compliance to USB-IF Standard• Dynamic Power Management (VIN-DPM) for Protection Against Poor USB

Sources• Status Indication – Charging/Done, Power Good • Small 3 mm × 3 mm 16 Lead QFN Package• $1.60 each/1000

Battery (RB-Spa-109):• 3.7V 1100mAH Lithium Polymer battery• Dim: 50mm x 32mm x 5mm 22 grams • 2A max• $9 each/1000

5V Power Supply (TPIC74100-Q1): MP3 decoder and FPGA Supply• 5V output with 1.5V to 40V input 1.5A max current• $1.70 each/1000

BATTERY CHARGER & 5V SUPPLY

Taken from TI:Reference Design for Cyclone II: 5 Vin, Small Size, Simple Design,

Dual TPS6204xKey Features• Integrated high and low-side FETs to achieve up to 95% conversion

efficiency• Operating input voltage range: 2.5 V to 6.0 V• Typical quiescent current: 18 μA• Load current: 1.2 A• Efficient generation of lower power I/O voltages• Adjustable and fixed output voltages• Power save mode operation at light load currents• Internal soft-start

Benefits• Power rail sequencing• High efficiency over wide-load range• Small solution size

POWER SUPPLY BLOCK DIAGRAM

POWER USAGE

Using Early Power Estimation FPGA: 172mWhLCD Power (est. based on spec sheet):

200mWh• Backlight Typical: 80mWh• Touch/ADC:120mWh

MP3 Decoder:200mWh

Total Power Consumption:572mWh

Battery 3.7V 1100mAh:4070mWh

Estimated Run Time: 7 hr

GUI Research

• Embedded OS• uClinux• Micro-C/OS II

• GUI Research• QT Creator• Micrium Micro-C/GUI• Altera Neek MP3 Player Reference Design

• Outcomes:• uC-Linux available for NIOS/II cores and Altera Hardware• DE2 is able to run barebones uC-Linux, but leaves nearly no

memory, board limitations with SRAM and SDRAM• GUI Design and implementation much quicker than GUI from

scratch.

GUI Design

• Image Display• All images are stored in the software code.• All characters are stored as images.

• Touch screen response• Reads a flag controlled by the video processor.• Compares the x and y coordinates to a range represented by

a button.

• Audio control• Sends control information to the mutex for audio processor to

read.• Microphone is enabled in Karaoke screen.

Touch Screen Control

• Main Menu • Displays a logo for the device• Displays the options available to select

• MP3 Player/Karaoke• Play button• Stop Button• Previous Track• Next Track• Volume up• Volume down• Mute

CODE REVIEWS

• We analyzed each others code and made comments• Also used code analysis program to analyze VHDL

code• This generally helps to improve coding as you

may be doing something wrong that you don’t know

ISSUES IN DEVELOPMENT

• OS research and selection• GUI Development• Fitting the audio code into the available memory• Could not make either processor run at a faster

speed

CONCLUSIONS

• Accomplished most of our intended goals• Project was interesting and fun but also

challenging• Lessons learned, recommendations• If we had to do it again…

top related