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

Well - when i start to think about it, the more problem i get. I still have my PS3 and my BD-Player, where i would be stuck with the same problem - but i could probably run them analog, since i won't need best possible sound there. But with the HTPC i would want to run it through the USB (and FIFO). The thing is, right now i don't own a HTPC, but i will probably buy one in a few months. And i do plan running Ubuntu/XBMC on it. If you get to a solution i would be really happy - since this will be both for music and movies.
 
RollE2k, the answer to your spdif question depends what the action of Ian's XO board is when there is no i2s input. I believe there will be no output on the mclk line without an input, which is going to be a problem for you.

I am working on a solution to the htpc problem for myself at the moment too. Do you have anything other than the htpc to connect? If the htpc is the only extra device to connect then I have a solution in mind but need to learn a bit more c++ and understand the code I need to write. Do you use xbmc by any chance?

There will be MCLK, SCK and WS output at any time from FIFO if the clock board is working, no matter if you have the I2S input. The only thing is that the date line will keep 0 if you have a wrong or no I2S input :). Because the FiFO MCLK and other clocks are independent from input I2S.

Ian
 
There will be MCLK, SCK and WS output at any time from FIFO if the clock board is working, no matter if you have the I2S input. The only thing is that the date line will keep 0 if you have a wrong or no I2S input :). Because the FiFO MCLK and other clocks are independent from input I2S.

Ian

So Ian, just to confirm this, the MCLK rate is just whatever was selected last and only changes when the i2s input changes its 'group' from the 44.1kHz multiples to the 48kHz multiples. So for a non-critical spdif input in RollE2k's case he could use that as mclk and the es9012/8 spdif input will still function?
 
we really need to post the answers to this question and a few others in advance

I had been thinking of how to best word the FIFO-delay wiki section while doing menial metal work on the weekend, this discussion is timely and I think I can spend some time writing that section this week. I was concerned about how I word it so that it doesn't over-emphasise the issue and erroneously bring people to the conclusion that the FIFO won't be suitable for their setup.


If there are other questions for an FAQ type section that need attention let me know and I'll try to write them in the same edit of the wiki page :)
 
So Ian, just to confirm this, the MCLK rate is just whatever was selected last and only changes when the i2s input changes its 'group' from the 44.1kHz multiples to the 48kHz multiples. So for a non-critical spdif input in RollE2k's case he could use that as mclk and the es9012/8 spdif input will still function?

MCLK frequency settings will keep at last setting if I2S is unlock or lost. The clock board on-board flash will memory that parameter.

Ian
 
I had been thinking of how to best word the FIFO-delay wiki section while doing menial metal work on the weekend, this discussion is timely and I think I can spend some time writing that section this week. I was concerned about how I word it so that it doesn't over-emphasise the issue and erroneously bring people to the conclusion that the FIFO won't be suitable for their setup.


If there are other questions for an FAQ type section that need attention let me know and I'll try to write them in the same edit of the wiki page :)

Thank you so much hochopeper, You did good job on the wiki page.

I was so busy last week. I'll try to do something once I get time.

Regards,

Ian
 
it doesnt change anything, it doesnt resample, only reclocks

but what do you mean about use direct? outputs must all come from the outputs, if not they are out of sync.

Mate, I think what he means is direct from fifo OR with the PCM adapter or another adapter to get the format correct for the TDA1541. The answer to which I don't know the question and I'll happily defer to those more knowledgable than myself on such matters :)
 
afaik you only need the daughterboard with the TDA if you want to play around with inverted data for balanced, dual mono, perhaps different DEM rates etc. otherwise you can just feed direct from the fifo

the phillips chip takes i2s, funnily enough =)
 
Last edited:
Member
Joined 2009
Paid Member
Mate, I think what he means is direct from fifo OR with the PCM adapter or another adapter to get the format correct for the TDA1541.

That´s what i mean. The TDA1541A limit for BCK (SCK - FIFO out) is 6.4 MHz.

If FIFO´s SCK = 64*FS than we have:

44.1 KHz --> 2.8224 MHz
48 KHz --> 3.720 MHz
88.2 KHz --> 5.6448 MHz
96 KHz --> 6.144 MHz
176.4 KHz --> 11.2896 MHz
196 KHz --> 12.544 MHz

