DIY Discrete R-2R Ladder DAC: Serial Data Demultiplexing

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Thanks everyone for your advice, I guess my first step now is to use a sample and hold amp to de-glitch my DAC. Any suggestions on what Mosfet or what value capacitor I should use? or should i just use a sample and hold amp IC?

I am currently using 1% 150Ω Kamaya resistors as R and 1% 300Ω as 2R, switches are the internal buffers in the 74HC4094 Shift-and-Store Register IC. I don't really have a problem with the linearity with the 1% resistors but the sound is unbearable with the glitches. (Well mainly because i am a high school student and budget is tight, can't afford better resistors :( )
 
Last edited:
I think it is a dead end. Why? Because of what you can afford.
You could buy a bunch of them and sort what you need. Usually, in that way, you can get some 10% of them in 0.1% tolerance. Of course you need at minimum a DMM that can differentiate between 299.7 and 300.3 ohms (4-1/2 digit). And it will give you a DAC with 8 bit accuracy.
1% that you have now give you less than 7 bit accuracy.

It's better to get a hold of a real R-2R DAC (Analog Devices, Burr brown). The 16 and 18 bit ones are not that expensive.
 
I think it is a dead end. Why? Because of what you can afford.
You could buy a bunch of them and sort what you need. Usually, in that way, you can get some 10% of them in 0.1% tolerance. Of course you need at minimum a DMM that can differentiate between 299.7 and 300.3 ohms (4-1/2 digit). And it will give you a DAC with 8 bit accuracy.
1% that you have now give you less than 7 bit accuracy.

It's better to get a hold of a real R-2R DAC (Analog Devices, Burr brown). The 16 and 18 bit ones are not that expensive.


I concur, for once, with Sonic.
 
I see, I am now thinking of using the DAC0800 from national semi, but is it possible for me to cascade a few of them them to make 24-bit? since i see that in the internal diagram is a current-output R-2R and all the current switches are connected to the same wire.
 
Last edited:
Last edited:
Ok, my goal was to design and build a discrete (more or less) DAC to see how it performs compared to the highly integrated DAC chips. (e.g.PCM1798 which I am currently using).

So now I found out that i need lots of high precision resistors which i cannot afford, I decided to replace the R-2R ladder with the DAC0800 IC which is basically just a R-2R ladder inside a IC package. The problem is that the DAC0800 is only 8-bit and i want to know if i can cascade a few to make 24-bit.
 
I admire your ambition and perseverance! And, even if you produce something that has only mediocre performance you will gain tremendous amount of understanding, and respect for the subtle details of this device.

. . . (Well mainly because i am a high school student and budget is tight, can't afford better resistors :( ) . . .
Digikey claims to stock 0.1% tolerance through-hole resistors for about US$25/100 pieces. That compares to around US$5 for 100 pieces of a comparable 1% part.

. . . Of course you need at minimum a DMM that can differentiate between 299.7 and 300.3 ohms (4-1/2 digit). . . .
In this application, the absolute value of the resistors isn't nearly as important as the MATCH between the resistors. I would start by using any 3 1% resistors as 3 arms of a Wheatstone bridge, and use my DMM on the millivolt scale (or perhaps the milliamp scale) as a balance detector. Again, you're looking for match, not absolute value, so sort your resistors into groups like "-1 mV to +1 mV unbalance", "-3 mV to -1 mV unbalance", "+1 mV to +3 mV unbalance", etc.

With a volt or two as the bridge excitation you should be able to identify a group of resistors that are matched within a fraction of 1%. Using these as the arms of a new bridge, you should be able to refine the match precision down to better than 0.1%, perhaps 0.01% - that's getting into the 12-bit accuracy range or better.

You are hampered by your low impedance level (150 ohms). The bridge excitation voltage needs to be low enough that the bridge elements don't dissipate much power. Higher resistance values will allow you to use higher bridge voltages, making the balance detector proportionately more sensitive.

Rather than use separate values (150 ohms and 300 ohms) for the "R" and "2R" values, I would use all one value of resistor and place two of them in parallel (or, if you prefer, series) to create the 2:1 value ratio. If you sort values as I describe above then connecting two parts from the same group will create a part with an accurate 2:1 ratio with respect to single parts from that group.
 
The reason I have chosen such a low resistance is that I thought it would help stabilize the voltages in my ladder using a higher current, this will also decrease the ladder's output impedance thus making it easier to drive the next stage. At least that is what I thought when designing this DAC.

I currently have a desktop multimeter (is that what DMM stands for?) with 5 digit precision so I guess I could just measure the resistance normally.

Have anyone tried using simple R-2R DAC chips like the DAC0800 for audio applications?
If so, would you mind sharing the experience?
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.