XMOS-based Asynchronous USB to I2S interface

Do anyone have a recommendation on where to buy u.fl cables for this board?

If you only need a connector on one end, you could possibly use the wifi antenna coax leads from an old notebook computer. Not sure if the connectors are the right size but doesn't cost much to find out.

New Pair Notebook 2.4GHz - 5.2GHz Router Wi-Fi Wireless mini PCI-E Card Antenna | eBay

Here's a pigtail cable 9.5 CM long

http://www.ebay.com/itm/IPX-U-FL-IP...224?pt=LH_DefaultDomain_0&hash=item2a0fcdd978
 
Last edited:
Very nice project Lorien! I am thinking of designing something similar like this using the XMOS chip. All I really want to to read the audio date from the PC via USB and the XMOS chip seems to have the software to do this without killing myself in writing software and driver I know little about hehe.

I want to do exactly what you have achieved... get the USB data to I2S or even SPDIF, but maybe not as extensive/high end as you have. Maybe keep my project below $50 and less components.
I want a good sound to come out of it but I think some of this jitter talk is making my head go crazy, either people have some super precise equipment and amazing ears or I am just deaf :/.
All i can do is pick some decent clocks and the XMOS in asynchronous operation and that should be good enough to mitigate major jitter, no?

I have 3 SACD players and one "Reference" CD/HDCD player (all pretty old) and I can't tell much difference between them... (except the one that costs $30 and weights 5lb lol).... sooo i dont think I can hear the difference in this case :(

I want something that will output good Stereo sound out of my PC.... somehting better than whatever comes out of the 3.5mm jacks on the back of my Creative X-fi.




I do have some noob questions on the XMOS tho, just so I gauge what I will need to do.

Since you've already done that can you tell me how easy/hard was to work with the XMOS dev tools and chip?
Did you mess a lot with the firmware on the XMOS chip?
How did you program the XMOS chip? You used their programmer/development kit?
Does your board output S/PDIF? Looks like it does

Thanks,
I
 
I want something that will output good Stereo sound out of my PC.... somehting better than whatever comes out of the 3.5mm jacks on the back of my Creative X-fi.
Why don't you just spend $30 on the Behringer UCA202 and be done with it?

Your message makes it seem like cost is more important than quality, and there's no way you can build your own for less than established companies. Based on your account above, you'll never hear the difference.
 
u.fl

Thanks gents,
You have given me a couple of options. Turns out my company uses the same cables to connect digital cellular modem to an external antenna. I have been able to grab several that were being scrapped. One step closer to being ready for when my board arrives. I have also built a very nice linear power supply with a low noise regulator built with discrete parts.
 
Why don't you just spend $30 on the Behringer UCA202 and be done with it?

Your message makes it seem like cost is more important than quality, and there's no way you can build your own for less than established companies. Based on your account above, you'll never hear the difference.


Well I could go out and buy a $400 DAC that does everything and more but I'm an EE and I definitely want to develop my design skills and it wouldn't be much of a DIYAudio if i bought it lol

Well I do have nice "budget" equipment and my Playes are real good quality and I hope eventually when I get the rest of my system (Enery Take Classic Speakers and Onkyo TX-SR508 Reciever) replaced with some more high end stuff I might be able to differentiate better than now. There is a difference between players but it's not.... WOW THERE IS A DIFFERENCE factor but definitely my Sony and Denon have a really good sound stage!

Denon DVD-9000 (using PCM1704s)
Sony dvp-s9000es
Yamaha DVD-S1800 (burr brown dacs)
(are my top 3)


Your message makes it seem like cost is more important than quality, and there's no way you can build your own for less than established companies. Based on your account above, you'll never hear the difference.

No, I wouldn't say that quality does't matter to me hehe but I want to get my feet wet first and than optimize and get exotic with this board, and I didn't talk about the DAC and the other stuff that will follow on :)

I will design my own Hi-Fi system from the USB to DAC to PreAmp to AMP to Stereo Speakers. And when my tech is mature enough I will tackle SACD and CD player and keep upgrading my designs for higher and higher fidelity.


I've done two interconnect cables and already 70% done with my DIY Speakers (not counting paint job lol) and getting info on my next tackle.

anyways we digress....


So yeah i forgot to ask... what process did u go to acquire the Windows drivers? Can you share a price? Do you just install the driver and it pretty much work with any sound coming out of the PC? Window Media, Games, YouTube, VLC, iTunes?
 
