Modifying CD player DACs to feed a current to voltage resistor instead of a virtual ground provided by an op-amp

Why tubes, and why no op-amps? Tube circuits tend to modify the sound of the audio signal in pleasant ways. They introduce a small amount of 2nd harmonic, which (at around 40 to 50dB down) is said to be "musical". What you don't want to hear is the 3rd harmonic, which sounds "harsh" and is not at all "musical". You want that down at least 60dB. Push-Pull amps tend to cancel the 2nd H but sum the 3rd H, which may explain the popularity of "single ended tube" (SET) amps. In any event one has to avoid getting too much (above around 60dB) intermod distortion, which also sounds bad. But a small amount of 2nd H can sound nice. Tubes handle excess peak signals better than solid state, but excess peaks can't happen inside a CD player. As the CD medium itself has a hard and fast peak signal capability limit. Not like say a microphone amp in a recording studio. But tubes in a CD player are still worthwhile.

As for op-amps, some can sound bad even though they spec great. The specs are in relation to peak signal amplitudes, but music has low level intervals. Things like crossover distortion can crop up badly at those points of time. The usual op-amp output stage consists of a complementary or quasi complementary pair of transistors in class B. The heavy amount of feedback tries hard but can't get rid of all the crossover distortion. Especially if the op-amp has significant open loop phase shift at audio frequencies from input to its output. Some have 90 degrees of open loop phase shift at audio frequencies. Phase shifts can move parts of the waveform around in terms of time and that can make the characteristics of the feedback loop become rather "interesting". The feedback signal can arrive at the wrong times to correct the errors completely. Crossover distortion problems tend to be very true of any op-amp that is designed to consume a minimum of power. Op-amps designed to do class AB should have less of this problem. Some op-amps benefit when forced into "single ended" class A mode. Drawing or sinking a more or less constant current from or to the op-amp's output will do that. That would get rid of the crossover distortion issue. Just be sure the op-amp doesn't run out of current ability. The tube circuits in this web page don't use any feedback other than that small amount you get internally in triodes. No "fun" feedback loops. Another issue with op-amps used as IV converters is that of slew rate (as pointed out by Lynn Olson). Or lack of enough thereof. Current output DACs produce spectral energy upwards to around 30MHz or even higher, depending how you measure it. Most op-amps you find in CD players have a slew rate of around 10V/usec, but the DAC here would need an op-amp that could do 1000V/uSec. The op-amp inside the PCM61 DAC chip has a slew rate of only 12V/uSec. With the slow slew rate op-amp the virtual ground the DAC is feeding stops being at ground until the op-amp slews its output voltage to draw the current thru the feedback resistor to get the virtual ground back to zero volts. You'd see triangular voltage spikes of a few volts during the time the op-amp is slewing. And the slope is pretty constant, so the area of the trangle would vary non-linearly against differences of the size of the signal step out of the DAC. This trangular region you see on the virtual ground is essentially that you find missing from the op-amp's voltage output. A possible solution to this would be to use a high speed op-amp in place of the original op-amp. Op-amps designed for video work would be good for this. You want an op-amp with a very high slew rate specification. But what fun is that if you don't use vacuum tubes....

Down below is a transformer circuit to both boost audio voltage for the output jacks and to keep the DAC loaded so it stays in its linear region. No tubes or soild state in the analog path.

Down below that is a CD player with tubes as a current to voltage converter

Down below even that is a CD player with tubes as a I-V resistor preamp

And a CD player with direct heat filament tubes

An advantage of modifying a CD player vs. building a separate "DAC" box is that there would not be any jitter noise issues due to the PLL the separate box would require. The CD player has a master crystal oscillator that the internal DACs are clocked off of. Crystal oscillators that are free running are quite jitter free. The transport (here I am talking about the mechanical device that holds and spins the CD, and has the laser and the digital signal demodulators) is driven by servo loops that maintain a reasonably constant stream of digitized audio off the CD itself. Any timing variations are removed by a FIFO stage between the transport and the DACs. You could tap this master clock oscillator and use it instead of the PLL in your separate "DAC" box to avoid jitter, if you decide to go that way.

