32
Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Web Audio Stereo Component

Group 3

Mike Foy

Tony Camilli

Barrett Cervenka

Dave Hillyard

Page 2: 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

Page 3: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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.

Page 4: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

System Implementation

Four subsystems– User Interface– Network Interface– Audio Decoding Interface– Line Out Interface

Platform is a Motorola ColdFire 5307 processor running CLinux

Page 5: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

System Implementation

Page 6: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Subsystems

User Interface– User I/O– LCD panel– Buttons

Network Interface– Connectivity– TCP/IP protocol– High speed

Page 7: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Subsystems

Audio Decoding Interface– MPEG/Layer3 decoding

Line Out– Digital-to-Analog conversion– Audio signals outputted through RCA jacks

Page 8: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 9: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 10: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 11: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 12: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Software Design

Processes– LCD Output– MP3 Decoder

Interrupt Handlers– External Clock– Buttons

Page 13: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Software Design

Shared Memory– Audio Buffer– Shared Variables

Page 14: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Software Design

Page 15: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 16: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 17: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 18: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Hardware Design

Embedded Processor Evaluation Board Project Board

Page 19: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 20: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 21: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 22: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 23: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 24: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 25: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 26: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 27: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

No thanks to...

Error-prone binary downloads Bad documentation Tools that didn’t work correctly Not seeing the solution the first time

Page 28: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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

Page 29: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

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/

Page 30: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

References...

Analog Devices –– http://www.analogdevices.com

Page 31: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Questions?

Page 32: Web Audio Stereo Component Group 3 Mike Foy Tony Camilli Barrett Cervenka Dave Hillyard

Join us at the Dixie Chicken for a demonstration!