Well I could go out and buy a $400 DAC that does everything and more but I'm an EE and I definitely want to develop my design skills and it wouldn't be much of a DIYAudio if i bought it lol
No, I wouldn't say that quality does't matter to me hehe but I want to get my feet wet first and than optimize and get exotic with this board, and I didn't talk about the DAC and the other stuff that will follow on :)

anyways we digress....
Ok, fair points.

I just wanted to explain my point that it makes more sense to design a reasonably high-quality DIY interface rather than something cheap.

I have designed many custom boards, and they're all expensive to make in small quantities. That's true whether the designs are cut-throat cheap or super high-end. Thus, my philosophy is that you might as well make DIY boards as high-quality as humanly possible. They're going to cost about the same anyway. Besides, cheap designs are churned out all the time by mass-market electronics shops, so you might as well let someone else spend the time making cheap stuff and focus your efforts on something a little better than average.

Where DIY folks tend to draw the line is with the number of layers and the cost of the parts. A few DIY designers try to stick to 2-layer boards because they're so much cheaper. Personally, I've done so many 4-layer designs with solid power planes that I'm not turning back to 2-layer unless the design clearly would not benefit (*). On the subject of exotic parts, I tend to like designing for multi-site and optional SMD placements. That way, budget-conscious DIYers can leave off the costly parts and still have a working design. When I was younger (before college), I learned a lot about electronics by taking things apart and noticing how many empty sockets (now empty pads) there are on commercial products. They do this to save on the PCB costs, while allowing everything from entry-level to mid-price to audiophile quality.

Long story short: I fully support efforts by the contributors to this thread to put as much design excellence as possible into this project.

(*) I wonder how possible it would be to have both 2-layer and 4-layer designs of the same schematic. That might allow budget-conscious DIYers to get in with the less-expensive 2-layer PCB while the high-end folks can compare the performance of solid power planes. Of course, this defeats the advantage of group buys for a single PCB design, but it's an idea...
 
When you noted that SACD and HDCD did not sound much different it occurred to me that you might have some pretty good equipment. That is the case IMO. I think some of your units probably have pretty good clocks. On bad equipment the difference between SACD and CD is glaringly apparent. The other possibility is that one part of the chain is bad enough that you cannot appreciate what you have.

I cannot think of a $400 DAC that offers "everything and more". What I want to do is ripBitz to an HDD and then squirt them into a DAC with timing as good as SACD media bitz get squirted to the built-in DACs in a couple of your components. That is a lot harder than it might seem on the surface.

Internally your components communicate using i2s. Getting a computer to emit i2s as a well clocked parallel 'stream' is the key. That is what Lucian's board can do because of an improved USB service class.
 
Lorien,
Is ready the new module or it is possible to have one old model ?

Actually I am starting some tests about M2Tech vs OpenSource Qnktc with Wolfson WM8740 DAC and Lundahl output transformers.
 

Attachments

  • M2Tech_vs_Qnktc.JPG
    M2Tech_vs_Qnktc.JPG
    170 KB · Views: 1,155
Barrows
as noted, I use u.fl. But there are coax alternatives which do not make the right angle turn. I am curious what experienced RF design engineers might have to say about this. I have heard that pcb board traces are often purposely designed with gentle curves rather than hard right angles for high speed signals. How much difference these choices might make are fun to speculate about, but without some serious measurements, it really is just all speculation.
90 degree angles are best avoided, 45 degree angles work perfectly, you dont need to do curved traces, it wont make any noticable difference and will make layout a complete pain.
RF PCB design is totaly different from high speed digital design.
We use a 13GHz scope to examine our high speed lines (DDR interfaces, ethernet etc).
The most important thing with high speed digital layout is keeping the impedances equal (around 50ohm single ended, 100 diff pair) and ensuring signal integrity, the best way to achieve that is to use SIV (signal integrity verification software) works with IBIS data available from most chip manufacturers. And lots of ground planes for return currents, and preferably all lines done as stripline routing (especially the higher speed ones) if possible.
 
Ok, fair points.

I just wanted to explain my point that it makes more sense to design a reasonably high-quality DIY interface rather than something cheap.

I have designed many custom boards, and they're all expensive to make in small quantities. That's true whether the designs are cut-throat cheap or super high-end. Thus, my philosophy is that you might as well make DIY boards as high-quality as humanly possible. They're going to cost about the same anyway. Besides, cheap designs are churned out all the time by mass-market electronics shops, so you might as well let someone else spend the time making cheap stuff and focus your efforts on something a little better than average.

