High quality Raspberry Pi 24bit/384k I2S card

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi all,

I would just like to share my project - raspberry pi 24bit/384k I2S card

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


Here's my page about this project:

alexx DIY audio page

i hope it will be interesting....

its very good that you made the RPi the Slave device - this removes the majority of RPI Clock Jitter issues.

The only outstanding advantage of USB is native DSD support - have you got any plans to support DSD?
 
Please, permit me to ask a question.

You are insisting there is i2S signal jitter on a Raspberry Pi, and since you are posting in mid 2020, I will assume this also involves the latest Raspberry Pi reincarnations.

An i2S bus is a digital data bus: why should it matter if there is jittering? A DAC can buffer that data and convert it back to analogue using a better clock on its own PCB. Why is this not possible?

Post Scriptum:
I use a Raspberry Pi 3B+ with an IQaudIO DAC Pro hat which has quite a remarkable quality.
 
@JohnW
Thanks for your reply,
in fact the VHDL code for the DSD version is ready, it can play DSD64 and DSD128 files, but of course only in DoP mode, as there is no dsd hardware on the BCM2711, also Xilinx chip in the dsd-compatible solution is bigger because it has to accommodate for a few more things :)

@edbarx
Yes, I2S is a fully digital bus, but in almost every dac chips, analog conversion starts on the falling edge LRCK signal.

@BesPav
I'm not using WM8804 because it always uses PLL to generate signals. I want to get signals with as lillte jitter as possible while using common parts.
 

TNT

Member
Joined 2003
Paid Member
An i2S bus is a digital data bus: why should it matter if there is jittering? A DAC can buffer that data and convert it back to analogue using a better clock on its own PCB. Why is this not possible?

Of course it can.

But then you must also make sure the DAC sida can digest any difference in the 2 clock domains i.e. you need a buffer with all what that brings with it.. still, this is certainly how one should do it.

Still, why anyone would like to build a DAC with a Pi radiating all its garbage in close proximity to a delicate DAC is beyond me. But, everyone seem so amazed that a Pi can be used so the seem blinded and go right ahead ;)

//
 
Last edited:
An i2S bus is a digital data bus: why should it matter if there is jittering? A DAC can buffer that data and convert it back to analogue using a better clock on its own PCB. Why is this not possible?

ESS Sabre dac chips typically are configured to use their internal ASRC to de-jitter incoming I2S. If I2S is already very low jitter then the ASRC can be turned off and the dac chip run in synchronous mode. People who have done carefully listening tests generally find that synchronous mode sounds better. The reason for a difference in sound with or without ASRC is because Sabre internal ASRC is pretty good but not perfect, its designed to be good enough for most dac chip applications. If cost and complexity of implementation is not a major concern then synchronous mode is available for those who prefer the sound with ASRC disabled.

EDIT: Regarding Sabre ASRC, the sound of it is affected by the DPLL_Bandwidth setting in the dac chip I2C registers. ESS recommends to use the lowest DPLL_Bandwidth setting that results in stable playback. Low DPLL_Bandwidth settings sound better, often much better than the default setting, but stability is limited by jitter of incoming I2S.
Lower incoming I2S jitter = possible to improve sound quality by decreasing DPLL_Bandwidth setting. Unfortunately, many Sabre based dac products leave DPLL_Bandwidth at the default setting with no way for the user to change it.
 
Last edited:
I'm not using WM8804 because it always uses PLL to generate signals. I want to get signals with as lillte jitter as possible while using common parts.

Not so clearly.
Just imagine.
Masterclock goes from DAC via yours preferred galvanic barrier, all circuitry on the digital side doesn't needs jitter-perfect signal, just master timing reference.
Next this masterclock goes to XIN input of WM8804 and it will synthesise BCK and LRCK at a given freq basis, selected at the RPI side x44.1 or x48 kHz and switched generators at the DAC masterclock side via any optocoupler.
Next RPI will output data in the given basis and we pick those data through the galvanic barrier and reclock if needed on the clear low-jitter side.
 
@ olo111
are you still around?
this is a really intriguing project, i don´t know why i didn´t discover it earlier.
and its pity that this thread didn´t gain more interest.

i want to implement this project in my system. Do you have any boards left ?
and although this board is really well documented on your blogspot-page
i have lots of questions...


cheers,
Balou
 
I have missed this topic, too!


Thank you, @olo111 for sharing it and @Balou for bring it on front.


My current project is an R-2R PCM DAC Pi hat, but I was afraid to design it as master from start, because of lack of knowledge regarding RPi kernel patching & stuff.
PCB's are already in production.
However, simply replacing a 6 pins 50 MHz oscillator (CPLD global clock) with a similar footprint dual frequency oscillator (22.xxxx/24.xxxx, which from I have some samples left from another project), and replacing an 4 in-4out isolator with 2in2out-2in2out version, will let me set DAC as master - if I'll manage to learn to make a driver and patch a Linux kernel, of course.
 
