Soekris DAC: Modding VRef
MUST DO MOD?
As it turned out, the implementation of the 4V reference voltage in the Soekris DAC has been found to be sub-optimal. Fortunately, thanks to experiments and measurements by industrious individuals of the audio diy community, Soren, the designer of the DAC, has reviewed the design and has proposed an official “factory” mod which is fairly easy to do.
Thus this “mod” seems to be a “must do” in order to achieve the intended designed performance of the DAC, but to many that have been already satisfied with the sonic signature of the DAC, this mod would definitely improve the enjoyment department.
4V (and -4V) REFERENCE
In the Soekris DAC, there are 16 LVC595A shift registers (chip markings indicate that it is an NXP LVC595A [link]).
The diagram below depicts the pin description. We are interested in finding out how Vref is related to the shift register.
A shift register outputs will be either VLow (0V) or VHigh (VCC) in accordance to the serial data input and clock. Q0 to Q7 are the outputs of the device.
According to these posts [link], [link], the shift registers provide the voltage source to the resistor ladder. These devices “drive” the resistor ladder to convert the digital signal into an analog signal. In order to further understand this concept, lets look at the basic configuration for an R-2R DAC network show below:
For this 8-bit example, D0 – D7 are the 8-bit digital value to be converted to an analog output and can have two values: VLow, representing the digital value “0”); and VHigh, representing the digital value “1”. In a typical implementation, VLow = 0V and VHigh = Reference Voltage
It can be seen from the circuit diagram that for a “0” input (VLow), the output is “0” and for a “1” input (VHigh) the output will be some fraction of the Reference Voltage determined by the equivalent resistor divider connected to that particular input. In the Soekris DAC, the outputs of the shift registers are connected to the inputs of the resistor ladder as shown in the following photo:
We can therefore see that the reference voltage is the VCC of the shift register. It follows that in the Soekris DAC the quality of the VCC is perhaps the single most important factor affecting the quality of the output signal because this voltage is directly applied to the resistors in the ladder.
In most DACs, the quality of Vref is directly related to the quality of the output signal. In terms of measurements, this is expressed in the THD numbers.
As an example, the datasheet of the new AKM 4490Q DAC, shows that improvements to the Vref can be accomplished by adding capacitance to that pin. The datasheet shows a THD measurement diagram with increasing values of capacitance applied reference voltage pin:
Notice that continuous improvement to the THD performance is obtained with increasing capacitance. Even if using more than 2200 uF.
It follows that one can safely assume that increased performance in the Soekris DAC can be had by using large value capacitors to bypass the reference voltage.
Indeed, power supply mods and experiments shared by “alecm” at the diyaudio forum shows both audible and measured improvements when Vref is bypassed with a large size capacitor. In fact, “alecm” showed that the reference voltage is far from clean and that it exhibits a fairly large ripple modulated by the input signal [link]. The maximum ripple was measured at 6mV (0.15% out of 4V). We can see that this is 3X the deviation contributed by the lowest grade resistors which is 0.05%
The following traces (borrowed from the diyaudio forum post) show the before and after mod comparison of the reference voltage Vref.
In the words (paraphrased) of alecm, the mods provided:
- Deeper soundstage
- Greatly increased dynamics
- Increase in resolution and details
Implementing the mod
To facilitate modding, Soren provided the location of the output capacitors for the +/- 4V references and their polarity markings [link]:
Soren has also provided some recommendations [link]:
- The Vref buffer design are unconditional stable with large capacitance, so you can hang on as much as you want, but 220uF to 470 uF low ESR / polymer on each of the four Vref supplies is a good choice.
- It’s unnecessary to add multiple smaller capacitors as the PCB have power planes with smaller ceramics at each ‘595 shift registers
- You can also get 47uF X5R 6V3 ceramics in 0805 size, easy to stack on top of existing capacitors….
- Please don’t try external Vref supplies, they’re not needed and the risk to ruin your board is great.
Because Vref has been designed to be stable with “as much capacitance as you like”, I will implement this mod by adding capacitors at each VCC pin in order to increase the capacitance and also for the fun of it.
If we follow the polarity of the +4Vref and of the -4Vref to each shift registers, we find the following:
Notice that for the bottom row, the VCC pin of the shift register is connected to +4Vref, and this is where I will install the larger capacitor. In the upper row, the VCC pin of the shift register is connected to GND. Assuming a solid ground pin, there is no need to install a capacitor here. Instead, the ground pin of the shift register is connected to the -4Vref. Here I will install the larger capacitor. The photo above shows one channel of the board. The other channel is built exactly the same.
I have a number of 330 uF, 6.3V OSCONs that I picked up from industrial surplus. These have the leads cut (I think) for automated board stuffing. To solder them to the VCC capacitors, I need to extend their leads. More on the OSCONs here [link]
TIP: In the past I had piggybacked electrolytic capacitors on top of the ceramic capacitors and with just a slight bump to the electrolytic, you can inadvertently detach the ceramic capacitor from the board [link] -so you must be extra careful if using this method.
The extension wires are thin enough to fit through the power and GND vias. This way I can glue the capacitors to the back side of the board and bring the leads to the front side through the vias. I used some thin insulated wire (after stripping the insulation). I don’t know what gauge but they fit both the small vias (output capacitor of Vref buffer) and large vias (shift register’s VCC capacitor). You can also use the single strands from stranded wiring.
I used double stick tape to glue the capacitor to the backside of the board. You can also use a hot glue gun to affix the capacitors.
Bending the wires closer and in contact with the ceramic capacitor to facilitate soldering. Actually I measured continuity and the wires already make contact through the vias. I don’t think it is possible to solder the wires to just the vias, surface tension and solder mask may prevent good flow and contact.
Add flux (this is a must to allow the solder to quickly flow to the intended location):
And carefully solder the wires to the ceramic capacitors (practice with an old board if you are new to soldering SMD devices). Thin gauge leaded solder works best. There maybe some appeal for lead-free or silver loaded solder but those are harder to work with – not compatible with amateurs like us. Just wash your hands well afterwards 🙂
To get professional results, I use Isopropyl alcohol (rubbing alcohol) with an old toothbrush to clean up the flux afterwards.
Here are the 8 capacitors for the +4V reference:
Note that this is the “best” we can do with a capacitor mod to “clean up” the reference voltage. Whatever we do to ensure a clean reference voltage is limited to what happens inside the shift register. A shift register is designed and specified to switch between two voltages: a high voltage corresponding to “one” and a low voltage corresponding to “zero”. They are also designed to meet a minimum switching speed, but the outputs are not specified to meet a precise voltage, but rather just a minimum voltage for VHigh and a maximum voltage for VLow. It is amazing that this DAC works so well given the fact that it is implemented with shift registers.
The OSCON capacitors I used are old stuff. The company ended manufacturing of those models in 2011. New technology uses solid conductive polymer (rather than Organic Semiconducting Polymer -where the name OSCON comes from).
Newer capacitors have even better performance with respect to low ESR and are very inexpensive. For example the following Nichicon FPCAP R7 Solid Polymer [link] at $0.50 in quantity 10 for a 16V 330 uF, ESR=7 mOhm.
Here is a comparison of FPCAP with conventional electrolytic capacitors
UPDATE: Circuit Simulation
The result shows the expected peaking:
Further improvements can be obtained by (comments section of part3):
Stock+1000uF has a fairly big noise gain peak around 3.67KHz. With the load oscillating at that frequency the ripple is 3.595mV. If the load is oscillating at 1KHz ripple is 0.169mV. It will basically follow the same trajectory as the Stock+470uF plot with a lower peak frequency.
Factory Mod +1000uF the sim’d ripple at 1KHz is 1.006mV, while at 3.67KHz it’s 0.510mV. The worst case with the FactMod+1000uF is 1.226mV at 100Hz, which is about 1/3rd the worst case ripple of stock+1000uF.
If you wanted to tweak a bit, try replacing the 0.1R resistor with a 0.01R. There will be a very small amount of peaking above 10KHz but using the 0.01R should cut the ripple quite significantly.
UPDATE: FACTORY FULL MOD
Soren published the official recommendation for modding for Vref [link]:
- The output capacitor of the buffer, can be paralleled (increased) as much as desired, but a single 47uF X5R 0603 capacitor is sufficient and will fit nicely on the board.
- The output series resistor needs to be much lower in the order of 0.1 ohm and it is used to eliminate a small peak at the output. This can be done by adding a 0.1 ohm resistor in parallel with the existing 10 ohm resistor. A 0.1 ohm 0603 SMD resistor would fit nicely.
- The feedback capacitor is to be removed from the feedback loop by shorting it with a wire or with a 0.1 ohm 0603 SMD resistor [link].
The result in less than 1 mV p-p ripple independent of frequency; with no peaks or changes in voltage precision. It is also what the next production series will look like.
Happy about #1. This is the same as the capacitor mod I have done and good thing that increasing the capacitance as much as desired is OK. I didn’t want to remove some of the capacitors I put in as the mod looks real cool :-).
Recent measurements [link] have shown that the performance (ripple reduction) of this mod can be further improved by adding more capacitance beyond the the recommended 47uF. Glad to know my implementation of the mod is not just for looks :-).
Advantages of this mod
I can think of the following additional advantages of this mod over the recommended factory mod:
- Smaller effective ESR by paralleling several capacitors
- The VCC pin of the shift register is the 0ptimal location for the added capacitor (even though the solid power plane allows installing the capacitor away from the VCC pin)
- For multiple capacitor installation, this is the best “mechanical” approach. It would be hard to mount multiple capacitors at the location of the buffer output capacitor.
For #2, this requires ordering resistors from one of the part shops. Not a common size to find in recycled boards. Got to put a larger order. Not worth paying shipping for a few SMD resistors. Maybe there will be more improvements from the diyaudio community. I’ll wait a little while on this one.
For #3, a wire short will do. This makes a buffer a simple voltage follower. I think this would be easier to do than soldering the 0.1 ohm SMD resistor: bend the wire in U shape, put some solder on the ends and reheat the solder when placed in contact with the ends of the capacitor. This will have to wait for #2
Is #1 alone good enough?
More measurements shared at diyaudio [link] shows the results of different mod iterations. In particular, the stock buffer with 1000 uF of output capacitance compares favorably with the factory mod with 1000 uF. In fact, except for a “bump” at around 4KHz, it has lower noise in frequencies below ~3KHz. Thus the question: is adding 1000 uF to the stock buffer good enough?
I over-imposed several traces to compare the the mods in question:
In this graph, the stock+1000uF is ~20 dB lower noise in the 1 KHz component than the factory mod+1000 uF. Only the components beyond the 3rd harmonic (4KHz and beyond) are slightly higher.
Another set of measurements show a similar result [link]. I believe this mode refers to this cap configuration [link]. The results are pretty similar to the adding of capacitance to the stock buffer’s output capacitor. Notice the “bump”.
Further measurements [link] shows that by increasing the added capacitance from 1000uF to 2700 uF on the stock buffer, the bump is totally eliminated:
Looks like I will leave my mod (which is just adding capacitance to the stock buffer configuration) as-is for the time being. I’ll see what further results can be had from further experimentation.
Soren offers these options for VREF mod:
There are basically two way to good result:
1- The official modification with 0.1 ohms resistors and 47uF capacitors, all smt parts which can be a little tricky to solder…. Afterwards, you can add additional large capacitors, any type. But I admit that soldering 0603 smt parts are not that easy, so:
2- Just add large enough electrolytic capacitors without changing the smt parts, simulations show the best result with 3300 uf low impedance electrolytic on each rail, just your regular good caps, you don’t want their impedance to get too low, 40 mOhm is perfect for the 3300 uF.
There are an additional internal power supply impedance in each LVC595 shift registers, I have measure 0.3 ohm. That mean that there is really no reason to get the vref impedance insanely low….
JUST THE BEGINNING FOR VREF?
I think effectively, this mod brings the reference voltage implementation to the same level as the initial factory recommendation from ESS for the Sabre DAC and implemented in the BI DAC[link]:
The implementation of the critical analog supply, the AVCC, was as recommended in the ESS application note [link] with DVCC is used as a reference to the regulating opamp. This configuration provided a low impedance supply to the analog pins [link]. But he main drawback was the pretty nonexistent PSRR (power supply rejection ratio), so the PSRR of the analog supply was pretty much the PSRR of the DVCC that was used as the reference [link].
So maybe there are more improvements to be made.
However, there are unique challenges in the Soekris DAC to consider: the Vref needs to be of dual polarity and track each other. Another thing to consider is the question of how accurate the reference needs to be when the resistors cannot be more accurate than 0.01%. Further, there are also inaccuracies to the voltage applied to the resistor ladder introduced by the shift registers. So perhaps the current design is optimal at this point in the sense there are no performance bottlenecks nor performance overkill anywhere in the circuit.
Check out Filter-Meister Paul’s blog [link]
Another 16-cap implementation [link]
Yet another [link]
One more [link]