If this above is correct, i couldn´t use the 176.4 and 196 KHz sampling rates. :(
 
Just for my understanding... If i use this combination:

Input with 192kHz --> FIFO --> Si570 clock --> TDA1541A NOS

what is the SCK output freq. (BCK input)? Could i use it direct, or must i use any logic converter?

Cheers,
Oliver

The SCK will be 64*Fs. You can't use input bck, because the input bck if you are running the fifo belongs to a different clock domain.

Ian
 
The o-rings I sourced were not very good. So, I do not supply it any more since GBII.

I'll leave this part to other members. Just hope some one can do more research on this issue (mechanical related jitter suppressing) to find out which is the best suitable one.

Some related posts were in the R&D thread.. But not the finial solution. Just search them if you want.

Ian
Moving this o-ring discussion to this thread.

Ian, if a test regime could be worked out I might be able to attach an accelerometer to my dual xo board and evaluate things that way, though I don't have any equipment to measure the jitter or even an ADC that will give meaningful results of the DAC output so ... things get challenging there. I do intend to eventually acquire a better ADC for measurement but that project is a bit outside the scope of what I can do with my hobby time in the near future.

In the next few weeks I will see if I can get meaningful results of vibration from an accelerometer and get back to you guys :)

I will do initial test without cutting the pcb mounts so we can compare results, then after I know I can measure things meaningfully I will have to acquire an array of alternatives for o-rings I suppose (I'm not going to worry about that until I know I can test it though as I was originally planning on leaving the pcb as one and not worrying about o-rings).

Chris

EDIT: I just found a datasheet for the accelerometer that I have sitting idle after an earlier abandoned project - http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00047926.pdf - I have not yet put any thought into it being actually useful for measuring the vibration we're chasing here.
 
Last edited:
Moving this o-ring discussion to this thread.

Ian, if a test regime could be worked out I might be able to attach an accelerometer to my dual xo board and evaluate things that way, though I don't have any equipment to measure the jitter or even an ADC that will give meaningful results of the DAC output so ... things get challenging there. I do intend to eventually acquire a better ADC for measurement but that project is a bit outside the scope of what I can do with my hobby time in the near future.

In the next few weeks I will see if I can get meaningful results of vibration from an accelerometer and get back to you guys :)

I will do initial test without cutting the pcb mounts so we can compare results, then after I know I can measure things meaningfully I will have to acquire an array of alternatives for o-rings I suppose (I'm not going to worry about that until I know I can test it though as I was originally planning on leaving the pcb as one and not worrying about o-rings).

Chris

EDIT: I just found a datasheet for the accelerometer that I have sitting idle after an earlier abandoned project - http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00047926.pdf - I have not yet put any thought into it being actually useful for measuring the vibration we're chasing here.

Thank Chris,

Remember a guy said he can see the mechanical vibration related jitter from jitter measurement. But my socope is not qualified to distinguish that small amount of jitter. Try better tools if it is possible, or measure it from FFT of audio signal after DAC. Hope you have good idea.

Regards,

Ian
 
Moving this o-ring discussion to this thread.

Ian, if a test regime could be worked out I might be able to attach an accelerometer to my dual xo board and evaluate things that way, though I don't have any equipment to measure the jitter or even an ADC that will give meaningful results of the DAC output so ... things get challenging there. I do intend to eventually acquire a better ADC for measurement but that project is a bit outside the scope of what I can do with my hobby time in the near future.

In the next few weeks I will see if I can get meaningful results of vibration from an accelerometer and get back to you guys :)

I will do initial test without cutting the pcb mounts so we can compare results, then after I know I can measure things meaningfully I will have to acquire an array of alternatives for o-rings I suppose (I'm not going to worry about that until I know I can test it though as I was originally planning on leaving the pcb as one and not worrying about o-rings).

Chris

EDIT: I just found a datasheet for the accelerometer that I have sitting idle after an earlier abandoned project - http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00047926.pdf - I have not yet put any thought into it being actually useful for measuring the vibration we're chasing here.

If you want to measure the vibration directly, how about trying a capacitive microphone? :)

Ian