• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

WM8740 DAC designed and built by me

horias2000

Active Member
Forum Donor
Joined
Apr 7, 2021
Messages
198
Likes
292
Location
Cluj-Napoca, Romania
As I ran out of CD players to measure :), I said that I will put the Cosmos ADC to good use and measure a DAC + headphone amplifier I made a while ago. This design started as a DAC only and evolved into a DAC and a headphone amplifier over time and the evolution is not done yet. The DAC is made around two WM8740 chips and the USB receiver is made using CM6631A (from ebay) and the optical and coax input is made using the WM8804. The headphone amplifier is made using the TPA6120A2 and I added an active gain stage to control the gain.
Performance wise, I expected to have a SINAD of more than 90dB on both the DAC line output and the headphone amp output. I expected only 90dB as I used the worst type of resistor for this prototype, the thick film variety. So I expect to have some noise in both the DAC and the headphone amp. I'm still working on the last version that will use thin film resistors that should give me better noise performance. The reason for choosing the WM8740 chips is a simple one, it had pretty good performance for that time and it was the only one that had a hardware mode that didn't require any advanced firmware to work. My programming skills are pretty low. Running the chips in HW mode means that there is only one filter option, the slow roll-of one.

I kind of over complicated the analog stage after the DAC as I use 6x LM4562 and two more for the active gain stage before the TPA6120A2 amplifier. The power supply is also pretty noisy, especially the negative rail as I used a cheap inverter IC that I had laying around. I plan to update the PSU as well. The output of the single ended line is 1.5V and the differential one is 3V.

Here is the 1kHz test tone on XLR output:

Andy_DAC_1kHz_XLR.jpg

1kHz but on the single ended output:

Andy_DAC_1kHz_RCA.jpg

This is not great not terrible. There is no difference between XLR and RCA outputs, although the voltage is double.

1kHz at -10dB:

Andy_DAC_1kHz_XLR_-10dB.jpg


THD is considerably lower at -10dB and the SINAD remains around 92dB because of this. I noticed that THD varies somewhat with the position of the volume slider in windows. I wonder if the windows driver does not affect the THD in some way. I used a volume of 98 for all the measurements.

Multitone:

Andy_DAC_1kHz_multi.jpg

This looks pretty good. Around 105-110dB of range. Not bad!

J test:

Andy_DAC_jtest.jpg


Wow, this looks really well. It seems like the CM6631A board that I bought from China is pretty good. Nice!

Now onto the IMD test tones:

Andy_DAC_41_7993.jpg


Andy_DAC_18k_20k.jpg


Again, not bad!

Frequency response:

Andy_DAC_FR.jpg


Andy_DAC_FR_detail_2.jpg


The filter starts to act at around 22kHz and the attenuation is about -90dB.

I will measure the headphone amp as well but for the moment I do not have a proper load for it. I want to use 24 or 32 OHM and I do not have any power resistors to build the load. I will update the post when I get the time.

Overall, the performance is decent for a DAC chip that was released in 2009 (I think) and my design can still be improved to get the maximum performance that the chips can deliver. I think I can get somewhere close to 100dB SINAD.

Subjectively, I like the sound of the DAC and headphone amplifier. I use it at the office with a pair of Beyedynamic DT770PRO (80ohm) and I enjoy it.

Here is a photo of the whole thing:

WhatsApp Image 2024-10-22 at 17.58.44.jpeg
 
Last edited:
I noticed that THD varies somewhat with the position of the volume slider in windows. I wonder if the windows driver does not affect the THD in some way.
Use the Java EXCL driver in REW (=Wasapi Exclusive in disguise) to completely remove Windows audio as a variable.
 
Overall, the performance is decent for a DAC chip that was released in 2009 (I think)
Try 2004.

Despite your lowly thick film resistors, the dominant H5 suggests that DAC distortion is likely dominant. Your main issue is SNR, so my guess is you have a noisy Vref. Ideally Vref should be both tightly regulated and low impedance across a wide bandwidth and very low noise at the same time, which is quite the engineering challenge (I would call it the equivalent of squaring the circle). I have seen seasoned designers go to extraordinary lengths here. It seems this DAC may not differentiate between AVDD and Vref (which makes things rather more annoying due to higher current draw) but the fact that it has AVDDL + AGNDL and AVDDR + AGNDR pins in pairs directly next to each other - ready to accept batteries of bypass capacitors - should be a clue. It goes without saying that an old 7805 isn't going to be cutting it.
 
Try 2004.

Despite your lowly thick film resistors, the dominant H5 suggests that DAC distortion is likely dominant. Your main issue is SNR, so my guess is you have a noisy Vref. Ideally Vref should be both tightly regulated and low impedance across a wide bandwidth and very low noise at the same time, which is quite the engineering challenge (I would call it the equivalent of squaring the circle). I have seen seasoned designers go to extraordinary lengths here. It seems this DAC may not differentiate between AVDD and Vref (which makes things rather more annoying due to higher current draw) but the fact that it has AVDDL + AGNDL and AVDDR + AGNDR pins in pairs directly next to each other - ready to accept batteries of bypass capacitors - should be a clue. It goes without saying that an old 7805 isn't going to be cutting it.
Indeed, the power supply is not low noise enough. I used some generic LM2937 LDOs. I do have separate rails for each AVDD and DVDD for each DAC chip but the regulators will have to be lower noise indeed. I already ordered some LT3042 / LT3093 that I plan to use in the new version. I will also use another type of converter for the positive and negative rails (DCWN06B-15).
 
Indeed, the power supply is not low noise enough. I used some generic LM2937 LDOs.
No surprise then: Noise 150 µV @ 100 kHz BW @ 5 V... I reckon there are some 78M05s that would do better than that.
I already ordered some LT3042 / LT3093 that I plan to use in the new version.
Now that sounds a lot more like it. At 13 mA per chip, analog supply current should be high enough to give the regulators a nice low output impedance while still not stressing them a whole lot... arguably a bit of a blessing in disguise.
 
Back
Top Bottom