Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Simple High-Performance DAC
Simple High-Performance DAC
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 1st August 2014, 09:22 PM   #1
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa
Default Simple High-Performance DAC

I'm systematically replacing the components in my audio chain with my own designs, and decided to start off with a simple little DAC board. The idea is to take the Coax S/PDIF output from my CD player and convert it to a balanced analogue signal to feed the next stage (pre-amp). I want to keep things simple without unnecessarily sacrificing performance.

The design is centered around the DIR9001 and PCM1794 from TI, and is based mostly on the designs of the evaluation modules of these ICs (on schematic level, at least - board layout will be significantly different).

As far as the physical implementation is concerned, it will be a two-layer PCB with mostly surface-mount components. I haven't started with the board layout yet.

I'm posting this to get some input on the design (PCB's are expensive, I want this thing to work well the first time), so please be critical (constructively, of course ).

Schematics attached...
Attached Files
File Type: pdf DAC-P V2.0 - Schematics 20140801.pdf (192.9 KB, 419 views)
  Reply With Quote
Old 2nd August 2014, 10:16 AM   #2
udok is offline udok  Austria
diyAudio Member
Join Date: Jul 2011
Location: Austria
Nice work! Some points:
- a lot of 47uF caps, may be better to use one larger cap at the regulator output. think of using 1u instead of 100n. This will supress HF noise better.
- The ferrite beads are only good for HF filtering. you have not mutch HF in your circuit.
- an SPDIF transformer would be good for common mode noise (and jitter) supression.
EMI without a transformer may be a problem..
- A differential line receiver can be used as SPDIF input too and has the benefit of common mode noise supression (less jitter)
  Reply With Quote
Old 3rd August 2014, 11:35 AM   #3
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa
Thanks for the input udok.

The ferrite beads are there to help keep the high frequency current loops as small as possible and local to the particular IC. They aren't really required on the analogue supply pins, but since I'm not using separate digital and analogue supplies everywhere I thought it won't hurt adding them to the analogue supply pins as well. The 47uF electrolytic caps on the IC side of the beads are there to help prevent the possible resonance that can occur between the bead and the ceramic decoupling cap and other parasitics. These caps can actually be a lot smaller though. Like 4.7-10uF or so. I'm using the 47uF's because I'm using them elsewhere in the design and I'm trying to use as few different component values as I can (because of higher costs due to supplier MOQs). I'll reconsider these cap values though.

I'll think about your suggestions for the S/PDIF input. It'll depend on how easily/cheaply I can obtain the required components. I'll do some searching, but do you have any recommendations for these components and their implementation (tried & tested or known to perform well)?
  Reply With Quote
Old 3rd August 2014, 03:35 PM   #4
s3tup is offline s3tup
diyAudio Member
s3tup's Avatar
Join Date: Dec 2004
Location: Israel
Finally, someone with good schematics drawing skills! Good schematics = good thinking.
Looks classic and promising just by the way you draw it.

You might add some fancy stuff later, such as fully differential I/V with some diff opamp a-la THS4130 (and others). Parallel rather than series connection of regulators, some extra R in series with Ls around DAC, resistors in line of power traces just before they go to bypass caps and opamp's Vcc/Vee pins, e.t.c.
^^ Just some ideas to think about
xdxd.io - software audio analyzer, crossover studio
  Reply With Quote
Old 3rd August 2014, 04:09 PM   #5
jean-paul is offline jean-paul  Netherlands
diyAudio Moderator Emeritus
jean-paul's Avatar
Join Date: Sep 2002
Location: Germany
Hi better get rid of the noisy LM1117 regs. If it needs to be an LDO: there are way better LDO regs out today. We used MIC5205 with good results but LP5907 also might be a nice candidate with 250 mA max. current. For the analog stage 78xx and 79xx may do the trick as they have always done but TPS7A4901 and TPS7A3001 are better choices. They are also way smaller and deliver up to 150 mA which seems enough in this case, certainly if you use separate regs for the L and R channel. Good power supplies are half of the quality of your design.

