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

yep, I reckon thats your problem, this is with the digital filter enabled, it wouldnt seem to be able to deal with 1024xFS even with it on, with it bypassed all bets are off how its going to react, but it doesnt surprise me at all that its not liking the 45.1584/49.152MHz with 44.1/48kHz program material
 

Attachments

  • PCM1794A and fifo errata.jpg
    PCM1794A and fifo errata.jpg
    135.5 KB · Views: 808
Last edited:
and here in the first few lines....

System Clock: 128, 192, 256, 384, 512, or 768 fS With Autodetect

someone really should have picked up on that....

try again with the faster crysteks but playing 88.2 or 96khz material, even if you have to manually upsample it on your computer somehow. what player software are you using? what computer and OS?

in plain language, the max clock speed even with the digital filter section enabled, is 768 x FS, so 768 x 44100 = 33.8688MHz or a more usual multiple that fifo actually does, 512 x FS = 22.5792MHz which is why the generic clocks are working.
 
Last edited:
Sorry, If you cant make this working you are probably "up **** creak with no paddle".

View attachment 322874

Perfect picture for this configuration. A very clear demo.

As we now may suggests that you might have missed something in the manual ;) did you push the input selector button on the s/pdif board? It defaults to toslink- one push and you are on bnc.

Congrats to progress!

Did you try?

Hi all!

First of all I should thank everybody for the lot of suggestions! Great forum!

After a lot of experimenting and trying things I found out that my outputs
are Working....
After changing the clocks(45.1584and 49.152) for the generic ones (22.xx and 24.xx) I get output. I tried the singleboard before as well, but that did not work out, don't now for what reason.
My problem of thinking was that I expected the same frequency of the input
device. The fact is that it outputs the frequency of the Fifoclocks. In other words, in my case with the higher F clocks it outputs double frequency.
So I could not get locks on the expected F.
Other words, when I play 44.1 material, I expect the same 44.1 on its output.
But with the double speed clocking this is not the case.
But I am glad that the Fifo is working at least.
Maybe someone has an idea if or how this could be solved.
Thanks again,
Ed

Ed,

Please going with TNT's configuration to see if everything is OK.
Or, If you want, you can send it back to me to have a check. No worry, I can fix any problem.

Ian
 
Hi all!

First of all I should thank everybody for the lot of suggestions! Great forum!

After a lot of experimenting and trying things I found out that my outputs
are Working....
After changing the clocks(45.1584and 49.152) for the generic ones (22.xx and 24.xx) I get output. I tried the singleboard before as well, but that did not work out, don't now for what reason.
My problem of thinking was that I expected the same frequency of the input
device. The fact is that it outputs the frequency of the Fifoclocks. In other words, in my case with the higher F clocks it outputs double frequency.
So I could not get locks on the expected F.
Other words, when I play 44.1 material, I expect the same 44.1 on its output.
But with the double speed clocking this is not the case.
But I am glad that the Fifo is working at least.
Maybe someone has an idea if or how this could be solved.
Thanks again,
Ed

Ed,

I think qusp found the problem. Talent again:)!

The max MCLK of DIT is 512Fs, That means you can't generate spdif output for 44.1KHz with 45.xxx mclk which is 1204Fs.
http://www.ti.com/lit/ds/symlink/dix9211.pdf

I rember there was a note in the doc of dual xo clock double speed mode, please read it if it is possible.

Ian
 
Last edited:
ahh yes but I found it with the dac, lol, which is apparently working.... did you say it was working Ed? it shouldnt be =) unless there is hardware upsampling at the dac input 1024 x FS should be out of range unless disabling the digital filter (by telling the dac it has an external one, but then not giving it one) allows it to run higher FS in mutant mode.

but its the same problem with the spdif output, not all that many units work at 1024 x FS all the Ti dacs seem to top out at 768, none of the AKM dacs including the AK4399 work at 1024x on 44.1, wolfston WM8741 doesnt either, perhaps the PCM1704 does? I dont know that chip. ESS is rare in that aspect so having a 1024x mode in a TX is a bit unnecessary as almost nothing accepts it
 
Last edited:
Frequency of Fifo output

yep, I reckon thats your problem, this is with the digital filter enabled, it wouldnt seem to be able to deal with 1024xFS even with it on, with it bypassed all bets are off how its going to react, but it doesnt surprise me at all that its not liking the 45.1584/49.152MHz with 44.1/48kHz program material

