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

Concerning option 1 that you suggest:
From what I understand of the SM5847's datasheet, it doesn't seem to accept I2S input format. Therefore the FIFO+clock+PCM board must be inserted in-between the CS8414 and the SM5847.
To do that I would still set the CS8414 to I2S output as you've corrected, set the SM5847 to LR simultaneous, left-justified by having INF1N and INF2N high, and then connect the PCM board's DR to the SM5847's DIR and the DL to the DIL (I've attached a crudely modified schematic of the changes). Would that work?
Will not work because SM5847 LR simultaneous input format needs left-justified data while I2S-PCM output is right-justified.

You're correct that SM5847 does not accept I2S, however, I remembered that FIFO since firmware v3.80 accepts left-justified as input/output format: check out FirmwareV3.80UpgradeIanI2sFIFO.pdf in IanFIFOKITGBIV.zip

To connect FIFO to D1V2 between CS8414 and SM5847 I propose the followings:
Input/output formats:
- set CS8414 to output either I2S or left-justified format -what is handy for you- then set FIFO input for this format
- set FIFO output for left-justified format
- set SM5847 input for left-justified format (INF1N = HIGH, DI/INF2 = LOW) - datasheet fig.8
Connections between CS8414 and FIFO
- connect SDATA to SD; FSYNC to WS; SCK to CLK
Connections between Si570 Clock-board out and SM5847
- connect SD to IW1N/DIL + IW2N/DIR; WS to LRCI; CLK to BCKI; MCLK to XTI
Clock settings
- set Si570 - pg.9: clock board to Group1 frequency group (256xFS)
- set SM5847 - table 6: CKSLN = LOW (256fs), CKDV1 = LOW, CKDV2 = LOW

Double check above info before your start cutting ;)
Zsolt
 
Last edited:
Thank you for pointing me in the right direction, and reminding me about the firmwareV3.80 pdf that I somehow missed.

I've rechecked all the settings, and managed to connect everything in between the CS8414 and SM5847. Upon streaming music to the apple tv connected to the DAC (via toslink), I sometimes get a lot of noise with the music playing. The noise is as if I've not tuned a radio station correctly. Other times, everything plays perfectly and I couldn't find a pattern for it. If I connect the toslink to my laptop, it plays the music without any noise every time. I'm missing something, but I can't figure out what it is.

Paul
 
Anyone not using battery management boards that wants to sell them?

Hi. I'm looking for at least two, preferrably four, battery management boards from Ian's group buys. I would prefer the latest version of the board, but any would do. Either pcb's or assembled boards would be ok. Thanks.
 
Hi. I'm looking for at least two, preferrably four, battery management boards from Ian's group buys. I would prefer the latest version of the board, but any would do. Either pcb's or assembled boards would be ok. Thanks.

Hi Palmito
I also need a B.M.S for my A123 and clock Board,I put a request in Swap meet,but no reply,maybe you will have better luck.I also looking for alternatives but I did not find anything.Do you know something that could replace the B.M.S of Ian.
 
Hi,
Can some one help me out here?

I am thinking of getting a Buffalo III for a DSD DAC project, my question is :-

Does this great Asynchronous I2S FIFO project of Ian supports DSD playback ?

Thanks in advance.



Unfortunately, no it doesn't. The buffer size is too small so the current FIFO board cannot be programmed to support suitable length buffer for DSD. Ian has considered developing a new revision that would support this but as yet as far as I know Ian hasn't had time to finish that design.


Cheers,
Chris
 
Thank you for pointing me in the right direction, and reminding me about the firmwareV3.80 pdf that I somehow missed.

I've rechecked all the settings, and managed to connect everything in between the CS8414 and SM5847. Upon streaming music to the apple tv connected to the DAC (via toslink), I sometimes get a lot of noise with the music playing. The noise is as if I've not tuned a radio station correctly. Other times, everything plays perfectly and I couldn't find a pattern for it. If I connect the toslink to my laptop, it plays the music without any noise every time. I'm missing something, but I can't figure out what it is.

Paul
When is noise can you check whether the LEDs on the FIFO board are blinking (Lock, Full, Empty), maybe the clock on the apple tv drifts and the FIFO cannot lock on it every time.

Also try to change the SYNCN pin value on SM5847 (Jitter-free/Sync mode) - it varies the timing tolerances of SM5847 - however if it works perfectly with your laptop I wouldn't think this is the issue.

