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

1. You can extend the jumper with wires as a setting switch, that's easy.



Please read the user's manual for this information.



Regards,

Ian

Hi Ian,

The ReceiverPi works like a charm!

Ordered last week at audiophonics.fr, received today, installed it and working right out the box.

It's now, raspi 3b+ - ReceiverPi - FifoPi

Next step to give the ReceiverPi it's own power.

Thanks for all of this !

Regards,
Ad.
 
Hi everyone,

I was one of the guys who struggled (am struggling) with D90. With switching pin 15 to High the DSD64 is all right, but no other DSD stream nor PCM higher than 192 kHz can be played through FifoPI and TransportPI combo. DSD2x or 4x has no sound over I2S (no blue light is on FifoPi out side, no red DoP is on FifoPi in side), PCM is downconverted to 192 KHz, but audible. Something is telling me that I am facing a driver issue between Rpi 3b+ and FifoPi. Used softvware: Volumio and Moode. Does anybody have kind of problems like that or am I the only one who is lacking some knowledge? Thx
 
Arnu,
HDMI is not specified to support the highest sample rates. The maximum is specified at 192kHz per channel in HDMI 2.0. With multiple channels, the aggregate sample rate of all channels combined at once can be much higher, of course.

Why do you want to use D90 with FIFO_Pi anyway, since D90 already has very good clocks?
 
Hi Mark,

as per Ian's info, FifoPi and Transport Pi are up to PCM 768kHz and DSD512 through HDMI. I would like to use them at these high frequencies if it is possible.

Arnu,
HDMI is not specified to support the highest sample rates. The maximum is specified at 192kHz per channel in HDMI 2.0. With multiple channels, the aggregate sample rate of all channels combined at once can be much higher, of course.

Why do you want to use D90 with FIFO_Pi anyway, since D90 already has very good clocks?
 
Hi everyone,

I was one of the guys who struggled (am struggling) with D90. With switching pin 15 to High the DSD64 is all right, but no other DSD stream nor PCM higher than 192 kHz can be played through FifoPI and TransportPI combo. DSD2x or 4x has no sound over I2S (no blue light is on FifoPi out side, no red DoP is on FifoPi in side), PCM is downconverted to 192 KHz, but audible. Something is telling me that I am facing a driver issue between Rpi 3b+ and FifoPi. Used softvware: Volumio and Moode. Does anybody have kind of problems like that or am I the only one who is lacking some knowledge? Thx

@Arnu

If I'm not wrong, you are using DoP to play DSD on Volumio/Moode? For general I2S devices, the Fs will be limited to 176.4/192KHz by software, which will be corresponding only to DSD64. I think that's a bug in the linux driver. Very unreasonable.

I have a solution to play up to 384KHz/ DSD128 under your same configuration, I just need one more double confirm. I'll post the solution soon.

I'm also working on BridgePi project which can include a USB streamer within RPi stack so that could be capable of native DSD512 for FifoPi/TransportPi. I believe this would be the best solution for you.

Regards,
Ian
 
@Arnu

If I'm not wrong, you are using DoP to play DSD on Volumio/Moode? For general I2S devices, the Fs will be limited to 176.4/192KHz by software, which will be corresponding only to DSD64. I think that's a bug in the linux driver. Very unreasonable.

I have a solution to play up to 384KHz/ DSD128 under your same configuration, I just need one more double confirm. I'll post the solution soon.

I'm also working on BridgePi project which can include a USB streamer within RPi stack so that could be capable of native DSD512 for FifoPi/TransportPi. I believe this would be the best solution for you.

Regards,
Ian

That's great Ian! Thx in advance, just can't wait for your solution! By the way, I am not fan of DoP, just let me know that how I should proceed for native DSD playback (Volumio, Moode or any other software suggested by you).

Regards
Arnu
 
Member
Joined 2004
Paid Member
Arnu,
HDMI is not specified to support the highest sample rates. The maximum is specified at 192kHz per channel in HDMI 2.0. With multiple channels, the aggregate sample rate of all channels combined at once can be much higher, of course.

Why do you want to use D90 with FIFO_Pi anyway, since D90 already has very good clocks?

When you talk about HDMI and audio connections there are many variations.

I2S over HDMI uses the TMDS channels for the I2S stream and can move gigabits of data if you have a reason but certainly and usable I2S format easily. its in no way compatible with an HDMI signal.

There is an HDMI standard for a 1.536 MHz bit rate and when I asked the guy at Silicon Image when it was proposed what it was for he clearly had no idea (it was his responsibility to implement it). It was described as 16 channels at 1536 KHz. He said 1536 each which was obviously nonsense. It was focused on gaming. I don't know if it was ever implemented in practice.

