HP34401 - Measurement of Linearity - Page 1
Forum section: electronics / testgear

author: Dr. Frank
author_rank: Super Contributor
timestamp: December 30, 2013, 09:23:47 am
content: The most important characteristic of an A/D converter or a DMM is its linearity.The number of digits displayed (and promoted) is often spoiled by the bad non linearity.A good linearity on the other hand allows to make a transfer from a reference value to another random value.That's the purpose of a transfer standard, like the famous Fluke 720A.I made a quick 'n dirty measurement on the venerable HP34401A, whose A/D concept is derived from the best linear one, sitting in the HP3458A.The 34401A specification claims 2-3ppm A/D linearity (3458A: typ. 0.02ppm = real 8 digits).To perform such a high precision measurement, one may get about 7 stable digits from the 34401A over GPIB, or by the averaging function initiated by MinMax.I measured 15 values, averaged over ~100 samples each, between 11.00000V and 0.000000V, generated by a Fluke 5442A, which itself is linear to better than 0.1ppm.This latter characteristic had been verified by a linearity comparison of the 5442A against the HP3458A, see figure 1.The DNL (differential non linearity) is computed relative to FS (full-scale) = 10V, by first applying a best fit to remove zero and gain error, and then calculating the difference between best fit and output, divided by 10V.DNL relative to output is calculated the same way, but divided by each individual output value.The first DNL calculation is specified in the datasheets.The 2nd DNL calculation, which is getting worse towards small values due to less and less resolution there, gives an idea, how precise for example a 10:1 or a 100:1 transfer might be.In figure 2, you can see, that the 34401A is linear to around 0.2ppm of FS (input), and from figure 3, that a 10:1 transfer, e.g. 10V => 1V, can be made precise to 1ppm.A direct 100:1 transfer would yield 15ppm, so a 10V => 100mV transfer would be done in two subsequent steps, 10V=>1V and 1V =>100mV, for 2 ppm accuracy instead.Another practical application of that very linear characteristic of the HP34401A is shown in picture 1.The fixed, direct output of an LTZ1000, Ref_2 = 7.1479734V (as measured by the 3458A) is amplified to a nominal of 10.00000V. This yields a precise cardinal calibration value.The ratio of nominal 10V/7.1479734V = 1.3989979 can be measured by the 34401A directly, to trim the amplifier output to the exact 10.00000V value with an accuracy of around 1ppm, limited by the single shot resolution of the ratio function.This allows to re-calibrate the 10V output at any time, as this value drifts much more than the raw output of the LTZ1000.By measuring the input and output values separately, and averaging over the GPIB, the accuracy of the ratio transfer can be driven to around 0.4ppm.Frank

author: Rick Law
author_rank: Super Contributor
timestamp: December 30, 2013, 01:53:13 pm
content: Dr. Frank,Very interesting. I learned something about linearity and transfer accuracy which I was just wondering about exactly what it is. Your post is very educational.Rick

author: Joe Geller
author_rank: Contributor
timestamp: December 31, 2013, 10:06:56 pm
content: See my later post below, the technique seems fine, and very convenient! as long as both the sense value (e.g. 7 V) and the Vin value (e.g. 10 V) are on the same DMM scale.The detailed notes pertain to cross scale DCV ratio work, such as using both the 10 V and 1V scales.Frank,I think the way the DCV Ratio function works on hp Agilent DMMs is by measuring the sense input (Sense) on an auto-ranged scale and then measuring the input voltage (Vin) and doing the math by microprocessor. That is, the DMM is not doing a true ratiometric "raw" conversion using one input in place of the internal reference, and then digitizing Vin based on the "sense reference". Instead, it is simply literally making two separate measurements based on the one internal reference.Unfortunately, I do not think there is a way to effectively substitute the internal reference or scale calibrations with a voltage standard at the sense input (or Vin) while excluding effects of the internal reference.Edited post: Replaced cross range (10 V & 1 V example) in separate following post.As an aside, I ran overnight with the Fluke 732B 10 V connected to the 34461A sense input, and the HiZ (just a R divider) 732B 1.018 V connected to the Vin, manual range 1 V, HiZ selected. After some tens of thousands of points, I think around 45k, the central ratio average was 101.81683 with one standard deviation of 45.625 n. There was very little temperature drift with more than a 3 degree C change (not recorded, but the normal night time setback). It seems that whatever is temperature sensitive (in spec, but curious) in my 61A (presumably in the reference chain, suspected now to be the Rs in the first gain stage, hmm, or it still could be the ADC, anything in common gain with the 1 V and 10 V scales) is cancelled out by both measurements! Then, I want to say, I bootstrapped the 1.018 V measurement by my 10.000 00 V from the 732B to read it's own 1.018V output as 1.018 163, my best measurement yet! But not. Because although super stable and free of the DMM tempco (successfully cancelled!), the 101.81683 depends on the absolute calibration of both my 10 V scale and my 1 V scale. Bummer.I do agree that the reason the Fluke dividers of the past such as the 720 and 752 are no longer needed is because of the amazing linearity of the hp 3458A.Joe

