Blogs

Recent
Entries

Best
Entries

Best
Blogs

Blog List

Search Blogs

Home > Forums > Source &
Line > Digital
Source

XMOS-based Asynchronous USB to I2S interface

User Name

Stay logged in?

Password

Home

Forums

Rules

Articles

The
diyAudio Store

Gallery

Wiki

Blogs

Register

Donations

FAQ

Calendar

Community

Search

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

Community Links

Social Groups

Members
List

Search Forums

Show
Threads   Show Posts

Advanced
Search

Google™ Search

Search Wiki

Advanced Search

Search Blogs

Advanced Search

Wiki Links

diyAudio.com Wiki (Page)

diyAudio.com Wiki (List)

Wiki Tools

Special pages

Books

Recent changes

Go to Page...

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

Page 1 of
193

1

2

3

11

51

101

>

Last
»

Thread Tools

Search this Thread

12th May 2011, 08:07 PM

#1

Lorien

diyAudio Member

Join Date: Nov 2007

XMOS-based Asynchronous USB to I2S interface

Hello everyone,
below there are pictures
of my latest version of XMOS based USB to I2S interface. I've been working on it
for some time now... drivers are from Thesycon and firmware from XMOS with
slight changes to adapt it to my PCB needs. It's 2 channel, 24 bit / 192
khz with some improvements over XMOS' reference design:
* 4 layer, gold
plated PCB with 1/2/2/1 oz (or 35/70/70/35 um) copper thickness. There are
a lot of vias to minimize the impedance.
* there are two USB inputs
available: USB-B connector (mounted on the board) and 5-pin external
header for something like this.
* isolated (using GMR isolators) or nonisolated
(6GHz microBNC) I2S output signals.
* seven LINEAR voltage regulators
are present on the card: every oscillator (and the ICs in the digital
audio signal's paths) have its own dedicated LDO (the three chips soldered
on the botom side of the board).
* Heavy decoupling all over the
places, including OsCONs SVP electrolytics.
* USB OR external PSU.
There's one green Power LED indicator on the board.
* SPDIF output
signal at 1:1 trafo.
* Two LEDs can be wired to L7 and L8 pin header
heaving the following functions: "Host Active" and "Audio
Stream".

The oscillators are from Fox but I do have 7 pairs of
ultra low phase noise NDKs available for assembling. I must admit, NDKs
are very hard to aquire due to the long time of delivering (up to three
months!)

May 2013 Updates:
The WaveIO's
pictures are outdated as I now use oscillators only from japanese
manufacturer NDK. I'll upload new pictures soon to reflect the
changes.
--------
To update WaveIO's firmware to handle 32 bit @ 384
KHz audio streams, please follow my instructions listed below (valid for
Windows OSes).
From the beginning I would like to say that there are
two ways to upload the .bin file but only one to revert the changes to
defaults.

The easiest upload way would be
via "TUSB Audio Control Panel" app:
1. First thing to check is if your
WaveIO card does have DFU (Device Firmware Upgrade) implemented in firmware.
All boards
following September 2012 should have this feature enabled.
a) Plug in
your WaveIO card and make sure that is detected by your computer (drivers
are installed).
b) Open "TUSBAudio Control Panel" located in "Luckit"
installation folder and click on the "Device 0" text on the left side of
main window.
c) If the RevisionID value listed there is greater or
equal with 0x0331 (Hex) then you can move on to the next step. If not,
then you'll have to
wait to finish the daughter board and I'll make
both the hardware and software changes in the same time.

2. Download the file named "WaveIO_32Bit_384Fs.bin" on your
computer.
3. To effectively upload the new firmware on your WaveIO you
simply have to click on the "Firmware Upgrade" text on the left side,
browse
for the file you have downloaded and hit the "Start Firmware
Update" button.
4. The process should take up to 10 seconds after that
you can easily check it by clicking again the "Device 0" text and see that
the value for
"RevisionID" is changed to 0x0333 (Hex). You don't have
to unplug your WaveIO board.
5. Done

LEDs: Since WaveIO hardware does not support two
additional signals to drive LEDs for 352.8 and 384 KHz sample rates I
thought that a
simple approach will be to display these freqs. by
driving two LEDs simultaneously so:
* 352.8 fs will enable 88.2 &
176.4 LEDs while
* for 384 fs, 96 & 192 LEDs will be on.
If
anyone has a better and simple idea please let me know!

