Open-source USB interface: Audio Widget - Page 64 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 25th December 2011, 09:08 PM   #631
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Catching up with posts here...

Starn02, the 4n7, if I remember correctly, is the largest C0G in 0603 form factor.

The CN / CP pump is specified to 1ĶF in an ES9023 data sheet. The low-ESR in parallel with it may actually be non-ideal and cause spikes. Feel free to try removing it and see if that improves sound quality.

As for all other supplies, I've just piled on decoupling :-)

BÝrge

Quote:
Originally Posted by starn02 View Post
Hi guys,
I miss the complete datasheet of ES9023, so I wonder what's the reason behind the choices of capacitor around it.
I see a generic approach based on a parallel of: 4n7, 1u, 10u, 15u ... some of them installed, some not, for AVCC, VREG, NEG e between CN and CP.

I understand that some of the places on the board are simply for testing, but are there limits for some of the pins?

For charge pump capacitor (which I suppose is the one between CN and CP) are there suggested or limit values? Actually I have 1u in parallel with 4n7. Can I use also 15u?

And the 4n7 capacitors are to be considered as bypass? Why not the more common value of 100nF?
  Reply With Quote
Old 25th December 2011, 09:16 PM   #632
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Thanks for your feedback on USB beading!! Duly noted. Will be implemented in next version.

I have actually run into some problems (which are probably ground loops) when I connect a bit too much (RS232, Atmel programming dongle) at the same time.

BÝrge

Quote:
Originally Posted by rsdio View Post
Last time I looked was the June 28 schematic, and I had not seen the USB module yet. I'm now looking at the July 3 USB module schematic...

I see that you have L1006 between the CHASSIS pins on the USB mini-B connector and the board GND, but that is not the correct placement. L1006 should be placed between the GND pin on the USB mini-B and the board GND. Remember that power flows in a circuit, so you should place the beads identically on the +5V and GND pins.

Meanwhile, the two CHASSIS pins should not be directly connected to ground because this will conduct shield noise into the board ground. Instead, create a high impedance filter with a 1 MΩ resistor and 0.1 uF capacitor in parallel.

Search for dsk5509a_Schematic.pdf and refer to sheet 13 of 17. This is a TMS320 DSP evaluation kit board schematic from Spectrum Digital that is available on their web site. The only thing I added that is not shown in the SD schematic is a cap across VUSB and GND that is ahead of the beads and corresponds roughly to your C1075 (assuming you break the CHASSIS ground away from the power GND).

EVM5509A Plus Support Home

P.S. My apologies for not noticing that you were already using beads. When someone suggested that you should always use a USB cable with ferrite beads, I immediately assumed that you did not have any filtering on your board. I think that if you move the bead on the ground then your board will work equally well with all USB cables.
  Reply With Quote
Old 25th December 2011, 09:24 PM   #633
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
"Bumper-to-bumper I2S" is when an audio bit is transferred on every single bit clock tick.

I2S has this weird thing about it that there is a dead clock tick between an word clock transition and the next data word.

When there are more ticks than bits, this tick is indeed dead. But when you're running bumper-to-bumper the LSB of the previous sample will arrive _after_ the word clock transition.

Let me know if you need code for this in Verilog. Do NOT let me know if you need sequensial code for this in an MCU :-)

Quote:
Originally Posted by UnixMan View Post
what do you mean?


BÝrge
  Reply With Quote
Old 25th December 2011, 09:44 PM   #634
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Deanbob & Turbon,

A dummy audio device has been discussed here before. I think that's a good starting point.

Then there is the trick of making an UAC2 device enumerate and exchange some random data. Again: Two AB-1.1s go to whoever gets UAC2 enumeration and (annoying) sound with open source driver code on a Windows platform.

One idea is to let the ALSA code be the map for the Windows landscape which must be wrought. (Wrapper code is probably too much to ask for.) That means an important task is making the ALSA UAC2 code easily readable in terms of flowcharts and its API use.