A lot of DACs expect to send current into a virtual ground. Which is provided by an op amp. The reason for the virtual ground is that many DACs make an analog current that must be pumped into a virtual ground. Most DACs use an R-2R ladder of resistors and switches. Depending on which way these resistors and switches are hooked up, the DAC may or may not like running into a load resistor used as a current to voltage converter.

There are two ways of doing an R-2R ladder DAC. One way is the configuration of the type in Fig 1. The I out pin in this case has a constant impedance of R for all possible data words. It looks like a variable voltage source with a Thevenin equivalent resistance of R. The data sheet of the Burr Brown PCM61 (the DAC in the CD player I was hacking, it's obsolete but TI makes similar ones, such as the PCM56P) specifies R as having an impedance of 1.2K ñ 30%. The PCM61 chip appears to use this configuration. I found that a 1K resistor to ground yields a linear signal of 1V peak to peak. The data sheet mentions a glitch spec of 360ns when using a 1K resistor on the I out pin. So this would appear to be a valid design. Adding a small cap of 4700pF to ground to filter clock noise (the CD player uses 4X oversampling) and another cap to the output terminals works fine. You could instead use a T network of a pair of 1mH coils and a 3300pF cap between the DAC current output pin and the 1K load resistor (values not critical) per channel for better filtering (about 12 to 15dB down at 176KHz than without). You want to avoid this supersonic clock noise from intermodulating in your amp. So I don't need tubes or solid state for the analog audio! The impedance thus will be 545 ohms, which should be plenty low enough to drive the audio signal thru any interconnects you use. The audio would feed directly from the output RCA jacks to your favorite tube amplifier line inputs. Can't do better than that! (I assume that 1V p-p audio isn't too low for the amp. If it is, you could build your favorite tube voltage amplifier stage to bring it up.) Other DACs of this type might have ESD diodes that might clip the voltage swing to a lower value. Data sheets don't usually mention what style of R-2R ladder is used, but if there is a spec for impedance for I out, it's a good bet it's this configuration.

The other configuration of R-2R ladder DAC (Fig 2) does not have a constant output impedance.

It can only work correctly if it feeds into a virtual ground. The reason for this configuration is that it places a constant load on its voltage reference. See Fig 21 and 22 for an example of the errors of this kind of DAC when you try to use it with a load resistor.

Here's a simulation of this sort of DAC, but with just 4 bits. You can see uneven steps in what should be a sawtooth wave in the first plot below. Here the DAC was feeding into a 1K ohm I to V resistor (a bit big, but done for clarity; even a realistic 100 ohms would have audible distortion). Note that the distortion isn't a smooth curve; some steps have bigger changes than others. Some are backwards! This creates a rather hashy sound. What is doing this is the fact that the R2R voltage divider's various tap voltages are no longer constant, as the loading on them are now varying. Here 8 is digital word 1000, and 4 digital word 0100.

The next plot shows the same DAC feeding into a virtual ground of an op amp. Here it looks linear and not distorted.

Now if your player uses this sort of DAC, then you need the virtual ground. Or change the DAC, but that is beyond the scope of this page. If you do decide to go that way, you'll have to find DACs that can accept the particular format of digital signals (one of various flavors of parallel or serial data streams) the old DAC used. Depends on what the other digital chips on the board did with the signals after they got them off the disc, where the CD audio format standard resides.

Delta sigma DAC's (sometimes called "1 bit DACs") should easily interface with tubes, as long as there is no analog buffer/filter op amp in the audio path inside the chip. These have either a voltage or current switch "high or low" that is switched at a very high rate. Some even specify a current to voltage resistor on the output (which works out great for us). And it is expected that there be a low pass filter to average these out to get the analog signal output. An RC network should be enough to do that. Some DACs use a combination of resistor ladders and delta sigma circuits. These would have the same issues as the regular resistor ladder DACs above.

