web audio stereo component group 3 mike foy tony camilli barrett cervenka dave hillyard
Post on 22-Dec-2015
215 views
TRANSCRIPT
Web Audio Stereo Component
Group 3
Mike Foy
Tony Camilli
Barrett Cervenka
Dave Hillyard
To Jog Your Memory..
The market for high fidelity audio has always existed
High speed, dedicated Internet access is become more common in homes
Our project takes streaming audio via the Internet and makes it available as a stereo component
Our Project...
Traditionally people have listened to the radio over and RF frequency. With our implementation, people will be able to listen to their favorite radio station no matter where they are in the world.
System Implementation
Four subsystems– User Interface– Network Interface– Audio Decoding Interface– Line Out Interface
Platform is a Motorola ColdFire 5307 processor running CLinux
System Implementation
Subsystems
User Interface– User I/O– LCD panel– Buttons
Network Interface– Connectivity– TCP/IP protocol– High speed
Subsystems
Audio Decoding Interface– MPEG/Layer3 decoding
Line Out– Digital-to-Analog conversion– Audio signals outputted through RCA jacks
User Interface Implementation
Present several audio sources, then allow the user the select one
LCD Panel– Displays audio sources– Connected to parallel port on ColdFire board
Buttons– Used to select an option from LCD
Mainly hardware based, some software
Network Interface Implementation Finds sources to pass to User Interface After user has made a selection, the Network
Interface makes a connection to the source and begins downloading bit stream
Connects to a LAN or other high speed Internet connection
Uses CLinux running on ColdFire
Audio Decoding Interface
Takes incoming bit stream and converts it to digital audio
Uses MPEG/Layer3 decoding scheme Decodes in real time, instead of
downloading file completely, then replaying it.
Runs on CLinux
Line Out Interface
Outputs the analog audio signal DAC
– Two-channel, serial input– Interfaces with CLinux to receive digital audio– Converts digital audio to analog signal
Op-Amps - Conditions analog audio signal RCA Jacks - Outputs analog audio signal on
standard stereo connection
Software Design
Processes– LCD Output– MP3 Decoder
Interrupt Handlers– External Clock– Buttons
Software Design
Shared Memory– Audio Buffer– Shared Variables
Software Design
Processes
LCD Output– Reacts to shared variables– Variables change when buttons pushed and
during decode process
MP3 Decoder– Connects to source– Downloads and decodes data
Interrupt Handlers
External Clock Interrupt– Fires at sampling rate of audio source– Reads data for Decode process from audio
buffer– Tells DAC to output analog signal
Button Interrupt– Fires when a button is pushed– Updates shared memory
Shared Memory
Audio Buffer– Contains the audio data
– Managed by Decoder process
– On clock interrupt, next portion of data is removed
Shared Variables– Used for process communication
– Written by Button Interrupt
– Read by LCD and Decoder processes
Hardware Design
Embedded Processor Evaluation Board Project Board
Evaluation Board
Arnewsh SBC5307 Evaluation Board– Motorola ColdFire 5307 running at 90 MHz– 8 MB Memory in SIMM stick– Integrated Ethernet controller– On-board RJ-45 port– I/O
Project Board
All extra hardware – Voltage buffers
• Converts voltage between 3.3 V and 5 V
– LCD Panel– Buttons and de-bouncing circuits– DAC– Op-amps– RCA jacks
Approach to Implementation
Initial Proposal– Use RealAudio decoding– Implement on Motorola MCORE processor
evaluation board
Revisions to Proposal– MPEG/Layer3 decoding– Motorola ColdFire 5307 processor-based
Arnewsh evaluation board
Audio Format
Used ISO source as reference Functions of the software
– Decode bit stream– Output to parallel port to be converted
Some problems, however– No sound card– ColdFire has limited floating point support
Eventually found a solution
Network Interface Issues
Unsure of how to implement network communication
Several options– Implementing TCP/IP stack– Purchasing a proprietary RTOS with TCP/IP
Eventually found CLinux
Linux Kernel
Linux kernel built with the software included
Resultant binary is downloaded to Arnewsh board
Significant problems with binary download, but was figured out after much experimentation
Final Version
Linux kernel with decoder LCD process Working digital-to-analog conversion Unfortunately, without a device driver to
interface with the DAC, cannot output analog signal
Using this driver, system is complete
Thanks to...
Dr. Mahapatra, for the encouragement and for never letting us forget when it was too easy
The TAs, for preparing us for Dr. Mahapatra’s impending comments and helping us with equipment
The ColdFire and Linux communities, for eager help when they had an answer to our questions
No thanks to...
Error-prone binary downloads Bad documentation Tools that didn’t work correctly Not seeing the solution the first time
References...
Introduction to TCP/IP – – gopher://gopher-chem.ucdavis.edu/11/Index/Int
ernet_aw/Intro_the_Internet/intro.to.ip/
MPEG/Layer 3 Information– http://www.mp3tech.org
Motorola – – http://www.motorola.com
References...
WildRice– http://www.wildrice.com/coldFire/
uClinux/ColdFire– http://www.moretonbay.com/coldfire/linux-
coldfire.html
483 Home Page –– http://www.cs.tamu.edu/course-info/cpsc483/
common/
References...
Analog Devices –– http://www.analogdevices.com
Questions?
Join us at the Dixie Chicken for a demonstration!