I would opt for the WM8804 as usual but the DIR ain't bad either. The WM8804 won't limit your design to 24/96 which can be nice when trying to listen to high res material like 24/176.4 and 24/192 files from newer audio devices (one day soon you will step over to the dark side of solid state playback) and it will prolong useful life of your DAC by years. I doubt the input buffer will bring improvement (or the contrary). Good work on the beads and the 47 F caps, they are both needed. Low DCR beads or coils could do good on the opamps too. Make that CLC filtering.

Please use the smallest available parts with the best dielectric for the PLL capacitors.

Including pads for rectifiers and filter capacitors will make your design more easy to wire and to try it out in the test phase. After that it is also easier to work with. Just 2 small transformers (or 1 with the right windings) and you are done.
It's only audio. Member of the non modular PCB design committee

Last edited by jean-paul; 3rd August 2014 at 04:38 PM.
  Reply With Quote
Old 4th August 2014, 08:05 PM   #6
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa

Thanks. Yes I'll be leaving the fancy stuff for a future version. I want to keep it simple for now. Once it's done and measured I'll have a reference and then I can start playing around. I'll definitely go fully differential on the output in a future version.


The LM1117's were selected mainly due to their low cost at the supplier I'm using. But considering the cost of the PCB and enclosure, using more expensive regulators will not have much of an effect on the overall cost. And if the LM1117's will compromise performance then they will have to go. I'll look into better options. They do have to be LDO though. I have a separate linear regulated supply board that gives me the required DC input voltages (+7V and +-15V). And I have enough bench supplies to test with if I didn't have the supply board available. So no need to place rectifiers and filter caps on the DAC board.

I actually considered the CS8416, which also runs up to 192kHz, as an alternative to the DIR9001. I ended up deciding on the DIR9001 because it was a lot easier and cheaper to obtain. I didn't know about the WM8804 then, but I really like what I see in the datasheet and will give it serious consideration. Thanks.

