USB DAC with PCM2704

In this page I would like to present a very simple USB DAC design.

Considering the actual PC components/subassemlies market, I decided to design for myself an USB DAC, which is portable, can be connected to any PC, have one stereo output for an amplifier, which also can drive a headphone, and have S/PDIF output for additional conversion, and must have a wonderful sound, without coloration of music or background noise. What does it means? On the market you can find plenty of similar products, but no one will be same like this. That means their technical specification cab be better, but the sound…

The circuit is based on Texas Instruments (Burr-Brown) PCM2704 stereo audio DAC with USB interface with single ended headphone output and S/PDIF output. The schematic a beased on TI evaluation module and a similar design was made by Hagerman Technology LLC called as HagUsb. Here I would like to mention: at the moment cannot be found on the market circuits with higher sampling rate than 48kHz. 96kHz sampling rate circuits (like TE7022) are not available for DIY community - at 2009.

From datasheet can be seen, the total harmonic distortion in case of 32ohm load is 2-3 time higher, than with 10kohms load – that was the reason, why I use a headphone amplifier circuit on output of this DAC - a SSM2250 opamp from AD.

Checking the datasheet, also can be remarked, in the self-powered mode those parameters shows a better figure (0.007%) – but for commodity I chose the bus-powered mode with good filtering, to achieve similar noise figure (now is better than 0.009% !).  The converter isn’t requires any special drivers, the configuration is automatic, is a plug and play device, fully compliant with the USB 1.1 specification with full-speed transceiver format. It is better to connect directly to a host port, rather than a USB Hub, to reduce any transmission delays. System requirements: Windows XP with SP1 or higher, or Windows7/10 will automatically recognize this device – but in the specification are mentioned with which chipsets was tested – please read carefully the referred Appendix of Data Sheet. I had tested with several other chipsets not listed there, and works perfectly.

Volume is controlled by software and hardware (this last one I did't use in my design). This is convenient for headphone use, but for optimal sound quality when using an external DAC via S/PDIF,  set all volume controls to maximum (this is the defaul value).

The PCM2704 has a DAC that uses an oversampling technique with 128-f S second-order multibit noise shaping. This technique provides extremely low quantization noise in the audio band, and the built-in analog low-pass filter removes the high-frequency components of the noise-shaping signal. DAC outputs through the headphone amplifier V OUT L, and V OUT R can provide 12 mW at 32 ? , as well as 1.8 Vp-p into a 10-k ? load.

The channel status information is fixed as PCM mode. The sample frequency, which is set automatically (32, 44.1 and 48kHz) according to the data received through the USB.

The schematic:

The schematic is a tipical application recommended by TI. For digital (S/PDIF) output I use a transformer from a Philips DVD963 DVD-SACD player. To decrese the converter circuit distortion, an analog headphone amplifier was used with low-pass filter. The filter is a two poles, MBF Single-Ended Bessel one, with 24kHz cutoff frequency (designed with TI Filter Pro 3.1), voltage amplification is 1.2x, with max. ripple 1dB, stopband frequency is 30kHz (attenuation -45dB). All capacitors used in filter are NPO or COG type ceramics, the output capacitor is a 470uF/50V Nichicon Muse. In parallel with output capacitors I mounted one-one 0.1uF SMD foil capacitors from Panasonic. C17 and C18 are not used/inserted in PCB.

One important remark regarding filter design: avoid to select the cuttoff frequency too high, because you will hear a constant high frequency noise (like a white noise). I try at first with 160kHz and I spend a lot of time improving the power supply filtering without any result. Actual values presented in schematic gives the best performance.

The PCB was designed with ExpressPCB - is a freeware program. Here is the result:

The PCB made with ExpressPCB

The final homemade(!) PCB (Rev. 2.0) before "correction" - the distances between pins for both integrated circuits is 0.64mm:

The converter IC soldering is difficult in case of any DB SSOP packages. After soldering needs to be checked carefully before test/trial to not have shorts between pins. 

Setting into box: some components during tests were changed, like power line filtering capacitors and components from low pass fitlers network.

The final work: is small box, enough to be a portable tool.

What kind of application I use on my PC to listen music? EAC Exact Audio Copy is the best PC application for ripping CD's error free into your library.

Foobar is an advanced audio player for Windows platform - I like it, because can play flac (mostly used by me) and ape formats  -both are loseless formats.

Windows has a problem called the K-Mixed, which basically is a component of Windows that mucks the data before it goes out on USB port. To fix that problem there is a little free program called ASIO4ALL that replaces the K-Mixer and sends out unaltered data to the USB Port, or you can use the Kernel Streaming add-on from Foobar. Once you have installed the USB DAC through Windows setup wizard, you can install the ASIO4ALL and select the DAC using it's utility. Foobar can then be directed to use ASIO4ALL as it's output device, or will use the installed Kernel Streaming add-on automatically.

Listening impressions: the sound is much better than any laptop soundcards, but cannot beat as ex. Creative's X-Fi or other top range ones.

PS: the noise is high if you use 16 ohms headphones, but with headphones with higher impedance, than 50 ohms, or connected to a preamplifier you will not hear that noise it any more.

Specification and Measured parameters:

Digital input: USB1.1, plug and play compatible from Windows XP/SP1 till Windows 10

Outputs: digital 75 ohm, analog min. 32 ohm

Data sampling rates: 32kHz, 44.1kHz, 48kHz - with automatic recognition

S/N (Max volume, 1kHz): -96.9dB

Dynamic range (A): 96.7dB

Channel separation (max volume on 32ohms): 70dB

IMD+N: 0.0047%

IMD at 10kHz: 0.007%

THD+N: < 0.009% with 10k ohm load, and <0.01% with 32 ohm load

Frequency responce 20Hz-20kHz: -0.09dB, 0.00dB

Gain voltage of amplifier: x1.2

Output power: max 25mW on 32 ohm,

LPF (-3dB): digital 140kHz (inside PCM2704) and analog 24kHz (via SSM2250)