• These commercial threads are for private transactions. diyAudio.com provides these forums for the convenience of our members, but makes no warranty nor assumes any responsibility. We do not vet any members, use of this facility is at your own risk. Customers can post any issues in those threads as long as it is done in a civil manner. All diyAudio rules about conduct apply and will be enforced.

Reference DAC Module - Discrete R-2R Sign Magnitude 24 bit 384 KHz

Well I only have 1021

In that case... get a usb to i2s interface. Good component-for-component Amanero clones go for $20 I think, and you can get a legitimate unit for a bit more. I don’t personally believe that there is a difference, or at least audible difference between different interfaces, since I vaguely remember people mention the clock noise can still leak through FIFO. So I would not recommend spending $75 on an HDMI cable at all...
 
In that case... get a usb to i2s interface. Good component-for-component Amanero clones go for $20 I think, and you can get a legitimate unit for a bit more. I don’t personally believe that there is a difference, or at least audible difference between different interfaces, since I vaguely remember people mention the clock noise can still leak through FIFO. So I would not recommend spending $75 on an HDMI cable at all...

That's exactly what there picture that I posted is: a USB to i2s interface. I was hoping someone had experience with it.
 
That's exactly what there picture that I posted is: a USB to i2s interface. I was hoping someone had experience with it.

It seems to take up unnecessary room. Try an internal XMOS solution if you'd like. I think they're all equally valid and better than external solutions.

But your question was about HDMI I2S... I don't really know for sure, but I think it would work as long as your input pin definition is consistent with the device's output. Any standard HDMI cable would work. That's the very reason people take the trouble to make standards I believe.


Edit: Also, I2S is an internal connection standard, so I'm not sure if it's ever a good idea to use it for interconnects, though HDMI cable is a good choice if you must. I used 15cm of cat7 cable between amanero and dam1021. If you really worry I think looking into cable standards and the I2S standard might convince you that normal cables from reputable manufacturers should get the job done perfectly.
 
Last edited:
Let me put things strait, even as I have posted about it before:

On a Soekris DAC, the Audio input quickly goes into a FIFO with a size of 1mS samples, clocked by the input clock, which can have quite some jitter....

The reason for not using a large FIFO, like some other designs, is the delay though the system, I want to be able to support Video and Live Audio.

The clock is then recovered by a digital PLL controlling a very low jitter digital programmable clock generator. When detecting a new signal, that PLL start out with a fast filter, later switching to a slow filter with a 0.1 hz time constant, it will track the input clock down to about one sample precision. It works fine, as the used clock generator can change frequency up to 1000 ppm without glitches.

The output from the fifo is clocked by the output word clock, the audio is then upsampled, first to 352K/384K in FIR1 filter, followed by a bank of IIR filters running at that clock, the IIR filter as default have the 2hz subsonic filter and a CD deemphasis filter. It's then upsampled to the final word clock at 2.8M/3.1M. On the first DAC, the dam1021, the wordclock is then output from the FPGA directly to the shift registers, adding the FPGA intricic jitter.

On all later models, incl. the dam1121, the word clock is then reclocked by a number of fast flipflops clocked directly form the master oscillator before feeding the shift registers, avoiding the FPGA fitter.

When decoding DSD, the FIR1 is replaced by a very fast parallel FIR lowpass filter, as decoding DSD is basically sending the bitsteam though a lowpass filter.

All internal processing is done at minimum 35 bit precision, the volume control is last in the chain before the audio is clipped as needed and rounded down to the number of bits in the R-2R networks.

"HDMI" audio, a useless nonstandard interface mostly use by less advanced DACs that don't have the FIFO and reclocking. That interface just use the HDMI cabling, don't have anything to do with real HDMI audio which are DRM protected. You can get small interface boards doing the RS422 to CMOS I2S recieving function.

The reason that new firmware for the dam1121 is not ready yet, is that the synchronous interface for multiple dam1121s, that complicates thing, don't make it impossible, it just require more changes and testing in the FPGA code. It will be done at some time.
 
Last edited:
All internal processing is done at minimum 35 bit precision, the volume control is last in the chain before the audio is clipped as needed and rounded down to the number of bits in the R-2R networks.