I've looked into these challenges a bit. Here are some loose thoughts. Hope you don't mind my ranting...

MS won't make a driver. Their UAC1 code seems to be very convoluted. Their main audio driver coder left, I believe. They have more important things to do with Win8 GUI etc. There isn't enough pull from major vendors - I believe that's because enthusiast products have too much of an uphill battle with no Windows UAC2 driver, i.e. chicken/egg all over agian. And enthusiast product makers are scared of unfinished MS drivers. I can go on and on about why it won't come from there.

Only reason I see that it may come from MS is that it comes on Android first, then Win-mobile, and finally Win-PC. (Android as UAC2 host and streaming WLAN audio receiver would be interesting in itself...)

I have contacted some vendors already. Vendor X will only deal with larger makers who can afford their fees. They have no single-user licensing mechanism. Vendor Y is terrified about single-user support, and refuses even to sell $50 licenses where _this_forum_ is the only support. Vendor Z ties their driver to their hardware. IMHO they should give away the driver as minor-hassle-ware, make a name for themselves, and generate way more pull for their chips. But that's a lot to ask from any management team...


BÝrge

Quote:
Originally Posted by deandob View Post
Turbon,


Most of what you need can be found on MSDN and similar online resources, like the links below.
Windows Desktop Pro-Audio Application Development Forum
FreeLists / WDMAUDIODEV

If you are game to tackle this (and its going to be hard if you are not a C++ Windows system developer) I recommend starting with the MSVAD virtual audio device sample in MSDN, all the DDK work is done for you, you can extract the audio data from the source application from the COPYFROM buffers and pipe it through your USB code.

I posted a bit of this information in the audio widget group last month, please check that thread - but I gave up on developing a UAC2 driver due to the work involved (as others have noted). I think there will be a number of UAC2 solutions coming out over the next 6 months but unfortunately not from Microsoft (it is not planned for Windows 8 at least from looking at the early releases) due to lack of demand. These third party solution (eg. CMedia) will have their own drivers tied to their hardware so it will probably not be possible to hack them in the DIY world.

I am going a separate route now, I will develop a custom driver based on the MSVAD sample and the Cypress CY7C68013A USB High Speed chip which has its own transport from the PC side to the chip (ie. no significant USB code to write!). The driver I'll implement will not be standards based, but then again for Windows you either have to purchase a 3rd party UAC2 driver or have a proprietary approach. I have discussed the pros/cons of this approach with Koon in his thread on a async USB High Speed I2S solution and he has a prototype working using a different chipset (its actually ending up to be a fairly simple solution).

Good luck & Happy Holidays!
  Reply With Quote
Old 25th December 2011, 09:57 PM   #635
UnixMan is offline UnixMan  Europe
diyAudio Member
 
UnixMan's Avatar
 
Join Date: Apr 2005
Location: Perugia + L'Aquila, Italy
Send a message via ICQ to UnixMan
Quote:
Originally Posted by borges View Post
Let me know if you need code for this in Verilog. Do NOT let me know if you need sequensial code for this in an MCU :-)


actually I was just wondering what does this mean in practice WRT 24 vs. 32 bit. Isn't data always sent encoded in 32bits over the USB?
__________________
Quote:
"We should no more let numbers define audio quality than we would let chemical analysis be the arbiter of fine wines." N.P.
  Reply With Quote
Old 25th December 2011, 10:02 PM   #636
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Over USB it can be various formats. As long as we're using at least as many bits as the source material, we can zero pad all we want. Obviously, the used bandwidth must be within specs.

I may need some input from Nikolay and Alex on this one, but I believe we're transmitting 24-bit audio using 32-bit USB words and 24-bit DAC words.

The DAC uses 64 I2S ticks for 24+24 data bits. If it used the same 64 bits for 32+32 bits we'd have to confirm its bumper-to-bumper-ness. But at 24+24 the dead bit doesn't matter.

BÝrge

P.S. Enjoying kids in bed and calm piano music on real-time spline interpolator (aka homebrew CD player)