Power: @ USB enumeration, WaveIO will
report to be external powered device so it should work okay in both
configurations: USB and
external powered. This measure was taken
especially to work with iPad, iPhone or other portable/battery-powered
devices.

That's it for now! I'll be back soon with the second
uploading/revert_to_defaults option.

Kind regards,
L

Attached Images

USBtoI2S_top.jpg
(155.8 KB, 16708 views)

USBtoI2S_bot.jpg
(125.9 KB, 15023 views)

Last edited by Lorien; 21st May 2013 at 05:22
PM.

14th May 2011, 07:31 AM

#2

Bunpei

diyAudio Member

Join Date: Aug 2008

Quote:

Originally Posted by Lorien

The oscillators are from Fox but I
do have 7 pairs of ultra low phase noise NDKs available for
assembling.

Congratulation to the
role-out of your new product!
I think your design considers very well
various requirements DIY users would always have.

By the way, have
you compared resulting sonic qualities between NDK and FOX oscillators?

14th May 2011, 04:44 PM

#3

Lorien

diyAudio Member

Join Date: Nov 2007

A big "Thank you" Bunpei, mostly for your
help related to NDK parts!

Quote:

I
think your design considers very well various requirements DIY users
would always have.

Perhaps you are right!
Though, I've choosen the parts that fits my requirements and expectations
(like LP5900 for oscillators). Even if there is room for improvements I
think this board act as expected. For now, I'm working on the decoupling
networks, trying hard to minimize the noise on the board. It's not crucial
but every DIYer have a paranoia
= mine is mostly PSU.
Meanwhile, a friend of mine (also an active
member on this forum) will make some tests with dedicated HW to this card.
I hope he will have enough free time to draw some graphics for the two
versions: with FOX and NDK oscillators. My goal is to use only NDK parts
and replace other alternatives but you know how hard is to do this, mainly
in small quantities.
I did listen to the NDKs mostly and I kinda like
it: in the time spent trying to squeeze the noise out of my board by
moding the cap networks.

Kind wishes,
L

Last edited by Lorien; 14th May 2011 at 04:46
PM. Reason: speeling

18th May 2011, 12:13 AM

#4

barrows

diyAudio Member

Join Date: Jul 2010

wow

This looks like great work Lorien. A nice
compact module. Are you going to support OSX with native USB2 on
Mac?
This looks like what many DIYers have been looking for, cannot
wait to hear more.
BTW, do you know the approximate current consumption
at 5V? I am thinking a LiFePO4 supply for this might be nice.

18th May 2011, 12:50 AM

#5

abraxalito

diyAudio Member

Join Date: Sep 2007

Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a
long time though...

Blog Entries: 75

In case Lorien hasn't measured it, XMOS has a
helpful guide to estimating power consumption.

https://www.xmos.com/download/public/Power-Consumption-For-XS1-L-Devices%281.2%29.pdf

Based
on that document I'd estimate in the range 150 - 200mA from 5V.

__________________
When a measure becomes a target, it ceases
to be a good measure. C.A.E. Goodhart

18th May 2011, 03:05 PM

#6

Lorien

diyAudio Member

Join Date: Nov 2007

Quote:

Are
you going to support OSX with native USB2 on Mac?

Thank you barrows! Since this board is
entirely based on XMOS / Thesycon work (SW speaking) you can see details
directly on XMOS web site: "USB Audio Class 2.0 is natively
supported by Apple OS X version 10.6.3 and above. Support for Windows is
provided via XMOS partners, Thesycon and Centrance. The drivers are
configurable and provide support for WDM/Direct X and ASIO 2.1."
Power
consumption: I've made few measurements and this board will need at least
5V / 430 mA @ 24 bit / 192KHz to work properly

Though, Fox oscillators are consuming up to 8 times more power than
NDKs, there's NO switching Vreg there and speaking off... this board have
plenty of them. I must confess that the "no compromise" ideology regarding
PSUs must come to an end soon otherwise ordinary USB ports will start to
complain about power requirements.
I like your LiFePO4 PSU suggestion
and I'll definitely implement it. My real job has offered me few pleasant
surprises like these rechargeable batteries pictured below (used in some
sort of hybrid/electric cars - I don't recall manufacturer' name). I've
mistakenly short circuit one of it and I saw what they are capable off

