McDaisy
Posts: 7
Joined: Fri Jul 13, 2012 8:49 am

FIFO to solve I2S jitter. Any solution?

Tue Aug 05, 2014 2:18 pm

Hi!

Ive searched alot for a solution to solve the I2S timing issue. I know for fact after measurement that I2S output on the RPi lacks timing and that is a huge problem to even think of HIFI quality with a I2S DAC.

Does anyone know of a solution with I2S (input) - FIFO (memory) - I2S (output) to "reclock" or i.e. "resync" the I2S signal to elliminate jitter? The solution itself should affect the signal in anyway, only the timing.

After alot of experiments Ive found out that a few really good sounding DAC chips with some USB cards sounds terrible with RPi because of the jitter. That lead me to the conclusion that some DAC chips are more sensetive to jitter and some less sensetive and unfortunately some really good sounding chips is very sensetive to it.

I know of Ian FIFO solution on Diyaudio but its quite difficult and messy to order via group buy on Diyaudio...


What could be a solution is using the correct microprocessor for the job and programming it for the task. If I had a code and schematic I can solve it but I dont have the skills to do it from start.

I believe the I2S will never be good if used in a processor that handles several processes. In my opinion the I2S should always be generated in a processor that is dedicated for the task and power up with state of the art shuntregulators and having a isolator between the origin and the resync.


Hope some more of you guys are interested to solve this issue once and for all.


Cheers!

User avatar
0xFF
Posts: 202
Joined: Tue Nov 20, 2012 7:52 pm
Location: Poland

Re: FIFO to solve I2S jitter. Any solution?

Tue Aug 05, 2014 4:50 pm

Could you put some fact and figures about your measurements and experiments ?
AFAIK RPi's I2S output is good enough, but connecting it to a good master clock will make it perfect (I hope).

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: FIFO to solve I2S jitter. Any solution?

Tue Aug 05, 2014 6:01 pm

I have no experience with I2S myself, but there's some interesting info and links on http://volumio.org/raspberry-pi-i2s-dac-sounds-so-good/

User avatar
bns23
Posts: 14
Joined: Thu Aug 07, 2014 7:45 am
Location: Germany

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 12:14 pm

Hi,

are you talking about I2S over USB here? Because all RPi version before B+ haven't routed the PCM_FS signal to any header (if this site is right: http://elinux.org/RPi_BCM2835_GPIOs).
So you are not able to interface via I2S to any DAC directly on all RPis Rev. A and B, or do I miss something?

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 12:20 pm

bns23 wrote:or do I miss something?
You're missing http://elinux.org/Rpi_Low-level_peripherals#P5_header ;)

User avatar
bns23
Posts: 14
Joined: Thu Aug 07, 2014 7:45 am
Location: Germany

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 12:43 pm

Ah great, didn't see this. Thanks for the info.

JRatron
Posts: 6
Joined: Thu Apr 24, 2014 12:49 pm

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 3:23 pm

It appears that this isolator is also a reclocker, although they don't make much of the fact that it is.
http://g2labs.org/2014/06/04/isolate-your-raspberry-pi/

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 3:30 pm

JRatron wrote:It appears that this isolator is also a reclocker, although they don't make much of the fact that it is.
http://g2labs.org/2014/06/04/isolate-your-raspberry-pi/
The price is "interesting" ;)

JRatron
Posts: 6
Joined: Thu Apr 24, 2014 12:49 pm

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 3:33 pm

AndrewS wrote:
JRatron wrote:It appears that this isolator is also a reclocker, although they don't make much of the fact that it is.
http://g2labs.org/2014/06/04/isolate-your-raspberry-pi/
The price is "interesting" ;)
If it was just an isolator, it would be far too expensive, but if it's a proper fifo reclocker, it's about $10 cheaper than you could build one yourself using either Ian's or the Acko FIFO reclocker boards that are on offer on the diyaudio forums.

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 3:38 pm

