Вы находитесь на странице: 1из 12

High

April 4
Bandwidth
USB
Streaming 2011
Interface
An USB audio interface that would allow users to play the audio with a
Plug and Play feature without the need of any specialized drivers. Ecology Lab
Name: Aditya Sharma

Email: sharmaaditya333@gmail.com

IRC: aditya sharma

GTalk: sharmaaditya333@gmail.com

Phone Number: +919953335525

Timezone: GMT +5:30

Working Hours: 20:00-01:00

Programming Experience Level: Intermediate/Advanced in C/C++ as well as


Embedded Electronics

Google Summer of Code 2011 application for EcologyLab.

My GSoC 2011 proposal is as:-

Idea:-

Project Z2: High-bandwidth USB Streaming Interface

Abstract

Audio Interface Class


Audio Interface class groups all functions that can interact with USB-compliant audio data
streams. Analog audio functions that are controlled through USB belong to this class required
that it exposes one Audio Control Interface. The Audio Interface class is divided into Subclasses
that can be further qualified by the Interface Protocol code.
· Audio Control Interface Subclass

· Audio Streaming Interface Subclass

· MIDI Streaming Interface Subclass

An important issue when dealing with audio, and 3-D audio in particular, is the phase
relationship between different physical audio channels. Indeed, the virtual spatial position of an
audio source is directly related to and influenced by the phase differences that are applied to the
different physical audio channels used to reproduce the audio source. Therefore, it is imperative
that USB audio functions respect the phase relationship among all related audio channels.
However, the responsibility for maintaining the phase relation is shared among the USB host
software, hardware, and all of the audio peripheral devices or functions.

PIN DIAGRAM
USB Drivers:-
Generally the USB drivers consist of host-controller drivers, miniport drivers and Hub Drivers.

1) Increment private usage count and save off a pointer to internal storage so that future
calls to operation enables the driver to determine which device is addressed by user.

2) Cleaning of any private data that was allocated at the time of removal of USB and shut
down any pending urbs that are in the USB system

3) To allow the USB to be able to shut down these current reads and writes and notify the
user about the absence of device due to removal of device at any point even if a program
is currently talking to it.

4) Calling of the probe function when the device will be plugged.

5) The diagram below shows a common Tone generation circuit.

Simple Tone Generation Circuit

Standardized Implementation:

My Understanding:-

I am understanding what this project is all about.It simply says that we have to make an audio device just
like an FM transmitter which works on Plug and Play function and takes it power from USB port itself
without requiring any drivers and this must be completed on the board PSOC 5.This sensor would work
as an amplifier which would act as a High Bandwidth Conduit for low latency data. This project is purely
a part of Embedded Electronics as it needs programming of the board PSOC 5. In short I can say that it’s
a plug and play device.
Why Ecology Lab:-
I have been coding in electronics and C/C++ for the last one year. I have done programming on
some familiar boards such as Arduino. Now I want a bigger project and something different from
the past. Audio Interfacing on PSOC5 will be the best project to work upon.

After GSoC,your involvement with Ecology Labs will be:-


I would like to continue working with Ecology Labs on project basis and evolve into core
contributor in them. I will go for core projects with guidance from community members as well
as extend my GSoC project.

Why Me:-
1) I am good at Electronics and Embedded programming. Below I have attached 2 files of my
projects.

2) Familiar with C/C++ and OpenGL as well. Although this project would not require OpenGL
programming but if needed I can manage.

Level of Difficulty : Medium

Mentor :

Roadmap:
1) Learning: Already started and going.

2) Programming: 6 weeks.

3) Review and Testing: 1 week

4) Bug fixing time: 1 week

5) Documentation:1 week
Benefits:-
1) This would be a frame which one could put around his/her monitor and enjoy the Multitouch.

2) People will come to know about the difference between Dual and Multitouch.

3) This project will give a feeling of using I-pad or a MS-surface to a person sitting at home.

4) People will get motivated to contribute to Open Source (the main aim of GSoC) as well as this
community.

5) More and more people will get familiar with this community to use the Multitouch feature on
their Computers.

Motivation to do this Project:-


Last year(2010) I was in a city of Rajasthan called as BIKANER to attend a FOSS event in Engineering
College Bikaner.There I met some guys who had been working and designed an audio interface on the
8051 microcontroller.I was so impressed by their presentation that I too decided to work on such a
project,but soon after that I was busy with my Internals and University exams.As soon as my University
exams were over I found that GSoC 2011 was announced and a same sort of Project was to be completed
for Ecology Labs.Without wasting any time I started working on USB protocols,getting familiar with the
community and getting in touch with the mentors.

