Simple DSD modulator for DSC2

With the appreciated help of @Cestrian I have started planning my build. @Markw4 you've convinced me to do this instead of a custom dual AK4137 solution. And though I would've enjoyed the challenge of taking an AK4191 and making that 1-bit SDM, that seems to be a dead end for me. So this one it will be!

I plan to mount this PCM2DSD board on a kind of "motherboard" with the following:
  • I2SoverUSB v.III with fully isolated outputs inverting the DSD_ON and MUTE signals
  • clock buffer, like a LMK1C110x
  • reclocking the output with cascaded flip-flops, like 3x2 74LVC1G79
  • going I2S over HDMI out by using separate LVDS drivers, like 3x DS90LV011A

Not sure yet about the following:
  • Use a linear or switched mode power supply? Linear isn't always better for ICs.
  • For linear, go big with fancy Salas or AMB σ11 supplies, or keep it simple with TPS/LT/78xxx solutions?
  • Use the I2SoverUSB as master clock or slave it to some custom clocks? The NDKs should be pretty good already.
  • If using custom clocks on the motherboard, optionally allow an external word clock or even 10 MHz clock?-Interconnect losses will make it hard to beat an internal clock objectively speaking unless you start paying kilobucks, but could be fun to play around with subjectively.
  • Reclock the input? Should not be required running synchronously.
  • FIFO buffer the output? I'd rather run the entire chain synchronously.
  • Add a bypass circuit to pass through PCM? Fun for A/B testing but piling up complexity.
 
...plan to mount this PCM2DSD board on a kind of "motherboard" with the following
Layout for something like this is critical. So is at least a 4-layer PCB.

Regarding power supplies, I use primary regulation to 5v and distribute it on one layer of the PCB. It gets dropped to 3.3v with secondary regulators near where needed. The number of secondary regulators may need to be determined experimentally. Noise is a big issue that needs careful management, both conducted and radiated. Its also worth thinking very carefully about where ground current will be flowing in relation to the location of the most sensitive circuitry, which is usually the clocks since there are analog oscillators inside.

The problem with I2SoverUSB clocks are that while they are pretty good, (1) they could be better, (2) they could be powered better, and (3) they are buffered and or divided down by a CPLD. That's not the best way to produce and preserve ultra-low close-in phase noise.

If you're not sure you're up to designing something like that, there are some well designed commercial solutions for diy use. May end up costing less in the end. My clock board went through three revisions. So did the interface board for Simple DSD Converter. Its that some things aren't documented, so you only find out certain things once you build a prototype and start testing.
 
Last edited:
With the appreciated help of @Cestrian I have started planning my build. @Markw4 you've convinced me to do this instead of a custom dual AK4137 solution. And though I would've enjoyed the challenge of taking an AK4191 and making that 1-bit SDM, that seems to be a dead end for me. So this one it will be!

I plan to mount this PCM2DSD board on a kind of "motherboard" with the following:
  • I2SoverUSB v.III with fully isolated outputs inverting the DSD_ON and MUTE signals
  • clock buffer, like a LMK1C110x
  • reclocking the output with cascaded flip-flops, like 3x2 74LVC1G79
  • going I2S over HDMI out by using separate LVDS drivers, like 3x DS90LV011A

Not sure yet about the following:
  • Use a linear or switched mode power supply? Linear isn't always better for ICs.
  • For linear, go big with fancy Salas or AMB σ11 supplies, or keep it simple with TPS/LT/78xxx solutions?
  • Use the I2SoverUSB as master clock or slave it to some custom clocks? The NDKs should be pretty good already.
  • If using custom clocks on the motherboard, optionally allow an external word clock or even 10 MHz clock?-Interconnect losses will make it hard to beat an internal clock objectively speaking unless you start paying kilobucks, but could be fun to play around with subjectively.
  • Reclock the input? Should not be required running synchronously.
  • FIFO buffer the output? I'd rather run the entire chain synchronously.
  • Add a bypass circuit to pass through PCM? Fun for A/B testing but piling up complexity.
Personally I would start simple and look to make incremental improvements rather than just piling everything in straight off - that way you'll have control of what improvements work for you and you can easily revert to a known state.

In the I2SoverUSB you have a good starting point, in my opinion, as it has good quality oscillators, isolation and a reclocked output and I would suggest a starting point of just connecting it to the PCM2DSD module and giving it a try. IIRC JLSounds sell a piggy-back clock board for the I2SoverUSB that has improved power supplies and Crystek oscillators so, on that basis, it it should be relatively simple to improve that aspect of your build.
 
...JLSounds sell a piggy-back clock board for the I2SoverUSB that has improved power supplies and Crystek oscillators...
True. I have one. Although I recommend I2SoverUSB, I cannot recommend the optional clock board. Can give you a list of reasons why, if you want.

Regarding I2SoverUSB, it can be operated from one or two isolated 5v power supplies. Many people find it sounds better with two supplies, which must be fully isolated from each other. Most people will probably not predict why two supplies can sound so much better, since JL Sounds does not indicate a particular need for it, and since there is already galvanic isolation between the USB side of I2SoverUSB and the DAC I2S bus side. Won't say why quite yet in case anyone would like to take a guess.

Regarding starting out incrementally and making small changes from there, a possible risk of doing that is to accidently "paint yourself into a corner." Once you start out with certain untested assumptions, you may stick with them moving forward since you may think they worked fine. You might never find out how much better the audible performance might have been if you had aimed higher to begin with. That's one reason why its always helpful, if you can do it, to have reference device to compare yours with. When I started out building dacs I already had a Benchmark DAC-3. At first I only knew that I didn't know how to make a dac that sounded as good as DAC-3. It was hard to get to the point of being able to best DAC-3 in any way at all. Eventually, I was able to outdo in all ways in terms of SQ, as well as outdo a number of other commercial dacs selling for a few to several thousand dollars. How? Once you know how (which takes a lot to time and effort), the problem isn't so much getting better SQ, the problem is doing it for low enough cost. A commercial dac that sells for $6k probably has a build cost of <$1.5k. Anyway, never got a >$10k dac here to compare with, but sure would like to. Chord DAVE, Mola Mola, etc., would be of interest.
 