JRatron wrote:
AndrewS wrote:
JRatron wrote:It appears that this isolator is also a reclocker, although they don't make much of the fact that it is.
http://g2labs.org/2014/06/04/isolate-your-raspberry-pi/
The price is "interesting" ;)
If it was just an isolator, it would be far too expensive, but if it's a proper fifo reclocker, it's about $10 cheaper than you could build one yourself using either Ian's or the Acko FIFO reclocker boards that are on offer on the diyaudio forums.
Fair enough. Can you tell I'm not an audio buff? ;) :oops:

User avatar
bns23
Posts: 14
Joined: Thu Aug 07, 2014 7:45 am
Location: Germany

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 3:52 pm

if you are willing to pay $125 for insulation and reclocking on a 35$ RPi, I recommend you also buy my super-precise "Golden Bamboo Caps", hand-crafted by 80 years old Burmese virigins, that will drive the RPi power supply to another level.I will start to sell them soon...

Serious: What kind of super special and expensive device are you expecting to be on this PCB that makes it worth this price?

JRatron
Posts: 6
Joined: Thu Apr 24, 2014 12:49 pm

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 4:04 pm

bns23 wrote:if you are willing to pay $125 for insulation and reclocking on a 35$ RPi, I recommend you also buy my super-precise "Golden Bamboo Caps", hand-crafted by 80 years old Burmese virigins, that will drive the RPi power supply to another level.I will start to sell them soon...

Serious: What kind of super special and expensive device are you expecting to be on this PCB that makes it worth this price?
I can see how it would look that way, and for sure, in the world of HIFI, there's an amazing amount of money spent on stuff which has no real benefit.....
but there's plenty of people (myself included) using RPi as a way to get direct I2S streaming into very high end DIY DACs and it works very well indeed except for the part where the RPi's clock is pretty crappy.
In theory, a FIFO reclocker is the solution to fixing the only real flaw with this setup.
Here's my DAC being fed direct I2S out of the G5 header by a RPi going via an isolator, but without reclocking.
Image
I'm using PiCoreplayer on the RPi, which makes it behave as a Logitech Squeezebox.
It all sounds simply brilliant to my ears,
To get a commercial product which did the same as this, with the same features, functions and sound quality would cost thousands. The fact that I can put this together for hundreds is great and in the true spirit that the RPi was created I feel.
Attachments
IMG_20140715_121700-(Small).jpg
IMG_20140715_121700-(Small).jpg (60.59 KiB) Viewed 9918 times

User avatar
bns23
Posts: 14
Joined: Thu Aug 07, 2014 7:45 am
Location: Germany

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 5:40 pm

Hi,

it's very fine to use the RPi for this - I'm thinking of doing something similar.
My sarcastic statement comes from a quick calculation of the BOM of this device - I expect that even if you buy it in low quantities it will not cost more than 20-25 EUR (including PCB).

Raspberry Pi is a community driven "open source" project - so I find it a bit strange if someone provides an expensive closed source extension for it and it makes me sometimes forget my good breeding ;)

Where do you take the information from that there is some reclocking functionality on the board?

User avatar
0xFF
Posts: 202
Joined: Tue Nov 20, 2012 7:52 pm
Location: Poland

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 7:57 pm

Reclocking is good for SPDIF interface, but for I2S you have separate clock line.
I don't get why and how to reclock I2S interface?

If someone is really able to hear 800 ps jitter from "crappy" RPi clock (http://www.crazy-audio.com/2013/09/rasp ... t-working/), then just configure RPI's i2s driver to accept external clock and attach a super-duper master clock.

JRatron
Posts: 6
Joined: Thu Apr 24, 2014 12:49 pm

Re: FIFO to solve I2S jitter. Any solution?

Thu Aug 07, 2014 9:18 pm

bns23 wrote:Hi,

it's very fine to use the RPi for this - I'm thinking of doing something similar.
My sarcastic statement comes from a quick calculation of the BOM of this device - I expect that even if you buy it in low quantities it will not cost more than 20-25 EUR (including PCB).

Raspberry Pi is a community driven "open source" project - so I find it a bit strange if someone provides an expensive closed source extension for it and it makes me sometimes forget my good breeding ;)

