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

Are you wanting to feed your I2S data from the RPi via the S/PDIF output to another DAC, or send CD data from a CD player to your DAC via S/PDIF to your RPi Stack out through roon? If it's the later, I think you would use a ReceiverPi. @iancanada, correct me if I'm wrong, and misinterpreting Arnold's diagram.
The later. S/pdif data from CD to transportPi and playback to dac. But Roon is not necessary in my needs. Only for Roon streaming Direct playback from cd if possible. But i think Ian is right? That's what the transportPi does.
 
I've been off the Raspberry Pi audio scene for a while now and am just catching up with Ian's latest offering.

I'm considering building a new RPi I2S transport for my Rockna Wavedream and would need some help to picking the right boards.

The Wavedream supports PS-Audio I2S format, so I think I'm good on that front.

What type of performance difference (if any) is there between the TransportPiDigi and the FifoPiMa + HDMIPiTransmitter mkII? It seems like both options would provide I2S re-clocking (in master mode) and I2S to HDMI LVDS conversion/conditioning.

I'm also looking at galvanic isolation. Is the Isolator II the only option for Raspberry Pi? I recall Ian had an isolated HDMI I2S PI hat in the works few years ago, which does all of the above in a single board. Was it ever released?
 

Attachments

  • FifoPiMaV1.5a.jpg
    FifoPiMaV1.5a.jpg
    323.3 KB · Views: 262
  • Screenshot 2022-09-07 211300.png
    Screenshot 2022-09-07 211300.png
    897.9 KB · Views: 247
  • FifoPiMaV1.5.jpg
    FifoPiMaV1.5.jpg
    420.1 KB · Views: 253
@iancanada, Was reading the PurePi docs and noticed that it is stated in Section H, #3 that the PurePi can be used with the FiFoPiQ7 or FiFoPiMA. Does this necessarily exclude the FifoPIQ3 from being used? Just want to make sure before I go stacking boards together. Can't imagine it would.
PurePi has no problem works with FifoPiQ3. Sorry for the confusing.
 
Hi @iancanada - I am facing an issue/glitch/whatever you may want to call this phenomena that I am facing with my FifoPi Q3 with reclockpi. I am sure this is not a fault in either of these products but a logic I am unable to fathom how it works. Finally posting it here so you could help explain why maybe.

So I use a Beaglebone Black Rev C which receives music signal over the Ethernet (NAA) and passes it on via an isolator board (IL712) to the fifopi Q3 (fitted with Accusilicon AS318 45 & 49M clocks) and reclockpi stack. The reclockpi transfers the signal to my DDDAC via i2s.

The issue is that when i use a player such as HQP, the chain till fifopi is not able to select the appropriate clocks basis the 44.1k or 48k families. Fifopi auto selects any of these clocks as the only one operating and I have to manually select the oversampling range to match that clock to get music to play at proper tempos. Why is this random selection of clocks happening on the fifopi q3? How can i have both 44.1 and 48k families to play and on the fly selection of clocks to take place? Even if there is just one clock that will be operable in my case, why does it keep changing? Sometimes after a new boot up of the BBB, Isolator, Fifopi and Reclockpi chain, the 45M clock gets selected and other times 49M clock.

Happy to receive any assistance to be able to ideally play all frequencies from both these clock families!

Regards
Kartick
Hi @iancanada - your response to older versions of your products, i.e., Fifopi Q3 will also be be welcome. What is the logic that fifopi uses to be randomly selecting one of the two xtal slots?
 
  • Like
Reactions: 1 user
Hi all,

I'm having a particular issue with my current DAC build using some new boards from IanCanada. Specifically, the little OLED display PCB called MonitorPi. When it's attached to my FiFoPiQ3 I can't always get it to display anything because RoPieee (and RoPieeeXL) don't see it as a device. I've tried various other overlays as well. However, when I remove the MonitorPi and replace it with the normal ESS controller display, everything plays fine and works as expected. When I can get the MonitorPi to display real-time frequencies on the screen, I get no music. Odd.

Has anyone else experienced similar anomalies when using the MonitorPi. I'm using the StationPi Pro (SPP) with RPI > ConditionerPI on the RPI side, and ReceiverPi > FiFoPiQ3 > ES9038Q2M Dual DAC > Transformer Output. Ideas.
 
Hi all,

I'm having a particular issue with my current DAC build using some new boards from IanCanada. Specifically, the little OLED display PCB called MonitorPi. When it's attached to my FiFoPiQ3 I can't always get it to display anything because RoPieee (and RoPieeeXL) don't see it as a device. I've tried various other overlays as well. However, when I remove the MonitorPi and replace it with the normal ESS controller display, everything plays fine and works as expected. When I can get the MonitorPi to display real-time frequencies on the screen, I get no music. Odd.