author: Joe Geller
author_rank: Contributor
timestamp: January 01, 2014, 04:04:34 pm
content: Here is a better example being sure to use both the 10V scale (for the auto-range sense measurement) and the 1V scale manually set (always HiZ when using a Fluke 732B 1.018 resistor divider output).The premise is that hp / Agilent DMM performs the DCV ratio function by making independent measurements at the Vsense terminals and the Vin terminals as opposed to a "true" ratiometric measurement (e.g. using one input to stand-in temporarily for the internal reference)All measurements were made using an Agilent 34461A 6.5 digit DMM using a 10 power line cycle (plc) integration time with statistics averaging. Averaging was used to run "full out" in resolution. It is understood that thermal emfs likely caused errors rendering these values off "absolute" at 6 to 7 digits (unimportant for the experiment / demonstration of DCV ratio).A) Measure the FLUKE 732B 10 V and 1.018 V outputs using the DCV function with statistics averaging100 samples, 10 plc, 10 V 10 Meg, 1.018 V HiZ1.018 V: 1.018 165 0 V10 V: 9.999 987 VRatio: (30 samples) R101.816 93 m (ratio, no units)B) Intentionally change the 34461A 1 V scale calibration (gain) by about +30 uV (30 ppm for a 1 V full scale)EDC 520A, set 1 V on 61A: 1.000 004 5 VEDC 520A, set +30 uV error signal: 1.000 035 7 V (about +30 uV)Calibrate 34461A DCV 1 V scale to 1.000 035 7 V, by telling cal procedure, that 1.000 035 7 V is 1.000 000 0 VEDC 520A, set +30 uV error signal: 1.000 035 7 V (about +30 uV): 34461A now reads 0.999 999 8 VC) Repeat step A) with cal error of step B)1.018 V: 1.018 129 5 V (compare with before: 1.018 165 0 V)10 V: 9.999 985 VRatio: (30 samples) R101.813 3 m (ratio, no units) (compare with before: R101.816 93 m)Conclusion: The DCV ratio function is dependent on Vin, Vsense, the linearity of the ADC, the calibration (gain and offset) of the 1 V DCV scale, and the calibration (gain and offset) of the 10 V scale when comparing a 10 V or a 7 V reference signal (Vsense) to a 1 V source (Vin) under calibration. My understanding is that the 34401A DC Ratio function works the same way. The later more accurate 34410A (the "10A") dropped the DCV Ratio function.Probably, short of a short term calibrated hp 3458A, one of the best ways to approach a 1 V absolute calibration, based on a 10 V "known" absolute "correct" value, is still by the Fluke 752A Hamon method. Hamon experiments can be done in a small lab, understanding that results are only short term valid (if at all) to some precision. Here are some references:http://www.gellerlabs.com/752AJunior.htm.For 5.000 00 V, It would also seem valid to use two 5 V adjustable reference sources and have the series connection (yes, you need to worry about the sum of TE junctions in the connections) nulled to a known 10 V calibration source. Then one could reverse the connections and check for zero volts and iterate until both 10 V is matched and each 5.000 V source matches each other (I suppose that could be a null check 5 V to 5 V too). The idea is that both reference need to be both the "same value" and the "same value" that adds up to "exactly" match the 10 V reference.Then, one of the 5.000 00 V cal references might be suitable for short term checking the DMM 10 V scale at 5 V, or for setting by null techniques a third reference to one of the 5.000 00 V set references. As with any calibration exercise, to be rigorous, one would need to try to identify possible errors, and set the resulting range of uncertainty accordingly.

author: sync
author_rank: Frequent Contributor
timestamp: January 01, 2014, 05:30:22 pm
content: Looking at the 34401A schematic I don't think it can do radiometric ratio measurement. But is this a problem?

