Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

The impression that I got was that config hadn't been tested by Ed. Or have I joined the conversation late and you're having a problem with the config described in your post? What DAC exactly?

My understanding of the conversation so far:

Isolated WaveIO > SPDIF Boad DIX9211 'backdoor' > FIFO > Ians Isolator > Dual XO 45/49 > DAC is limited to 192kHz (may work at 352kHz sometimes according to Ed's experiments)

Direct WaveIO > SPDIF Boad DIX9211 'backdoor' > FIFO > Ians Isolator > Dual XO 45/49 > DAC is limited to 192kHz (may work at 352kHz sometimes according to Ed's experiments)

Direct WaveIO > FIFO > Ians Isolator > Dual XO 45/49 > DAC works at 384kHz

$48?!? last few times I've ordered from Mouser/digikey (March and June 2014) I had orders that were $100 - $300 and I checked the 'free shipping to Aus' options which require payment in AUD against paying their shipping charges (I recall it being something like a $30 flat rate parcel) and it worked out cheaper overall to pay their shipping charges. I'd avoid doing an order for just u.fl cables and order parts for a few projects at once, but that's mostly because I've got a Platinum Membership to diyAudio Addicts Annonymous and can't stop myself finding and building more projects all the time.

I will be putting an order in to Mouser/digikey a month or two after the time that the AYA II 2014 boards arrive and can add some u.fl cables to my order then if you'd like and put them in an envelope to you if you'd like? I just had a look and I don't have any spare ones. I have a couple, but they're earmarked for projects I'll be working on in next month or so, otherwise I'd post some to you.

Cheers,
Chris

Hi Chris,

DAC is AYAII 2008 modified for simultaneous operation and fed via I2S to PCM board.

I might be confused about the conversation also. If Ed has 384k with WaveIO direct to FIFO>ISO>Dual XO>DAC, then the only difference between my setup and his is my use of the WaveIO's isolator.

Yes, $48 for shipping. Free on orders over certain amount ($100?), but not on $10.50.

Appreciate the thought on the cables, that might be my best way forward so happy to go with that.. envelope is fine.

Regards,
Shane
 
Thanks for doing those tests Ian, interesting result!


I was going off the datasheet spec for 'routing'

attachment.php


So assumed that 216kHz was the limit for i2s signals also. It may be that different batches are built on different processes so all ICs may not come out exactly equal after fab tolerances perhaps?


Chris

Hi Chris,

Thank you for highlighting the datasheet. Yes, They listed 216KHz for DIR, DIT and routing. For DIR or DIT, the physical limitation was the max MCLK. But for routing, things are different, I couldn't think of what was the physical limitation (it just a MUX logic), I think they just make them as same number to avoid any trouble if their customer wants go higher :)

But any way, my result was just based on real testing.

Have a good night

Ian
 
Some tips running 384KHz,
With this Fs, BCK will run at 24.576MHz, while Data up to 12.288MHz, so we have to tread them as high speed clock signals
1. Use coaxial cables and u.fl connectors as possible as could.
2. Making cables as short as possible.
3. Termate signal sources with 33 ohm chip resistors to mach impendence with cables

Good luck to your project

Ian

Thanks, Ian.

I've kept the WaveIO to FIFO cables as short as possible and set up with tight GSGSGSG. Hopefully bypassing the WaveIO's isolator will do the trick.

Regards,
Shane
 

Attachments

  • IMG_2591.jpg
    IMG_2591.jpg
    338.5 KB · Views: 418
384Khz and WaveIO/Fifo

Thanks, Ian.

I've kept the WaveIO to FIFO cables as short as possible and set up with tight GSGSGSG. Hopefully bypassing the WaveIO's isolator will do the trick.

Regards,
Shane

Hi shane

The three set ups from Ian should give the answer. The problem is not the SPDIF interface board, but the WaveIO in this config.(not its isolator either!)
According to this, Ian's tests.
===========================================


Hi Ed,

I did more test today on my system with feeding I2S signal into S/PDIF board backdoor, I confirmed S/PDIF board I2S backdoor works for 384KHZ without any problem! But not for all USB .

1. Amanero Combo384: works for 384KHz, with/without isolator, both FIFO and S/PDIF board backdoor.
2. DIYinHK new XMOS: works for 384KHz, with/without isolator, both FIFO and S/PDIF board backdoor.
3. WaveIO old XMOS: works only up to 352KHz, without isolator, into S/PDIF board backdoor;Noise starts at 384KHz.

My system for this test:

iMac – iTunes – USB – S/PDIF board – FIFO – DualXO clock board (45/49Mhz) –PCM board – TDA1541A DAC (simultaneous mode)
50ohm coaxial u.fl cables between FIFO and S/PDIF board

There is no 384KHz limitation on DIX9211 I2S input. I think that 192KHz limitation was only for S/PDIF receiver.

==========================================

I ordered a bunch of 6cm($1.-!) and 3,5cm ($4,-) U.fl cables on Ebay. Quality? I think any cable is made in China!
But I will have to wait a few weeks. I can link the adresses to you.

I ordered at TP(Twisted Pear) a OttoII switch ($30.-) to be able to choose between two I2S lines. Cheaper than buying another Amanero or DIYIH interface.
I expect this will do the trick for now. I will know the answer within a week or so.

Thanks Ian for finding out!:)
Regards,
Ed
 
WaveIO 384

Thanks, Ian.

I've kept the WaveIO to FIFO cables as short as possible and set up with tight GSGSGSG. Hopefully bypassing the WaveIO's isolator will do the trick.

Regards,
Shane

Hi Shane,

According to your picture, you are using two isolators.
In my setup I can do 384 by taking the WaveIO U.fl outputs connected to U.fl Fifo. So NO WaveIO isolator used!
Everything should be fine than...
Ed
 
Hi Shane,

According to your picture, you are using two isolators.
In my setup I can do 384 by taking the WaveIO U.fl outputs connected to U.fl Fifo. So NO WaveIO isolator used!
Everything should be fine than...
Ed

The confusing thing is that conflicts with what Ian found with no WaveIO isolator he was still limited to 352kHz (via DIX9211 backdoor). But was able to get others to work via i2s at 384kHz. Something odd going on there for sure.

Chris
 
WaveIO 384

The confusing thing is that conflicts with what Ian found with no WaveIO isolator he was still limited to 352kHz (via DIX9211 backdoor). But was able to get others to work via i2s at 384kHz. Something odd going on there for sure.

Chris



Correct,

WaveIO: No 384 using backdoor,
-------- Yes384 not using backdoor but straight into Fifo.

Ed
 
Why 384 KHz I2S works for S/PDIF board backdoor without limitated to 216 KHz

Thanks for doing those tests Ian, interesting result!


I was going off the datasheet spec for 'routing'

attachment.php


So assumed that 216kHz was the limit for i2s signals also. It may be that different batches are built on different processes so all ICs may not come out exactly equal after fab tolerances perhaps?


Chris

Hi Chris,

Thank you for highlighting the datasheet. Yes, They listed 216KHz for DIR, DIT and routing. For DIR or DIT, the physical limitation was the max MCLK. But for routing, things are different, I couldn't think of what was the physical limitation (it just a MUX logic), I think they just make them as same number to avoid any trouble if their customer wants go higher :)

But any way, my result was just based on real testing.

Have a good night

Ian

Hi Chris,

I was wondering how the numbre 216 KHz came from. So I reviewed the DIX9211 datasheet again after you posted the highlighted section. Now I think I found a possibles reason.

For routing I2S signals, on page 6, it states that the max system clock (MCLK) frequency is 55.296 MHz. That I believe is the physical limition of the chip. So, under their default test conditon, which was MCLK=256Fs and BCK=64Fs, the max BCK will be 13.824MHz and max LRCK will be 216 KHz. That is where the number 216 KHz came from. It was calculated but tested. However, at same section, it says that MCLK can be 128/256/512Fs. So, with test condition of MCLK=128Fs (which is our case running 384 KHz with 45/49 XO), the max BCK becomes 27.648 MHz and max LRCK becomes 432 KHz! That explains why we don’t have problem running 384 KHz with the S/PDIF board backdoor.

In addition, when the datasheet talks about routing I2S signals, it means there are four signals, which are MCLK, BCK, LRCK and DATA. But for our system with FIFO included, we don’t need the MCLK to route, therefore that limitation of max system clock frequency will not apply to applications without MCLK feeding into DIX9211.

Just hope I got the right answer.

Regards,

Ian
 

Attachments

  • DIX9211.png
    DIX9211.png
    26.8 KB · Views: 354
Hi Shane,

According to your picture, you are using two isolators.
In my setup I can do 384 by taking the WaveIO U.fl outputs connected to U.fl Fifo. So NO WaveIO isolator used!
Everything should be fine than...
Ed

Thanks, Ed.

And so this is the confusing part.. bypass the WaveIO isolator and direct to FIFO is ok with either 352k or 384k, or both. Using the WaveIO isolator limits to 192kHz. How can the WaveIO isolator be good above 192k if this is the case?.

In any event, probably easiest to just try it and find out.. without WaveIO isolator as you suggest.. yes. And if everything is then fine, great !!.

As you'd know its all pretty good as it is, but I'm interested to see what happens playing back 352k etc properly with 1541A and how it sounds.

Regards,
Shane
 
A litle OT, but can you show us, what your TDA1541a DAC shematic and layout looks like?
There are so many different ways to implement that (very good sounding) chip.
Koldby

Hi Koldby,

My TDA1541A is just a very cheap DAC I bought from eBay.I'm sorry I don't have the schematic. But I think it's in standard schematic because it looks nothing special. I modified it to simultaneous mode and hooked it up to my I2S-PCM board. It's for testing and design verification, not for listening. I know there are a lot of improvements on 1514 so far, I'd like to have some try once I'm not busy.

Regards,

Ian

More than a little OT. Plenty of other threads on diyA to discuss that.

Thanks Chris, Have a good weekend.

Ian
 
It confused me for a long time.
Hello Ian and welcome to my boat! :eek: Please do not spent your valuable time in searching for any logical reasons behind what's happen with "old" XMOS chips... or at least you can try it for fun! It wasn't fun in my case... anyway!
To be as clear as I can, in my opinion "old" chips means "actual" because for those who don't steal drivers from other products (like WaveIO's drivers which were taken, hacked and given with competitive products on Ebay - something that (still?) can be proved) there are no chances for the moment to have a fully customized Windows driver - released directly by Thesycon - while using the BGA part(s).
That -THS "thingy" at the end of part number can make the difference when the german guys will ask you about your "initiative" in this matter. Obviously is not the end of the road but this is a discussion for other time.

