XMOS-based Asynchronous USB to I2S interface

Detecting those errors is a snap with thesycon drivers. Simply launch tusbspy.exe, the thesycon utility, while listening to music thru WaveIO. Then sever the USB ground connection to pc. If the music keeps playing I suspect a broad smile will cross your face given the success of your idea. In the error case, you can find and record the code from among those kept by tusbspy.

Hi Wolfsin,

What parameters are you referring to? Errors like:
ERR: ISOBufferFail
ERR: ISOBufferTooLate

I am not very familiar with these errors.
Will *any* erroneous usb-audio-2 packet increment the above error counters?
If the above counters are all 0 are we sure that the xmos chip has received all packets and without any errors?

I thought that any errors that are identified inside xmos are only discarded and not reported back to the driver.
I have seen some new Interfaces include a "USB Error" indication for incomplete USB packets MDAC first listen (part V) - Page 20 - pink fish media
Is it the same in essence?
 
It is always risky to assume that *any* error will be correctly recorded unless exceptions are utilized. I noted that removing usb while music is playing causes an error and that error must be cleared but I do not see the buckets as counts but rather as error codes. I have seen so few errors without intentionally causing them it is hard to say.

The incidence of random usb errors is very low and, given the error detection and retry, argues that xmos is getting the information 'perfectly' but possibly with imperfect timing. The buffer mechanism in WaveIO allows the i2s timing to be corrected to within a few pico seconds in the absence of excessive DPC latency.

Being able to disconnect the usb ground allows listening tests under circumstances virtually guaranteed to eliminate pc noise. Battery powering WaveIO, DAC, and headamp would be the ultimate I suppose.

I have been amazed to discover how good digital music can sound. Those with better DACs and 384kHz capabilities may discern things I cannot, but I will never go there at my age.

I know this is overkill for your question. XMOS will likely push the envelope as far as future DAC development is concerned and 'the wire' has reduced noise to a threshold beyond anything available today. The recording industry, with the exception of 2L and Linn, will be the next limitation.

I am now more satisfied listening to digital than vinyl. I never expected to be able to write that in my lifetime. "There is no hope for the satisfied man"

As an after thought, should bit-perfection be in question, recording the i2s stream and comparing it to the original is entirely feasible so I suppose one could instrument the whole system. One might then wait for an error, see if the error was recorded by tusbspy, and then ponder whether recorder or sender was at fault. This exercise is left for (the hopefully younger) reader :D
 
Last edited:
What do you measure for voltage between the "isolated" ground and DAC ground?

I made some measures (see attachment). Well, it's not very clear to me what's happening.

The power supply names are referred to scheme in post #759

Thank you.
 

Attachments

  • WaveIO isolated I2S - Measures between grouds.jpg
    WaveIO isolated I2S - Measures between grouds.jpg
    58 KB · Views: 665
Last edited:
I appreciated barrows' well-organized consideration very much.
How do you feel about applying such a USB High-speed compatible optical isolater to the USB connection between PC and asynchronous DDC device?
SuperSpeed USB 3.0 Over Fiber Optic Expansion System:Amazon:Electronics

I see that they also do a USB 2.0 optical isolator for less money - Icron USB 1.1 extender system up to 10km over fibre optic cable, external power

Have you tried that between transport and USB/S/PDIF or DAC boards?

Thanks
Jonathan
 
I see that they also do a USB 2.0 optical isolator for less money - Icron USB 1.1 extender system up to 10km over fibre optic cable, external power

Have you tried that between transport and USB/S/PDIF or DAC boards?

According to my understanding, Lucian's USB interface requires High Speed 480Mbps. Icron product for High Speed is this;
Icron 4 port USB 2.0 extender system up to 10km over fibre optic cable, external power

It costs almost 700 £!

However, it might be useful to test effectiveness of optical isolation preliminarily at Full Speed 12Mbps first.
 
Last edited:
Icron isolators are NOT cheaper.
I dont think the waveIO per se requires 480Mbps, but the highres music signals do need more than 12Mbs. People can always try usb isolation with the cheap (and slow) ad1404 such as using one of these pcb:
USB Interfaces « Circuits@Home
Teralink TX2 / X1 ADuM4160 USB Isolator board / USB protection | eBay

Note that applying the same magnetoisolator to the i2s signals do not limit the bandwith in the same way.

Also, it would be very useful if someone that is ALREADY powering the usb controller/whole pc with battery or a linaer psu would test usb isolation.
 
. . . it would be very useful if someone that is ALREADY powering the usb controller/whole PC with battery or a linear psu would test usb isolation.
Many thanks for the link to that Teralink device - I didn't know about it though I do use the circuits@home board.