Where do you take the information from that there is some reclocking functionality on the board?
From the product description :
Isolation module can be used between Raspberry PI model B and any I²S based DAC module for Raspberry PI. Since alot of noise is on ground plane the Isolation concept will significantly improve sound quality to whatever DAC module is used together with Raspberry PI.
On top of that the Isolation module has an embedded isolated fixed master clock to give the user the ability to use it with any DAC that requires a master clock which the Raspberry PI is missing.
I don't know what your BOM quote is based on, but on my Acko reclocker, the clock chip alone is 20 euro. I'm happy to respect that somebody's put time and effort into this product and even if the BOM represents 50% of the retail cost, I'm fine with that.

I have yet to hear for myself if the benefits are worth it, but people I know and respect the opinion of have reported good results from reclocking the right i2s signal.

User avatar
bns23
Posts: 14
Joined: Thu Aug 07, 2014 7:45 am
Location: Germany

Re: FIFO to solve I2S jitter. Any solution?

Fri Aug 08, 2014 8:02 am

JRatron wrote: From the product description :
...
On top of that the Isolation module has an embedded isolated fixed master clock to give the user the ability to use it with any DAC that requires a master clock which the Raspberry PI is missing.
Well, for me, this doesn't sound like the clocks/signals are all re-generated on this module, but it only generates an additional "Master Clock" (probably by frequency doubling of another clock signal) for some DACs that need this.
JRatron wrote: I don't know what your BOM quote is based on, but on my Acko reclocker, the clock chip alone is 20 euro. I'm happy to respect that somebody's put time and effort into this product and even if the BOM represents 50% of the retail cost, I'm fine with that.
Well, I'm fine with this, too. But for me, this device doesn't look like a highly sophisticated reclocker with a very high priced IC. If it would, they would clearly state it on their homepage, I assume. Without substantial information / measurement results etc., it sounds like the usual high end voodoo.
I'm interested: What has your Acko reclocker on board? Is there some schematics etc. available? What kind of clock chip is this?
JRatron wrote: I have yet to hear for myself if the benefits are worth it, but people I know and respect the opinion of have reported good results from reclocking the right i2s signal.
Yes, do this, if you want. But unfortunately you first have to pay the 129 bucks to hear it, and I doubt they will give you the money back if you come to the conclusion that it's not worth it.

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: FIFO to solve I2S jitter. Any solution?

Fri Aug 08, 2014 12:18 pm

bns23 wrote:Yes, do this, if you want. But unfortunately you first have to pay the 129 bucks to hear it, and I doubt they will give you the money back if you come to the conclusion that it's not worth it.
Either that, or it's the placebo effect ;)

(that was a joke by the way, I'm not enough of an audiophile to make valid comments!)

User avatar
0xFF
Posts: 202
Joined: Tue Nov 20, 2012 7:52 pm
Location: Poland

Re: FIFO to solve I2S jitter. Any solution?

Fri Aug 08, 2014 1:39 pm

I don't want to start another war, but to take some distance I suggest to take a look at this blog http://nwavguy.blogspot.com/ and http://people.xiph.org/~xiphmont/demo/neil-young.html ;-)

Regards

hifiberry
Posts: 12
Joined: Tue Aug 12, 2014 6:49 am

Re: FIFO to solve I2S jitter. Any solution?

Thu Oct 01, 2015 8:42 am

Just saw this post now. Our new HiFiBerry DAC+ Pro has integrated dual-domain clocks for 44.1 and 48kHz signals. It uses ultra-low-jitter clock generators and acts as master clock generator for all clocks. If you want to connect an external DAC via I2S, this is also possible. Check it out here:
https://www.hifiberry.com/dacplus/
https://www.hifiberry.com/2015/09/new-p ... d-dac-pro/

The new driver that supports these external clocks will be available soon. Unfortunately we needed a major rewrite for the 4.x kernel, therefore it took some time.

Return to “Bare metal, Assembly language”