• 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

A combination of 0.01 and 0.02% resistors... probably depending on what is needed where. Soren has stated before that there is hardly any difference in those two versions. Hope I'm not starting the debate about 'precision' and 'accuracy' again . ;)

Sounds like having 0.01% on MSB and 0.02% on LSB would be a good cost/efficiency compromise. Then it's just a matter of recipe or cooking factor to decide where to locate the transition.:)
 
A combination of 0.01 and 0.02% resistors... probably depending on what is needed where. Soren has stated before that there is hardly any difference in those two versions. Hope I'm not starting the debate about 'precision' and 'accuracy' again . ;)
Some musings: Maybe Soekris don't have measured differences because the contribution from shift registers internal resistance variance of "rds" (drain resistance) is "percentually" more than the 0.02% resistor array variance or averaging between sides
And since I have measured differences changing with discrete levels I suppose each shift register chip have a somewhat different rds (obviously). The cure? Make the resistor array with higher impedance (reducing the switch rds contribution), but this solution will have an noise penalty :mad: . Another option is to measure/select each shift register chip for internal "rds" :eek::rolleyes::D:) ... or use some 28-bit shift register :confused: , since at same chip we have better tracking.
This is only my :2c: about the R-2R ladder (I don't are a R-2R ladder expert), so please excuse some "potential" errors.
 
Last edited:
I am not sure I understand. What precision resistors will be used in the -12 version?

The -01 used a mix of 0.01%, 0.02%, 0.05% and 0.1% resistors in the R-2R network, while the -02 used 0.02%, 0.05% and 0.1% resistors, both with the most precise resistors on the msb bits and least precise on the lsb bits.

On the new -12 I moved around the different resistors, so the -12 have fewer 0.01% parts and more of the 0.02% parts.
 
* New mode setting: Normal, Inverted, Balanced Left, Balanced Right
* Should now be possible to do balanced and crossovers by parallel the inputs and connecting the isolated serial ports together, more details to follow

@Soekris,

Tried to get balanced mode to work with two DAM1021s.

When each dac is separately preconfigured for bal-right and bal-left modes, the audio output seems to work properly.

Connecting together the isolated serial lines of two DAMs does not work. It is sort of possible to adjust volume using V-commands (works 4 times out of 5), but anything else produces garbage or no response. I guess the timing of DAM serial TX of the two devices is different enough to mess things up. Setting conspeed=9600 does not make much difference.

Is there any hope to get balanced DAM controls to work from a single serial port? In my opinion, I2C protocol would be a better choice for the isolated control lines. I suppose some hardware MUXing could be implemented to address serial ports of individual DAMs, but that would be really messy to handle on the software side.
 
Some musings: Maybe Soekris don't have measured differences because the contribution from shift registers internal resistance variance of "rds" (drain resistance) is "percentually" more than the 0.02% resistor array variance or averaging between sides
And since I have measured differences changing with discrete levels I suppose each shift register chip have a somewhat different rds (obviously). The cure? Make the resistor array with higher impedance (reducing the switch rds contribution), but this solution will have an noise penalty :mad: . Another option is to measure/select each shift register chip for internal "rds" :eek::rolleyes::D:) ... or use some 28-bit shift register :confused: , since at same chip we have better tracking.
This is only my :2c: about the R-2R ladder (I don't are a R-2R ladder expert), so please excuse some "potential" errors.

It's all a compromise.... The internal resistance in the LVC595 is significant, but typically don't varies that much from part to part.

The problem with higher value resistors is of course resistor noise, but more significant, the noise pulses due to parasitic capacitances will become higher.... Also, 0.01% resistors in 0603 packages are simply not that available in larger values.... And note that I already use lower rds LVC parts where other use HC parts, enabling the use of lower value resistors.

It's not practical to measure out the LVC595, that something you could do in a $10K product.... Also, there are no larger shift/latch registers, you could do a two step using shift registers and a separate latch, there are 32 bit latches.... But those 32 bit latches are usually bus driver types with different low and high rds, while the lvc595 have almost equal low and high rds.

But as I said in my first post long time ago, the end result was actually better than I expected....

In fact, with the new firmware and filters and the vref improvement, I would say the original project goal has been reached.
 
It's all a compromise.... The internal resistance in the LVC595 is significant, but typically don't varies that much from part to part.

The problem with higher value resistors is of course resistor noise, but more significant, the noise pulses due to parasitic capacitances will become higher.... Also, 0.01% resistors in 0603 packages are simply not that available in larger values.... And note that I already use lower rds LVC parts where other use HC parts, enabling the use of lower value resistors.

It's not practical to measure out the LVC595, that something you could do in a $10K product.... Also, there are no larger shift/latch registers, you could do a two step using shift registers and a separate latch, there are 32 bit latches.... But those 32 bit latches are usually bus driver types with different low and high rds, while the lvc595 have almost equal low and high rds.

But as I said in my first post long time ago, the end result was actually better than I expected....

In fact, with the new firmware and filters and the vref improvement, I would say the original project goal has been reached.

I fully agree here. The DAM current non-monotonicity level is below -100dB and no current study claims that heard it in fact. On the contrary, at least to my ears the sound is of excellent quality, and less hash than most Delta-Sigma types. I cannot detect "strange noises" even with very low level recordings (DAM is very good here). Also, I've heard several DACs that have non-monotonicity appreciably worse and some of them sounded good. Examples include the AD1860, AD1861, AD1865, TDA1545, TDA1541 "uncrowned", LC7881, etc, etc (and these are 16 bits!); also the PCM1704 have some "garbage" past -100dB...
Last musing: of course, I imagine that someone quite perfectionist would want to compensate for differences between the shift registers using separate and adjustable local PSU (at mV range) for each chip ... but as I said before, if someone wants perfectionism in measurements needs to make a sigma-delta DAC ...
 
@Soekris,

Tried to get balanced mode to work with two DAM1021s.

When each dac is separately preconfigured for bal-right and bal-left modes, the audio output seems to work properly.

Connecting together the isolated serial lines of two DAMs does not work. It is sort of possible to adjust volume using V-commands (works 4 times out of 5), but anything else produces garbage or no response. I guess the timing of DAM serial TX of the two devices is different enough to mess things up. Setting conspeed=9600 does not make much difference.

Is there any hope to get balanced DAM controls to work from a single serial port? In my opinion, I2C protocol would be a better choice for the isolated control lines. I suppose some hardware MUXing could be implemented to address serial ports of individual DAMs, but that would be really messy to handle on the software side.

Normunds, can you share more? I intend to work on this the following week when I get back. Did you just connect J3 of both boards together?

Best,
 
Chiming in on DIYBras comments ;

Measurements are great if they confirm what your ears are telling you otherwise what in the world have you measured and what difference does it make?

I think the DAM/R2R DACS are akin to so many revered "musical" components - their measurements are not stellar but you can enjoy listening with them.

Funny how the DAM measures well at low levels and has higher distortion at higher levels contrary to how digital works, as one said, we have traded low distortion at the highest levels for much higher levels at low levels, where we do most of our listening. Maybe the DAM is able to balance this out with its characteristics.

I am grateful for the new firmware/filters package but wish (like the latest BIG news story) it had not seemed to erase the vREF explorations to yesterday's papers.

This is nothing less than pure selfishness since I cannot work with smd with any proficiency. The components are removed and I was hoping one of the intrepid would have come to the best compromise conclusion and then I could get those components installed!

So as it is I remain DACless with the brier patch of analogue audio to pacify me. And for those who are familiar with the old UNCLE REMUS stories will realize that means I am perfectly happy. But damned curious to hear what happens next with the DAM.
 

TNT

Member
Joined 2003
Paid Member
In fact, with the new firmware and filters and the vref improvement, I would say the original project goal has been reached.

"I believe that the sound quality will be the absolute best, better than any Delta Sigma DAC, in class with discrete DAC's from totaldac and msb technology."

So I suppose You have had a recent opportunity to make a comparison with the named products above - what are the differences as you hear it?

//
 
Normunds, can you share more? I intend to work on this the following week when I get back. Did you just connect J3 of both boards together?

Best,

First, I made sure both dam1021 boards are updated to the latest firmware and have the same filter and volume presets. I set mode=bal-left on one and mode=bal-right on the other.

For the test I connected together isolated I2S input lines, ISO 3.3V and ISO GND.
Did not have volume pot, input selector or SPDIF inputs connected.

This worked fine and each dac produced correspondingly left and right channel audio with opposite phase signals on unbuffered outputs. So far, so good.

Isolated serial lines worked fine when used separately. Then I tried to connect both isolated DAM serial lines in parallel to control both dacs at the same time, which, unsurprisingly, does not work. RS-232 protocol is point-to-point, and serial ports can not be just connected in parallel, but that is the best interpretation of "parallel the inputs and connecting the isolated serial ports together" that I could come up with. Perhaps there is some clever trick Soeren had in mind that I did not think of.

Apart from any potential tricks or implementing I2C support in DAM firmware, I see two approaches to make it work - use multiple separate serial ports on the host controller, or have a hardware mux to address a particular dac from a single serial port. Some arduino models have several serial ports, but it is trickier with Raspberry Pi. Could try simply bit-banging GPIO pins, or use an I2C-UART chip to implement more serial ports.

Another thing to test is whether the lowered impedance of paralleled differential spdif inputs does not cause any problems. If the 300R resistor is not used, two parallel DAMs will result in 50 Ohm impedance, which will probably work with most sources. But there could be problems for the digital crossover crowd when paralleling more dacs.
 
Last edited:
...

Isolated serial lines worked fine when used separately. Then I tried to connect both isolated DAM serial lines in parallel to control both dacs at the same time, which, unsurprisingly, does not work. RS-232 protocol is point-to-point, and serial ports can not be just connected in parallel, but that is the best interpretation of "parallel the inputs and connecting the isolated serial ports together" that I could come up with. Perhaps there is some clever trick Soeren had in mind that I did not think of.

Apart from any potential tricks or implementing I2C support in DAM firmware, I see two approaches to make it work - use multiple separate serial ports on the host controller, or have a hardware mux to address a particular dac from a single serial port. Some arduino models have several serial ports, but it is trickier with Raspberry Pi. Could try simply bit-banging GPIO pins, or use an I2C-UART chip to implement more serial ports.

Another thing to test is whether the lowered impedance of paralleled differential spdif inputs does not cause any problems. If the 300R resistor is not used, two parallel DAMs will result in 50 Ohm impedance, which will probably work with most sources. But there could be problems for the digital crossover crowd when paralleling more dacs.

The plan is to daisy chain the serial ports, the echo of all commands should make it possible. Then use volume pot and input selector on the first one in the chain....

Paralleling the I2S and Toslink inputs are easy, SPDIF might require buffering....