author: Joe Geller
author_rank: Contributor
timestamp: January 01, 2014, 07:07:59 pm
content: yes, you might be right (not a problem). The original proposal is to make both measurements of the ratio calculation on the same 10 V scale. Most of my concern is cross scale, e.g. the calibration source on the 10 V scale and the value being calibrated by ratio on the 1 V scale.However, if both the 7 V reference and the 10 V reference are measured on the same 10 V scale, whatever gain and offset error is associated with the 34401A 10 V scale, short term is the same for both measurements (which was probably Frank's original point). And, as was noted, the 10 V absolute calibration of the 34401A is less of an issue, perhaps insignificant.There might be some merit to the technique as long as it uses a common voltage scale, convenient at that! I think maybe it does work, so long as both measurements are on a common scale.

author: Andreas
author_rank: Super Contributor
timestamp: January 02, 2014, 03:29:01 pm
content: Hello,here you will find the "poor man's" linearity adjustment+check which I do for my ADCs (LTC2400) to get from 4-15 ppm down to around 1 ppm linearity error.The LTC2400 is relatively easy to linearize since the error curve is nearly a simple parabolic function. (see AN86 of Linear Technology).The measurement setup consists of the ADC (left) a buffer amplifier (mid left) and the "calibrator" (right) and a stable LM399 source (background). All is supplied with floating supplies (batteries).The calibrator is a galvanometer amplifier with a output resistor string of 20 resistors (R1-R20). The feedback of the galvanometer amplifier is tapped between R14+R15 giving up to 10V with 500mV steps from a 7V reference.The resistor string consists of 1K 0.1% low TC (25ppm/K in this case) film resistors.The buffer amplifier is necessary to decouple the low ohmic input impedance of the ADC from the resistor string.The plastic pincer is needed to keep heat transfer away from the connectors during "switching". This reduces the stabilisation time during measurement. A thermal stable environtment and a temperature compensated/stabilized ADC is necessary (less than 1 ppm drift during measurement).Measurements (example in mid scale). Integration time is 1 minute due to noise reduction.1.) offset both lines connected at same tap (is subtracted automatically from all further measurements) (IMG1459w)2.) R1-R10 full scale (around 5V) (e.g. 4900.7528 mV) (IMG1460w)3.) R5-R10 upper part resistor string (5V - 2.5V) (e.g. 2450.6078 mV) (IMG1461w)4.) R1-R5 lower part resistor string (2.5V-0V) (e.g. 2450.0172 mV) (IMG1462w)Repeat all steps with all other taps to check the parabolic function.Check offset and full scale for drift (< 1ppm)If there is no linearity error then the value 2) is the sum of 3) + 4).In this case 0.1278 mV as sum are missing near mid-scale. (each measurement 64 uV)With a projection to exact mid scale a correction of +13.2 ppm (+66uV of 5V) is necessary at 2500 mVWith best regardsAndreas

author: Dr. Frank
author_rank: Super Contributor
timestamp: January 02, 2014, 03:56:45 pm
content: Here's an update of the linearity characterization.The front panel functions as MinMax and Ratio will do a clipping of the extended 7-digit- resolution.And yes of course, the Ratio function performs 2 separate DCV measurements and calculates the ratio. So the achievable resolution is already limited by the calculation and rounding algorithm to around 1ppm.It is necessary, that both measurements (DUT and reference) are done on the same range. I think, that's fulfilled, if the instrument is set to Manual Range.Instead of the front panel functions, now I used the agilent DMM Utility, Dave already has shown inone of his blogsblog #562.(It's a pity, that I don't have an iPhone for remote measurement).This utility logs the results to 1µV resolution foreachmeasurement value, over GPIB, i.e. to 7 digits, see fig. 1.The noise for NLPC 100 / 6 Digits Slow is less than +/- 2 digits, or +/- 0.2ppm.With additional averaging, i.e. over 20 samples, the standard deviation is around 1µV, that means one will achieve stable 7 digits from the 34401s A/D, see table 1.All readings are done on the 10V range!The results for the linearity FS and Out are identical, see fig. 2 & 3, but now confirmed by statistics.So, calculating volt transfers by such raw data instead of Ratio may really yield < 1ppm of uncertainty.As a bonus, I measured the stability of the HP34401A over 16h , at constant 21.5°C (+/- 0.2°C), see fig. 4.I did not expect that old box (25 years or so) to be that stable (~0.3ppm)!Frank

