Network Interface - CS Course Webpages

Download Report

Transcript Network Interface - CS Course Webpages

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 mCLinux
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 mCLinux 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 mCLinux
Line Out Interface
 Outputs the analog audio signal
 DAC
– Two-channel, serial input
– Interfaces with mCLinux 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 mCLinux
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://gopherchem.ucdavis.edu/11/Index/Internet_aw/Intro_t
he_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/linuxcoldfire.html
 483 Home Page –
– http://www.cs.tamu.edu/courseinfo/cpsc483/common/
References...
 Analog Devices –
– http://www.analogdevices.com
Questions?
Join us at the Dixie Chicken for a
demonstration!