group 4 craig bellamy jeremy ruple frank swehosky ryan vanalstine
DESCRIPTION
Group 4 Craig Bellamy Jeremy Ruple Frank Swehosky Ryan VanAlstine. Introduction. The Internet is capable of wide-scale multimedia streaming Current analog streaming are limited to range, ex. t.v., FM radio We propose to create an Internet Radio player. Original Objectives and Deliverables. - PowerPoint PPT PresentationTRANSCRIPT
Introduction
The Internet is capable of wide-scale multimedia streamingCurrent analog streaming are limited to range, ex. t.v., FM radioWe propose to create an Internet Radio player
Original Objectives and Deliverables
Connect to a remote server via TCP/IPReceive streaming audioDecode the streaming audioConvert a digital signal into an analog signalOutput the analog signal to a line outScanning functionalityPreset and programmable buttonsFinal product: a functional web radio player
Approaching the Problem
ResearchuClinuxSoftware Scanning functionality Downloading mp3 data Decoding mp3 data
Approaching the Problem cont.
Hardware DAC/Speakers LCD Button interface
Integration Software integration Device drivers
Coldfire Board
What it provides: 8 MB RAM 1 MB Flash ROM NE2000 compatible Ethernet interface 2 serial connections, 1 for Terminal 1 16 bit general purpose parallel I/O
port
uClinux
The Linux/Microcontroller project is a port of the Linux 2.0 to systems without a Memory Management Unit At present, only Motorola MC68000 derivatives are supported NFS and SMB file-systems can be mounted
uClinux-negative cont.
no fork() - use vfork(), check semantics still OK.
limited libc - either add more to libc, or remove some functionality.
binary size - currently exec() loader can't handle things bigger than 128k. This can be extended by hacking the linux/mmnommu code, grep for BIGALLOCS.
Scanning Broadcasting Sites
Use a packet sniffer? Security risks Difficult implementation
Use Shoutcast’s web page! Contains mp3 broadcasting sites Download contents of page Parse page Store into an array
Downloading MP3 Data
Connect to the site (tcp connection)Issue command to sendReceive data into buffersStore buffers into a file
Decoding the MP3 Data
Input the MP3 file that was downloadedUse Huffman’s Algorithm to decode it minimal variable-length encoding based
on the frequency of each character
Output the decoded data to the DAC
DAC Driver
purpose of the DAC driver is to allow data in memory to be sent to the physical DAC via a programmable port
accepts a buffer of data and a given frequency, and will output one 16 bit value at each period to the physical DAC data has to be sent to the physical DAC one bit at a time
Original TimelineComponent
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Install Software X SNetwork Interface X X T PDigital-to-Audio X X T RMP3 Decoding X X T IRCA line out, Speakers X T NIntegration of hardware X G T TLCD Interface X T
Button Interface B X X TNet Scan R X X TIntegration of System E X XTesting A T T TFinal Presentation K X
Modified TimelineComponent 7 8 9 10 11 12 13 14Install Linux in ROM S XConnect to Website & Download MP3 data P X X T
MP3 Decoding R X X TScanning Algorithm I X X TButton & LCD Interface N X X TDAC and LCD Drivers G X X TIntegration of All Hardware B X X
Integration of Whole System R X X XTesting E T T TFinal Presentation A X X
K
Accomplishments
Connect to a remote server via TCP/IP Receive streaming audio Decode the streaming audio Convert a digital signal to an analog signal Output the analog signal to a line out Scanning functionality Preset and programmable buttons XFinal product: a functional web radio player X
Current Problems
Limited commands with uClinuxIntegration of software and hardware DAC device driver Passing data between programs
Size of the ROM 1 MB ROM vs. 3.6 MB kernel
Unreliable Coldfire board