Using a transformer to both boost audio voltage for the output jacks and to keep the DAC loaded so it stays in its linear region.
Another Magnavox player used the TDA1541 DAC chip (16 bits). It too is a current mode analog output, but it didn't like load resistors of even 500 ohms. It did seem happy with 30 ohms, but that makes for a very small signal voltage. Another approach is to use a good quality audio transformer. I had some surplus mil spec type audio transformers, rated 15K primary, and a secondary with 600 and 150 ohms centertapped, and a freq response of 20 to 20K Hz ñ2dB. That would stop the sampling clock noise from reaching the output jacks. One winding with 5 connections. If I use the connections for one of the 600 ohm and the closer one for 150 ohms, the impedance comes out to about 37 ohms. The specs printed on the side of the transformer say that from the centertap to one of the 150 ohm leads is 50 ohms. That doesn't quite jive with what half a 150 ohm impedance winding should be (150/4) so these are approximations. So out comes the scope. The DAC is producing a voltage of 100mv p-p on the selected portion of the secondary, and the primary, which I loaded with a 10K resistor, yields 1.7V p-p. After working out the turns ratio and squaring it, that results in the DAC seeing 34 ohms impedance. The DAC is spec'ed as producing 4 ñ0.6ma full scale to zero scale zero ñ a few nAs. So if my DAC is actually producing 3.4ma full scale, that would yield 115mv across the 34 ohm impedance. That's pretty close to what I observe. The spectra I took indicate very linear outputs. The noise floor is actually better, but my soundcard clips before the full 16 bit input is used, 12 dB down.

I continue here assuming the PCM61 DAC was the "wrong" type, the one requiring the virtual ground. Though you're better off if you can get the "correct" style of DAC.

A tube circuit for use with CD player DACs that output current into a virtual ground circuit (work in progress)
I thought I could use a grounded grid triode like that, feed current into the cathode, and pick off the audio voltage off a load resistor on the plate. But the cathode doesn't act like a good virtual ground. Looking at a cathode follower, the gain is a bit lower than unity, IIRC something like (mu-1)/mu. Looks like I'd need some feedback (heresy!) to "pull" the cathode to create the virtual ground.


Oscilloscope viewing the tube circuit output. There is a 10K load resistor to ground from the output cap. Source is a test CD with a full amplitude 440Hz triangle wave. I drew a white line on part of the triangle wave to show how linear this circuit is (some computer monitors may present a geometrically distorted image).


See the diagram above with what will work to create a virtual ground for the DAC with a pair of triodes. The DAC in the CD player I hacked is a pair of Burr Brown PCM61P's. It's obsolete now, but similar ones are still in production. The DAC feeds the cathode of the first triode. A 620 ohm resistor sourced from a negative supply of 0.75V sets a quiescent current thru the tube. The DAC here produces a current of ñ1ma according to the audio waveform. We need to keep this cathode held to 0V (virtual ground). But if we just tied the grid to ground, the cathode would vary in voltage. So I intend to vary the grid voltage to counteract this. I have another triode with its grid connected to the first triode cathode. The second triode has its cathode biased at +0.75V. Any deviation from virtual ground by the first triode cathode will cause the second triode to amplify this error. And then I feedback (!) this amplified error to the first triode grid to counteract the deviation from virtual ground

The purpose of the diodes is to provide fixed bias for the 2nd triode. All the current for the first triode comes from the negative return of the power supply and the DAC, so the diodes won't see any of that current. The other triode is running at around 0.3ma plate current and that does pass through the diodes. The signal variation on that plate is on the order of a volt, so that would mean a current variation of 3.7uA. But I have 10ma passing through the diodes to develop a good firm bias from them. 3.7uA should have negligible effect on the bias voltage across the diodes. I could add bypass caps across each diode to divert any variation current from the diodes, but it seems not necessary.

One issue I have not adequately addressed yet is long term stabilization of the virtual ground. If the virtual ground's DC voltage drifts much from the ground the DAC is using for analog ground, distortion would occur for DACs of the style shown in Fig 2. Perhaps an op-amp (?!) that measures the low passed filtered difference between real analog ground and virtual ground could be used to issue a correction DC voltage to bias the first triode's grid. Maybe a megohm resistor from virtual ground to the inverting op-amp input, and a 1uF cap to analog ground. Right at the op-amp chip to avoid "antenna" pickup of noise. The non inverting input tied to analog ground. The short term audio frequency correction waveform for this grid would still come from the other triode. So the audio signal wouldn't "see" that bad 'ol op-amp.... I haven't tried this yet. Maybe I could put that op-amp inside the DAC chip to this use.