Hi Qusp,

The only connections to the Dac are: DT, LR, BC, Gnd. that's all. See picture.
Agree that the DDac1794 is a somewhat special solution. But it's sound is supurb! I can compare it with my BIII.
Besides the output frequency is not influenced by the Dac in my setup. When disconnecting the Dac totally the rusults are the same. DOUBLE clock F,
DOUBLE output F!

I can play any resolution with the dac connected. Even 384! No glitches. The static I had appeared not to have it's origin in the whole setup. Although I, on first sight, thought it came from de dac-fifo-setup but it proved to come from the computer.
For recording I used audacity and Audition 3.0 on W7 sp1.

Ian,

Maybe the 570 board will solve this effect?
I do hope so.
Regards, Ed
 

Attachments

  • 1794.JPG
    1794.JPG
    134.1 KB · Views: 783
1794-Fifo, outputting F using double speed

or maybe it 'works' on PCM1794A at 1024 x but thats the source of the clicking noise, because its unhappy

Hi Qusp,


In the time, halfway the ninetees, when this Dac was put into the market, highres was not popular. 88 and 96 was HR, exeptionally 192. I read about a TI answer that the chip is able to run up to 1.6Mhz!
Regards,
Ed
 
Fifo output

Perfect picture for this configuration. A very clear demo.



Did you try?



Ed,

Please going with TNT's configuration to see if everything is OK.
Or, If you want, you can send it back to me to have a check. No worry, I can fix any problem.

Ian

Hi Ian,

I wrote I can play any speed, 192 and maybe higher in my setup, with the 45 and 49 clocks.
I only have output on the S/pdif outs from the S/pdif board in the same frequency of the inputF when I use the generic cristals. (22, 24).
Playback through the dac is in all cases without any problem. Glorious sound!
It is only OUTputting (BNC connector on S/pdif board) a different, read higher, frequency. Qusp is talking about the Dac I use, but the Dac has no influence on this behaviour. The Dac Connected or not, the result in outputF is the same.
Wether my input is opt, Bnc or USB via WaveIO, with or without the Dac connected! I hope I make myself clear enough? Please ask.
Initially I was affraid the board has a problem. But I am rather shure that is not the case. So using your kind offer to send it back is not needed.
Regards,Ed.
 
Last edited:
I had a long detailed reply explaining this written out and the fuse blew outside on the electrical circuit so lost everything I was working on that wasnt saved, not much but I never remember to save long posts (its summer and everything is on) very annoying. this is hard work alright....

no Ed, you missed the point, the DIX on the fifo spdif is also likely effected. in fact its clear you didnt understand any of my post, the problem is not sample rate, it is the number of times the sample rate aka FS, is divided into the master clock frequency. to play 44.1khz with a 45.xxMhz clock, it needs to multiply 1024x aka 1024x FS, but the DIX chip which handles the spdif out and in, may be limited to 512x FS (unless the doublespeed mode Ian mentioned works) as almost nothing, including the 1794a will allow 1024x FS. ESS dacs do, maybe some others I dont know about do, but wolfson, Ti, AKM dont on any of their dacs, so the spdif chip really has no need to either.

so its actually using too LOW a samplerate with too HIGH a master clock, high samplerate will be normal, I bet you can output 96khz or 192khz just fine with the 45.xx/49MHz clocks.

is THAT clear enough?

I know now that the DDDac does the strange thing where it clocks both BCK and SCK from the same source.... in order to fool the dac, thankfully you are using the fifo because usually bck is higher jitter and the design asks it to drive 2 inputs. the flipflop on the dddac doesnt have termination either. interesting combo....

I had wondered where the clock was on that board, I did not even consider that it would be expected to be supplied by the source bck by default without any other option and mostly from 20cm or more away at the bottom of a stack of headers... that means some sources will supply the dac with pretty huge jitter. not fifo of course.

but on the upside, that means the bck and sck are the same, so wont be effected, thus why it works. similar to using ESS with the oversampling filter switched off, same deal.

its an intriguing design still, but wow... not even an optional onboard clock.

so potentially the si570 will allow this to work if it can be programmed to optionally supply a lower clock with lower samplerates, like supply 512 x fs for 44.1 so the DIX works. Until then you may have to use 22.xx/24.xx clocks if using the spdif out at lower than 88.2/96khz
 
