Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Making a USB soundcard

Status
Not open for further replies.

ripitup

Newbie level 1
Newbie level 1
Joined
Oct 7, 2012
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,296
I'm trying to make a usb soundcard with 5-6 inputs.
This link shows just how to use a usb headset as a usb soundcard. It only has 1 input though...

Link # 1
**broken link removed**

This link is how to make a soundcard from scratch. It has two channels

Link # 2
**broken link removed**

I need the 5 inputs to be completely separate from each other. Can I do that with one ADC?
In link #2 it has 2 channels but 1 ADC. Would the digital data show up separate or all combined?

Ex in the software later I want to be able to show...

Input #1 Input #2 Input #3 Input #4 Input #5
0001 0001 0001 0001 0001
0010 0010 0001 0011 0010

So that I can compare them.
If I need more than 1 ADC how do I get all the 6 data streams through the same USB connection without mixing up the data?
Do I do it with a timer that sends one piece of data from each input at a time in order?

or would it work to give each input its own data signature... By having certain bits always on so I can tell which input the data came from
Ex. Input #1 Input #2 Input #3
0010 0000 0001 0001 0011 0010

Where as the first set of data is the actual input data and the second set is permanently on so I can tell which input it came from.

0000 = input 1
0001 = input 2
0010 = input 3 and so on...

This adds a really exessive amount of data. but after the software sorts it out. One set of data can be deleted to save space.

I'd appreciate any help I can get. Thanks in advance!
 

Hi ripitup,

I suppose you want your 6 inputs to be good quality audio so you'll probably have a sampling rate of something like 44,100Hz per channel.

Using one ADC and some multiplexing you can probably get it working, the main factor here is how fast your ADC can go. If you use a microcontroller as the interface between USB and the channels, with a single MCU and one mosftet per channel (well if it's stereo you've got two channels, so take this in consideration when you calculate the sampling rate) you should be able to do it without to much troubles.

For the software most of the logic will be on the MCU, you sample your N channels in an array and send it over USB, you might require some buffering on the MCU (well not much as the RAM is limited) and simply send the array over usb. At the index i in the array modulo the number of channels will give you the source input.

Hope this is clear,
Regards

Edit: Following the discussion in https://www.edaboard.com/threads/267411/ seems like the mosfet is not great because is not linear (which make sense ...). Doesn't change the final much anyway
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top