Quote:
Originally Posted by UnixMan View Post


actually I was just wondering what does this mean in practice WRT 24 vs. 32 bit. Isn't data always sent encoded in 32bits over the USB?
  Reply With Quote
Old 25th December 2011, 10:24 PM   #637
wlowes is offline wlowes  Canada
diyAudio Member
 
wlowes's Avatar
 
Join Date: Mar 2007
Location: Toronto
Blog Entries: 9
Default What is your recommended Software BOM?

What would you recommend as a first experiment in Unix for USB2 music from a laptop. This can be a dedicated machine with no other use than playing music in its finest form.
I have never used UNIX, and do not want to pay for it. I view it as a learning experience and an opportunity to see the advantages over WinXP for this application.
What version of Linux/the player. Where would you refer me to read and research.
Thanks in advance
  Reply With Quote
Old 25th December 2011, 10:46 PM   #638
UnixMan is offline UnixMan  Europe
diyAudio Member
 
UnixMan's Avatar
 
Join Date: Apr 2005
Location: Perugia + L'Aquila, Italy
Send a message via ICQ to UnixMan
Tried some small mods on my AB1.1:

added C15, C21 and C31: 100uF

added C34: 47uF, OsCon

added C26 in parallel to C32: 470uF

added C27 in parallel to C33: 47uF, Elna Cerafine

added C29 in parallel to C35: 47uF, Elna Cerafine

http://www.audiofaidate.org/forum/vi...art=180#p98611
Attached Images
File Type: jpg AW-AB1.1-mod1.jpg (232.8 KB, 164 views)
File Type: jpg AW-AB1.1-mod2.jpg (966.0 KB, 162 views)
File Type: jpg AW-AB1.1-mod3.jpg (444.7 KB, 151 views)
__________________
Quote:
"We should no more let numbers define audio quality than we would let chemical analysis be the arbiter of fine wines." N.P.

Last edited by UnixMan; 25th December 2011 at 10:48 PM.
  Reply With Quote
Old 25th December 2011, 10:56 PM   #639
UnixMan is offline UnixMan  Europe
diyAudio Member
 
UnixMan's Avatar
 
Join Date: Apr 2005
Location: Perugia + L'Aquila, Italy
Send a message via ICQ to UnixMan
Quote:
Originally Posted by borges View Post
I may need some input from Nikolay and Alex on this one, but I believe we're transmitting 24-bit audio using 32-bit USB words and 24-bit DAC words.
at least in Linux that's for sure, even for 16 bit (CD) source material:

$ cat /proc/asound/card2/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S32_LE
[...]

I was wondering what happen if I send a truly 32bit stream.

Quote:
Originally Posted by borges View Post
real-time spline interpolator (aka homebrew CD player)
that sounds interesting... could you open another thread and tell us more about it?
__________________
Quote:
"We should no more let numbers define audio quality than we would let chemical analysis be the arbiter of fine wines." N.P.
  Reply With Quote
Old 25th December 2011, 11:04 PM   #640
1audio is offline 1audio  United States
diyAudio Member
 
Join Date: Mar 2004
Location: SF Bay Area
Blog Entries: 3
I found the output low pass filter was important, at least with wide band electronics following. The uhf stuff at the output is significant.

Sent from my T-Mobile G2 using Tapatalk
__________________
Demian Martin
Product Design Services
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Async 192Khz USB - the SDR-Widget collaborative project SunRa PC Based 5 26th April 2011 06:38 PM
usb audio interface david12 Equipment & Tools 14 10th October 2010 02:58 AM
Cheap Audio Interface (USB?) to PC agm2003 Instruments and Amps 11 16th September 2007 07:48 AM
Open call for suggestions on Open Source DIY Audio Design gfergy Everything Else 1 15th April 2007 07:33 AM
USB Interface Perfect?- Computer Audio fmak Digital Source 3 4th December 2004 10:24 PM


New To Site? Need Help?

All times are GMT. The time now is 07:43 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2