author: Dr. Frank
author_rank: Super Contributor
timestamp: January 02, 2014, 04:21:41 pm
content: Quote from: Joe Geller on December 31, 2013, 10:06:56 pmHello Joe,I don't think those transfer standards are obsolete, especially not the Hammon type Fluke 752A.The 3458A beats the 720A, that's right, but not the 752A at high voltages.The 752A is uncertain to 0.5ppm @ 1kV, whereas the 3458A is specified > 12ppm @ 1kV only.That's due to the uncompensated heating effect of the 100:1 divider inside the 3458A.Even the HP34401A performs much better at that point.Other long scale DMMs, which compensate for that effect, also achieve 2ppm @ 1kV only.I built my own Hammon transfer standard, mitigating that heating effect to less than 1ppm.Perhaps I'll add an interior photo, as this fits into the Transfer Standard discussion here.The 2nd photo illustrates a 10V => 100V transfer by means of this "Reference Divider".That setup indicates, that the (uncalibrated) HP34401A is off by +30ppm.Frank

author: sync
author_rank: Frequent Contributor
timestamp: January 02, 2014, 05:04:30 pm
content: Nice build!Can you post the schematic?What resistors do you used?I planned to build a simple 10:1 Hammon divider. Maybe i will add a 100:1 mode too. I think the 752A manual will be a good read.

author: Dr. Frank
author_rank: Super Contributor
timestamp: January 03, 2014, 12:36:31 pm
content: Quote from: sync on January 02, 2014, 05:04:30 pmYes, the 752A manual is very instructive, as it describes in detail all the error sources.You should download the complete version, including the schematics.Fluke does not explain, how the resistors are matched to achieve that independence from heating effects.On the web you will also find several interesting scientific / metrological articles about the design and evaluation of decade and High Voltage transfer standards.Search for : EUROMET.EM-K8.pdf, for example.Well, in my design, I made a different approach compared to the 752A, to avoid the special T.C. matching which Fluke does in every of their divider designs, see principle schematics.I used 104 identical metal foil resistors, FLCY from Alpha Electronics, 25kOhm, 0.1%, 0.14ppm/K typ. @ RT, available from rhopoint components Germany.10 years ago, I paid around 200€ in total.Lower grade resistors won't do the job for < 1ppm transfer uncertainty, because that would be too unstable regarding thermal fluctuations.R1 - R100 are used for the divider, the 4 other resistors are used for the 2 arms (2* 50k) of the Wheatstone Bridge.That's not shown in the schematics.Selected metal film resistors trim the seven parts of the divider ( 3* 750k, 3* 75k, 1* 25k) to equivalence within a few ppm (34401A or better required).3 trimmers are used to balance the Wheatstone Bridge, and to calibrate the 100:1 and 10:1 divider chains.The custom specific ELMA switch provides low EMF, low resistance and low leakage.It is not specified for HV, but up to now, did withstand 1kV without problems.The cables are Teflon isolated ones.I achieved uncertainties of 0.2 / 0.5 ppm for 10:1 / 100:1 at input voltages up to 100V, measured by Fluke 5442A and HP3458A.The 1kV transfer is around 1ppm by design, and also confirmed by measurement with the Fluke 5442A, which itself contains auto calibrating transfer standards.I did not yet measure the heating effect at 1kV directly.Using the HP3458A fast digitizing feature at 10V level, the magnitude of this thermal drift in the first several 100ms could be detected.Frank

author: robrenz
author_rank: Super Contributor
timestamp: January 03, 2014, 01:23:35 pm
content: I would love to see this linearity test done on the Fluke 8846A (tek 4050) if anyone has one.

author: bingo600
author_rank: Super Contributor
timestamp: January 03, 2014, 02:59:31 pm
content: Quote from: robrenz on January 03, 2014, 01:23:35 pmRR you know it would fail... It's "just" a Fluke/Bingo

author: robrenz
author_rank: Super Contributor
timestamp: January 03, 2014, 03:01:19 pm
content: My money says it is better than the 34401A

author: sync
author_rank: Frequent Contributor
timestamp: January 03, 2014, 03:49:06 pm
content: The spec are the same for both: 2ppm of reading + 1ppm of range. A real measurement would be interesting. Just send your 8846A to Dr. Frank.