This project will help me get familiar with the Audio Transmission.I have discussed this idea on IRC and
have realized that this is going to be one of the major projects of Ecology Lab and have realized that there
is no need of Open-GL for this project but if require I can manage.Since I have vast experience in
required Embedded electronics and I come from Electronics background also I have worked on some
projects as well so this project is appropriate for me.This project will enhance my programming skills.

The Ecology Lab community will be benefited a lot as there are very less Driverless Audio transmission
devices which simply work upon the plug and play operation.Users will be benefited as they need not
require any drivers to use the device on their systems.Drivers will be in-built for the device.So the users
will simply use it as a plug and play device.

TIMELINE:-
I will be having my semester exams from 20th May to 10th June so I will start working on my project in
community bonding period i.e. 25th April so as to get more and more time for the implementation.The
table below shows the various tasks to be completed in respective weeks.Also shown is a Gantt Chart
below the timeline.Regular feedback will be taken from mentor and implemented weekly.
Week 1-6
1) Get into the depth of idea (Already started)

2) Further discuss the idea with mentors.

3) Prepare a final list of features and work.

4) Identify the device interface.

5) First phase: Coding starts. Program PSOC 5 to generate audio pulses.

Week 6-8
1) Getting into the depth of USB Protocols.

2) Second Phase: Program PSOC5 for its auto-detection universally without any need of specialized
drivers.

Week 8-10
1) Testing of the complete developed code to detect any bugs.

Week 10-12
1) Debugging the developed code.

2) 1st week: Debugging the code of Audio Pulses (Includes removal of noise distortion etc.)

3) 2nd week: Debugging the code of Auto Detection of Audio Interface.

Week 12-13
1) Second phase of testing: Testing of debugged code.

Week 13-15
1) Work on Documentation.
2) Finally discuss the project with mentors.

3) Debugging the bugs (if any reported by Mentor)

4) Improve the Documentation, Release.

Week 15-17

BackUp Duration.
To take care of any other issue and implement required contingency plans.

GANTT CHART
COMMUNICATION:-
 I will prefer communicating via GTalk with mentor.

 Regular Emails (daily) will be sent about my progress on project with a detailed
weekly report.

 In case of any doubt or consultation I would like to use GTalk as a primary


medium for communication.

 If needed screen sharing approach could be used via Team Viewer.

 Sharing of code can be done using Github.

Biography:
I am an Engineering student from Delhi from the branch Electronics and Communication (ECE) from the
college DITM Sonipat (Haryana), India. An active member of Opensource community in my college as
well as in Delhi. I have been taking part in many Opensource meet-ups and events.I have my deep interest
in research work and as soon as i get over with my exams I start trying something with Electronic Boards
as well my Computer(My best companions).

I am also A FOSS lover and an Open Source enthusiast who loves to play with the code. As soon as I
heard that GSoC 2011 is announced I started exploring the organizations and found Ecology Lab as an
appropriate
organization for me. I loved the ideas on which the community is working as well as the new ideas.

As I was reading the community’s ideas the first that came to find was the Multitouch table made by
NUI Group and the Microsoft Surface which are very much different from Dual touch.

I also love to write the code for Microcontrollers as well as Electronic Boards such as ARDUINO.I have
done my summer training in Embedded Electronics which polished my Little Knowledge a lot.

I have written programs for some well known Microcontrollers such as 8051 and Arduino.

If given a chance I assure you that I will give my cent percent to the community. I will be proud to call
myself as a part of this organization.

So I request to kindly give me a chance and oblige.

Technical Contests and Conferences:-


1) Participated in Robotics contest held at Engineering College Bikaner in 2010 with Rohit
Rai.

2) Currently participating in The Great Minds Challenge organized by IBM.

3) Taken part in several open source conferences including KDE Conf (9-13 March),OSS
camp at JIIT Noida and Rajasfoss at ECB Bikaner.

Academic Performance in College:


• Digital Electronics (82/100)

• Analog Electronics (76/100)

• Fundamentals of Computer Programming in C (79/100)

• Data Structures and Algorithms (81/100)


• Computer System Architecture (awaited)

• Microprocessors (awaited)

Related Links:-

http://www.scribd.com/doc/52393098/Water-Level-Controller

http://www.scribd.com/doc/52393066/Arduino

Вам также может понравиться