The downside of "old" XMOS chips...- and, I'm quite positive, it does exists on actual parts as well because they have preserved the architecture- is not tied to my existence but to someone else, who take the immense decision to reclock the I2S clock, signals and so on.... with the system clock (400 MHz in WaveIO's case) despite the fact that all involved ports were meant to be "driven" by external clock. I've forced my math skills to perfectly divide 400 to 22.5792 or 400 to 24.576 but I give up somewhere along the road...
Just to be clear, I want to say that I do respect XMOS/employees and what they have done so far... but that decision is the most noob one I had to encounter yet.
I don't know your work and how capable your actual HW is to make some changes at the PCB level but in my case, even if I did tried to compensate length differences and make the transmission lines close to 50R, without ringing and over/undershot it didn't solve the problem on my latest design (WaveIO Note) where even the various delays between the channels of the isolator itself lead me to not so a desirable result.

I wish you luck in your search and let me know if I can help you in any way!
As for me, after I was beating twice by this XMOS "fashion" of reclocking signals I've learn my lesson and from now on I know exactly what I have to do.

32/384: In case that someone has doubts regarding NVE isolator capabilities @ 384 KHz I can prove it works beautifully on WaveIO.

Kind regards,
L
 
Last edited:
Hi Shane,
there's no need for drivers on MAC (and Linux too)! All the drivers I have are meant to work on Windows. On MAC it should run okay, maybe few exceptions are for the last firmware version I post lately which adds support for DSD/DoP. Here's the link to it.
Anyway, this one is experimental thus it will not be taken into account because I don't preload WaveIOs with it.
On another hand this port is already off-topic (I'm sorry Ian) and I want to avoid that so, if possible, please do post your further questions on WaveIO's dedicated thread!
Thank you,
L