1. I used the ADuM4160 for over two years between a Fit-PC2 and a DDDAC and found it made a big difference to sound quality. (Before you ask, yes, the USB cable always had a Gnd line. :headbash:)

Just to clarify, AD's ADuM4160 transformer-coupled USB isolator and NVE's IL715 digital isolator (which uses "patented IsoLoop® spintronic Giant Magnetoresistive . . . technology") are totally different devices. No, you're right - I've no idea what NVE is talking about. You'll have to ask Lorien.

2. Though I know the ADuM4160 been used successfully on at least two setups at 96KHz, I'm pretty certain that the 12 MB/sec limitation precludes it from coupling at 192 KHz.

3. I'm now using a WaveIO with a TDA1541A DAC. I already have good linear PSUs on the DAC and the Fit-PC2 and am waiting on parts to build one for the WaveIO. (For now, it's bus-powered by the FitPC and sounding very fine.)

I should have the PSU running in about a week. If you can wait that long, I'll report back as to how much difference, if any, I find it makes to the setup with and without the ADuM4160 in place.

I'm currently connecting the WaveIO to the DAC via the IL715 isolator because it's easier to do than with those fiddly BNC things but, if anyone has compared the two outputs, I'd be interested to hear.

The circuits@home board was discussed here:

Computer Audio Asylum

and, in a thread with some spectacularly vindictive but ill-informed posts, here:

Computer Audio Asylum

Note that I was wrong to say on the second thread that it was 48KHz max - that turned out to be a driver issue.

HTH
 
Last edited:
Just to clarify, AD's ADuM4160 transformer-coupled USB isolator and NVE's IL715 digital isolator (which uses "patented IsoLoop® spintronic Giant Magnetoresistive . . . technology") are totally different devices. No, you're right - I've no idea what NVE is talking about. You'll have to ask Lorien.

2. Though I know the ADuM4160 been used successfully on at least two setups at 96KHz, I'm pretty certain that the 12 MB/sec limitation precludes it from coupling at 192 KHz.

I'll ask Lorien.

I should have the PSU running in about a week. If you can wait that long, I'll report back as to how much difference, if any, I find it makes to the setup with and without the ADuM4160 in place.

I'm currently connecting the WaveIO to the DAC via the IL715 isolator because it's easier to do than with those fiddly BNC things but, if anyone has compared the two outputs, I'd be interested to hear.

I can surely wait 2+ weeks for your findings.
audiodesignguide in this thread was going to compare the two outputs too.

I assumed the waveIO had the ADuM chip. I'll check specs of both and yes, i'll also compare the two outputs. Prob is I dont have my waveIO board yet.

Will also check the asylum links, tnx :)

BTW I wonder why nobody has used 25-50Mbit optocouplers which are available on the market and do a pcb or use one like the theralink (which is way cheaper and similar but not identical to the circuits@home board).
 
Optocouplers...

Ayre and Wavelength audio both use optocouplers to isolate the I2S lines in their USB DACs. They place the master clock oscillators at the DAC chip, and then send the MC back to the USB interface over I2S, through the optocouplers.
This approach allows them to re-clock the signal at the DAC chip, and produces the least I2S signal degradation while still providing isolation.
But, like any approach applies to the I2S lines, it will add some jitter.
Theoretically, isolating the incoming USB lines would be better, because that is just data (assuming an asynchronous USB interface), but, as we see, there is not yet any isolation device which is reasonable in price and able to cope with hgih resolution audio over Class 2 high speed USB.
It is also interesting to note, that Demian Martin (Constellation, Auraliti, etc) has pointed out that even isolation devices such as are being discussed here are not perfect, and that some high speed noise products will couple through them: it appears that even with some kind of isolation, it will still be advisable to try and reduce the cause of the problem as well: noise produced by the computer (server) itself.
I am getting great sound with no attempt at isolating my server (OK, my interface does not require USB power, and the 5 VDC output from my USB card is turned off) but using a low power linux (voyage/mpd) server, powered by a linear power supply, with a separate power supply going to the USB output card (which features its own low noise on board regulation scheme). I am sure this approach would work very, very, well with the non-isolated outputs of the WaveIO.
 
Hi all, my first post on this forum, my WaveIOboard is in the mail, hope to receive it soon.