Where DIY folks tend to draw the line is with the number of layers and the cost of the parts. A few DIY designers try to stick to 2-layer boards because they're so much cheaper. Personally, I've done so many 4-layer designs with solid power planes that I'm not turning back to 2-layer unless the design clearly would not benefit (*). On the subject of exotic parts, I tend to like designing for multi-site and optional SMD placements. That way, budget-conscious DIYers can leave off the costly parts and still have a working design............

Long story short: I fully support efforts by the contributors to this thread to put as much design excellence as possible into this project.

...


You know what....... excellent point! I guess I am just afraid to go all out on first try only to strike out with a nonworking design and hundreds of $ in wasted money.... but yeah PCB's aint cheap :/

So yeah.... what kind of clock does OP use for his design? I mean part number. Any PLL clock in the future?

Yeah it is a good idea to leave empty slots for higher end components, it will be like having two designs in one :D only that it will be much cheaper just to get it working with the basic parts and than add on :)

When you noted that SACD and HDCD did not sound much different it occurred to me that you might have some pretty good equipment. That is the case IMO. I think some of your units probably have pretty good clocks. On bad equipment the difference between SACD and CD is glaringly apparent. The other possibility is that one part of the chain is bad enough that you cannot appreciate what you have.

I cannot think of a $400 DAC that offers "everything and more". What I want to do is ripBitz to an HDD and then squirt them into a DAC with timing as good as SACD media bitz get squirted to the built-in DACs in a couple of your components. That is a lot harder than it might seem on the surface.

Internally your components communicate using i2s. Getting a computer to emit i2s as a well clocked parallel 'stream' is the key. That is what Lucian's board can do because of an improved USB service class.

yes i do have an HDCD that i bought by mistake lol and it is the best sounding out of all the CD's I have but when i put it in a non HDCD player i hear the difference but the SACD and the HDCD...not so much and some CDs I have sound awesome...


Oh yeah it's not that simple at all but I'm getting the block diagrams organized in my head first and see how everything flows.

Lorien's WaveIO removes the clock inteference from the USB and converts to I2S, right? He achieves that via the XMOS asynchronous mode and running the XMOS as a master with it's own stable clock....

I read somewhere that they buffer the USB input and further remove any jitter or signal interference.

What the hell are GMRs?!? anyone have a part number for me or a datasheet? I cant find them on digikey... something to do with magnetic isoltion?

Ground isolation, any done on WaveIO?
 
Huh :eek: a lot to catch up...
@ zxgravediggerxz: There are a lot of manufacturers that are using XMOS chips in their designs. I just wanted for WaveIO to be a good alternative to
stock board provided by XMOS at the same price. I do confess that at the beginning I didn't took into account the fees paid for money transfer, shipping. so I am where I am with the price. And, like rsdio I don't see me going back to 2-layer boards even if I wanted to...
My experience with XMOS firmware is.. rather limited even if I have more than 10 years experience in uC programming. The firmware is.. how do I call it... fragile. Any important changes into it has caused BSoDs to my laptop so I tried to keep it as much as possible close to the original form.
On the other hand, there were no one for me to give any advices on how do I have to do with XMOS to reach my goal other than XMOS itself. All your questions will find the answers there, just make an account and ask.
Your goal in essence is noble but going cheaper will not bring you performance unless you are really know what you're doing and this task is rather a time consuming one (at least in my perspective). I also have this in mind... but in my case it will show-up in a different form. I'm in process of designing it, hoping it will work at the end :)

@ audiodesign: I have the new batch of boards at disposal, ready for assembling. I need some time though for few old orders to catch up first.

@ marce: nice 'things' you're playing with :)

Cheers,
L
 
Last edited:
Lorien, I do the PCB's and basic simulation, we found we had to start using simulation, some clocks and data rates are just getting silly, and using rules of thumb just dosn't work. Then we found that our normal scopes and more imortatly scope probes were not up to it, so we hire the 13GHz scope when we do a high speed interface to check the real world waveforms with the simulations. One caveat, you have to model the loading of the scope probe when doing simulations, as at the higher frequencys they load the line and effect the results. This also means that what you see on a scope is not always reality, due to the probe loading. There are numerous data sheets on Tektonix and Agilent sites, that cover this problem.
 