@M_Balou

I am here :)

I sadly don't have any pcbs left but I will gladly share the gerber files with you. They are attached to this post.


Hi olo111,

many thanks for sharing your gerbers, very generous, i really appreciate it !

is there a specific reason why you chose the 74AUC1G79 flip-flops ?
because they seem to have 1,8V supply voltage, and you have 3,3V rails.
 
I have missed this topic, too!


Thank you, @olo111 for sharing it and @Balou for bring it on front.


My current project is an R-2R PCM DAC Pi hat, but I was afraid to design it as master from start, because of lack of knowledge regarding RPi kernel patching & stuff.
PCB's are already in production.
However, simply replacing a 6 pins 50 MHz oscillator (CPLD global clock) with a similar footprint dual frequency oscillator (22.xxxx/24.xxxx, which from I have some samples left from another project), and replacing an 4 in-4out isolator with 2in2out-2in2out version, will let me set DAC as master - if I'll manage to learn to make a driver and patch a Linux kernel, of course.

hi Thorp,

i saw your post in the DAC Gallery thread, awesome project ! :D

and, yeah, kernel compiling is a scary task, i haven´t done i t myself either...
read the blogspot page from olo111 (link in post 1), he explains in detail
how to implement the patches, and there are numerous sources out on
the interwebs about how to compile your own kernel.
 
As consumer electronics become more and more compact, the motivation to drive a DAC some distance away from a Raspberry Pi mini-computer, appears to be misplaced. The unwanted interfering signals from the Pi, are assumed to be 'radiated' and coupled through parasitics.

Some questions are worth considering:
a) Do these ghost signals show on a sufficiently sensitive oscilloscope?
b) Do they actually degrade the acoustic output?
c) Is this 'motivation' genuine, and is it the result of an inherent obsessive confirmation bias?

Reading threads like these, I am reminded of obsessive compulsive disorder. Where I live there are two neighbours who are always seen vigorously cleaning the front of their homes during the hottest hours of the day, in Summer. Here, summer days are extremely humid with temperatures above 30C. A behaviour like this, is indicative of OCD, something which makes a sufferer's life a misery. In my opinion it is comparable to depression as a the quality of life of sufferers is similar to that of a slave.

This forum is all the more giving me the impression, some members do have OCD, but instead of fighting it to get personal freedom, they are mistakenly proud of their condition. Some circuit improvement suggestions are much similar to what an OCD victim does when they think, the glass pane they are polishing is not clean enough: they redo it, they change detergent, and waste more time and effort, in vain.

In my experience and opinion, if an effort does not justify the results, it is a waste of energy, and only leads to more enslaving obsessive behaviour.
 
@edbarx

Beyond the fact that I respect your opinion, I don't think it's appropriate for me to tell you what a hobby means, or what it is like to do something different.

Still, I wonder what are you doing on a diy forum when there are so many ready-made devices? Isn't it an effort that doesn't justify the result?
We are human beings, so we will fail from time to time. We just want to fail better and better, that's all.
 
As consumer electronics become more and more compact, the motivation to drive a DAC some distance away from a Raspberry Pi mini-computer, appears to be misplaced. The unwanted interfering signals from the Pi, are assumed to be 'radiated' and coupled through parasitics.

Some questions are worth considering:
a) Do these ghost signals show on a sufficiently sensitive oscilloscope?
b) Do they actually degrade the acoustic output?
c) Is this 'motivation' genuine, and is it the result of an inherent obsessive confirmation bias?

Reading threads like these, I am reminded of obsessive compulsive disorder. Where I live there are two neighbours who are always seen vigorously cleaning the front of their homes during the hottest hours of the day, in Summer. Here, summer days are extremely humid with temperatures above 30C. A behaviour like this, is indicative of OCD, something which makes a sufferer's life a misery. In my opinion it is comparable to depression as a the quality of life of sufferers is similar to that of a slave.

This forum is all the more giving me the impression, some members do have OCD, but instead of fighting it to get personal freedom, they are mistakenly proud of their condition. Some circuit improvement suggestions are much similar to what an OCD victim does when they think, the glass pane they are polishing is not clean enough: they redo it, they change detergent, and waste more time and effort, in vain.

In my experience and opinion, if an effort does not justify the results, it is a waste of energy, and only leads to more enslaving obsessive behaviour.

First of all the most waste of energy here is your post. Posting this in a diy forum is a disorder by itself. If you dont like this circuits, dont comment it. Go to a shop and buy ready to use stuff, why are you posting here ?
Perhaps this curcuit was created to LEARN something. Is learning a disorder for you ?
Please just dont comment here if you have a problem with diy.
Nobody cares about your opinion, let it be please.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.