Last edited:
so potentially the si570 will allow this to work if it can be programmed to optionally supply a lower clock with lower samplerates, like supply 512 x fs for 44.1 so the DIX works. Until then you may have to use 22.xx/24.xx clocks if using the spdif out at lower than 88.2/96khz

Yeah, Ian has 2 different default groups of frequencies that will suit this application.


Ed, see Ian's post here:

By taking the advantage of Si570 variable frequency output capability, I designed 4 groups of MCLK and *Fs combination in the Si570 control FW. Group is selectable according to different personal preference, or makes it suitable for different DAC chips. They are:

//Group1:Si570 frequency and *Fs combination for low mclk range
{F112896, 256*FS}, //2 44.1 KHz
{F122880, 256*FS}, //3 48 KHz
{F225792, 256*FS}, //4 88.2 KHz
{F245760, 256*FS}, //5 96 KHz
{F451584, 256*FS}, //6 176.4KHz
{F491520, 256*FS}, //7 192 KHz
{F903168, 256*FS}, //8 352.8KHz
{F983040, 256*FS} //9 384 KHz

// Group2:Si570 frequency and *Fs combination for low mid mclk range
{F225792, 512*FS}, //2 44.1 KHz
{F245760, 512*FS}, //3 48 KHz
{F225792, 256*FS}, //4 88.2 KHz
{F245760, 256*FS}, //5 96 KHz
{F451584, 256*FS}, //6 176.4KHz
{F491520, 256*FS}, //7 192 KHz
{F903168, 256*FS}, //8 352.8KHz
{F983040, 256*FS} //9 384 KHz
 
I had wondered where the clock was on that board, I did not even consider that it would be expected to be supplied by the source bck by default without any other option and mostly from 20cm or more away at the bottom of a stack of headers... that means some sources will supply the dac with pretty huge jitter. not fifo of course.

but on the upside, that means the bck and sck are the same, so wont be effected, thus why it works. similar to using ESS with the oversampling filter switched off, same deal.

its an intriguing design still, but wow... not even an optional onboard clock.

so potentially the si570 will allow this to work if it can be programmed to optionally supply a lower clock with lower samplerates, like supply 512 x fs for 44.1 so the DIX works. Until then you may have to use 22.xx/24.xx clocks if using the spdif out at lower than 88.2/96khz[/QUOTE]




Thank you, Qusp

I understand now.
Your talking about the influence of the ddac in my setup was confusing because it does not play a role here. The thing not even has a clock indeed, but I thought using it with the Fifo and the WavIO (which I already had in use with my III) through the backdoor it should be a golden and simple solution. And I must say, I like it's sound!
Taking into account that I already owned TP BuffIII, and the Ian offered some really nice solutions for combining the two, I did bet on two horses with choosing the higher clocks. I hoped Doede 1794 was a more simple and cheaper setup. (That's why I hooked off from the NDT1 project and gave it to Buzzforb.)
But fine, enough talking the last two days, up to listening to music now en hoping that the 570 will do everything I I have on my little list.
Cheers, Ed
 
Last edited:
Hi Hocho!

Thank you for the quote. So 570 will be the answer.
I will have to add myself to the list,
Ed

Did you read the pdf file of DIX9211. If you want to get correct spdif output, you have to feed the DIT chip with 128,256 or 512Fs MCLK. You can not get spdif output if you run MCLK at 1024*Fs (which is with 45.xxx or 49.xxx XO). That is the limitation of the spdif driver, has nothing to do with clock board or fifo.

If you want the spdif output at same time for your current configuration with 45.xxx and 49.xxx, the solution is you have to feed DIX9211 with 1/2 MCLK (can be done by a flip-flop).

Ian
 
I guess because we didnt need an average quality ADC in our DIX.... yep only 101db DNR at 24bit/96khz worse than average, thats not much more than 16bit numbers.

I havent had a closer look, but I wouldnt be surprised if the ADC complicated the layout due to an extra analogue supply and ground.

yep just checked (couldnt help myself) complete analogue power supply section, analogue inputs and ground.. all of which would complicate the layout for no good reason. its already a mixed bag as far as layout, complicated little sucker, adding analogue on a completely digital board doesnt make any sense. I could maybe understand adding a proper ADC input to one of the 10 (yes 10!!) optical inputs or the backdoor to make a digital preamp input and clock board out of the fifo, but then you need to mess with nice low noise analogue inputs, OTT low noise regulators etc, its a whole new ballgame.
 
Last edited: