• Disclaimer: This Vendor's Forum is a paid-for commercial area. Unlike the rest of diyAudio, the Vendor has complete control of what may or may not be posted in this forum. If you wish to discuss technical matters outside the bounds of what is permitted by the Vendor, please use the non-commercial areas of diyAudio to do so.

Introducing Mercury - Achieving escape velocity.

Hi Folks,

First I will say - thanks for waiting patiently for me to post - I have been very busy writing and testing B3SE-Pro firmware as well checking the other new modules.

I will start this post by describing why mercury exists… when I first got the datasheet for the ES9038 my first remark to ESS was “what in the world is supposed to convert that much current into voltage?” - actually that alone is not hard - but achieving it in a way that the DAC sees a virtual ground always - well it may not seem that challenging - but really it is very much so - and not just because most opamps can’t deliver that much power alone - but because of the nature of the signal. These DACs put out some very seriously strong common mode signals. That common mode stuff - well - it’s not the stuff you want to hear. :) Rejecting that common mode stuff is not all that hard when you have plenty of negative feedback - but as current demand increases - so does control over the feedback loop.

Now keep in mind this common mode rejection thing is not a new challenge for me - I tackled it before with the ES9008/18 - but at a much smaller scale by using a fully symmetrical op-amp - and that paid off in spades - but really that solution is really only good for say 25ma p2p swings max (and that is pushing it). Of course you could use normal dual or single opamps - but there are some serious drawback to that approach. When you are dealing with a balanced source you need a fully symmetrical balanced transimpedance stage so that both the inverting and non-inverting inputs are literally symmetrically joined at the center or common mode - you can’t do that with two opamps - you need a truly balanced/symmetrical single amplifier. So armed with this hard won wisdom - I starting thinking in depth about the new challenges of this massive current I had been handed.

Of course - my first thought was much the same as the advice I got from ESS engineers - the inner voice said this: “Well Russ - the answer is simple - you have 4 times the practical max current - why not just use 4 transimpedance stages and sum the outputs?” Why not indeed… so hey - I tried it. Yep it works! And yep it sounds great - but man this output stage is huge!!! Not only that - but it is expensive!!! And it is also more complex that it really needs to be… So you might think I rejected this design - I did not - I just don’t think it’s for everyone - nor even necessarily “the best” I could do.

There was another problem… this solution required essentially using the DAC as a 8 channel DAC all the time. Well the vast majority of our DAC builders doing stereo or even mono DACs - I knew I could do better. I knew I could keep the simplicity of the Buffalo SE for stereo/mono users and still give them access to the ES9038’s full potential. To do that I needed a solution that allowed me to sum at the DAC - not after...

So I started a series of experiments - and it was some serious fun. :) First - the naive solution was just to wrap the OPA1632 transimpedance with a pair of buffers… Sure enough that worked and gave pretty decent results - but right away I spotted some major flaws in this simplistic approach. Still my new DAC was making some seriously great music - so I listened and thought more critically... I knew I could do better.

The first flaw I spotted was that because the output common mode of the transimpedance stage output was set to 0V that stage was always under load, not a small one either… this made the thing run unnecessarily hot - and took away valuable feedback current. That problem alone would not have deterred me because it is not not hard to fix… if you have the AVCC voltage you can divide it (and buffer it) and set the output common mode to the mid point of AVCC - problem solved right? Well you would think - but no… First I don’t want to run AVCC to anything but the DAC because having long nets there is inviting EMI into the DAC. So I stewed on this over a cold beverage and… inspiration!!! I found something that not only set the input common exactly at the DAC’s DC operating point… but it actually solved the second flaw as well…

