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

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.

True, the lack of a separate clock signal leads to a more complicated recever design.
 
hifirapsi SuperDAC


hifiraspi-10.jpg


hifiraspi-11.jpg
 
Hi, RollE2k,


I certainly hope so!

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.

Hi Alex,

I agree with you at this point. Setting up a S/PDIF FIFO (with good clocks) is the only way to improve the sound quality of a finished or factory well manufactured DAC without modification. It can make a normal CD player or other digital music source to challenge a high-ed CD transport.

I myself have a KRELL KPS 20i/L CD transport (with independent DAC PCM1704) and a SONY broadcast grade PCM-7040 DAT (AD1865) as a DAC, S/PDIF FIFO (with a pair of CCHD957) makes them sounding obviously better than without a FIFO.

It's true that it can eliminate using a PLL to recover MCLK on the S/PDIF receiver, but I2S route is more suitable for a DIY DAC or to MOD a DAC.

Should be a lot of fun playing with different solutions :)

Ian
 
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

Hi Zsolt,

I didn't use RPi as a server, I just use it as a player. I use RuneAdudio and Volumio. I'm not quite sure if the current version capable for 384KHz, but I did 192KHz without any issue.

I would be very interested in trying other RPi software solution, can you please recommend something to us?

My best regards,
Ian
 
Raspberry Pi I2S cap works very well with my RPi B+ and Pi2

I put them together today. They look pretty match.

As I expected, the I2S cap was picking up I2S signals from Raspberry Pi and playing music flawlessly right away without issue. Look, we have a dedicated I2S cap for Raspberry Pi with u.fl outputs now (A+, b+ and P2).

One small issue was found that on my Raspberry Pi I2S cap PCB, the label of 5V and GND was terribly reversed. But fortunately it was just labels. No any problem on connections. So, just be careful not to follow the label.

I’ll hook up Raspberry Pi with my FIFO KIT via this RPi I2S cap tomorrow. I’ll post some update then.


RasperryPiI2Scap1 by Ian, on Flickr

RasperryPiI2Scap2 by Ian, on Flickr

RasperryPiI2Scap3 by Ian, on Flickr


Ian @iancanadaTT
 
Last edited:
Hi MeiT,

Very interesting system indeed. Some DACs are very well designed for RPi, it seem I need to develop a dedicated FIFO to stack over Raspberry Pi between DAC to bring them into high-end :D.

Ian
Nice idea. I think there would be a lot of interest for this.

I'm building a "all in one machine" with rpi2, fifo and dddac.(two decks)
Going to put on extra external i2s and coaxial input.
So.... i'm very much hoping i'm one of the lucky ones who can try a rpi adapter [emoji56] [emoji56]

Still need to decide how to power the dual xo....


Got a very good ps for the rpi and fifo. And a good ps for the dddac. (12v) Need a separate for the dual xo (using isolator) maybe put a 5v regulator between the ddac ps and the dual xo? Anybody got good ideas?
 
Last edited:
So.... i'm very much hoping i'm one of the lucky ones who can try a rpi adapter
^^

Got a very good ps for the rpi and fifo. And a good ps for the dddac. (12v) Need a separate for the dual xo (using isolator) maybe put a 5v regulator between the ddac ps and the dual xo? Anybody got good ideas?

I've two Salas Reflektor-D's built in anticipation of my FIFO - one for the FIFO board another for the Dual XO board. Very high quality boards, highly recommended.

Looks like I may need another for the RPi ...
 
aive: Shunt regs are not recommended for computers, because their current-draw are very peak-dependant. Which means you probably have to run at least ~1.2A to be able to take the peak loads, while the board normally only would need a few hundred milliamps. If i were you i would rather look at jean pauls psu ( http://www.diyaudio.com/forums/group-buys/264185-squeezebox-touch-psu.htm l) or maybe diyinhk (if they are up to the current), or maybe acko does have something that works.
But of course you are free to do as you'll like, this is just a recommendation. Otherwise i think you'll be really satisfied with the Reflektor-D's!
 
aive: Shunt regs are not recommended for computers, because their current-draw are very peak-dependant. Which means you probably have to run at least ~1.2A to be able to take the peak loads, while the board normally only would need a few hundred milliamps. If i were you i would rather look at jean pauls psu ( http://www.diyaudio.com/forums/group-buys/264185-squeezebox-touch-psu.htm l) or maybe diyinhk (if they are up to the current), or maybe acko does have something that works.
But of course you are free to do as you'll like, this is just a recommendation. Otherwise i think you'll be really satisfied with the Reflektor-D's!

Ahh I hadn't looked into the RPi's power requirements yet, but what you say makes sense. Thanks for the heads up :) Appreciate it! :cheers:

Edit:
https://www.raspberrypi.org/help/faqs/#powerReqs

Ouch, you're right, that's a hefty peak current draw requirement especially for the newer models.
 
Last edited:
Amazing! Did you do the welding? Just a thought, maybe you can use an extension cable to move the wireless module outside.
Yes, it is hand soldered :)

I use Runeaudio with Rpi2.
Runeaudio can be remotecontrolled via a browser on pc or smartphone.
But I dont like smartphone.
I designed my own mobile remotecontroll with rpi2 640*480 screen powered by li-ion battery.

The pcb on top of the Rpi2 is to switch I2S between raspis i2s and external SPDIF. The DAC on this pcb is only for testing. There is a small AVR for powercontroll the rpi, AC-relays an power-up/down sequenz.
The i2s from raspi is buffered with clockbuffers => Ian FIFO => Isolator => Clockboard => MyDAC.

I have designed all PCBsspecially for Ian FIFO :)

Dac Board: PCM 1794 => OPA1612 (IU) => OPA1611 (SUM) => Alpsmotor (Volume) => OPA1611 (linedriver)


5 seperate voltages:
- for clockboard (and isolatorboard)
- digital IO of 1794
- analog of 1794
- negativ voltage opamps
- positiv volage opamps

Voltages are preregulated on the PCB with toroid transformer.

Voltageregulator direct on the DAC Board:
1x TPS7A3301
3x TPS7A4701


hifiraspi-12.jpg
 
Yes, it is hand soldered :)

I use Runeaudio with Rpi2.
Runeaudio can be remotecontrolled via a browser on pc or smartphone.
But I dont like smartphone.
I designed my own mobile remotecontroll with rpi2 640*480 screen powered by li-ion battery.

The pcb on top of the Rpi2 is to switch I2S between raspis i2s and external SPDIF. The DAC on this pcb is only for testing. There is a small AVR for powercontroll the rpi, AC-relays an power-up/down sequenz.
The i2s from raspi is buffered with clockbuffers => Ian FIFO => Isolator => Clockboard => MyDAC.

I have designed all PCBsspecially for Ian FIFO :)

Dac Board: PCM 1794 => OPA1612 (IU) => OPA1611 (SUM) => Alpsmotor (Volume) => OPA1611 (linedriver)


5 seperate voltages:
- for clockboard (and isolatorboard)
- digital IO of 1794
- analog of 1794
- negativ voltage opamps
- positiv volage opamps

Voltages are preregulated on the PCB with toroid transformer.

Voltageregulator direct on the DAC Board:
1x TPS7A3301
3x TPS7A4701


hifiraspi-12.jpg

Very nice indeed, I like the remote control :)

Ian