author: robrenz
author_rank: Super Contributor
timestamp: January 03, 2014, 03:55:57 pm
content: quarks has one and is much closer to Dr. Frank. I think he has the equipment to measure it himself also.

author: sync
author_rank: Frequent Contributor
timestamp: January 03, 2014, 07:17:13 pm
content: Hello Frank,Thank you very much for the schematic and the other information. I have read the 752A manual. Very good indeed.200€ for the resistors sounds like a good price. When I saw your photo I expected they cost over 1000€. Fortunately I'm not aiming for sub-ppm precision. So I hope to find a bit cheaper ones.

author: quarks
author_rank: Frequent Contributor
timestamp: January 03, 2014, 08:29:50 pm
content: Quote from: robrenz on January 03, 2014, 03:55:57 pmHello robrenz,unfortunately I have missed this thread until now.I can do a test maybe tommorrow, just let me know what setup you like me to check for you.Byequarks

author: robrenz
author_rank: Super Contributor
timestamp: January 03, 2014, 09:07:32 pm
content: Quote from: quarks on January 03, 2014, 08:29:50 pmA repeat of what Dr. Frank did on his first post and reply #7 would be great if you don't mind going to go to all that work.

author: quarks
author_rank: Frequent Contributor
timestamp: January 04, 2014, 11:43:18 am
content: Unfortunately I do not have enough spare time to do all the same measurements, but here are some TEK 4050 results.Setup:All gear warmed up > 4h4050 in Manual Range 10VDC, 6.5 Digit, 100PLC, HIGHZand also in ANALYZE STATS Mode with better resolution of 1µV from below 10V to 1VAll measurements are made against my WAVETEK 4808, set in 10 VDC Range to the nominal value (with no tweaks/corrections)The 4050 is almost perfectly identical to the 4808 linearity.

author: Dr. Frank
author_rank: Super Contributor
timestamp: January 06, 2014, 10:34:02 am
content: I just made the calculationSee xls sheet. German version only, sorry.Linearity of input is around 0.35 ppm.Linearity of Wavetek 4808 is not specified in the catalogue, or I did not find detailed specifications.Obviously 0.3ppm linearity also.Frank

author: robrenz
author_rank: Super Contributor
timestamp: January 06, 2014, 01:02:08 pm
content: Thank you quarks and Dr. Frank for your work!

author: cellularmitosis
author_rank: Unknown
timestamp: June 11, 2017, 03:44:22 am
content: Quote from: Andreas on January 02, 2014, 03:29:01 pmHello Andreas,I am having some trouble understanding how you are able to perform this linearity measurement. I'd soon like to set up an LTC24XX-based vref scanner project of my own, so I'd love to be able to perform a similar linearity characterization.I'm having trouble imaging what the schematic of your calibrator looks like, so I'll start by posting my best guess, and then maybe someone can correct it from there (see attachment).I am also having trouble understanding the theory of operation. Are you using a bench DMM to measure what the voltages at each tap should be, and then comparing that to your LTC2400? I don't think that's what you are doing, because that would only match the linearity of your DMM.

author: Andreas
author_rank: Super Contributor
timestamp: June 11, 2017, 05:41:53 am
content: Hello,no when I first made this linearity test my best DMM had 80000 counts.So no chance to do a 1 ppm linearity check.With my cirquit I fully rely on the (short term) stability of the resistors.Additional on the fact that the sum of 2 voltages (VTotal) should be always V1 + V2.(if not then I have a linearity deviation, assuming that offset is calculated out).Maybe that you will need additional measurements/assumptions if your ADC has not a parabolic (symmetrical) INL-behaviour.The principle of your cirquit is right. (except that I never would use a additional voltage divider if I have already one on hand).The battery powered LM399 (or LTZ1000) is connected on J1 (neighboured pins on D-SUB).After input filtering and buffering with a AZ-Op-Amp (today I would use a LTC2057) the voltage feeds the resistor string.C2 is for dampening oscillations.Power supply is done by 2 * 9V NiMH-Blocks.Negative voltage supply is a diode drop.The positive voltage is stabilized by a low noise LTC1761.Output is via 2 jumpers to a D-Sub connector.Of course you will need a additional buffering of the output voltageif you have a dynamic load (not high impedant > 10 Gig) like a sigma delta adc.with best regardsAndreas

