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

I use a pair of TOTX147 and TORX147 on my S/PDIF interface board as the optic transmitter and receiver. The max rated speed was 15Mb/s. I don’t know what the testing condition was.

Using a 5 feet normal optic cable, I did a loop testing with a 192 KHz/24bit digital audio signal on my DIX9211 S/PDIF interface board. The testing last two hours, within that time, I didn’t catch any bit error. It was kind of bit-perfect transmitting.

BTW, the max capable Fs of DIX9122 is 216KHz /24bit, from spec. That might be one of the reason.

Ian
 
Thanks for sharing, Ian.

I[...]by comparing, I did same loop testing under same condition on a couple of other DIT and DIR chips. The results were not as good as DIX9211. Some of them couldn’t lock stably at 192 KHz even with coaxial cable connected (I’m sorry I don’t want to tell what the P/N it was) [...]
This is quite remarkable (or worrying...), as I assume all the devices you tested are specified for 192kHz, and you used PLL loop filter R and C (if any required) according to datasheet?
 
This conversation is getting very interesting to me. I use a modified Juli@ on a music server based on the cMP/cPlay by cics. I'm currently feeding the I2S from the Juli@ to one of the ES9022 DAC cards from DIYAudio's EUVL… very nice sound. The ES9022 card is mounted directly on the Juli@'s digital section with very short I2S connections(shorter than the stock card's connections to its stock DAC).

But I've got a Buffalo-II I'd like to install and with the various output stage & power supply options, it's a challenge to package into the PC's case. Also, I'm sure that getting it outside of the case will get it into a lower RF/EMI environment, even with all the work I've done to lower that inside of the case (extreme SW minimization plus all linear supplies to the Mobo, next up is removing the chips for un-needed peripherals on the Mobo!).

My current plan is to use an LVDS transmitter-receiver pair (I currently have the Twisted Pear Teleporter) to lengthen the I2S connection to 2' or so to that remote DAC. I know that PS Audio's scheme to transmit these signals via LVDS over an HDMI cable seems to be sucessful… not only for them, but also K&K Audio, Wired4Sound, Sonore, Chiaki/Bunpei's MicroSD card player, & Fidelix among others. I don't know about all of them, but I do know that PS Audio, K&K, & Chiaki/Bunpei do an asynchronous reclock at the receive end (& Chiaki/Bunpei also can supply HW to do a synchronous reclock which they have said is better-sounding). Twisted Pear also seems to be very happy with how the Teleporter works for them.

