| Products > Test Equipment |
| Doing it RAW: Tapping Keithley 2001 ADC |
| << < (3/7) > >> |
| TiN:
Similar approach is also used in K2182A, where LM399 ref used only for autocal network, and actual ADC (K2000 type) works out of 6.2V zener. |
| openloop:
My guess they used local reference because it makes it completely independent. The problem with it is that it adds more to ADC's drift and, as I see it, drift is the instrument's main source of noise (at least in 20V range). Mostly because of the way they handle it (averaging for awhile, then dropping new constants in) --- Quote ---The regular zener as an additional local reference for the ADC is indeed odd, as this can add some noise and needs the measurement of the scale factor (e.g. the 10.5 Ref.) even for fast measurements. --- End quote --- They need to do scale measurement anyway because the compound ratio of R835+R846 to R840 to R841 is unknown. Additionally, 6.9V measurement is the scale one (LM399's voltage is calibrated in). 10.5V is to determine R327 to R334 ratio. I.e. the input divider. --- Quote ---However the extra ref. does not effect the slope ratio part. --- End quote --- OK, that's true. As "zener reference" I meant entire +-10V local reference voltages. But already you see that the ratio of final slope to "zero crossing" slope is dependent on two not ratio locked dividers, which in turn made of not ratio locked resistors. In an instrument that heats up to 40+ degrees under the shield. It (the ratio) drifts. And even when it finally reaches a stable point it will never be 8000, that point is also room temperature dependent... Back to my original point: not auto-calibrating this ratio makes K2001 not a fully autocalibrated instrument and it shows up in readings.What, they didn't want it to compete with 2002? ::) --- Quote ---The ratio of 8000 for the "red" and "blue" steps is odd, as the slope ration would be 4M/20K = 200 --- End quote --- You're right. :-+ I just crunched some numbers. Here's what I've got. The granularity of that "fast" slope is 10 clocks (at 7.68MHz). That got stretched by 200 times => i.e. it translates into 2000 clocks for the "slow" final slope. But I get 8000... Simply stuffing 2 bits on the right (i.e. multiply by 4) will result in even numbers, but I've looked into the data and it's not the case. Looking closer I've found this: all measurements except payload indeed end with binary 00 (but they're all positive or close to zero) All payload readings (for the final slope count) end with binary 01 for positive (on the panel, negative at ADC) voltages (left/first half of the graph) and 00 for negative (right half). Thus they indeed shifted the count by two bits and used two lower bits for flags. This explains why my overflow experiment didn't produce any results: they hide the polarity flag in there... Damn... |
| Kleinstein:
From the design the K2001 is relatively old, more like the K19x series in some aspects, older than the K2000. The K2002 looks more modern and in many aspects like an improved version of the 2001 with the ADC as a slightly improved version of the 2000, and the input stage more from the 2001. Doing the scale calibration in the background or even for every reading (like with the K19x series) is the old style. This can compensate for quite some drift (and even excess noise) of the resistors setting the ADC gain. With good resistors setting the ADC gain one can get away with much less frequent adjustment, like with a separate ACAL call. The extra gain measurement step takes up time and will add some noise to the reference for the long time scale (e.g. > 10s of seconds) for the short time scale one can use a second lower noise reference and this way reduce the shorter time scale noise. The 1N4579 zener is not just a simple one, but more like a good grade reference zener, a little like the more common 1N829. Chances are high it is considerably lower noise than the LM399. The added noise from the additional scale factor readings would be more like white noise with a low bandwidth. At long enough a time scale the added noise would be be less than the 1/f noise of the LM399 - so it can be worth it. The real time gain check to compensate resistor drift / TC is than more like an extra benefit. There is however a more hidden downside: from dielectric absorption there is some delayed effect at the ADC. So it makes a small difference if the reading before (e.g. the payload measurement) was 10.5 V or 0 V. This can result in some extra LF background (e.g. every 14 readings or so) and also some INL error from the input reading effecting the reference scaling. The separate reference could also help in avoiding a possible ground problem, as the extra ref. is on the ADC board. At least with today's prices I would have preferred a 2nd LM399 to reduce the noise instead of the extra 1N4579. In the old days the zener may have been cheaper though. The 10.5 V is using the same resistors (R334+R327) that normally set the attenuation to create some gain for the 7 V. So they need both readings, and especially the difference. So there can be quite some extra noise from including the r334/R327 ratio from the background readings. Chances are the 2 V range would directly use the 1.75 V reference. So the 2 V range could be quite stable !. |
| openloop:
The zener on the ADC board is a mistake. One can rationalize it's presence till kingdom come, but the simple mathematical truth is that if you add an additional independent noise source you shall add it's variance to whatever you already have. Thus invariably increasing your noise. Additionally, that zener has a really bad (comparing to LM399) temp co thus inducing even more drift. Keithley guys realized the futility and in later designs they used a nice, onboard reference. The ground issue was solved by a brilliant move - bring in the outside reference differentially (plus it sidesteps the thermal EMF thing). This trick is used in 2002 and DMM7510 (maybe others too). --- Quote ---There is however a more hidden downside: from dielectric absorption there is some delayed effect at the ADC. --- End quote --- You found it too! :-DD Although I wouldn't subscribe necessarily to it being caused by "dielectric absorption", but there is indeed a "memory" or how I like to call it "non-Markovian shit" effect. Surprisingly, the problem is not on the ADC board. I was able to trace it to U322 buffer acting a little bit like a flip-flop. With little hesitation I've replaced it with a modern chopper assuming (seems correctly) that any additional HF noise will be suppressed by ADC's integrator acting like a low pass filter. The chopper has made this "memory" phenomena pretty much disappear. --- Quote ---The 10.5 V is using the same resistors (R334+R327) that normally set the attenuation to create some gain for the 7 V. --- End quote --- That is incorrect. The gain for 7V reference is explicitly set to one. (R334+R327) are excluded from feedback by the open U319 "//2" switch. (R334+R327) divider is used exclusively to divide 20V range input by two. And because its ratio drifts (and not a part of the calibration) - hence 10.5V autocal. --- Quote ---Chances are the 2 V range would directly use the 1.75 V reference. So the 2 V range could be quite stable ! --- End quote --- Maybe. The problem with 1.75V (a.k.a. 6.9/4) reference is that it's coming from a fairly noisy PWM. Thus, while being very accurate it is not very precise. And considering how badly firmware handles drift I wouldn't be surprised if it has problems with a noisy reference too. |
| Kleinstein:
The reference reading with the 10.5 V has some nice features. If am did not make a mistake in may short calculation the relevant size is the 10.5 V reading minus the 6.9 V reading. So they may not even need a zero reading if they get the ground right (same effective ground of the 6.9 V as for the 10.5 V, which should be possible as the 10.5 V ground is free to choose). From the sensitivity they could have as well directly read the 6.9 V reference in the 20 V range, getting around switching the gain. Getting rid of the memory be changing U322 is a surprise to me. The main reason for memory inside U322 would be a thermal effect, tricky to estimate. An AZ OP may still make sense here as it can offer good linearity - my best guess would be something like OPA189. A memory from the last conversion can be quite annoying - I also see this in my ADC implementation and the main effect in mind is the DA. If linear one could compensate numerically, but it is of cause better to not have it from the start. The K2002 and DMM7510 use a very low noise main reference to start with (LTZ and LTFLU) so no need for extra noise filtering. The K2002 uses separate current source for the ADC and this way can tolerate some common mode shift between the reference and input amplifier, possibly all the way to the low side of 4 wire ohms mode. I don't know how the DMM7510 does it, but from the pictures it looks different from the K2002. If the extra reference is really low noise it can help, at least in theory by a kind of digital filtering of the LM399: the noise of the LM399 could be digital filtered for some thing like the > 0.01 Hz range. In this range it would be replaced by the 2nd reference noise and some additional white noise from the gain measurement. If the cross over frequency is low enough (long averaging) the extra white noise would be small. I somewhat doubt they added the 2 nd ref for noise filtering, it is likely because of gain drift (the possibility to use cheaper resistors) and tradition. Possible noise filtering for the reference is more an additional benefit, they may not even use. With low grade resistors the averaging is limited, by excess noise of the resistors. For noise filtering it would help if the ADC itself would be low noise. In the ADC of the K2001 there are a few extra noise sources. A resistor for the input (59 K) much larger than the other resistors (20 K + 40K) results in a noise gain for the integrator OP (U813) of nearly 5.5. There is also quite some extra noise from these resistors. The attenuation by a factor of 2 for the 20 V range also adds to the noise. The LT1007 with some 20 K of source impedance is not really low noise anymore at some 2 Hz. AFAIK the K2001 is also relatively noisy for reading a short. The effect of the extra reference would be mainly there if a 10 V or similar voltage is read. In this can one could have an interesting noise spectrum, depending on how good the reference filtering (averaging of the gain readings) is. So I would not blame the relatively high noise to the extra reference. The more modern K2010 and K2182 also use the extra reference and can get reasonably low noise. The 1.75 V is not from a PWM divider, but a charge pump / switched capacitor type. This can be reasonable low noise - the trouble is more like producing EMI problems via Rf crap on the supply that may or may not effect some circuit parts. |
| Navigation |
| Message Index |
| Next page |
| Previous page |