Regarding the input buffer, I've decided to not make it unnecessarily complicated and stick to with what I'm comfortable with, and hence leave it as it is (unless I'm switching to the WM8804, in which case the input is even simpler).

The PLL loop filter caps are 0805 and 1206 ceramics with C0G dielectric.

I'll think about all the input I've gotten so far and update the design as I see fit. Might be a while before another post though. Wish I had more time for this stuff...
  Reply With Quote
Old 22nd August 2014, 11:21 PM   #7
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa
Default Update: Revised Schematics

Finally got around to make some changes. I replaced the DIR9001 with the WM8804, and replaced all the regulators with smaller low-noise ones. De-emphasis is now hard-wired to be disabled on the DAC (the WM8804 does not provide this info in HW mode like the DIR9001).

I had to add a bit of extra circuitry to mute the DAC and turn on a LED when the WM8804 indicates an error, while also making sure the pin is at a logic low level when the WM8804 is powered on. With the way it is now I know it will work as I want it to, but depending on the properties of the WM8804 output pin and the DAC input pin it could probably be done much simpler. The rest of the changes were cosmetic.

I'd appreciate it if someone can take a glance at this to see if there are any obvious mistakes in the design . See the attachment for the latest schematics.
Attached Files
File Type: pdf DAC-P V2.0_draft2 - Schematics 20140822.pdf (190.6 KB, 89 views)
  Reply With Quote
Old 23rd August 2014, 06:04 PM   #8
kevinkr is offline kevinkr  United States
diyAudio Moderator
kevinkr's Avatar
Join Date: Sep 2004
Location: Boston, Massachusetts
Simple High-Performance DAC
A couple of thoughts, in my last dac design which is quite similar to what you are doing here I was criticized for using 100 ohm series terminating resistors on the I2S, it was suggested that much smaller values would work as well or better. I'd probably go with 22 or 33 ohms, and definitely place them within a cm or so of the WM8804 pins..

Doing mono-mode with the PCM1794A is easy and you can sum the outputs in the current domain before I/V conversion. This is good for 6dB improvement in SNR although it is clearly more than adequate. (It may have benefit wrt separation and other things)

The quality of the electrolytics on the analog supply pins seems to be important. I ended up with Black Gates which of course are no longer available.

Think very carefully about the grounding design in the board layout.

Note that in hardware mode the WM8804 does not support 176K sample rate so if possible make provision for later use of a pic controller or similar to run the thing in software mode if you have the programming chops or know someone who does.

Only major concern with I/V is output is unbalanced, but confusing due to VOUTL- /VOUTR- nomenclature - this is actually ground. My own experiments led me away from trans-impedance I/V conversion to passive resistor/transformer conversion.. There are several current conveyor and discrete designs here you might want to check out. I used LM4562 and THS4130 in various implementations and was not entirely satisfied with the end result..

Great project.
"To argue with a person who has renounced the use of reason is like administering medicine to the dead." - Thomas Paine
  Reply With Quote
Old 23rd August 2014, 11:30 PM   #9
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa
Hi kevinkr. I've matched the series termination resistors to the track impedance. I will agree, I've not seen a design with such high series resistors (most designs use 33R). However I did check whether this would be a problem, and I don't think it will be. Theoretically I'm getting slightly more than 1GHz bandwidth through that trace (assuming 20mm track length, +-0.4mm track width on 1.6mm FR4), with optimal damping. Reducing the series resistor to 33R increases the bandwidth, but then damping is a lot less and I run the risk of getting some ringing on the I2S lines. In the end it's a trade-off between slew-rate and overshoot. I might reduce the resistor values depending on how the layout turns out. There is a possibility that I can get access to a AP2722 to do measurements, and I'd like to see if these resistor values have any significant effect.

I did consider going fully differential with x2 DACs in mono mode, but right now I don't see it being worth the extra cost.

Personally, I'm a bit skeptical about whether audiophile electrolytics in the supply will make any significant difference in sonic performance. But once the design is done and tested I will play around with it and start tweaking things such as this.

Thanks for the software mode suggestion. I have a spare Arduino board lying here and I might as well use it, so I added functionality to configure the WM8804 externally via I2C. Had to add level-shifting though. HW mode can still be selected by closing a jumper. I've attached the latest schematics.

Actually the output is balanced - with respect to impedance. The cold output terminals don't carry audio, but it's still balanced and has the advantages of a balanced interconnection. The only difference is that the effective output voltage level is 6dB less compared to using two signals of opposite polarity (hence the 6dB lower SNR compared to mono mode).

I definitely want to play around with passive output stages as well at a later time.

Thanks for the feedback!
Attached Files
File Type: pdf DAC-P V2.0_draft3 - Schematics 20140823.pdf (205.0 KB, 81 views)
  Reply With Quote
Old 23rd August 2014, 11:39 PM   #10
psk is offline psk  South Africa
diyAudio Member
Join Date: Feb 2012
Location: South Africa
Originally Posted by kevinkr View Post
Think very carefully about the grounding design in the board layout.
Very true. In fact I'd have to think carefully about everything in the board layout.
  Reply With Quote


Simple High-Performance DACHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
simple, high performance amp using DRV134? Fast Eddie D Headphone Systems 6 6th May 2014 06:17 AM
High Performance WM8741 Upsampling DAC pcbs F/S particleman14 Swap Meet 4 5th July 2012 07:07 AM
High Performance WM8741 Upsampling DAC PCBs particleman14 Swap Meet 4 21st April 2012 11:56 AM
High Performance WM8741 Upsampling DAC F/S particleman14 Swap Meet 4 12th April 2012 08:45 AM
Wolfson High Performance 117dB DAC m.parigi Digital Source 1 21st February 2002 08:51 PM

New To Site? Need Help?

All times are GMT. The time now is 02:32 PM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 14.29%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Copyright ©1999-2019 diyAudio