In the mean time some comments on USB-isolator.
Since a few weeks i use the ADum4160 USB-isolator. First i tried it on my Hiface USB-SPDIF converter (modded, partly battery-psu). It worked in 'normal' windows XP and in W7, but it doesnt work in my current CMP2-setup. I guess in this setup windows is too tweaked to handle other hardware.
My current CMP2-setup (cMP² | Main / HomePage) has a SSD of 1GB, only for tweaked windows xp. All music files are on external USB-SSD with battery-psu. I currently use the USB-isolator for this device (SSD). With this isolator SQ is a little bit better, more detail, more depth. (PSU of PC already very good: linear/battery).
Downside of the isolator is that it takes about 40 seconds to load the first song of an album/playlist into RAM (rest is stored in RAM during playback). So i only use the isolator for hardcore SQ-listening.

Choice of isolator board:
I chose the Teralink-board (see Telstar's post), because it has a low-drop regulator. I think this is better than the switching reg on the circuits@home-board.
Besides that, when you use 3.3v USB-devices (like -i think- the waveIO) you could use a LiFePo4-battery to feed it: low-drop regs just passes the juice when difference between in/out voltage is lower than 1.5v. I don't know if this is possible with switching regs.

I'm looking forward to the WaveIO, so i can do some comparison with Hiface AND can explore the linux-path (voyage, mpdPup) using an Alix3D3 PC-board.

Douwe
 
I chose the Teralink-board (see Telstar's post), because it has a low-drop regulator. I think this is better than the switching reg on the circuits@home-board.

Thanks, I didnt lnow which was the better board :)

Besides that, when you use 3.3v USB-devices (like -i think- the waveIO) you could use a LiFePo4-battery to feed it: low-drop regs just passes the juice when difference between in/out voltage is lower than 1.5v. I don't know if this is possible with switching regs.

No, it's 5v. two batteries + regulator would be needed (it can accept 5.8v max and 4.5 min).
 
I dont think the waveIO per se requires 480Mbps, but the highres music signals do need more than 12Mbs.
USB does not offer any options between 12 Mbps (Full Speed) and 480 Mbps (High Speed). If you need more than Full Speed, you're forced to use High Speed, even if your device only uses a tiny fraction of the bandwidth. The operating system will simply allocate the unused bandwidth to other USB Devices on the same hub, assuming there are any.
 
Though I know the ADuM4160 been used successfully on at least two setups at 96KHz, I'm pretty certain that the 12 MB/sec limitation precludes it from coupling at 192 KHz.
Theoretically, USB should be able to handle stereo 192 kHz at 24-bit. That would only require 1152 bytes per frame out of an available 1500 (less overhead). The real limit is that a Full Speed Isochronous Endpoint is limited to 1023 bytes. You could, again, theoretically, use two Endpoints to get past this limit, but, all current operating systems seem to have a limit of 1024 bytes per Device. Besides, I don't think that USB Audio Class (UAC) allows the designer to split audio across multiple Endpoints.

In other words, it's not the 12 Mbps rates that precludes 192 kHz, but the maximum 1023-byte packet length.

Note that 192 kHz at 16-bit probably works just fine.
 
wlowes said:
What is the highest bit rate your 1541a DAC will accept?
I've not tried more than 88.2 KHz 'cos the Fit faints first (it IS slow) but I know of folk who use it at 96KHz.

Douwe01nl said:
I chose the Teralink-board . . . because it has a low-drop regulator.

Oleg Mazurov of circuits@home advises people using the ADuM4160 for audio to bypass the onboard power supply and use a clean one from somewhere else. I found that a fancy regulator did make for better sound than the on-board one.

As the thing only needs about 10 uA and as the WaveIO needs a 5-volt line, the obvious thing to do is to run a wire from that. I don't see any jumpers on the Teralink board that allow you to skip the V-reg without a bit of fiddling (but, of course, it's half the price). For curiosity's sake, see:

Modified USB Isolator « Circuits@Home and

« Circuits@Home

the second of which has been around for a while and looks awfully jolly like the Teralink device. See also:

YZRandomE: Linear Regulated USB Isolator
 
Anyone tried this USB Isolator from Olimex which is available in UK for £39?
USB-ISO - OLIMEX - BOARD, USB 2.0 COMPLIANT PORT | Farnell United Kingdom

Probably the same AD device inside, but no idea what the on board regulation is.

Manfacturer Technical sheet here - http://www.olimex.com/dev/pdf/OTHER/USB-ISO.pdf

Yes, it has the same ADuM chip inside.

This one looks better to me for a similar price (bit lower even):
USB Isolator, Galvanic Isolated USB 2.0 - Electronics-shop.dk
at least is boxed and not kept together with a tape. I'm thinking to try it to see if i get a significant improvement before going for a more expensive or custom solution.

I found one that looks the same, in the US for 99$.
Keterex: USB-150 Full Speed USB Isolator
and
USB Isolators, USB Isolation