The calculations...
Roel Das
Roel.Das at student.groept.be
Sun Apr 23 13:24:27 CEST 2000
As I promised yesterday, here are the calculatoins:
And some questions below about mux parameters...
I'll start with a part of Bojan Burkeljc's mail (thanks!!!):
<snip>
The universal equation for RC transition is:
V(t) = Vend + (V(t0) - Vend) * e[-t/(R*C)]
where the variables are:
t - transition time
V(t0) - voltage at start of transition
V(t) - voltage at end of transition
Vend - the value the voltage would go to if the transition would last
forever
We are interested in t, so:
t = R * C * ln [(V(t0) - Vend) / (V(t) - Vend)]
Ok, let's try to simplify things a bit. Let's take the worst case and say
the
cap was previously fully charged and must fully discharge in one sweep
(Vend = 0V). The opposite operation (fully charging) would yield the same
result only equation stays longer. New equation is:
t = R * C * ln [V(t0) / V(t)]
You could simply insert maximum possible DAC output voltage for V(t0), but
what's with V(t)? It's all about the DAC specs here. You can directly
replace
voltages with DAC bits:
V(t0) -> 2^n n - number of DAC bits
V(t) -> m m - end voltage expresed in DAC's LSBs
and the equation is then:
t = R * C * ln [2^n / m]
Now all you need is to pick the right m. You probably used a good DAC, which
has linearity, offset and fullscale errors in range of 1 LSB. You don't have
to
go far below that since it is useless (after all full swings doesn't occur
very
often and a few mV makes no difference).
<snip>
Typical value for DG506: Ron=270 Ohm
I use a 16 bit DAC with a 10V range, and for m the value of 1/2 LSB is used.
this gives: t = 3182 * C
It takes 80 µs to send a new value to the DAC (serial!!). If I don't use the
2 wire mode (lose 2 pins on the µP), this time can be used entirely to load
the caps.
C = t / 3182 = 80µs / 3182 = 25 nF
A value of 22nF will be chosen.
----------------------------------
To calculate the ripple:
>From Jim Patchells mail (thanks!!):
<snip>
You can aproximate the ripple by using VoltsPerSecond = CurrentInAmps /
CapacitanceInFarads
<snip>
In other 'words':
V / t = I / C
The leakage current for the DG506 upgrade I use (MAX336) is 0.05nA (worst
case at 25°C).
(The DG506 gives typical 0.02 nA, worst case 10nA at 25°C)
The TL072 buffer has 10^12 ohm input impedance. This leads to a leakage of
0.01nA at 10V.
Total leakage is 0.06 nA.
The time needed to refresh all caps is 16 times 80µs, or 1.280ms.
With a 22nF cap this gives:
V = ( I * t ) / C = 0.06 nA * 1.2 ms / 22nF = 0.0033 mV
-------------------------
Updating the keyCVs twice as much would give 0.0022 mV for the keyCVs, and
0.0044mV for the others.
Is this worth the trouble? I'm really doubting...
And a question about the DG506 datasheets (intersil). For the leakage
current there are 3 parameters given:
'Source OFF leakage current' (Ven=0, Vs=+10V, Vd=-10V)
'Drain OFF leakage current' (Ven=0, Vs=-10V, Vd=+10V)
'Drain ON lekage current' (Sequence each switch on... lotsa numbers...)
I used the maximum of these parameters from the MAX336 datasheet (which
defines them a little bit different.)
'NO-off leakage current', 'COM-off leakage current' and 'COM-on leakage
current'.
Now what do these parameters mean exactly?
Thanks
Roel
More information about the Synth-diy
mailing list