author: cellularmitosis
author_rank: Unknown
timestamp: June 11, 2017, 06:57:56 am
content: Ah, after reading over your post again and looking over the datasheet again, I think I understand now.By the nature of A + B = C, if both "part" measurements are high (or both are low), you know what the total error is (e.g. where you should have 1.5V + 3.5V = 5V, but you measure 1.6V + 3.6V = 5.2V, the total error is 0.2V). The trick then is trying to figure out how to divide that error up among the two measurement points.When you take a tapped measurement, the two measurements will naturally be centered around the half-way point (e.g., measuring 5V at the 1.5V tap yields measurements of 1.5, 3.5, and 5V). If we then make the assumption that the LTC2400 error is a perfect parabola (or any shape symmetric about the half-way point), then we can make the assumption that half of the error belongs to each "part" measurement.In practice, the error will not be a perfect parabola. Our remaining "unknown" error is then determined by how much the actual error curve differs from a perfect parabola (how asymmetric it is). However, this remaining error should be much smaller than what we started out with, so this is a big improvement using modest equipment.Very cool! Thanks for replying so quickly.I also understand why the resistors need to hold their value long enough to complete one set of measurements (full scale, bottom half of tap, and top half of tap). If they drift due to temperature, that introduces some additional error.

author: cellularmitosis
author_rank: Unknown
timestamp: June 11, 2017, 07:45:12 am
content: Hmm, I think we can use this setup to make an even stronger claim about the non-linearity of a particular fractional voltage.Consider a slightly simpler setup: a 5V reference which has 5 1k resistors, giving us taps of 1V, 2V, 3V, 4V and 5V.Naturally, our resistors will have some error, so we cannot simply measure the 1V tap and declare that it should be 1.000000V.However, if we measure every 1V span (0-1, 1-2, 2-3, 3-4, 4-5), since these spans must add up to the total, if we average the 5 measurements, we should be able to claim that the average is exactly 1/5 of Vref (no matter the error of each individual resistor, as long as they didn't drift during the measurements).I threw together a spreadsheet to play with this idea. I randomly assigned some error to each resistor, then calculated what some of the average spans were. The result is very close -- possibly we are seeing cumulative rounding errors here?(I did this twice, the second time with a more intentionally biased set of errors in the resistors)(the bolded values at the bottom of each "span of" column are the average of all of the spans -- in theory these averages should be exactly 5.000000, 4.500000 and 2.000000)

author: Andreas
author_rank: Super Contributor
timestamp: June 11, 2017, 09:45:34 am
content: Hello,the more I re-think what I´m actually doing:It is a "pattern matching" to the parabolic error curve of the LTC2400.So for a generalized measurement of INL Franks method with exactly matched resitors (see also his LTZ1000 in LTZ1000 thread) would be the easier way.In my case it is very similar to what you described in the previous posts.Each measurement is given a "weighting factor" for the INL according to the parabolic shape.So a value with exactly mid-scale (2500 mV) of the ADC gets 100% (factor 1.00)A value zero and full scale get 0%. (because they are calibrated out later by offset and full scale adjustment).1250 mV and 3750 mV (half away of mid scale) get 100-25 = 75%Actual formula for weighting factor is: W = 1-((ABS(2500-rdg)/2500)*(ABS(2500-rdg)/2500))where 2500 is mid-scale in mV and rdg is ADC value normalized to 5000 mV full scale (before full scale adjustment)the INL-value for the set of the first three measurements then is done byInl (mV) =(L12-L15-L18)/(M15+M18-M12)the 2nd setInl(mV) =(L12-L21-L24)/(M21+M24-M12)with Lx = readings and Mx = weighting factorsL12 and M12 are averaged values of 2 measurements (beginning and end of 2 sets)With best regardsAndreas

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 06:54:23 pm
content: I had an idea for a linearity check which is somewhere in between Andreas and Frank's approach.The idea is to take a small fixed voltage and then stack it on top of other voltages to move it through an ADC's range. At each point, toggling the small voltage on/off should result in the same delta, regardless of what voltage it is stacked on top of.Here, this is done with a voltage divider, the top range of which is coarse and the bottom of which is fine. Two rotary switches are then used to tap from either end of the divider, resulting in coarse and fine steps. These two taps form the positive and negative output.An example of usage: toggling between fine position 1 and 2 shows a change of 0.1V. The user then steps the coarse tap through all of its positions, and at each coarse position the fine tap is toggled between position 1 and 2. The deviation from 0.1V is used to measure the deviation in linearity at that point in the ADC's range.By selecting between two stacked 5V references, you can use this to evaluate a 10V DMM, or a 5V LTC2400.The BOM cost could range from $30 to $50, depending upon resistor selection. In theory you only need this to be stable long enough to run through the coarse switch taps and take a dozen readings, so the cheaper resistors might be fine.I thought I'd post the schematic for feedback before spinning a board. Thanks in advance!I have a 34401A and a few LTC2400's, so potentially I can compare results against Andreas' and Frank's approach.(I included a PNG of the schematic as a teaser, but the resolution is too low -- open the PDF instead).

author: Andreas
author_rank: Super Contributor
timestamp: July 02, 2017, 07:16:42 pm
content: Hello,still do not understand how you will do the linearity check without knowing the exact resistor values.(or the deviations against each other).For the references:They are not equal to the PPM-Level. (e.g 5.001 and 5.002 V)I would make a possibility to measure:Sum of voltages A + B (10.003) and B + A (10.003V) and the Tap in between. (either 5.001 or 5.002V)Difference of voltages A-B (0.001V) (which has usually less absolute error in e.g. 100 mV range).(Each reference with a own 9V-Block).So for the 10V-Range you can calculate the "average value" and by the difference the Tap voltages.(or you could adjust the references to be equal to make it easier).with best regardsAndreas

author: Kleinstein
author_rank: Super Contributor
timestamp: July 02, 2017, 07:21:56 pm
content: For the switching between the test voltage one could consider CMOS switches (e.g. MUX) instead of a mechanical one. Even the cheap ones like 4051 have a surprisingly low voltage offset. With a small µC for control, one could let the system run without user interaction and thus for a long time.For just short time measurements under stable conditions, an conventional OP like OP177 might be a better choice than an AZ OP. Az OPs produce some spike like noise and this can under some conditions lead to surprising effects, like sensitivity to capacitance.The idea behind the system with fine and coarse steps is that the fine step should be always the same, no matter what the coarse setting is.

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 08:23:55 pm
content: Quote from: Kleinstein on July 02, 2017, 07:21:56 pmYeah, that's the idea I was going for. I tried to make a visual representation of it here:The small bump should measure the same on top of each coarse step.

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 08:28:30 pm
content: Quote from: Kleinstein on July 02, 2017, 07:21:56 pmInteresting, I was watching a teardown of the EDC 501 and I noticed it looks like only some of the "bits" use relays. I guess the rest are using MUXes?Quote from: Kleinstein on July 02, 2017, 07:21:56 pmOh, interesting. I wasn't sure if the input offset voltage of a regular op-amp varies at all when the input voltage changes. If so, that could ruin the assumptions around my linearity setup. Is Vos independent of input voltage?

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 08:35:04 pm
content: Quote from: cellularmitosis on July 02, 2017, 06:54:23 pmThis was maybe a bit confusing. Initially I only designed this with a 5V reference for use with the LTC2400. Then I realized that for the cost of one additional reference, I could enabled a 10V mode and use it against the 34401A. The circuit is intended to stay in either 5V or 10V mode for the duration of the test (and could be populated for just 5V operation).

author: The Soulman
author_rank: Super Contributor
timestamp: July 02, 2017, 08:38:58 pm
content: Quote from: cellularmitosis on July 02, 2017, 08:23:55 pmCan you explain how you can accurately estimate (non)linearity by small bumps.I'd assume multiple points (accurate voltages) are needed over the entire range?

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 08:52:03 pm
content: Quote from: The Soulman on July 02, 2017, 08:38:58 pmWell, I'm not totally sure yet. I'm assuming I'm going to get a result which looks similar to this, but I'm not 100% sure how to turn that into a correction curve yet.Edit: Oops, this is a 16 million count ADC, not a 1.6 million count. Assume all of the measurements are an order of magnitude larger.

author: Andreas
author_rank: Super Contributor
timestamp: July 02, 2017, 09:09:58 pm
content: Quote from: The Soulman on July 02, 2017, 08:38:58 pmIt will not work:Estimate that INL will be -1 ppm (-10uV) at mid-level (5V) and zero at 0V and 10V (because of zero and full scale adjustment).If you do a bump of 100mV on the 5V this will give around -1ppm -1% = 0.99 ppm or -9.9 uV.But noise is in the order of up to 3 uV in 10V range.So no chance to accurately detect the small slope change.Quote from: The Soulman on July 02, 2017, 08:38:58 pmYes that.Quote from: cellularmitosis on July 02, 2017, 08:28:30 pmNo of course not.The parameter in the data sheet is CMRR (or nearly the same: PSRR).So for high linearity measurements you might want a buffer whos floating power supply is shifted with the input voltage.The LTC2057 has around 150 dB CMRR or 0.03uV/VQuote from: Kleinstein on July 02, 2017, 07:21:56 pmMhm around 100 Ohms RDS,On and up to 0.1 uA leakage current at room temperature.And do not forget the level shifters to translate from 3/5V to the MUX supply voltage.With best regardsAndreas

author: cellularmitosis
author_rank: Unknown
timestamp: July 02, 2017, 09:25:40 pm
content: Thank you Andreas, I very much appreciate your analysis!

author: Kleinstein
author_rank: Super Contributor
timestamp: July 03, 2017, 05:37:07 pm
content: The circuit shown for the resistor chains has the OPs in a circuit where the common mode voltage does not change if theotherchain is switched. So any possible CMR error of the OPs would be similar to slight variations of the resistors - so it would not matter.No matter how you do it, the measurement of INL in the ppm range is close to the noise limit. So this problem is not limited to the circuit shown. So one will need a lot of repetitions. So I would not expect any INL measurement on something like th 34401 or LTC2400 to be fast - more like days. Especially the LTC2400 can be difficult, as the noise is rather high and after first order correction the INL can be rather low.The test with the small bump at different level is more like a kind of DNL testing, comparing the slope at different offsets. Compared to the classical histogram test this is testing a larger range, but still more like DNL. One might be able to integrate the measured errors if the Bump is large enough, like the size of the steps used for the offset.In the circuit shown the R_on of the switches does not really matter. It is only the OPs bias current that will flow there. Usually the Bias current is low and relatively constant. So the change in current flowing through the switches is really low. Anyway the R_on would have to be compared to the impedance of the resistor chain - more like in the 10 K range.Leakage however can be a problem - though again it would only be the change in leakage, that would really matter. Especially with the cheap CMOS switches the worst case leakage ratings are usually very conservative, as testing is slow and expensive. Of cause there are better switches too, that are not that expensive.

author: Andreas
author_rank: Super Contributor
timestamp: July 03, 2017, 08:23:34 pm
content: Hello,Quote from: Kleinstein on July 03, 2017, 05:37:07 pmOne run with 10 resistor taps on each combination on the LTC2400 is below 2 hours.(averaging around 300 single measurements over 1 minute for each data point to reduce noise).Ok I usually repeat the measurement.One with a 2:1 capacitive divider (0-10V) and one with a 1:1 buffer (0-5V) just to sort out bad measurements. (e.g. bad contacts).Quote from: cellularmitosis on July 02, 2017, 09:25:40 pmof course you can use a 1K resistor string to measure the parabolic part of the LTC2400 with the method above.But I fear you will have to termally stabilize the 5V references so that during the measurement the drift is below 2 uV.With best regardsAndreas

author: Andreas
author_rank: Super Contributor
timestamp: July 08, 2017, 03:52:13 pm
content: Hello,another possibility with a unadjusted resistor string without any assumptions(so it will work also on a HP34401A).Each single resistor voltage has to sum up without error to the corresponding sum voltage of any number of resistors.The difference between the measured sum and the calculated sum is a measure of the INL-Error.I did this with my freshly INL-adjusted ADC25 for verification.ADC25 is adjusted with above method to get the parabolic part of INL.6749 ppb is the current calibration correction value corresponding to -33.7 uV unadjusted deviation at 2500mV.For verification INL was measured on a resistor string with 20* 1K 0.1% 15ppm/K metal film resistors supplied from LM399#3.The resistor string has its feedback tap for the buffer on resistor 14+15 so there is a 7V -> 10V transfer.The ADC is used with a 2:1 capacitive (LTC1043) divider. Readings are in mV after the 2:1 divider.To reduce noise from 10uVpp to around 1uVpp the measurements are averaged over one minute (around 300 samples).Result (INL including noise)maximum deviation of measured points -3.6 uV = -0.72 ppm (5V ADC-range)average deviation -1.25uV = 0.25 ppm (5V ADC range).My target of INL below 1ppm (similar to 6.5 or 7.5 digit instruments) is reached.with best regardsAndreasEdit: temperature (internal of ADC) was between 28.6 to 29.7 deg C during measurement.