Open-source USB interface: Audio Widget - Page 91 - 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 15th January 2012, 07:58 AM   #901
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Default New analog board planned

I'm planning a new analog board upgrade. It's anmed AB-1.12. Here's what I'm planning to do.

The board will be made available as a naked board compatible with today's USB-I2S module. I'm not planning to make it into an unassembled kit with lots of loose components. The 22.5792 XO may be hard to come by. I have a bunch of those coming in in what will probably be mid-March.

1 - Remove ES9023, install PCM5102. The working principle is much the same with internal charge pump and single-ended supply in.

2 - Add footprint for ES9012/18. But only the SMD parts. Any PSU and IVC will have to be installed by you. And obtaining the DAC is also up to you. All headers will be on the same 2.54mm / 100mil grid for easy veroboarding. I'll put in footprints for dual-mono.

3 - Add footprint for CS8406 S/PDIF transmitter and transformer. This is a I2C controllable transmitter, so some fw updates will be required. I'll make room for an S/PDIF output connector on the front, opposite the LED. One thing this will allow is recording of the S/PDIF signal for offline analysis of bit-correctness.

4 - Add I2S CAT5 header at the front. I'll need more input from you on preferred pinouts. I was planning to install simple 74HC series drivers on 3.3V supply with series resistors in and out of the buffer.

5 - New front/back covers. I'll remove metal from around the connector holes, and add metal around the srews bor better connection to the case. The front cover will come with or without holes for the new S/PDIF and CAT5 outputs. The new covers will be red, indicating AB-1.1_2_.


It'll take me a little while to put all this together in the CAD. I'll show you schematics and layout drafts in good time before I get the boards made.

Let me know if you have any more (reasonable) suggestions, and if you'd like to get a board. I'll get back with price info in a bit.


Cheers,
BÝrge
  Reply With Quote
Old 15th January 2012, 08:37 AM   #902
diyAudio Member
 
Join Date: Apr 2011
Hi Borge,

The github sdr-widget audio-widget-nik branch has the latest code tree.

The main difference that I can see is that I build with the X86_64 linux toolchain, and you use Windows 32 bit.

My conjecture is that the x86_64 linux toolchain produces more optimized code (I hope, hihi) than Windows. You can also see that my .elf files are much smaller than your .elf files. It is likely (but I have no proof) that under Windows, you may be compiling with debug options on - thus the bloated .elf files. Maybe a Windows AVR expert can advise how to set build options for highest execution speed and no debug.

As the audio-widget code is running almost at the limits of the cpu power of the AT32UC3A3 chip, any suboptimized code (and extra debug baggage) will surely cause underruns/overruns in the audio code --> poor SQ.

Alex
  Reply With Quote
Old 15th January 2012, 09:00 AM   #903
Turbon is offline Turbon  Sweden
diyAudio Member
 
Turbon's Avatar
 
Join Date: Aug 2011
Location: South
Quote:
Originally Posted by borges View Post
I'm planning a new analog board upgrade. It's anmed AB-1.12. Here's what I'm planning to do.

...

It'll take me a little while to put all this together in the CAD. I'll show you schematics and layout drafts in good time before I get the boards made.

Let me know if you have any more (reasonable) suggestions, and if you'd like to get a board. I'll get back with price info in a bit.


Cheers,
BÝrge
Hi BÝrge.

Why not add the regulator board suggested by 1audio and tested by oneoclock? At least settle for a set of connectors so it can be added easily afterwards.

I am interested in one AB1.12 analog board.

Brgds
__________________
These are my principles, and if you don't like them... well, I have others.
  Reply With Quote
Old 15th January 2012, 11:18 AM   #904
rsdio is offline rsdio  United States
diyAudio Member
 
Join Date: Feb 2008
Location: Seattle
Quote:
Originally Posted by borges View Post
I have read through the paper on the J-test signal at http://www.nanophon.com/audio/diagnose.pdf

What strikes me is that this input signal is designed to fool a clock regenerator / AES3 receiver to generate its maximum amount of jitter. This is done by transmitting what is essentially the same fs/4 signal with mainly zeros or with mainly ones. A full cycle of zeros... ones... has a frequency of fs/192.