I built it and tested it. Once I realized I grabbed a 12AU7 (doh!) instead of the 12AX7 I intended, and added a resistor to B+ to pass about 10ma quiescent thru the diodes, it works pretty well. I simulated the DAC current by using a 10K resistor off the 6.3VAC into my virtual ground. I get about 20mV p-p of deviation from a good ground on my virtual ground. I'll have to figure out if that is good enough or not. That's +-1ma of DAC current (peak, not RMS) with the 10K resistor from 6.3VAC RMS. If the DAC is switching resistors in and out from a 3V internally regulated supply, and the low is all resistors off for the -1ma, and all on for +1ma, the 20mv error would be a bit less than 1% error. I suppose that would be acceptable.....

Now that I have connected it up to a CD player with the Burr Brown DAC, which has a current output, it sounds very good. I wired the now unused op-amp inside the chip with the resistors to keep it from making noise.



A Tube As a Preamp to Amplify the Signal on the I to V Converter Resistor

I decided that I wanted more line drive, so I used a 6112 twin triode subminiature tube. The DACs outputs are filtered to remove clock noise, and then directly feeds the grids. I added another pair of 150 resistors at the grids to ground, as the original DAC voltage swing was a bit too big for the triodes to handle linearly. This makes for loads of 130 ohms. The filter component values changed from the above. Yes, those are TV peaking coils I used. (Be mindful of ESD getting into the DACs, I blew one up that way (DUH!). I found that the PCM56P (still in production but only 16 bits) also works well here. I used them until some replacement PCM61P's come in. Had to use a 74S374 configured as a pair of digital delay lines to get the top 16 bits of the 18 bits in the '56's correctly. See timing diagram down below. That's that kludge of sockets and wires under the tube in the picture below.) The '61's just arrived and I took the kludge out. 150 resistors unbypassed in the cathodes are used for cathode feedback. 22K plate resistors then feed into 1uF poly caps. You can see where we are operating on the 6112 tube curves below. And there are resistors from the output jacks to ground, mainly to charge or discharge the coupling caps. This is to protect the inputs of a stereo amp from seeing transient bursts of B+ thru the caps upon power up or power down.
6112 data sheet GIF and PDF


Most manufacturers use a virtual ground op-amp stage for the load on the current output DAC chip. One manufacturer, Rotel, used nearly a hundred ohm resistance from the PCM63's Iout pin 6 before it gets to a virtual ground. Resistors 301 and 303 (diagram below). This tells me that using a resistor for I/V conversion with this DAC chip is valid and should work just fine, with no distortion. Presumably the designers of that manufacturer had access to more info from BurrBrown/T.I. than just the data sheet. And it worked well enough when they did pre production testing. The caps 301 and 303 would act to divert ultrasonic currents to ground. Acting as low pass filters.

Thus it should be perfectly valid to be able to use a hundred ohm resistor to ground for the I/V conversion, and then feed the resulting voltage into your favorite pre-amp circuit, be it transistor, op-amp, or tube to get it up to line level to feed to your audio amp.


Now lets add a tube headphone amp (could be a 6FQ7):
BTW the 6FQ7 and 6CG7 are nearly the same as the 6SN7 electrically except the 6SN7 can take higher B+. Also I found that the distortion products in the 6112 could be reduced by about 10dB by operating its cathode at about 220mv bias. That's the 3K5 resistor from the cathode to a -5V supply.

You can run an 8V heater tube from a 12V AC source if you wire the heater in series with a rectifier diode without any filter capacitor. Don't forget, power is volts squared over resistance, and the diode cuts the power by half.
Operating the 8FQ7 here:

I also redid the power supply. A power transformer from my old "ugly 6KY8 amp" is mounted on the back and supplies 140VAC to feed a voltage doubler. Also 6V for the 6112 and 12V thru a resistor for the 8CG7/8FQ7. The pass transistor is one meant for horizontal output service in TVs and monitors, and can take high voltage. This transistor isn't really a regulator, it's more of a filter cap multiplier.

And some test results:

The DAC's output, 6112 grid:

These are the line output (6112 plate) (I need better power supply filtering here, lots of 120Hz harmonics):

These are the headphone amp output at the headphone jack:
About 0. 32% 2nd harmonic into the headphones.

And an IMD test (1KHz and 1.1KHz tones) full amplitude (DAC output, line output and headphone jack):

