Open-source USB interface: Audio Widget

Hi,

I2S is a standard for digital audio, originally made by Philips and Sony back when they put together the CD format. It's pretty straightforward. A word clock starts out 0 for the left sample, then goes to 1 for the right sample. Digital data is transferred MSB-first on the edges of the bit clock. The number of bits may be almost arbitrary, since a DAC stops latching after it has received its share of bits for its resolution. The tricky bit about I2S is that it's synchronous with music, and more importantly that a "dead tick" occurs after a word clock edge, before the MSB of the next sample. To make things more complicated, if all bit clock ticks are needed to convey audio samples (what I call "bumper-to-bumper" I2S), the LSB of the previous sample is transmitted during the "dead tick".

What this boils down to is that I2S is straightforward between audio equipment which has it enabled, and a major hassle for MCU designers who try to fit it into existing serial port hardware.

I expect built and tested hardware in about two weeks, crossing my fingers that everything works out.

Cheers,
Børge
 
Hi,

I2S is a standard for digital audio, originally made by Philips and Sony back when they put together the CD format. It's pretty straightforward. A word clock starts out 0 for the left sample, then goes to 1 for the right sample. Digital data is transferred MSB-first on the edges of the bit clock. The number of bits may be almost arbitrary, since a DAC stops latching after it has received its share of bits for its resolution. The tricky bit about I2S is that it's synchronous with music, and more importantly that a "dead tick" occurs after a word clock edge, before the MSB of the next sample. To make things more complicated, if all bit clock ticks are needed to convey audio samples (what I call "bumper-to-bumper" I2S), the LSB of the previous sample is transmitted during the "dead tick".

What this boils down to is that I2S is straightforward between audio equipment which has it enabled, and a major hassle for MCU designers who try to fit it into existing serial port hardware.

I expect built and tested hardware in about two weeks, crossing my fingers that everything works out.

Cheers,
Børge


Thanks for answering now i know something...so if all goes well...what parts you recomend to buy(DAC+USB -I2s) ....MY pc is following...

http://www.diyaudio.com/forums/pc-based/215731-pc-music-transport-25-a.html


V
 
Last edited:
Hi!

I have this issue with SB Touch (Triodes kernel) and the AudioWidget. If I set the widget to UAC2 I get 48khz, when running in UAC1 mode I get 44,1khz but a lot of noise (pops and sparkles). Anyone noticed or solved this issue?

Brgds

More info:
The widget has the latest code as of 20120519 and is a pcm5102 type by George. I finally got a machine with Win7 and the WidgetControl seems to work every time :)
I dont have this issue with Georges 9023 or Börges AB-1.1 (older code).

Brgds

BTW: What is the difference with latest and main firmware versions? The size has jumped up considerably lately...
 
Last edited:
More info:
The widget has the latest code as of 20120519 and is a pcm5102 type by George. I finally got a machine with Win7 and the WidgetControl seems to work every time :)
I dont have this issue with Georges 9023 or Börges AB-1.1 (older code).

Brgds

BTW: What is the difference with latest and main firmware versions? The size has jumped up considerably lately...

Accidentaly used usbi2s instead of usbdac - works now in uac2 mode and I suspect uac1 will work as well!

Brgds
 
Member
Joined 2004
Paid Member
Interesting measurements (on another USB/I2S interface) showing the importance of GND isolation

I get suspicious when I see inadequately documented tests. The grounding they used (1Meg resistor?) can cause some USB problems and the measurement suggests there were more than one path between the computer and the audio system. The assumption that removing the ground will make things wonderful can easily be tested by using a laptop on battery. That is as isolated as possible, but there are reports its not enough.

Meanwhile good isolation is not simple. I started on a design to work with the Audio Widget. I'll see if I can find it and share it. The bigger issue is powering the isolated parts.