That's where the Asych I2S FIFO comes in. I got one from the tail end of the first GB. My plan to set it up as follows: cMP/cPlay PC -> Modified Juli@ -> TP Teleporter transmitter -> CAT6 -> TP Teleporter receiver -> Ian's Asynch I2S FIFO w/dual clock board (setup synchronous with the DAC) -> BuffII -> output stage (current top picks are TP's Legato, OPC's D1, & EUVL's Sen).

I know that the LVDS does add some jitter… theoretically less than an isolator like the NVE IL7XX. And according to who you ask, the LVDS seems to impart some amount of isolation (but Fidelix & K&K still have galvanic isolation at their receive end). Hopefully the Asynch I2S FIFO will minimize the impact of this added jitter, but I'm guessing that you still want to keep the jitter as low as possible, which is why I'm not currently planning to add NVE IL7XX or other isolators into the stream.

Why all this instead of the Asynch USB everyone else is going with? With the latest refinements of the cMP/cPlay setup, one lays into Windows XP with a machete and cuts out EVERYTHING not needed for basic playback (resulting in a OpSys + player of under 15Mb!). For those using a PCI-connected sound card like the Juli@, this includes fully disabling the USB functionality, both in the Mobo's BIOS & in WinXP. To us practitioners, this does appear to make a significant sonic difference (no trolling on this please… if you must, start another thread). Plus I have an investment in making the Juli@ digital section work well (with very good sonic results so far). And also, because not a lot of people are doing it this way (gotta be an individual, right?)

My question is, does this sound like a plan? Or have I missed something terribly important?

Greg in Mississippi

P.S. for those getting up to speed on this, here's some useful links:

EXAU21 (uses NVE IL7XX GMR Isolators & has been connected via the Fidelix LVDS interface…. Worth searching through the thread for these & jitter discussions): http://www.diyaudio.com/forums/exad...i-channel-asynchronous-usb-i2s-interface.html

XMOS USB->I2S (also uses GMR Isolators & worth searching through): http://www.diyaudio.com/forums/digital-source/188902-xmos-based-asynchronous-usb-i2s-interface.html

TP Teleporter LVDS Jitter: http://www.diyaudio.com/forums/twisted-pear/201106-introducing-bit-teleporter.html#post2793811

Chiaki/Bunpei's MicroSD Player & Fidelix's LVDS / IL7XX setup: http://www.diyaudio.com/forums/digi...ory-card-transport-project-4.html#post2214403

Search the K&K Audio forum on the Audio Asylum for info on their I2S-connecting LVDS Setup (too many useful threads to post here)

GLT's experiment with a GMR isolator on I2S: Experiments with NVE IL715 Isolator H i F i D U I N O

Info on Juli@ card mods: Audio Asylum Thread Printer & Audio Asylum Thread Printer

Oh god. Above reflects again the truth about PC based audio. Basically from the transport side you'll never get it under control.

But here comes the reclocker into play - I guess.

IMO, if using IAN's reclocker -- the ultimate weapon to fight the jitter -- I'd expect that not any PC tweaking is necessary anymore (assuming bit transparent transfers as a base condition).
I'd also assume that not any of the known PC tweaks will cause a difference anymore!

Full Isolation should be accomplished by using Toslink or SPDIF with pulsetranformer on the reclocker input fed by a standard PC based out-of-the-box audio interface.

Can anybody confirm over here that stuff like CPLay, Fidelizer or any other of those audiophile players, as well as different audio interfaces (transmitters) won't make a difference anymore with Ian's reclocker in place?

In fact - I and the rest of the digital audio world are looking for such a device since the project started.

Thx.
 
Last edited:
Personally I think this is system dependent and whether there is the resolution to experience any differences.
I reckon hard to really say, would be easier to check via SPDIF as the transport is easy to move from one side of the FIFO to the other and bypass it. This is possibly the easiest way to really determine any changes.
My two cents worth.......waiting for the GB to be ready and looking forward to playing with this little puppy!

Cheers,

Drew.
 
Oh god. Above reflects again the truth about PC based audio. Basically from the transport side you'll never get it under control.

But here comes the reclocker into play - I guess.

IMO, if using IAN's reclocker -- the ultimate weapon to fight the jitter -- I'd expect that not any PC tweaking is necessary anymore (assuming bit transparent transfers as a base condition).

In fact - I and the rest of the digital audio world are looking for such a device since the project started.

Thx.

Hi

Seems that the expectations are grooving and Ian's re-clocker arising to be "The Missing Link" of Digital Audio... or maybe even "Hooly Grail"...
Good that I have put myself into GB...:cool:

Rosendorfer
 
Personally I think this is system dependent and whether there is the resolution to experience any differences.
I reckon hard to really say, would be easier to check via SPDIF as the transport is easy to move from one side of the FIFO to the other and bypass it. This is possibly the easiest way to really determine any changes.
My two cents worth.......waiting for the GB to be ready and looking forward to playing with this little puppy!

Cheers,

Drew.

nope, I dont think its system dependent at all, the whole point is that its system independent, I concur with all soundcheck's post, but one point (well actually its more of a question). the upsampling, digital apodising OSF and volume control of some of these players is still advantageous when running fifo with a dac in synchronous mode as it effects signal quality in the frequency domain as well, rather than just time, or ground bounce etc. As far as everything else, fifo decouples the dac from all of this, the only jitter left is that of the clock and the fanout buffer.

I effectively said what soundcheck just did a few pages ago in reply to that same post and agree completely
 
Last edited:
nope, I dont think its system dependent at all, the whole point is that its system independent, I concur with all soundcheck's post, but one point (well actually its more of a question). the upsampling, digital apodising OSF and volume control of some of these players is still advantageous when running fifo with a dac in synchronous mode as it effects signal quality in the frequency domain as well, rather than just time, or ground bounce etc. As far as everything else, fifo decouples the dac from all of this, the only jitter left is that of the clock and the fanout buffer.

I effectively said what soundcheck just did a few pages ago in reply to that same post and agree completely

Do you agree to my assumptions? Or do you confirm - based on your experience with the reclocker device - what I'm assuming?


When is comes to SRC or volume control or whatever DSP work on the PC side - even flac decoding needs to be put on the list, we got two problems.
The inbound problem - filter related or math related losses. Obviously those we won't solve with a reclocker.
But the realtime processing related jitter/noise issues should be gone with the reclocker assuming properly implemented galvanic isolation or a close to perfect filtration.

Those realtime processing realated issues can easily be checked by comparing offline vs. realtime processed data.

Bottom line:
I'm really tempted to place an order. However. I had numerous devices in the house that couldn't
live up it's promises, which includes those Sabre DACs. Non of them was able to clean up the source related mess. This time I want to make sure beforehand that a device does what it promises.


Cheers
 
Last edited:
based on your experience with the reclocker device
^this

While I havent the equipment to verify phase noise objectively, it certainly agrees with my subjective experience; the thing sounds bloody brilliant just feeding toslink from my iriver!

Indeed the sabre is sensitive to input jitter, not as much as most dacs, but it still is; quality i2s is still superior to its spdif (even once accounting for the difference in level), even though the latter is pretty darn good for such simplicity. So far sync mode with fifo ticks all boxes for me too, though it does sound quite different to a very low jitter i2s input, but still using the onboard clock asynchronously. this is an easy switch for me to do, only takes about 10 seconds; long enough to forget some might say.

while I cant guarantee you will have the same subjective experience as me, I would be surprised if you didnt favor it. for once the theory matches pretty well with the application
 
I agree with qusp that the computer clock shoudn't matter, with a disclaimer. We have all been taught ppm doesn't matter when evaluating clocks. With the FiFO its the only thing that really does matter, the further the two clocks are apart in timing the bigger the chance of fifo buffer over-run. I have heard some computer transports where the timing was so bad as to affect pitch (the fifo would throw that timing away and correct it but its buffer would fill quicker) I think its only an issue should you listen for hours and hours without stopping or are in the habit of stopping in the middle of a song. So really unless you need 8x sampling rates spdif should be the prefered choice from the computer (either via usb or pci shouldn't matter). Correct me if I am wrong Ian.
 
I agree with qusp that the computer clock shoudn't matter, with a disclaimer. We have all been taught ppm doesn't matter when evaluating clocks. With the FiFO its the only thing that really does matter, the further the two clocks are apart in timing the bigger the chance of fifo buffer over-run. I have heard some computer transports where the timing was so bad as to affect pitch (the fifo would throw that timing away and correct it but its buffer would fill quicker) I think its only an issue should you listen for hours and hours without stopping or are in the habit of stopping in the middle of a song. So really unless you need 8x sampling rates spdif should be the prefered choice from the computer (either via usb or pci shouldn't matter). Correct me if I am wrong Ian.

He regal,

Your concern is reasonable. But the real situation is not that bad :).

1. The FIFO controller has some smart stratagy integrated, it not that easy going overflow.
2. Even a PC clock, the ppm is not as worse as you thought.

I use an usb playing music for most of the time. My own experience also approved above, except very extrem case.

But it's just a personal point. Please give some try and let me know the result.

Nice weekend.

Ian
 
Didn't mean as a concern, its really inconsequential as you say. Just pointing out that spending $ and time on a high end computer transport is fairly pointless with the exception of the $20 ebay special type soundcard/usb transports. All I look for with the computer side is a stable clock and good spdif driver with the correct impedance (UAC native drivers preferred for glitch free bit-perfect output) with your invention.

Your fifo is a game changer that shifts the way we morons have been dealing with high end computer as transport for many years. Much less $'s and effort on that end, just need the fundamentals - bitperfect, proper spdif transmission, and a reasonable accurate clock (i.e. not low phase shift/jitter, superstar powersupplied, etc.)
 
it would indeed, be interesting at least. I'm not sure what clock you would compare to? recovered clock? theres no MCK input …

as far as I can tell the only things that can effect performance in sync mode with ESS is warm up and power supply quality of the dac and ground. because the dac nolonger has control of the mute process you can get glitches (somewhat scary I might add when you use digital volume control) when it unlocks due to over-run. is there some way to connect the mute signal from the dac to the external crystek Ian?

i've found that it can remain unstable for a minute or 2 till the dac warms up, or when the dac is connected on the same circuit as a fridge or something else with large switching energy or back EMF pulse when it turns on for a moment to maintain temp, or on the same circuit as my oil heater. glt found these same unlock problems with a standard ESS, but when the dac has control of the clock and knows when its having a moment; it will mute its outputs.
 
He regal,

Your concern is reasonable. But the real situation is not that bad :).

1. The FIFO controller has some smart stratagy integrated, it not that easy going overflow.
2. Even a PC clock, the ppm is not as worse as you thought.

I use an usb playing music for most of the time. My own experience also approved above, except very extrem case.

But it's just a personal point. Please give some try and let me know the result.

Nice weekend.

Ian

Now, if you talk about "extreme cases" (whatever that means) only which would make a difference, can I expect that "any" normal PC operation will be sufficiant to provide identical results (assuming bit/word transparent audio data) with your reclocker in place?
The known PC/Transport tweaks that usually improve the audio experience would then become obsolete.

(Sorry for bugging you guys again - I am in the transport tweaking business since around 2007. Nobody over here seems to be willing to give a clear answer on the subject.)

Thx.
 
Now, if you talk about "extreme cases" (whatever that means) only which would make a difference, can I expect that "any" normal PC operation will be sufficiant to provide identical results (assuming bit/word transparent audio data) with your reclocker in place?
The known PC/Transport tweaks that usually improve the audio experience would then become obsolete.

(Sorry for bugging you guys again - I am in the transport tweaking business since around 2007. Nobody over here seems to be willing to give a clear answer on the subject.)

Thx.

Yes. This is the buffer folks have been high-hoping for for 20 years, finally memory is cheap enough to pull off. A new clock is on the output, no PLL, no asynchronous reclocking or synchronous PLL VXCO scheme or synthetic derived clock, a complete cut from the transports timing.
 
Nobody over here seems to be willing to give a clear answer on the subject.)