HDMI video is not a good format for audio since the audio is squished into the video bit stream which is not well matched to audio sample rates.
 
Hi Ian! I am very interested in the BridgePi project.

I am very happy with the current configuration.

MiniPC + USB Amanero + RecieverPi + FifoPi + TransportPi + AD1865R

MiniPC + Pi2(NAA) + RecieverPi + FifoPi + TransportPi + AD1865R

An externally hosted image should be here but it was not working when we last tested it.



An externally hosted image should be here but it was not working when we last tested it.



Hope BridgePi project completed as soon as possible. Thanks . . .
 
It a good idea for brige pi!
Also Im trying to connect fiio stand alone by using 2x pi i2s adapter One on Pi gpio and other one on fiio non isolated gpio with u.fl connectors and its not working What other wires Im missing from Pi gpio? Just experimenting because want to use amanero usb i2s instead of pi.
 
It a good idea for brige pi!
Also Im trying to connect fiio stand alone by using 2x pi i2s adapter One on Pi gpio and other one on fiio non isolated gpio with u.fl connectors and its not working What other wires Im missing from Pi gpio? Just experimenting because want to use amanero usb i2s instead of pi.

Just figured cant use non isolated gpio for input.

Yes you are right, non-isolated GPIO is an output not an input.

All you need to run a FifoPi as stand along is a BridgePi:)
I'll make it available very soon.

Ian
 
RaspberryPi DSD128/PCM384 solution for HDMI TransportPi

Raspberry Pi can not play DSD128 (through DoP) nor PCM384KHz for the Generic I2S DAC over GPIO. That will limit the maximal music Fs to PCM192KHz/DSD64. I think it's a bug of Linux driver which for me is very unreasonable.
Volumio and many other software has the same problem except piCore Player.
A lot of people has external DACs that capable for 384KHz and high DSD, so what's the solution?

I did some test with Volumio and found with the Hifiberry DAC+ Pro installed, it can play up to DSD128 and PCM 384KHz. However it doesn't work without this DAC.

So my solution is using an ESS controller to simulate Hifiberry DAC+ Pro so that it can achieve the above performance (though there is no ESS DAC).

The solution is very simple, just needs a couple of steps
1. Install an ESS controller into the non-isolated GPIO of a FifoPi.
2. Install a TransportPi into the isolated GPIO of the same FifoPi.
3. Connect MCLK u.fl cable between FifoPi and TransportPi. If you have a Topping DAC, please install a DSD switch (see my previous post).
4. Turn on Power, run Volumio through IP address, settings, play back options, change DAC model to HiFiBerry DAC+ Pro, Save.
Make sure DSD playback mode is DoP. Restart
5. Connect your external DAC to the TransportPi through the HDMI cable. Now you can enjoy the 384KHz and DSD128 music.

In my set up, I used a ConditionerPi to provide clean power for both RPi and FifoPi/TransportPi. I really like the ConditionerPi. But using an separated power supply/UcConditioner for FifiPi/TransportPi could be an better option for sound quality. Can be upgraded later step by step.

Note: The ESS controller can at same time go to the real time monitoring mode by pressing/holding the knob for more than 5 seconds.


RPiDSD128PCM384A
by Ian, on Flickr


RPiDSD128PCM384B
by Ian, on Flickr

Ian
 
Last edited:
Raspberry Pi can not play DSD128 (through DoP) nor PCM384KHz for the Generic I2S DAC over GPIO. That will limit the maximal music Fs to PCM192KHz/DSD64. I think it's a bug of Linux driver which for me is very unreasonable.

The standard I2S driver has max rate hard-coded to 384kHz for 3 years ASoC: bcm2835: Support additional samplerates up to 384kHz * raspberrypi/linux@675c0ee * GitHub . Very likely the HW can go higher, nobody has just tested it yet.

IMO it is responsibility of HW supplier to update drivers for his gear, it is simple to do in linux plus RPi kernel developers are quite open to accepting new DAC drivers linux/sound/soc/bcm at rpi-5.7.y * raspberrypi/linux * GitHub Hardware and software go hand in hand.
 
The standard I2S driver has max rate hard-coded to 384kHz for 3 years ASoC: bcm2835: Support additional samplerates up to 384kHz * raspberrypi/linux@675c0ee * GitHub . Very likely the HW can go higher, nobody has just tested it yet.

IMO it is responsibility of HW supplier to update drivers for his gear, it is simple to do in linux plus RPi kernel developers are quite open to accepting new DAC drivers linux/sound/soc/bcm at rpi-5.7.y * raspberrypi/linux * GitHub Hardware and software go hand in hand.

+1

I was suspecting a driver issue too.