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

Hi canvas,

S/PDIF with coaxial cable to S/PDIF board would be fine if you are working no higher than 192KHz, otherwise I2S is better.

Regards,
Ian


Thanks, Ian. That saves me some times. BTW, what would be the factor from source to affect the jitter of signal if we already implement a FIFO? I mean there should be no difference between S/PDIF or I2S if they all have to pass into FIFO. In other words, I can't think of any reason that 1st time domain would affect the 2nd time domain if their clock are independent.
 
Thanks, Ian. That saves me some times. BTW, what would be the factor from source to affect the jitter of signal if we already implement a FIFO? I mean there should be no difference between S/PDIF or I2S if they all have to pass into FIFO. In other words, I can't think of any reason that 1st time domain would affect the 2nd time domain if their clock are independent.

Yes, you are right. With FIFO, the only thing you need to do is to keep data correct. Nothing else can affect the sound quality.

Ian
 
I think those who are interested in this thread may enthusiastically seek new information on better oscillators.

A Japanese oscillator manufacturer, Nihon Dempa Kogyo Co., Ltd. announced a new OCXO product, DuCULoN (Dual Crystal Ultra Low Noise), developed for digital audio application last week.
http://www.ndk.com/en/news/2015/1190895_e.pdf

Though its size is very large, 45 x 45 mm, the OCXO has an amazing low phase noise performance.
(Please look at a P/N graph shown in my attachment image.)

Bunpei had a chance to borrow their prototype units and to applied them to Chiaki's ES9018 Dual Mono DAC with SDTrans384.
Bunpei realized how strongly a sound quality of digital audio is controlled by clock performance, especially by phase noise feature. The best music in the system was obtained only and simply by replacing oscillators.

However, a list price for DIY users was not announced yet.
They say the product is under a law enforcement to inhibit a possible military use in some notorious countries.

Any change to order sample? Maybe if you can arrange?
 
Raspberry Pi I2S adapter PCB arrived ( A+/B+/Pi2)

Got those Raspberry I2S adapter PCBs today. Look pretty nice.

To assemble this Pi I2S adapter, we need:

1. J1, 40P SMT female header 2.54mm
NPPC202KFMS-RC
S5729-ND

2. J2,J3 and J4 u.fl sockets
128-0711-201
J983CT-ND

3. J5 2P SMT PH2.0 connector
B2B-PH-SM4-TB(LF)(SN)
455-1734-1-ND
J5 is optional, it’s just for pick up 5V power from Pi,

Please see schematic at bottom of this post for details.

I’ll run it with my RaspberryPi tomorrow. Once tested, I’ll share them for free with those who need it.

Ian







 

Attachments

  • PiI2SAdapterSchematic.pdf
    10.9 KB · Views: 118
Last edited:
They look really nice!

I've tried RPi2 as client streamer through USB, then Amanero and FIFO stack.
Used the Squeeze On Arch version (so Squeezebox server and Squeezelite as client).

RPi2 used as client only worked flawlessly up to 384Khz. However, when used as server, to read files from USB HDD, once in a while it had some glitches at 384Khz. I played with buffer sizes but no success. I was thinking to use I2S output but had no time for it.

Ian, what is your RPi2 software stack? Does it work through I2S with 384KHz?

Thx, Zsolt
 
my FIFO runs!

Hi, All,

Finally after receiving the kit and building power supplies, I have my fifo up and running! So far testing/listening with generic clocks; so far I can not hear any difference between spdif out from waveio and spdif out from FIFO. But need to listen more and eventually get proper clocks.

So all in all, I very excited, this is such an interesting platform for experimentation! Thanks, Ian!

There is one thing though that maybe someone can help with. Once in a while sound is getting distorted. After checking cables, etc. I found that it's a BNC to RCA connector that's causing the issue. If I tap very lightly on the RCA cable or BNC adapter, sound get's immediately distorted. Anyone has experienced this?

Thanks,
Alex.
 

Attachments

  • img_8285 (Medium).JPG
    img_8285 (Medium).JPG
    182.5 KB · Views: 469
Hi, All,

Finally after receiving the kit and building power supplies, I have my fifo up and running! So far testing/listening with generic clocks; so far I can not hear any difference between spdif out from waveio and spdif out from FIFO. But need to listen more and eventually get proper clocks.

So all in all, I very excited, this is such an interesting platform for experimentation! Thanks, Ian!

There is one thing though that maybe someone can help with. Once in a while sound is getting distorted. After checking cables, etc. I found that it's a BNC to RCA connector that's causing the issue. If I tap very lightly on the RCA cable or BNC adapter, sound get's immediately distorted. Anyone has experienced this?

Thanks,
Alex.

Hi Alex,

Thank you so much for sharing your experience with us. You did a good job! I like your configuration, very clean.

I would suggest you going with 45/49 MHZ CCHD957 or CCHD950 for now. That are not expensive, but far more better than those generic clocks. Both 957 and 950 are excellent on low jitter performance, but they are slightly different on style. For me, CCHD950 sounds a bit more classical.

Besides connecting to S/PDIF FIFO, DACs normally sound better when they hooked up directly to the Clock Board. Because additive jitter might be introduced when I2S signal is converting into S/PDIF again.

