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

Thanks for the clue but still doesn't work. No lock on the DAC and now few statics in the loudspeakers.
Obviously I miss something stupid but as always stupid things are the most difficult to figure out.
Any new idea ? Cheers, Flifli

what logic level do you feed to the FiFoPi? It does not work well with 5Volt levels. May be this is the case?

see my thread on this topic
 
The fifopi seems to have some protection on the i2s lines and in order to get the data in you have to connect the input from under the board exactly where an RPI would be connected. Connecting the inputs on the top headers where it's easy and convenient doesn't seem to work on mine :)

Hi,
yes the connectors on the upper side are outputs, inputs are on the bottom side. I have female-male connectors so I can plug the cables on the bottom connectors. The male pins have the same length than the RPI GPIO. Maybe I made a mistake on the pinouts but I've checked a lot of times. As said above I need to check the logic levels but with the containment in France I don't have access to any scope.
I'll make a test today, I'll connect the FiFoPi to the RPI with the same cable and see if it works. It should work since it does when connected directly.
I'll report the result as soon as it is done
Thanks for your help, Flfli
 
what logic level do you feed to the FiFoPi? It does not work well with 5Volt levels. May be this is the case?

see my thread on this topic

Hi,
I connected the I2S outputs of the JLSounds card to an Audiphonics dac card and it did work. So no wrong connection. With my old classical (with hand) voltmeter (can't get a scope) I found about 3.5v for the logical level. So it should be fine too. I'll try different order for the power on.
Thanks for your help
 
Solved : How to get rid of RPI. I tried I2SoverUSB but it does not work

Hi,
I use a RPI4 with a FifoPi (with Accusilicon cristals) and an HDMI transmitter (from Ian too). All is plugged to a Matrix X sabre Pro MQA and it does work great using Volumio especially in async mode on the DAC. Ian's hardware really made a big difference.

I would like to go further (I have several DSD256 files) and get rid of the RPI. I tried the Asus tinker board S but I've never achieved anything. None of the 4 drivers works.
I'm trying now a JLSounds I2SoverUSB V3 card. It does work with a simple HDMI transmiter by plugging the 3 I2S signal (work in ESS mode as described in JLSounds manual) but it is not as good as using the FifoPi with the RPI so I would like to plug the FifoPi to the JLSounds card. I connected the 3 I2S signals to the FifoPI and ... nothing, no sound, no lock on the DAC. I checked and rechecked the 3 connections, see if I made a mistake in the pinouts but did not find anything. I red in this very forum that the 3 I2S signals should be enough to feed the FifoPi (in addition to power of course:)). Do I miss anything or should I check again if I made a mistake in the connections ?
Thanks for any help, Flifli
Hi,
When I said often the most stupid thing :rolleyes: A bad power cable supplying the non isolated part of the FiFoPi. Simple: this part was not powered. Changed the cable and guess what? It works and it works great :) I haven't listen extensively yet but first impression it looks that it is as good as the FiFoPi directly in the RPI but now I can use any computer and at last use more features from the FiFo.
Thanks for your help, Flifli
 
I like my RPi DAC HAT and FifoPi combinations.With low jitter XOs, good power supply and sync mode, I really enjoy the sound quality and couldn't help listening music with them everyday.

But for many years, I have huge CD collections. I miss then so much and want to listen to them on my RPi DAC system(No doubt true bit-perfect through S/PDIF). As well, I also have a lot of music sources that can be accessed from PC through a USB streamer, such as Foobar2000, Youtube, and many more.

So I decided to design a ReceiverPi to extent the ability of RPi DACs to access more music sources. It will be the first S/PDIF, external I2S/DSD interface board for RPi based audio applications.

Besides the music from RPi GPIO itself, ReceiverPi will have three additional music inputs:

1. Coaxial S/PDIF through RCA ( isolated, up to 192KHz)

2. Optical S/PDIF ( up to 192KHz ,of course isolated)

3. I2S/DSD input for external USB streamer and other digital music sources, up to 768KHz



ReceiverPi by Ian, on Flickr

I'd also like the ReceiverPi to have follow features:


. Low jitter and low noise design for better sound quality.

. Seamlessly integrated with FifoPi and ESS DAC HAT(sync mode) by installing between RPi and FifoPi or between RPi and DAC.

. Can automatically switch to S/PDIF if presents

. Can automatically switch to USB streamer when powered

. Can run RPi DACs even without a RPi (RPi free mode)

. Run ESS DAC HATs directly at sync/async mode even without FifoPi (light weight mode)

. Possible to have a control panel

. Reserved GPIO port for possible or user designed Linux/Web based software control

. optional independent DC power input

. Can be easily configured as S/PDIF FIFO by integrating with FifoPi and TransportPi