Thx.

sorry what? I was pretty darn clear and you made me restate it to confirm, which I did, rather clearly.... if you disturb the signal for long enough and extremely, the buffer will overrun. that is the only issue i've had and is not the fault of the fifo; as the same thing causes unlocks on the sabre under its own clock.

its completely decoupled/severed, how would you expect the PC to influence it? you can still cause an error, with large ripple on the dac PSU or ground, but this is a complete dropout due to buffer overrun, not insidious jitterbugs

Regal, it is async, but not in the usual way
 
Last edited:
Hello,

About source/fifo clock frequency difference, it is believed that most difficult to manage is when source frequency is lower than fifo : buffer have to be filled enough before starting to deliver output samples to avoid running out of samples. Ian, is it so that what you call smart strategy adjust buffer length according source/fifo frequency difference :)-) !!
Understanding is it worth to minimise frequency error of source (avoid low end sound card ?), PLL solution is better to deal which frequency difference but then bye-bye killing jitter performances !
One silly question, could fifo input be USB (so source frequency > fifo)?
It's a long way, but hoping, i can mange to built a DAC board to be used with fifo.

benoit
 
"The known PC/Transport tweaks that usually improve the audio experience would then become obsolete."

I guess so, but maybe you could come up with some new ones that serve the high performance clock back to the transport (not that very high stability is required at the transport, just synchronization) so that large buffer memory is not necessary and under/overruns still never occur.
 
benoit, fifo does not upsample or resample, it clocks out at the same speed its sent; out of its buffer memory. fifo runs at FAR higher speed than anything we are feeding it, or likely to feed it, not even with USB. what Ian among other things, is talking about, is that in between songs the buffer empties. USB has been deliberately omitted


I guess so, but maybe you could come up with some new ones that serve the high performance clock back to the transport (not that very high stability is required at the transport, just synchronization) so that large buffer memory is not necessary and under/overruns still never occur.
you can already do that with other devices on v1 and people have been trying to do this with alternate methods with varfying degrees of success for many years, the secret here is the decoupling and large buffer, why get rid of it or make it unnecessary when its already there?.

there is also a secondary Mclk output you can use for that if you like on the clock board, if you have the spdif board it can be used for the spdif output, but you can use it for whatever you want.