Regarding to the RCA cable issue, I'm pretty sure it was connection problem. But I'v never had this issue. Can you please try BNC cable rather than the RCA cable to see if it is fixed.

Have a good weekend.
Ian
 
Hi, All,

Finally after receiving the kit and building power supplies, I have my fifo up and running! So far testing/listening with generic clocks; so far I can not hear any difference between spdif out from waveio and spdif out from FIFO. But need to listen more and eventually get proper clocks.


The best thing of Ian's FIFO kit is I2S (or PCM) reclocking fed directly into DAC chip. You should not use S/PDIF output as it makes no sense. IMHO, the pulse transformer will ruin everything, and your signal will go through DAC's receiver, ruined by its PLL again.
 
Last edited:
Hi, Ian,

Hi Alex,

Thank you so much for sharing your experience with us. You did a good job! I like your configuration, very clean.

I would suggest you going with 45/49 MHZ CCHD957 or CCHD950 for now. That are not expensive, but far more better than those generic clocks. Both 957 and 950 are excellent on low jitter performance, but they are slightly different on style. For me, CCHD950 sounds a bit more classical.

Thanks for the nice words. I am indeed very happy that I succeeded in putting it all together. It's been a long time since I did something with electronics and back in those days I was too ambitious and joung so nothing worked :)

The dilemma with clocks is that for now I'd like to keep SPDIF working. Correct me if I'm wrong, but I cannot use 45/49 clocks for 44/48 material, (1024*FS) MLCK is not accepted by SPDIF board. On the other hand, I'd like to be able to have 354KHz sampling capability for FIFO+I2S-PCM+some multibit DAC. Purchasing both sets of clocks is too much. So I guess I'll first develop a DAC (maybe start with simple TDA1543 and then move on to PCM63 and/or AD1862/5). Then depending on the outcome will select clocks. I purchased almost all your boards, so there is enough to play with :)

Besides connecting to S/PDIF FIFO, DACs normally sound better when they hooked up directly to the Clock Board. Because additive jitter might be introduced when I2S signal is converting into S/PDIF again.

Yes, I am fully aware of this. Still I like the way my rega dac sounds. So I need to keep it functioning until I develop a DAC that in combination with FIFO will beat it.

Regarding to the RCA cable issue, I'm pretty sure it was connection problem. But I'v never had this issue. Can you please try BNC cable rather than the RCA cable to see if it is fixed.

Indeed this is unexpected issue. Yesterday I've reinserted adapter once again, and I think it fits well and tight. Then, I changed my more expensive RCA cable for some super no-name el-cheapo one. And guess what, it improved the connection. So I think it's the issue between adapter and RCA plug. The latter probably differs in diameter of outer and inner connectors... I will probably purchase another cable later on, for now it seems OK, at least no distortions while music is playing, only if I touch the cable.

Best regards,
Alex.
 
Hi, canvas,

The best thing of Ian's FIFO kit is I2S (or PCM) reclocking fed directly into DAC chip. You should not use S/PDIF output as it makes no sense. IMHO, the pulse transformer will ruin everything, and your signal will go through DAC's receiver, ruined by its PLL again.

Yes, I agree and understand this. Though I would not be that 'resolute'. I suppose there are different SPDIF implementations that maybe more or less sensitive to incoming jitter. My dac has WM8805 on its input and as far as I can tell, it does a pretty good job. And then what people have after the DAC is also important; not to say that in the end, we are also limited in our hearing capabilities.
I'd like to experiment with different configurations and along the way see if I can hear improvements or not. I do not pursue a goal of having expensive gear but not able to hear the difference :) But there is only one way to figure it out.

Next step indeed as you say, direct I2S DAC. With FIFO and I2S-to-PCM there is enough freedom to experiment until wife cuts the budget :)

Best regards,

Alex.
 
My dac has WM8805 on its input and as far as I can tell, it does a pretty good job.

While you are right that WM8805 is one of the best SPDIF recievers jitter-wise, it is still SPDIF, which in itself is flawed.
I can promise you that you will hear big difference with change to I2S.
Anyway, good luck with experimenting, you can put alot of time into this! :)
 
Hi, RollE2k,

I can promise you that you will hear big difference with change to I2S.
I certainly hope so!
Anyway, good luck with experimenting, you can put alot of time into this! :)
that's part of the fun, isn't it? :) But seriously, my intention is not to experiment just for the sake of it. I've been reading this thread for 4 years studying topic before I decided to join and order the FIFO kit. I thought it would make sense for me to do things in a step wise manner rather than jumping immediately into I2S DACs, I/Vs, supplies, etc. and ending up with things that do not work. It would not be a success story since I'm not an electronics engineer.

Best regards,

Alex.
 
Just out of curiosity, in what way is SPDIF flawed that I2S isn't?

Because SPDIF does not have any real masterclock provided, it is embedded in the datastreem, and it needs a pll to regererate it at receiving end. Which means you end upp with jitter no matter how you do it. It is OK in best case, and can be really bad in worst case - WM8805 is one of the best ones jitter wise though.