Early 2005 I got the idea to build a high end DAC for my HiFi after baulking at the cost of a high end balanced DAC. The DAC project has been ongoing since 2005 and what started out as a 70x70mm circuit board has grown to consume the insides of a normal HiFi component chassis. The project is described in chronological order.
The goal of this project was to create a DAC based around the PCM1730, a chip used in the great sounding Roksan Caspian CD player. From the onset the idea was to make it modular allowing future changes. This project was also seen as a learning experience to lead to a future better DAC, however this never materialised as the end result ended up being excellent quality. The criteria was to build a DAC with multiple inputs capable of supporting 44.1kHz/96kHz sampling rates, 16bit/24bit resolution and provide a balanced output.
The DAC is made up of some input conditioning circuitry (basically converting S/PDIF to isolated AES signalling), a receiver, DAC, and originally an OPAMP based I/V stage which was later replaced.
The receiver was unfortunately not ideally selected. The reference receiver at the time was a DIR1730 which was discontinued by Texas Instruments due to design flaws. Crystal Semiconductors also offered superbly performing receivers however their reference chip the CS8412 was also discontinued. Finally the receiver circuit was designed around the CS8416.
The CS8416 has a multiple input selector and can be configured in a hardware setup mode (via resistors on specific pins rather than relying on an external microcontroller). Unfortunately the PLL used to recover the clock signal from the source is powered from 3.3V so using this receiver required an additional powersupply.
In hardware mode pin 14 serves as a Signal-Lock / Error indicator which not only displays the lock state via an LED, but is also connected to the DAC chip to hold it in reset state. Without this the DAC produced noise when lock was lost. Pin 16 shows the current bitrate and is also connected to two LEDs on the front panel.
A hardware powersupply watchdog the TPS3125x30 is used to hold the receiver in reset mode until the powersupply has fully powered up. This prevents oddities such as the CS8416 being unable to attain a signal lock.
The PCM1730 is surprisingly easy to set up. It also features a hardware setup mode so all that is required is the appropriate resistors in the right places and an input signal. The chip doesn’t mute its output when a garbage signal is received, so as mentioned earlier it’s reset pin is tied to the recevier’s error pin via Q150 which forms a single transistor NOT gate. The output of the PCM1730 is a ±2.48mA current source biased around a common 2.48V output which is also passed to the I/V stage.
OPAMP based I/V stage
Note: This part of the project is obsolete and has been replaced with a Passlabs D1 output stage.
Most DAC chips output a current source which performs best when it is loaded with a direct short into a specific bias voltage. In the case of the PCM1730 this votlage is 2.48V. OPAMPs provide a simple way of presenting an ideal voltage to the DAC while acting as a transimpedance amplifier. OPAMPs will attempt to swing their outputs to ensure the difference between the input terminals is zero. By setting the +ve input terminal to the bias voltage of 2.48V, connecting the output to the -ve terminal via a feedback resistor, and then injecting current into the -ve terminal the OPAMP will produce an output voltage of A 3.5nF capacitor across the feedback followed by an RC on the OPAMP output results in a 2 pole low-pass filter with a corner frequency of 45kHz. This is required on the output of a DAC to remove high frequency images of the output signal generated by aliasing. 2 poles are sufficient in this case due to the oversampling used in the PCM1730 pushing the first image up well into the 100s of kHz region.
To prevent loading of the RC network after the OPAMP a Class-A emitter follower was added. The use of a simple emitter follower outside the feedback loop likely adds a lot of distortion to the output. Unfortunately this was never tested on a distortion analyser, however at the very least a Toshiba audio grade transistor was used.
Note: The -15V powersupply rail is obsolete as the Passlabs D1 output stage requires ±32V. The +15V rail is still used to power downstream regulators.
The powersupply represents an exercise in extreme over design. The first stage regulation incorporates a Walt Jung Super Regulator. This design has some heritage in the audio community but no one really knows where the design originally comes from. It utilises an OPAMP and precision voltage reference to correct any inaccuracies in the voltage output by feeding back an error signal through a series power transistor in Class-A. The stage is pre-regulated by an LM317 regulator which is referenced to the output of the regulator. Even the error OPAMP and the voltage reference are referenced and powered by the regulator output making this a regulator within a regulator within a regulator. Two Jung Super Regulators provide ±15V for the analogue circuits.
The +15V rail is used as a basis for further regulation for a variety of other circuits. LM317s are used to provide +5VDC for the PCM1730 DAC, +3.3VDC for the CS8416 receiver and digital circuitry, and a dedicated +3.3VDC provides power to the Phase-Locked-Loop clock recovery circuit in the CS8416 ensuring digital switching noise will not impact the clock recovery accuracy.
Input Selection Control
As this DAC was designed during a time where I was a dedicated hardware man and wouldn’t touch a microcontroller the input selection circuit involved a few discrete logic chips to allow the SEL[0..1] pins of the CS8416 to be pulled to the correct state.
Inputs are selected via a single pushbutton. The inputs are de-bounced through a MAX6816 hardware de-bouncer. The de-bounced signal is ORed with a remote control signal to allow remote selecting of the input. The remote is a single chip pre-programmed microcontroller again set in hardware using pullup / pulldown resistors. The signal is then used to drive a pair of cascading flip-flops. This will count from 0 to 3 in binary and is directly attached to the SEL[0..1] pins.
A recent addition to the DAC is the use of an AVR microcontroller to decode remote controls directly and send and output to the SEL[0..1] pins. This change has its own project page.
The CS8416 inputs support both single ended S/PDIF and differential AES inputs. The PLL achieves superior performance using AES signalling. Therefore all inputs are converted to AES before being passed to the CS8416. This brings several other benefits to the table. To make the input differential the signal is passed through a pulse transformer. This isolates the DAC from any ground loops. The RC network on the input terminates the 75Ω S/PDIF signal and cancels the reactance of the pulse transformer. On the output of the transformer a network of resistors and capacitors creates an inherent 110Ω impedance used by AES. Both +ve and -ve signals on the output of the transformer are then buffered through two 74HCU04 inverters and converted back to 110Ω before transmission to the CS8416.
The buffers also allow a simple form of differential input selection as the CS8416 only supports input selection on single ended S/PDIF signals, and commoned RXN pins would result in nothing but noise at the receiver input. By powering off the buffers we ensure the other inputs don’t contaminate the single commoned RXN signal going to the CS8416
The 4th input is an optical TOSLINK input. This one remains single ended but is still buffered before being passed onto the receiver.
Passlabs D1 Output Stage
The OPAMP based I/V stage worked well however the high open loop gain and characteristics such as slew rate create problems with intermodulation distortion for OPAMP based I/V stages. Additionally the emitter follower with no feedback created further distortion problems.
The old I/V stage was replaced by modified Passlabs D1 stage. The D1 is based around the typical principles used by Passlabs equipment, MOSFET based voltage and current gain, balanced configuration, weird volume control schemes (which wasn’t used), and above all each MOSFET biased high into the sky well into their most linear range. One variant of the Passlabs D1 posted on DIYAudio uses 3 IRF610 MOSFETs per stage, however I was short 2 IRF610s so the output MOSFET Q1 is biased by two resistors rather than a constant current sink.
The circuit also presents an almost ideal load to the DAC’s output. In a common gate configuration (Q2) the voltage at the source is held at a fixed voltage as selected by the voltage divider R3/R9. In this case we don’t use the VCom generated by the DAC but we can match it with the voltage divider so an ideal load of 2.48V is still presented to the DAC’s output. The current is passed over R2 and is converted to a voltage. C7 and C5 form a 2 pole low pass filter to remove the high frequency garbage from the DAC’s output. Q1 is setup as a source follower to reduce the output impedance of the amp, and C6 blocks any DC offset.
The downside to this design is it gets hot, very HOT. R6 and R6b dissipate approximately 2W and Q1 isn’t much better and could really use a heatsink. This places quite some strain too on…
New Output Stage Power Supply
As the Passlabs D1 draws quite a bit of current and requires ±32V to function the Jung Super Regulator couldn’t keep up. Instead a second powersupply tapped off the same transformers as the main supply was created.
The circuit is based around the 3 terminal shunt regulator TL431. The LM317 combined with R1 is configured as a constant current source. The TL431 then controls the output voltage by shunting current via Q3. This creates a powersupply with great regulation and exceptionally low output impedance over a really wide frequency range.
As usual the case is constructed out of a wooden frame with plexi-glass front panels and a metal top plate. The DAC input are 2x BNC, 1x RCA for compatibility, and 1x TOSLINK. A DB9 connector provides a system for remote control input to change input channel, and outputs are two XLR connectors. There is no on/off switch, just indicators to show that main power is applied and a signal is locked. Also two leds show if we are locked in 44kHz or 96kHz which turns out to be quite useful for debugging purposes.
When all is said and done, what we’re left with is one badass sounding DAC, far better than any computer soundcard that came before it. It also saves my DAB+ radio which has some blown analogue outputs. All in all a great success story.