Last edited:
The problem with I2SoverUSB clocks are that while they are pretty good, (1) they could be better, (2) they could be powered better, and (3) they are buffered and or divided down by a CPLD. That's not the best way to produce and preserve ultra-low close-in phase noise.
For that reason would rather control my own clocks and buffer them myself.
I have read about criticism of the JLSounds clock board in other posts too, which makes sense.
Just a pity that it'll bypass the OCXO in my SDA-6, so doing a DIY oven will be something for later :)
 
Okay. Let's set clocks aside for a moment if that's okay. What about the rest? A dac must have a time reference, a voltage reference, and an output filter of some type. It must also be sufficiently free of EMI/RFI noise induced problems. Also the rest of the reproduction system has to be able to reproduce the effective performance of the dac well enough, or what good is a better dac? What about those other factors, where do you stand on those things? If we can understand that then we can have a much better idea about how extreme of an investment in better clocking is likely to pay off.

When we do get back to clocking maybe we can talk about what may be gained by oven stabilization as opposed to other things, if that might be of interest to thread followers:)
 
  • Like
Reactions: 1 users
True. I have one. Although I recommend I2SoverUSB, I cannot recommend the optional clock board.
My mileage is different, however, I didn't actually make a recommendation for the JLSounds clock board, but just observed that it is pretty simple to feed different clocks into the i2soverUSB module.

Regarding starting out incrementally and making small changes from there, a possible risk of doing that is to accidently "paint yourself into a corner." Once you start out with certain untested assumptions, you may stick with them moving forward since you may think they worked fine. You might never find out how much better the audible performance might have been if you had aimed higher to begin with.
Really, so you're arguing that it it better to start with a whole collection of untested assumptions and opinions - I have no problem with people choosing to develop incrementally or going all-in from the start, each have pros and cons and it's their choice and wallet. I've done both across a wide range of projects and have found that there isn't necessarily a correlation between my own musical enjoyment and that of others.
 
Last edited:
  • Like
Reactions: 1 user
I am not going to design a DAC myself. From my PCM2DSD I will be going I2S over HDMI out to my Singxer SDA-6 PRO.
Okay, cool. Then there are some things I found that may be of interest to you.

First is that if using I2SoverUSB with external clocks, it needs 45/49MHz clocks. OTOH, the DSD converter needs 22/24MHz clocks. Normally I2SoverUSB can be configured to output 45/49MHz or 22/24MHz clocks. However it doesn't export MCLK signals if using external clocks. So you will need to provide both clock frequencies yourself. Also DSD converter is sensitive to MCLK phase. Some clock dividers may invert the phase, so you might need an inverter too. Not sure what MCLK frequency Singxer SDA-6 PRO needs, but that might influence which clock frequencies you choose to design with. For my own dac I wanted to use 22/24MHz clocks for lower phase noise. So the MCLK signal I sent to I2SoverUSB was from a clock doubler chip. Because I used a doubler I reclocked I2SoverUSB I2S outputs using my 22/24Mhz clocks to restore lower phase noise. Hope that experience may save you a little time and effort for your project.

EDIT: Regarding OCXO, the oven is for longer term frequency stability than humans can notice in terms of pitch shift. Lower close-in phase noise may be more important for dac clocks. That said, some low-ish cost OCXO are sold on ebay and aliexpress with the implication that the oven matters for dacs. Probably that's more for marketing than for real worth. IOW, its probably better to spend the clock budget more on lower close-in phase noise than spend it on oven stabilization. Anyway, most likely clocks like Accusilicon would sound better than what's in your dac now. If considering Crystek, they may be more particular about bypass caps and output loading to get the best sound.
 
Last edited:
However it doesn't export MCLK signals if using external clocks. So you will need to provide both clock frequencies yourself. Also DSD converter is sensitive to MCLK phase. Some clock dividers may invert the phase, so you might need an inverter too.

It's not clear to me what you mean here. For a divider by two, depending on the initial condition, the output sequence can either be 101010... or 010101... That is, when the initial value is random, there is no difference between inverting and non-inverting frequency dividers by two.
 
So the MCLK signal I sent to I2SoverUSB was from a clock doubler chip. Because I used a doubler I reclocked I2SoverUSB I2S outputs using my 22/24Mhz clocks to restore lower phase noise. Hope that experience may save you a little time and effort for your project.
Is that to your DAC or to your PCM2DSD? The clock doubler to I2SoverUSB is a neat idea. But about reclocking the I2S input to PCM2DSD, what good does that do?

I understand that the CPLD on the I2SoverUSB introduces jitter. But I'm not sure if that matters to PCM2DSD given that it runs synchronously and assuming that the I2S signals will not be so skewed that they violate setup/hold times.

I get reclocking the I2S output after PCM2DSD, but wonder about reclocking the I2S input before PCM2DSD.
 
There was reclocking before the dac, and or when I was using AK4137 then I also reclocked before that (since its asynchonous). No need to reclock before FPGA converter as it is synchronous.

BTW, IME low close-in phase noise can make a difference on a good system. Jitter is often used in the literature as synonymous with far-out phase noise. Say, maybe starting at 12kHz offset and beyond. Just trying to make sure we are using the same terminology, is all.
 
Last edited:
  • Like
Reactions: 1 user