Problem with XMOS USB audio, experiencing clicks and pops

Status
Not open for further replies.
Member
Joined 2004
Paid Member
So I've build this lovely DAC: http://www.diyaudio.com/forums/digi...ris-s-dac-implementations-18.html#post4569955 only to find out that it's producing clicks and pops with audio replay over XMOS USB (I2C). Over Toslink (SPDIF) it's working fine.

Hardware is a Late 2011 Mac Mini with an Intel Core 2 Duo P8800 (2.66GHz), 8 GB RAM, 250GB SSD, NVIDIA GeForce 320M graphic card, the operating system is Win 7 64bit SP1 with Boot Camp. I have Avast Free Antivirus running. Playback software is foobar2000 v1.3.9. The XMOS drivers came from diyinhk. The music files are stored on a WD MyCloud NAS that is connected to the Mac Mini through a Gigabit LAN connection.

The USB module in question is the XMOS DSD DXD 384kHz high-quality USB to I2S/DSD PCB from diyinhk (XMOS DSD DXD 384kHz high-quality USB to I2S/DSD PCB - DIYINHK) and it's powered by a clean 3.3V source.

I've measured latency with LatencyMon and DPC Latency Checker, and both indicate a well known latency issue with the NVIDIA drivers. With the latest graphics driver installed the latency is around 1500us (seriously, that's onethousandfivehundred us).

When I disable the NVIDIA GeForce 320M under Device Manager -> Disable the latency drops down to around 80us (almost a factor 20). Now here's the kicker: This doesn't cure the clicks or pops!

I've tried any imaginable output configuration in foobar2000, direct sound, WASAPI push and event, ASIO, Kernel Stream, different buffer sizes, different HW buffer sizes, it's all the same, still clicks and pops every other second. And like I said, over Toslink it's working fine. I've tried different audio players too, the problem remains.

Where else could I look? What am I missing? Any ideas on how to make this work?
 
First I would check your DAC hardware by booting to any linux live flash stick/DVD (e.g. linux mint) and playing through pure alsa any wav file in terminal

aplay -v -D plughw:X some.wav

where X is your USB card number listed in command aplay -l .

Or you can use any GUI player configured to output to alsa directly but the aplay command will tell you immediately if/when there is a dropout in the communication with the soundard (xrun in alsa terminology).
 
First off, thanks guys for your input and thanks for making me try new stuff, especially running a live boot of Linux Mint and playing a wav in the terminal. I've tried playing files locally, reseated and rechecked the connections, tried different computers, different cables, anything I could think of. Nothing helped though, the DAC kept on clicking and popping.

Then I realised that when the USB cable was plugged into the XMOS board's USB port, by the added weight of the cable, the USB port's metal housing was pivoted/bent downwards slightly, just enough to make it touch the borders of the aluminum enclosure's through opening...

Without a cable plugged in, the housing was nicely centered in the through opening and thus not contacting the grounded enclosure. With a cable plugged in, under certain circumstances, the USB port's housing (connected to the XMOS's ground) was contacting the grounded (earth ground) enclosure.

So after adding a bit of heat shrink tubing to the part of the USB port's housing that's sticking through the enclosure's opening, I haven't heard a click or pop!

Mind you, since the XMOS's power supply is isolated from the rest of the circuitry through the dam's isolator and is also not referenced to earth ground, this wasn't a ground loop to my understating. Somehow this unintended ground connection still managed to upset the USB interface. I don't quite see how though, but properly isolating the USB circuitry cured the symptoms.

The lesson learned: Make sure the USB port is isolated from the enclosure.
 
Last edited:
Status
Not open for further replies.