Has anyone else experienced similar anomalies when using the MonitorPi. I'm using the StationPi Pro (SPP) with RPI > ConditionerPI on the RPI side, and ReceiverPi > FiFoPiQ3 > ES9038Q2M Dual DAC > Transformer Output. Ideas.
MonitorPi doesn't need a Linux driver, Please keep everything no change when you use the the MonitorPi.
Another thing is that the your ESS DAC needs the ESS controller to operate, so you have to keep the ESS controller even if you installed the MonitorPi.
Maybe later, I will consider to integrate the ESS controller function into the MonitorPi.

Regards,
Ian
 
MonitorPi doesn't need a Linux driver, Please keep everything no change when you use the the MonitorPi.
Another thing is that the your ESS DAC needs the ESS controller to operate, so you have to keep the ESS controller even if you installed the MonitorPi.
Maybe later, I will consider to integrate the ESS controller function into the MonitorPi.

Regards,
Ian
Ah ha. I wondered if the old ESS controller needed to still be attached! That's it then. I never noticed any pictures with both shown. Just plugged both in and voila, it works. I should have tried it earlier.

Thks

Edit:
20220917_105230.jpg
 
Last edited:
  • Like
Reactions: 1 user
HdmiPi Pro

HdmiPi Pro is a dedicated I2S/DSD over HDMI transport interface board. Compared with all other solutions, It is the first one that uses discrete 1-bit LVDS drivers to achieve the highest HDMI signal quality and lowest noise levels. And it also integrates the well reputed 1-bit discrete secondary re-clockers to ensure the best possible low-jitter performance, similar to a ReClockPi. HdmiPi Pro is the flagship HDMI transport interface board for audiophiles to improve the sound quality of a DAC to a best possible level. HdmiPi Pro works in SYNC clock mode so it will need a FifoPiMa, FifoPiQ7 or Q3 to operate.

  1. Discrete 1-bit LVDS drives to achieve the best possible LVDS signal quality and the lowest noise levels.
  2. Built-in the well reputed 1-bit discrete secondary re-clock stage
  3. Enhanced high bandwidth power supply filtering networks
  4. LDO free design to make it directly use the 3.3V ultracapacitor or battery power supply for the best power supply performance
  5. Could be so far the best I2S/DSD over HDMI streamer transport interface
  6. Optimized PCB impedance control for the high speed LVDS signals
  7. 4 layers PCB design with dedicate shield layers to eliminate EMI noise
  8. Metal film ultra-low noise resistors to ensure the lowest possible noise level
  9. Pure sync mode works with FifoPiMa, FifoPiQ7, FifoPiQ3 and other re-clockers..
  10. Capable of I2S signals up to 1536KHz
  11. Capable of native DSD signals up to DSD1024

HdmiPiPro
by Ian, on Flickr
 
  • Like
Reactions: 1 user
HdmiPi Pro

HdmiPi Pro is a dedicated I2S/DSD over HDMI transport interface board. Compared with all other solutions, It is the first one that uses discrete 1-bit LVDS drivers to achieve the highest HDMI signal quality and lowest noise levels. And it also integrates the well reputed 1-bit discrete secondary re-clockers to ensure the best possible low-jitter performance, similar to a ReClockPi. HdmiPi Pro is the flagship HDMI transport interface board for audiophiles to improve the sound quality of a DAC to a best possible level. HdmiPi Pro works in SYNC clock mode so it will need a FifoPiMa, FifoPiQ7 or Q3 to operate.

  1. Discrete 1-bit LVDS drives to achieve the best possible LVDS signal quality and the lowest noise levels.
  2. Built-in the well reputed 1-bit discrete secondary re-clock stage
  3. Enhanced high bandwidth power supply filtering networks
  4. LDO free design to make it directly use the 3.3V ultracapacitor or battery power supply for the best power supply performance
  5. Could be so far the best I2S/DSD over HDMI streamer transport interface
  6. Optimized PCB impedance control for the high speed LVDS signals
  7. 4 layers PCB design with dedicate shield layers to eliminate EMI noise
  8. Metal film ultra-low noise resistors to ensure the lowest possible noise level
  9. Pure sync mode works with FifoPiMa, FifoPiQ7, FifoPiQ3 and other re-clockers..
  10. Capable of I2S signals up to 1536KHz
  11. Capable of native DSD signals up to DSD1024

HdmiPiPro by Ian, on Flickr
Only U.FL MCLK on the board?