Simple High-Performance DAC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
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...
 

Attachments

  • DAC-P V2.0 - Schematics 20140801.pdf
    192.9 KB · Views: 490
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)
Cheers,
Udo
 
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)?
 
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 :)
 
Disabled Account
Joined 2002
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.
 
Last edited:
@s3tup:

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.

@jean-paul:

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...
 
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.
 

Attachments

  • DAC-P V2.0_draft2 - Schematics 20140822.pdf
    190.6 KB · Views: 137
Administrator
Joined 2004
Paid Member
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.
 
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!
 

Attachments

  • DAC-P V2.0_draft3 - Schematics 20140823.pdf
    205 KB · Views: 148
Don't use ferrites. I would bet money the DAC will have more zest without them. If not be worth the time simply. Inductors? Sure, but not ferrite....

Any place you can fit one SMD cap you can fit two.

OSCONS....

Use the HA's, or JFETS perhaps.

Have you seen the regulator setups on PD's ultimate 1543 design?
 
Disabled Account
Joined 2002
DACs that want to qualify for the titel "good" need ferrites/beads in the supply lines of the SPDIF receiver and DAC chips ! Coils are more expensive. No need to bet, better try it out. Using beads/coils will give better results than no beads/coils, simple. Your oscilloscope will tell too.

Oscilloscopes don't measure zest. That is probably because they don't have PIO or Goldmund copper/gold foil caps in them ;)
 
Last edited:
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.
Why you don't use the WM8805? Cost is the same like WM8804 and given that you have the option for microcontroller (software mode), WM8805 includes a 8:1 multiplexer providing the possibility of up to eight SPDIF inputs. Later you could need another one or two inputs.
 
Please, be careful especially with the supply filtering and layout around PLL as it is a very sensitive module in high sampling rates. This 47μF cap across PLL +V and GND? In the evaluation board Wolfson uses a 1μF X5R. In my board i use a 1μF pps film because its better dielectric absorption.
 
@fotios:

I hear you about the WM8805, but I'm going to stay with the WM8804 for this project. Regarding the PLL supply cap, I can always place a 1uF ceramic instead of the 100nF and not populate the 47uF, if it ends up being an issue. Also, I anticipate that I will still make some minor changes to the schematic as I route the board.

I'm going to freeze the schematics for now and start routing...
 
Administrator
Joined 2004
Paid Member
Good luck!

I see you are using KiCad which I am moving to since I no longer have access to the Altium license required to use it.

The one other suggestion might be to consider providing an option for a spdif transformer on the board - great for dealing with conducted common mode emi from a PC for example.
 
Thanks. Yeah I have to say I've really become a fan of KiCAD since I've been using it. I'm using Altium at work, but I want to keep the hobby stuff independent. Among the cheaper and open-source/free packages I've found KiCAD to be the most suitable for what I'm doing.

In an unbalanced interface I don't like the idea of not tying the shield of the coax hard to ground at both the TX and RX side. And when using an input transformer tying the shield to ground at the RX side negates any CMR advantage. But in the next DAC I plan to have several inputs, and I'll run one of the inputs through a transformer for comparison.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.