So I better describe that one too… The second flaw I found with the “basic buffer” approach was that the input common mode (even with VOCM set to AVCC/2) was not exactly where I expected… How could this be? sure it was close - but guess what... it turns out the output impedance of the individual DAC output elements actually has some variance (naturally - it's silicon) - this means error. The the DC operating point can vary (albeit very slightly) from part to part, but not only this - the operating point is dynamic! I observed this by placing a scope probe at the common input point and observed a sine wave at full scale at lower frequencies… This can’t be good… Oh... but that brings me back to the solution!

What we need is an effective error amp - basically a common mode servo that compares the common mode voltage at the transimpedance output to the common mode of the input - and then applies a the opposite of the error voltage to the VOCM pin of the OPA1632. Wow! Sure enough that did it! No more error signal on the input - and now the input looks more like a “perfect” virtual ground. I would not be able to do that without a truly fully symmetrical transimpedance stage. So take a moment and let this sink in - I now have a solution where I don’t even need to pipe in the AVCC net to set the input common to exactly the DAC operating mid-point (close to AVCC/2). No chance of injecting noise into AVCC - minimal error (basically just the voltage offset of the error amp)!

So that is not the end of it - first transimpedance stage itself is not enough - sure it does the heavy lifting - it converts the current to voltage - but what we really want is a low pass filter as well - because without it - well you are passing much more than music down the chain… Not desirable. So Just like the IVY-III I added a second stage which is a simple filter with about 2K input impedance and almost no output impedance - and options for 20Khz or 30Khz corner frequencies. This stage is free from the concern of driving the source load - it only has the ultimate load (and Bal to SE stage which is minimal) to care about. Because both of these stage have incredible CMRR what you end up with is an extremely low noise floor.

We also know that a huge percentage of builders still want single ended outputs - so we included a Bal/SE stage with it’s own servo and relay to prevent turn on/off thumps. Why a servo? Well because resistors have tolerances - and even .1% resistors are not perfect - so by applying error correction at the final stage we nullify those errors at DC. This can make a big difference especially if your power amplifier has a lot of gain and it is DC coupled.

Tomorrow I will start posting some more info - but this should be enough for you to chew on.

There is much more to the story - but it’s more than I want to say in one post. I have landed on three approaches I love enough to produce - Mercury is - I think - my best output stage so far - because it makes all of the ESS DACs sound better - even the ES9008/18/28. Yes it can handle massive current - but it also makes lower current DACs shine!

Until Brian or I have a chance post better pictures - here is a render of the 1.0 PCB - along with a shot of it playing in the test rig with a ES9038. :)

Cheers!
Russ
 

Attachments

  • Mercury.PNG
    Mercury.PNG
    228.6 KB · Views: 3,323
  • mercury2.jpg
    mercury2.jpg
    966.7 KB · Views: 3,365
blah, blah, blah - where's the link to the order page? ;-)


BK

Soon :) The 1.0 boards have a (smack my head) small error - one disconnected GND pad at the right side balanced output (if you look closely you can see it in the render) - so we are contemplating just waiting for corrected boards (1.1) to arrive or going ahead with current boards for early adopters. It's easy enough to connect that pad to ground via a jumper. :)

Thoughts? I know many of you would not be put off by such a small error - but some will - so I am open to the idea of open sales for 1.0 with the errata - everyone else will just need to wait a week or two for 1.1 boards to arrive (which will only be different in that one way)

Cheers!
Russ
 
Will this be a completely assembled output stage or some assembly required? I recall you saying the stage before this you were experimenting with (can't recall the name) would be fully assembled. Also there was some concern about folks copying it.
 
Last edited:
Will this be a completely assembled output stage or some assembly required? I recall you saying the stage before this you were experimenting with (can't recall the name) would be fully assembled. Also there was some concern about folks copying it.

There’s actually very little left to solder. Just headers, terminal blocks, the gain resistors and some capacitors. Basically just the through hole parts.

I am going to be very transparent about this design, This is DIY audio, I am being very intentionally open.

Cheers,
Russ
 
Last edited:
I understand this is probably a bit premature, but does this earlier image show the I/V stage that you refer to as "huge" and "expensive" and a harbinger of the 8-channel version to come?

Thanks!

Andrey

No, that was a very early design idea - it is similar - and actually that one in the picture looks like it is for stereo use


Cheers!
Russ
 
Member
Joined 2003
Paid Member
Soon :) The 1.0 boards have a (smack my head) small error - one disconnected GND pad at the right side balanced output (if you look closely you can see it in the render) - so we are contemplating just waiting for corrected boards (1.1) to arrive or going ahead with current boards for early adopters. It's easy enough to connect that pad to ground via a jumper. :)

Thoughts? I know many of you would not be put off by such a small error - but some will - so I am open to the idea of open sales for 1.0 with the errata - everyone else will just need to wait a week or two for 1.1 boards to arrive (which will only be different in that one way)

Cheers!
Russ

LOL... that's an easy fix.

Paypal account ready to buy a 1.0 ASAP!

Greg in Mississippi