Looks to be about the same THD distortion as above...

Here I changed the 8FQ7 to a 12AU7. The 12AU7 is quite similar except for lower plate dissipation.

Here I redid the DAC tube preamp into a "SRPP" circuit. Uses a pair of 6111 submini tubes. These tube shave a mu of 20, gm of 5000 and plate resistance of 4K. This circuit offers lower output impedance and lower distortion. Measurements show the 2nd harmonic around 58 dB down and nothing else above a lower noise floor than those above. Output level is lower than with the 6112, but is cleaner. If you need to, use a lower noise from the heater tube for the bottom tube. As these are twin triodes, one tube is used for the bottom left and right channels, and the other twin triode used for top left and right channels. Using sockets like I did here allows tube rolling. A noisier tube can be used for the top tube.
6111 datasheet PDF


Here is an Onkyo DX 1400 cd player that uses the same DACs as above. I installed the I-V converter resistor and 6112 triode line stage, but no headphone amp. In an attempt to make this CD player sound more like vinyl, I added an 8 Henry choke between the left and right output jacks. Record companies cut stereo records such that bass frequencies below about 200Hz were mono. But with some phase shift between the two channels. This was done to reduce tracking problems on records that would have had a lot of bass in one channel. This circuit creates about 40ø phase shift at 100Hz. The output impedance is about 7K, so any reasonable amp's input impedance should have little impact here. The new power transformer is one commonly used for small tube projects, 125V at 15ma; and 6.3V at half an amp. The power supply filter is a board that used to live inside a switching power supply, and has a bridge rectifier and two 680uF caps and 1K resistor in a pi configuration. Produces well filtered 175VDC. The mounting location was mechanically convenient.


Using a filament tube in the CD player (DHT audio!)


I modified an old CD player by installing a filament tube to take the DAC's output and amplify it to line level. The machine I modified was a "Fisher" AD834. Nearly the same internals as the Yahama machine that was my first CD player I bought in 1984. It uses a single DAC chip, a Burr Brown PCM53V for both channels. 2X oversampling. Subsequent circuitry separates the left and right channels. Not a great test bed, but I figured I'd make it a mono CD player. Looking at the DAC chip's output, you'd see alternating left channel and right channel audio levels at 176.4KHz rate (twice the 2X CD sampling rate of 88.2KHz). This would look somewhat similar to the waveform seen at the FM detector of an FM stereo receiver as it feeds the multiplex decoder. Differing frequencies though (88.2Khz instead of 38KHz). So if I low pass filter the DAC chip's output, I'd get L+R aka mono. This low pass filter then feeds the tube's grid 1. Ideally I'd use the current output version of this DAC, but as I can't find any I just used a resistor voltage divider to reduce the audio signal voltage feeding the grid to 200mV p-p. The tube, a submini directly heated pentode 5678 is connected as a triode. The audio output is taken off the plate and G2 circuit thru a coupling cap. B+ is around 110V. This tube is designed to expect DC on the filament applied in a specified polarity. The G1 grid is designed to expect some portions of the filament to be more positive than others, but to draw equal amounts of current throughout the length of the filament. Thus the polarity spec that pin 3 is the negative filament supply, and pin 5 the positive. I used a 5V regulator chip to provide filament current but thru a pair of resistors in series with the filament in the middle. This provides bias for the tube of 1V, to produce plate current of around 1.8ma. Using a custom burned test CD I tested this circuit with full amplitude sine waves to see how much distortion. I see about -54dB of 2nd harmonic, and no 3rd harmonic. Though there is a little 4th harmonic. But it sounds good. Only thing is that these small filament tubes don't glow... Use a pair of these circuits for stereo, and current to voltage converter resistors with current mode DAC chips for real work. Data for the 5678 tube can be downloaded from:
Frank's page and also at Frank's