Hi Soekris,
Thanks you for the extensive reply, it clarifies a lot of topics. I love my 1021 DAC, a very natural and musical source imho. Though I use custom FIR filters for better dynamics and clarity (based on party pack).

I did some experiments with iir filters recently. It appears that with filters that raise levels clipping can occur, even at low volume setting. Can you confirm that no positive filter gain is allowed? I could workaround this by adding An IIR filter with -6 dB gain before the other filters.

What is the internal precision of the intermediate processing in the IIR? Also 35 bit? If possible, it may help to raise this precision as errors may accumulate otherwise. I use double floats in my PC software version of IIR. Though 64 or 80 bit fixed point should do as well. I plan to do quality comparisons soon. The upsampling to 352 khz probably helps iir quality compared to processing on 44 k by the way.

Fedde
 
Last edited:
Hi Soekris,
Thanks you for the extensive reply, it clarifies a lot of topics. I love my 1021 DAC, a very natural and musical source imho. Though I use custom FIR filters for better dynamics and clarity (based on party pack).

I did some experiments with iir filters recently. It appears that with filters that raise levels clipping can occur, even at low volume setting. Can you confirm that no positive filter gain is allowed? I could workaround this by adding An IIR filter with -6 dB gain before the other filters.

What is the internal precision of the intermediate processing in the IIR? Also 35 bit? If possible, it may help to raise this precision as errors may accumulate otherwise. I use double floats in my PC software version of IIR. Though 64 or 80 bit fixed point should do as well. I plan to do quality comparisons soon. The upsampling to 384 khz probably helps iir quality compared to processing on 44 k by the way.

Fedde

I hope I don't sidetrack your question, but have you tested jitter issues on dam1021? :) Do you think offloading FIR1 might reduce the jitter produced by the FPGA?...
 

TNT

Member
Joined 2003
Paid Member
1121...

How does HW strapping: Config 3..1 relate to command set mode bal-left?

But looking in the manual, there is no "set mode" in the text. But entering: Help shows set mode. And command is "accepted" without error.

It's only HW strapping that works - right?

//
 
Hi Soekris,
Thanks you for the extensive reply, it clarifies a lot of topics. I love my 1021 DAC, a very natural and musical source imho. Though I use custom FIR filters for better dynamics and clarity (based on party pack).

I did some experiments with iir filters recently. It appears that with filters that raise levels clipping can occur, even at low volume setting. Can you confirm that no positive filter gain is allowed? I could workaround this by adding An IIR filter with -6 dB gain before the other filters.

What is the internal precision of the intermediate processing in the IIR? Also 35 bit? If possible, it may help to raise this precision as errors may accumulate otherwise. I use double floats in my PC software version of IIR. Though 64 or 80 bit fixed point should do as well. I plan to do quality comparisons soon. The upsampling to 352 khz probably helps iir quality compared to processing on 44 k by the way.

Fedde

IIR filters have data with 4.31 format (4 guard bits), coefficients are 1.31 format, no specific rules about gain, you just need to ensure your coefficients are right and total gain are not more than 24 dB.

The Spartan-6 multipliers are signed 35x35 bits when putting four of them together, the firmware use that as much as possible....
 
1121...

How does HW strapping: Config 3..1 relate to command set mode bal-left?

But looking in the manual, there is no "set mode" in the text. But entering: Help shows set mode. And command is "accepted" without error.

It's only HW strapping that works - right?

//

Old code in firmware, not used on dam1121, mode is set by hardware.
 
Soren, if you used the Spartan-6 Clocking Wizard, could you share the relevant clock jitter predictions from the tool? For your loyal dam1021 users.

If for nothing other than some confidence from knowing our own situation when we pass judgements on those who purchase $20,000 femto clocks from MSB.
 
Last edited:
well i have completed and installed my 1021 and all i can say is......wow more of everything its like you stepped into the studio with the artist very dynamic shouts at times but not harsh depends on music era mostly 70s can sound terrible with anything, haven't looked at filters yet dont know what its set on and piano's sound real again.
 
well i have completed and installed my 1021 and all i can say is......wow more of everything its like you stepped into the studio with the artist very dynamic shouts at times but not harsh depends on music era mostly 70s can sound terrible with anything, haven't looked at filters yet dont know what its set on and piano's sound real again.

Very interesting comments even after all my worrying... enlightening