As far as I can interpret the paper, this signal only applies when the performance of the clocking circuit depends on the actual data bits. In the Audio Widget the clock stems from precision oscillators, not from an AES3 or S/PDIF receiver.

Thus, for jitter purposes, we might as well study the frequency-domain response of a pure tone as the J-test signal.
Thanks for the link, but I think that paper has a few flaws.

1) The square wave test signal described in 2.6 seems completely devoid of band-limiting, which means that it contains aliased signals. You cannot simply create a square wave in data unless you take steps to avoid aliasing. The proper way to generate a square wave is via summing the harmonics as pure sine waves, thus guaranteeing that no aliasing is created. I suppose it's possible that the test signal also corresponds to a pure sine wave with a period of 4 samples and a phase offset of 45 degrees (pi/4 radians), but then it's a bit misleading to call it a square wave.

2) The text in 2.6 seems to overlook the characteristic of AES3 where the preamble always starts with the opposite bit from the preceding sample. The last bit of each word is the parity bit, which means the preamble is modulated by the parity of the data stream. Parity includes more than just the audio data - it also includes the validity bit, user data, and channel status. I suppose it's possible that by carefully controlling the audio samples and zeroing out the user data, one could predict the parity. However, valid channel data would introduce a pattern that would affect parity, and thus affect the preamble pattern. The authors' characterization of the preamble as a "static, and therefore more stable, pattern" is completely wrong. At the very least, they do not explain enough details to prove that they have done anything to make the preamble static. What's more, that section of the text seems to refer to general designs for clock recovery which are expected to work with musical audio rather than just test signals, and as such there is absolutely no guarantee that the preamble is static at all.

One of the first dark and dirty secrets I learned about AES3 is that this bit flipping of the preamble causes nightmares for engineers trying to reconstruct a stable clock. To read the opposite in this article really strikes me as a sign that suspicion should be warranted for all of their claims. It would not be the first time that a published AES article was flawed - in fact, many published AES articles are refutations of flawed claims in previous AES articles!

Anyway, to get back to your closing remark, Borges, I agree with you. A pure tone will vary the parity bit, thereby varying the preamble, and thus varying the selection between rising and falling edges at the start of each sample word in the digital audio stream. This should be enough to challenge any jitter recovery system - at least in a way that matches normal use.

Note that some AES3 transmitter hardware violates the specification by only using one set of preamble patterns, thus allowing a DC offset in the stream. I do not know how common this flaw is, but some processor chips that implement an AES compatible serial port use this trick to reduce their silicon cost, with no regard for the full specification.

Note also that I have no direct experience with the task of trying to create the worst jitter possible. I think the linked article was a noble effect, especially given the time (1994), but I only point out the errors without providing the 'correct' test pattern.

I have been to AES meetings where local engineers (Mackie, Rane, etc.) demonstrated methods for introducing jitter into a digital audio stream. My recollection is that they merely mixed analog white noise into the digital stream to create the jitter. They used pure tones and a spectrum analyzer on the DAC output, and it was very clear (visibly) when they turned their "jitter generator" on and off.

Finally, you are quite correct that the Audio Widget is very different from a digital audio stream receiver. The Audio Widget generates its own clock and forces the USB Host to slave to the Audio Widget clock using the rate feedback endpoint. There's no way to alter the clock by changing software on the USB Host or even by adding noise on the USB lines. What's probably necessary to introduce jitter on the Audio Widget would be to probe the traces or parts pins in a way to introduce noise in the clock lines. Of course, there are many other ways to screw up the clock, but it would not be data related as with AES3, because clock is not carried with the data for USB Audio.
  Reply With Quote
Old 15th January 2012, 12:38 PM   #905
diyAudio Member
 
oneoclock's Avatar
 
Join Date: Oct 2010
Thanks 1Audio. I hope these improvements for enhanced board.

If few people who want this board and are satisfied with my poor quality board I can make and send free to those who are collaborating.

I make board at home with low quality bakelite, laser printer paper and revealed copper at home.

I do not know where to order plates and I doubt I can get a good price for that.

Borges, AB1.12 new board looks very interesting analog options
Could you include two 1Audio source boards without components?
  Reply With Quote