@ marce: I have one question for you that squeezes my brain for some time now: it's about switching master clock signals for WaveIO accordingly to the incoming sample rate: I have some ideas to use RF relays instead of any mux chip alternative. Doing this, there will be any "visible" degradation in signal's integrity using RF relays? Signals will have frequencies between 45 and 100 MHz.
Thank you,
L
 
That is one question I'd have to pass on, I do the PCB's, I probably spend hours with data sheets and in meetings with the whole design time discussing in detail every part of the circuit, making numerous notes and references to look up. As I dont know the ineterface I cant coment. Some more specific links would be interesting.
As to clocks, what I can say is there are numerous clock drivers apearing, designed with the right drive for todays industry standard high speed boards, where 50 ohms impedance is quite easily:boggled:with 12+ layers quite often being the norm. Boards are becoming that complex and packaging that tight, that designs are done in a virtual world, with 3D modeling of the boards and components (IDF interface to mechanical CAD), so the board fits in the enclosure..and the electronic design being simulated and tested, its not uncommon to take two weeks routing a complex clock round a board.
Sorry, can only comment on stuff I've realy worked with or general high speed and complex layout problems.
Cheers Chaps.
Marc
 
Last edited:
You know what....... excellent point! I guess I am just afraid to go all out on first try only to strike out with a nonworking design and hundreds of $ in wasted money.... but yeah PCB's aint cheap :/

So yeah.... what kind of clock does OP use for his design? I mean part number. Any PLL clock in the future?

Yeah it is a good idea to leave empty slots for higher end components, it will be like having two designs in one :D only that it will be much cheaper just to get it working with the basic parts and than add on :)



yes i do have an HDCD that i bought by mistake lol and it is the best sounding out of all the CD's I have but when i put it in a non HDCD player i hear the difference but the SACD and the HDCD...not so much and some CDs I have sound awesome...


Oh yeah it's not that simple at all but I'm getting the block diagrams organized in my head first and see how everything flows.

Lorien's WaveIO removes the clock inteference from the USB and converts to I2S, right? He achieves that via the XMOS asynchronous mode and running the XMOS as a master with it's own stable clock....

I read somewhere that they buffer the USB input and further remove any jitter or signal interference.

What the hell are GMRs?!? anyone have a part number for me or a datasheet? I cant find them on digikey... something to do with magnetic isoltion?

Ground isolation, any done on WaveIO?

I think the GMRs are the GMR's most are using. Typically they add debatably as much jitter as a really good spdif. Just see Art's detailed measurements on audio circle if you question that, I don't mean to debate it in Loriens thread, his product looks to be the best design for the diyer at this time and a 3ps rms jitter spdif from a computer is expensive and arguable not woth the price..

However there is a means proposed to get jitter down to the single digit level with this unit. You use the GMR's on the i2s but put the master clock in the external DAC with a final synch alighnment right at the dac entry. The clock then has its gmr feeding the xmos in the opposite direction. This approach is about as good as it is going get as the remaining jitter is going to be from your clock quality, power, and DAC chip. The issue is you need to be stuck with rbcd and its mutliples or 48k and its mutliples unless you have some means to switch clocks based on sample rates which a tough task for the hobbiest. Personally I find hirez is so esoteric and often fraudulent, I will be satisfied with a 44.1 based clock at the dac and simply resample the hirez material to 88.2 or 176.4. But you could do it the other way. Whichever you chose includingjust using the gmrs in original original config will put you miles ahead of anything out there for the price.

I am also tempted to try forgoing the GMRs, use quality power and share the ground up to the dac output with galvanic isolation to the amp provided by classic line livel transformers.

Final option is a good sych alighnemt of the i2s and send it to the dac via a
dit4192 and pulse transformer as the Legato does, Still miles ahead of most transports and sounds amazing.


Any way you look we are lucky to have a card like this Wave I/o for our hobby/projects. My only concern is M$'s refusal to give a native usb2.0 Ausio driver, so we are at the mercy of a third party driver. Linux and Mac users don't have this risk.


BTW your HDCD sounds good because it was transfered to digital with an R2R ADC:D

As far as SACD, does this really require a DAC? I mean what is the dac doing to a 1 bit signal? One guy on here has DSD playing right to his speakers with no DAC involved, we are probably a long ways from really unlocking the right way to handle DSD without the corporate BS. You should be aware there usb device's that spit out a dsd stream but for I2s they aren't in the same league as the WaveIO which I believe is the only computer transport device which allows the Sabre PLL to tun at its tightest level (indicating lowest incoming jitter.)