Kind
regards,
L

Last edited by Lorien; 18th May 2011 at 03:06
PM. Reason: speeling

18th May 2011, 03:18 PM

#7

abraxalito

diyAudio Member

Join Date: Sep 2007

Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a
long time though...

Blog Entries: 75

Quote:

Originally Posted by Lorien

Power consumption: I've made few
measurements and this board will need at least 5V / 430 mA @ 24 bit
/ 192KHz to work properly

Wow! My estimate was a long way
adrift. What current do the Fox oscillators take? That 430mA is getting
really very close to the limit with USB (500mA).

__________________
When a measure becomes a target, it ceases
to be a good measure. C.A.E. Goodhart

19th May 2011, 07:38 AM

#8

Lorien

diyAudio Member

Join Date: Nov 2007

There's allways the external PSU option...
though for all the tests I've used the USB 5V supply.
According to the
specs, Idd for one oscillator is stated up to 35 mA for freq. between
20-50 MHz, please see here. There are two pcs. on that board: 22.5792 MHz and
24.576 MHz. One more reason to switch for NDKs.
BTW I forgot the
picture:

Last edited by Lorien; 19th May 2011 at 07:51
AM. Reason: speeling

19th May 2011, 08:07 AM

#9

abraxalito

diyAudio Member

Join Date: Sep 2007

Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a
long time though...

Blog Entries: 75

Quote:

Originally Posted by Lorien

BTW I forgot the
picture:

Haha is that the ultra-low
impedance high-current PSU for your board in the background?
Nice pic.

More seriously I'm really surprised that its taking so
much current, given what's in that XMOS document. I must have overlooked
something major to be more than 6dB adrift in my power consumption
estimates. You're using the single core XMOS right ? (128 pin package, as
opposed to the dual core which is 124pins ?) 35mA for two oscillators
(presumably you disable the one that's not in use) doesn't account for
such a difference.

__________________
When a measure becomes a target, it ceases
to be a good measure. C.A.E. Goodhart

19th May 2011, 12:57 PM

#10

Lorien

diyAudio Member

Join Date: Nov 2007

Quote:

Haha
is that the ultra-low impedance high-current PSU for your board in
the background?

Well, most of it... ~3.3V
x 2 pcs. will be enough to blow away this card
Back
to the power consumption, first thing to notice is that XMOS chip on my
board is TH5 (500 MHz) variant. In addition, my ampermeter reads on 1.0V
core PSU: 231 mA at full load (24/192) - though is not a precise one.
Considering the fact that uP is warmer (even if the chip's thermal pad IS
soldered on top and the board is a 4 layer one without thermal reliefs on
vias underneath the chip)... I can only assume that it's working at its
full capacity.
Though, I'll switch it with 400 Mhz variant or...
better, I'll assembly another board around this chip.

Be back
soon,
L

Last edited by Lorien; 19th May 2011 at 01:00
PM.

Page 1 of
193

1

2

3

11

51

101

>

Last
»

« Previous Thread | Next Thread »

Thread Tools

Enhanced Print View

Regular Print View

Email this Page

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

Forum
Rules

Similar Threads

Thread

Thread Starter

Forum

Replies

Last Post

exaU2I
- Multi-Channel Asynchronous USB to I2S Interface

exa065

exaDevices

1330

7th December 2013 04:14 PM

Ultimate
USB to I2S interface

sampler

Digital Source

206

30th January 2012 04:45 PM

Introducing
miniStreamer: Native 24/96 USB to I2S / SPDIF interface

minidsp

miniDSP

35

13th January 2012 08:02 PM

Is
it possible to develop a ASIO driver for PCM2900 based USB Audio
interface?

cxhawk

Digital Source

7

3rd December 2010 03:30 PM

interface
I2S with USB

mermoz

Digital Source

0

21st February 2003 11:34 AM

New To Site?

Need Help?

Register to
Participate

Search

Privacy Statement

Contact
Us

Frequently Asked
Questions

Did you forget your password?

Mark Forums Read

All times are GMT. The time now is 07:33 PM.

Home - Contact
Us - Advertise - Rules
- Store - Sponsors - Archive - Privacy Statement - Terms of
Service - Top
- Opt-out policy

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

Content Relevant URLs by vBSEO 3.3.2