Here I reworked the Fisher player above. Took out the filament tube. Decided that I could work with the op-amp buried inside the DAC chip (PCM53-V). This is a DAC chip where you can't escape the op-amp. One DAC to feed into a pair of sample and holds to split the two channels apart. The summing node is available but there is an internal feedback 10K resistor. But if I hook up a cathode follower stage between the op-amp's output and then feedback the CF's cathode output back to the summing junction that would add some tube "flavor" to the audio. This new feedback path is another 10K resistor and I added a 22uF cap to block the DC offset the CF would create. The op-amp compensates to try to remove the tube's effect, as seen at the "virtual ground" aka summing junction. To a first order approximation, the total feedback signal is half of just the op-amp's output, and half of the CF's output. The CF's slight nonlinearity in the feedback path causes the tube "flavor" to be reflected at the op-amp's output. The tube used here, a 5906 submini pentode wired as a triode CF, has a 26V heater. This works out nicely as the CD player's power transformer provides 24V, close enough. Other than the transformer, this avoids loading the power supply.

The SMD's are the added 10K resistor and 22uF cap next to the DAC chip. I wanted to minimize the amount of stray capacitance hanging on the summing junction.


Modifying a player that uses a TDA1543 DAC chip

I modified my old Magnavox CDB600 (really a Philips machine) CD player. It uses a TDA1543 "twin DAC" DAC chip, and it used to feed op-amp I/V converter circuits. But I found that this DAC chip seems quite happy to feed a resistive load for the I/V circuit. This DAC chip has, for each channel, a constant source current generator "Ibias" (connected to Vcc 5V), and a varying (to the music) sink current generator "Idac" (connected to ground). The other ends of these current sources join together to create the left or right outputs. The difference current between these two goes into/from the resistor load. It wants a bias of about 2.2V for this resistor load. This 2.2V bias needs to source or sink current. A conventional voltage regulator chip would only source current but not sink current, so that won't work. But an easy way to create this is to use a voltage divider network, 3k resistor from +5V, 2.4K to ground, to create a thevanin equivalent of a 1.3k resistor going to 2.2V. The DAC develops something like 1Vp-p of audio, which feeds a cathode follower triode grid. I used existing power supply voltages inside this machine, combined with a voltage doubler circuit, to get about 80V for this tube circuit (not a lot, but it seems happy). The power supply had plus and minus 20V from a centertapped power transformer secondary feeding a bridge rectifier. Another bridge rectifier with its negative output tied to the +20V line, and one "AC" input thru a 100uF cap connected to one side of the power transformer secondary, and another such cap connected to the other side of the transformer secondary to the other "AC" input to the bridge forms the doubler to get +40VDC (measured from the "+" terminal to the "-" terminal) more out of the "+" terminal of the bridge, with a filter cap from that "+" terminal to the "-" terminal of that bridge. That gives us about 60V to ground. The tube circuit uses the -20V line as its "ground" so it sees about 80V from the -20V line to the +60V line.

The TDA1543 power supply I kept at 5V.

You could just use a resistor to ground if you set Ibias to a value higher than Idac peaks at. I wanted to maintain the average voltage bias the TDA1543 saw with the op-amp circuit, so operating it into a resistor equivalent into a voltage similar to Vref seemed a sensible thing to do. Looked at a resistor going only to ground. But you must set your Ibias to be larger than the max the Idac ever sinks. And the current Ibias - Idac goes into your resistor. As long as Ibias is high enough to keep Idac operating correctly (voltage higher than something like 0.6V?) that should work. A concern I had was that the Idac circuit might not work quite right if the output voltage got too close to ground. The clipping I experienced before I did my above circuit must have been do to insufficient Ibias on Idac peaks. My use of the 2.2V equivalent source avoids that. It allows Idac to exceed Ibias.


Something else to try is to load the audio op-amp outputs with a resistor to either a positive or a negative supply, say 12 to 24V DC. Whatever a well filtered supply of these voltage levels is present inside the player will do. Select the resistor so you are drawing a few ma from the op-amp at all times thruout the entire audio waveform. This makes the op-amp behave as if it were single ended, thus avoiding class B crossover distortion products (which the op-amp's feedback loop tries to correct for, but some still gets thru). Some op-amps benefit greatly, some this doesn't help. But this is an easy mod to try. Below are some simulations using a 741 model that includes distortion analysis (got this model from the National Semi web site). The signal voltage source and 1K resistor simulates a current mode DAC output into a virtual ground. The yucky sounding odd harmonics are down 20dB or more, though the 2nd came up a little. But this is an improvement, well worth the price of a resistor.