Old 15th January 2012, 12:49 PM   #906
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Quote:
Originally Posted by oneoclock View Post
Borges, AB1.12 new board looks very interesting analog options
Could you include two 1Audio source boards without components?
Sure, if Demian doesn't mind.

For PCB manufacturing let me suggest PCBcart. You'll have to supply Gerber data, though.

BÝrge
  Reply With Quote
Old 15th January 2012, 01:02 PM   #907
diyAudio Member
 
Join Date: Mar 2003
Location: nomadic
Hi BÝrge,

just came back and had to catch up the ongoing work.
What do you think about adding AES3 (balanced XLR) output as well ?

Thanks and best Regards

Frederik
  Reply With Quote
Old 15th January 2012, 01:21 PM   #908
Turbon is offline Turbon  Sweden
diyAudio Member
 
Turbon's Avatar
 
Join Date: Aug 2011
Location: South
Quote:
Originally Posted by alexlee188 View Post
Hi Borge,

The github sdr-widget audio-widget-nik branch has the latest code tree.

The main difference that I can see is that I build with the X86_64 linux toolchain, and you use Windows 32 bit.

My conjecture is that the x86_64 linux toolchain produces more optimized code (I hope, hihi) than Windows. You can also see that my .elf files are much smaller than your .elf files. It is likely (but I have no proof) that under Windows, you may be compiling with debug options on - thus the bloated .elf files. Maybe a Windows AVR expert can advise how to set build options for highest execution speed and no debug.

As the audio-widget code is running almost at the limits of the cpu power of the AT32UC3A3 chip, any suboptimized code (and extra debug baggage) will surely cause underruns/overruns in the audio code --> poor SQ.

Alex
I reprogrammed my AB-1.1 last evening and suddenly got heavy distortion in the middle of songs. They lasts about 15-20s but there between the sound is great.

My widget controls are as they should for WindowsXP:

usbi2s, uac1_audio, normal, normal, none, es9022, none, 500ms (or 1s - can't remember).

I will test what Georges board gives since I reprogrammed it on the fly when at it...

Brgds
__________________
These are my principles, and if you don't like them... well, I have others.
  Reply With Quote
Old 15th January 2012, 01:34 PM   #909
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 alexlee188 View Post
This morning I updated the AB1.1 with the latest nik branch firmware and voila, the SQ improved significantly and is now on par with my AB1.0.
I never had a chance to listen to AB1.0, but also I have noticed a sensible improvement between the (old) stock firmware and the latest ones. Thus I definitely second your advice.

Yet what puzzle me is: why?

(and: what happen if you update your old AB1.0 to the latest firmware? does it also improve gettin' again better than 1.1?)
__________________
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 15th January 2012, 02:01 PM   #910
Turbon is offline Turbon  Sweden
diyAudio Member
 
Turbon's Avatar
 
Join Date: Aug 2011
Location: South
OK, Georges unaltered board has the same sudden distortion a bit in to the songs and my feeling is as someone decided to increase the input voltage fast and to much - heavy clipping... But only on some frequencies is my feeling.

In Black Sabbath 1970 24/96 ripped from vinyl Paranoid-Ironman the song seemed to be quite unaltered at times when distortion sat in but the rest of the instruments sounded as crap... The suddenly, everything is fine again???

Still WinXP

My widgetcontrol values:usbdac, uac1_audio, normal, normal, none, es9022, none, 1s

BTW: I noticed that the LEDs are not blinking when playing? New feature?

Brgds
__________________
These are my principles, and if you don't like them... well, I have others.

Last edited by Turbon; 15th January 2012 at 02:17 PM.
  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 07:38 PM
usb audio interface david12 Equipment & Tools 14 10th October 2010 03:58 AM
Cheap Audio Interface (USB?) to PC agm2003 Instruments and Amps 11 16th September 2007 08:48 AM
Open call for suggestions on Open Source DIY Audio Design gfergy Everything Else 1 15th April 2007 08:33 AM
USB Interface Perfect?- Computer Audio fmak Digital Source 3 4th December 2004 11:24 PM


New To Site? Need Help?

All times are GMT. The time now is 08:23 PM.


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