Zsolt
 
problem with spdif board

Greetings,

I am having an issue with the spdif board. The power goes on but I cannot switch between ttl, coax and optical. Everything was working fine with the coax plugged from soundblaster output. and spdif output coax going to a subu dac. Suddenly , it just stopped working. The dac works fine from sb output directly to dac.



Any ideas where I can troubleshoot?
 
Greetings,

I am having an issue with the spdif board. The power goes on but I cannot switch between ttl, coax and optical. Everything was working fine with the coax plugged from soundblaster output. and spdif output coax going to a subu dac. Suddenly , it just stopped working. The dac works fine from sb output directly to dac.



Any ideas where I can troubleshoot?

I had the same experience, it was caused by the bad / damaged flat cable.
 
Greetings,

It turns out that the dual clock board is broken. I had an extra dual clock board and works fine now.
I tried with different clocks and none work . The power led on the buffer board lights up but not the others and hence the spdif board was not working.

Any ideas what can be the issue with the broken clock board?
 
Greetings,

It turns out that the dual clock board is broken. I had an extra dual clock board and works fine now.
I tried with different clocks and none work . The power led on the buffer board lights up but not the others and hence the spdif board was not working.

Any ideas what can be the issue with the broken clock board?

Hi necplusultra,

Unfortunately I run out all dual xo clock boards. But no worry, if you want, you can send it back to me to fix. You are in Canada, that would be very esay for you :).

Have a good weekend.

Ian
 
When is noise can you check whether the LEDs on the FIFO board are blinking (Lock, Full, Empty), maybe the clock on the apple tv drifts and the FIFO cannot lock on it every time.

Also try to change the SYNCN pin value on SM5847 (Jitter-free/Sync mode) - it varies the timing tolerances of SM5847 - however if it works perfectly with your laptop I wouldn't think this is the issue.

Zsolt

Hi Zsolt,

The FIFO lock LED seemed to be on by itself, and when music wasn't playing, I had the empty LED on. Working a little more on it, I think I had a bad connection somewhere since I also lost my right channel after some time.

All that made me rethink my implementation, and I've decided to go a different route. I ended up bypassing the SM5847 and doing the up sampling before the DAC like you suggested earlier.
I had an older Apple TV 1 lying around collecting dust, so I put XMBC on it with Xsqueeze + squeezelite. I installed the LogitechMediaServer on the PC dedicated to streaming the music, and had LMS do the up sampling via the SoX library on the PC before streaming the FLAC files to the ATV1 (as per Soundcheck's blog). Now the CS8414 is still set to output I2S signal to the FIFO and I used the I2S-PCM board to feed the 4x PCM63. Everything works perfectly now, no noise and no loss of the right channel. The connections are also much tidier without having to hack into the SM5847's pins/tracings. Next thing is to change the S/PDIF receiver to a 192KHz-capable one and to see if the ATV1 can output at 192KHz.

Thank you for all your help!
 
I had an older Apple TV 1 lying around collecting dust, so I put XMBC on it with Xsqueeze + squeezelite. I installed the LogitechMediaServer on the PC dedicated to streaming the music, and had LMS do the up sampling via the SoX library on the PC before streaming the FLAC files to the ATV1 (as per Soundcheck's blog). Now the CS8414 is still set to output I2S signal to the FIFO and I used the I2S-PCM board to feed the 4x PCM63. Everything works perfectly now, no noise and no loss of the right channel. The connections are also much tidier without having to hack into the SM5847's pins/tracings. Next thing is to change the S/PDIF receiver to a 192KHz-capable one and to see if the ATV1 can output at 192KHz.

Thank you for all your help!
:up: Glad you managed to put all your stuff to work.
If you are on the LMS+Squeezelite+SoX route instead of investing in a well implemented 192KHz S/PDIF receiver (and hope ATV1 works with it) you should consider an asynchronous USB-I2S receiver capable of 384KHz - their prices should be close.

Did you know Squeezelite can upsample with same SoX library and it's much more configurable then LMS in this regard? Upsampling on client means also less network traffic and you're not tied to a fixed upsampling frequency as with LMS; Squeezelite can determine highest _integer_ 2x, 4x, 8x upsampling based on output device <maxrate> setting. Hopefully ATV1 cpu can handle it.

PM me if you need info about upsampling with Squeezelite.

Zsolt