. DIY friendly and plug and play


I'm having the a finished prototype PCB now. I'm working on it. More update will be posted soon.

Ian

Hello Ian,

What do you use for usb streaming? I can see an Amanero in the guide but what is the little board on the left on the photo?

Bert.
 
To confirm, the differences between the various options are that (x) the FifoPi stack contemplates direct integration with a Rasberry Pi (but receiver pi and transport pi can also be used without) (y) McFifo offers multichannel i2s input, maybe for surround sound operation, but no Rasberry Pi and (z) FIFO II stack offers two selectable i2s inputs, also without Rpi.

I would plan to run i2s from a USB to i2s device into receiver pi, plus an optical in. It looks like receiver pi can auto-select the "live" signal. It also looks like this can be operated with or without a Rpi. Should an isolator pi board be used? I don't see it pictured in the DAC stack Ian included in the guide.
 
I have an Fifo v1 with a Si570 clock board. Do I see it correctly that there is no possibility to get a "frequency, ×Fs" combination below 256Fs (not even manually or using an external controller)?

The problem is to drive an AD1955 at Fs=192kHz and it only accepts MCLK = 64×Fs, 128×Fs or 192×Fs for Fs=192kHz.
 
Hi guys, I have a quick question as I'm in the middle of designing a PCB for my DAC and was wondering if the Fifopi can drive mutlitple DAC chips (4 x PCM1794a in parallel, yes it's a DDDAC ;) ) without buffer. I'll probably build a section with a buffer/fan anyway which i can use in case it won't work without without them, but perhaps someone here can point me to some numbers which would be the limiting factor, e.g. maximum output current on the signal lines from the FIFOPI or something like that.

Greetings Oli
 
I like my RPi DAC HAT and FifoPi combinations.With low jitter XOs, good power supply and sync mode, I really enjoy the sound quality and couldn't help listening music with them everyday.

But for many years, I have huge CD collections. I miss then so much and want to listen to them on my RPi DAC system(No doubt true bit-perfect through S/PDIF). As well, I also have a lot of music sources that can be accessed from PC through a USB streamer, such as Foobar2000, Youtube, and many more.

So I decided to design a ReceiverPi to extent the ability of RPi DACs to access more music sources. It will be the first S/PDIF, external I2S/DSD interface board for RPi based audio applications.

Besides the music from RPi GPIO itself, ReceiverPi will have three additional music inputs:

1. Coaxial S/PDIF through RCA ( isolated, up to 192KHz)

2. Optical S/PDIF ( up to 192KHz ,of course isolated)

3. I2S/DSD input for external USB streamer and other digital music sources, up to 768KHz



ReceiverPi by Ian, on Flickr

I'd also like the ReceiverPi to have follow features:


. Low jitter and low noise design for better sound quality.

. Seamlessly integrated with FifoPi and ESS DAC HAT(sync mode) by installing between RPi and FifoPi or between RPi and DAC.

. Can automatically switch to S/PDIF if presents

. Can automatically switch to USB streamer when powered

. Can run RPi DACs even without a RPi (RPi free mode)

. Run ESS DAC HATs directly at sync/async mode even without FifoPi (light weight mode)

. Possible to have a control panel

. Reserved GPIO port for possible or user designed Linux/Web based software control

. optional independent DC power input

. Can be easily configured as S/PDIF FIFO by integrating with FifoPi and TransportPi

. DIY friendly and plug and play


I'm having the a finished prototype PCB now. I'm working on it. More update will be posted soon.

Ian

Hi Ian,

I would like to connect coax and toslink to the receiverpi and switch between the two.
Is it possible you could create such a receiverpi?

Using now the Fifopi Q2 to feed a tda1541a s2 via i2s connection.

Regards,
Ad.
 
Hi guys, I have a quick question as I'm in the middle of designing a PCB for my DAC and was wondering if the Fifopi can drive mutlitple DAC chips (4 x PCM1794a in parallel, yes it's a DDDAC ;) ) without buffer. I'll probably build a section with a buffer/fan anyway which i can use in case it won't work without without them, but perhaps someone here can point me to some numbers which would be the limiting factor, e.g. maximum output current on the signal lines from the FIFOPI or something like that.

Greetings Oli

To keep the best possible low jitter performance, I would suggest using McFifo + McDualXO solution for more blocks by duplicating channels.

Regards,
Ian
 
what logic level do you feed to the FiFoPi? It does not work well with 5Volt levels. May be this is the case?

see my thread on this topic

FifoPi is designed working with a RPi, so mainly 3.3V logic. 5V logic could be OK but that's not a guarantee.

If you really need the 5V logic, I would suggest you using FifoII or McFifo solution. Both of them are 5V logic tolerance.

Ian