Sunday, March 29, 2020

Revised analog front-end : op-amp selection and test, part 2/4

In this post I want to find out if a single buffer op-amp can replace the classic schematics used in the old days of DMM. I tested some parameters which are critical for the analog front-end. Some of them are given only as typical values and I want to know what is maximum value I can expect.

Based on the available schematics of old DMM (HP/Agilent 34401A, 34420A, 3458A, Datron 1281/1271, Keithley 2001), we can see that a pair of  JFET in common source or source follower circuit are used in front of the main buffer op-amp. This is because back then a single op-amp that can satisfy all criteria for error budget, was not available. Mainly these errors are related to input bias current and noise. For example the HP 34401 uses the OP-27GS op-amp which has very high bias current and current noise density. To solve this problem, a matched J-FET source-follower pair (NPDSU406) was used in front of the OP-27GS. This produces other problems which were resolved with additional circuits. More information can be found in the book "The Art of Electronics". I want to avoid this complexity, so I can find if newer op-amps are good enough. 

The only exception I found was the Keithley 2000 model where LTC1050C op-amp is used in bootstrap schematics. This allows the rated for maximum +/- 9V supply operation op-amp to be used for input signals up to +/- 12V (20% over range for the 10V range).


Selection of op-amps


In the previous post I made error budget for op-amp parameters and now I have to select available op-amps on the market. I made 3 groups of them : 
  • op-amps capable to handle input signals up to +/- 22V full scale range.
  • op-amps capable to handle input signals up to +/- 12V full scale range.
  • op-amps with errors below my threshold, but with maximum power supply under 10V. Using bootstrap schematics they can be used for input signals up to 22V. It's kind of a back-up plan if the previous 2 group failed.
After few weeks of looking for available op-amps and collecting parameter values, I selected 3 op-amps for the first group : LTC2057HV, ADA4522, MCP6V51 and 3 in the second group : OPA140, OPA192, LT1024A and 5 in the last group : ADA4530, ICL7652, LTC1052C, TLC2654AC, OPA376. 

Additionally I added the OP-27GS and LTC1050C as comparison to the selected op-amps.

In the tables below, the parameters are sorted by my priority given in the first column. All values which do not fit in my error budgets are colored in red.
The error budget is:

  • Ibias less then 50pA
  • Voltage noise, p2p value less than 4.4uV for the 22V range and less than 2.4uV for the 12V range. This is equivalent to 7 digits. The test for this parameter will be performed with short between positive input and the ground. 
  • Current noise density, RMS value less than 1041 fA/√Hz for 22V Range and 557 fA/√Hz for 12V Range. My criteria for this threshold is to reach a 6 digits when the input resistance is 1MOmhs and take into account the previous voltage noise thresholds.
  • Estimated Effective Number Of Digits (ENOD) for 99.7% probability. Combining voltage noise, current noise density and the input resistance must provide at least 6 digits for 12V or 22V ranges when input resistance is 1MOhms or at least 7 digits when the inputs are short. The used formula is:
        ENOD = Log10( FS/NoiseP2P)
        Where:
         - FS in Volts is the full scale for the range including the over-range. In the case of the 10V range, 12V over-range, the value is 24V and in the case of the 20V range, 22V over-range, the value is 44V.
           -  NoiseP2P in Volts is the peak to peak noise calculated by the following formula:
          NoiseP2P = 6.6 * SQRT (VnoiseRMS2+(InoiseRMS*Rin)2+RinNoiseRMS2)
          
         VnoiseRMS is the RMS value of the input noise voltage spectral density for 10Hz bandwidth. If only the peak to peak value is given for 10Hz bandwidth, VnoiseRMS = Vnoise p2p / 6.6.
          InoiseRMS is the RMS value of the input noise current spectral density for 10Hz bandwidth.
          RinNoiseRMS is the RMS value of the resistor thermal noise for 10Hz bandwidth, which is 0.41uV for 1MOhms.   
  • Input Voltage offset (by temperature, by time and initial value) : less than 1uV/°C and less than 1uV per month none cumulative. The initial value is not so important because it will be calibrated anyway.
  • Input resistance of the op-amp : at least 100GOhm
  • CMRR : minimum 120dB
Voltage Range, V22121212
ManufacturerLT/ADADMicrochipTITILT/ADAgilent 34401Keithley 2000
PrioParameter ↓ / Op-amp ->LTC2057HVADA4522MCP6V51OPA140OPA192LT1024AOP-27GSLTC1050C
1IBias, typ pA3050600.55251500020
IBias, max pA200150250102012080000125
2Voltage Noise p2p, typ uV0.220.1170.210.251.30.50.091.6
2Current Noise RMS fA/√Hz130110040.81.5206001.8
Est. p2p noise
Rin=1MOhm, uV
3.8423.102.722.723.002.78
2Est. ENOD Rin=1MOHms7.066.287.216.956.906.94
2Est. ENOD Rin=0Ohms8.308.588.328.257.537.94
3Vos Tdrift, typ uV/CN.A.0.0060.0050.350.10.250.40.01
3Vos Tdrift, max uV/C0.0250.030.03110.51.51.80.05
3Vos long-term month uVnear zeronear zero2N.A.N.A.0.320.05
Vos, typ uV0.51.52.430-/+ 515550.5
Vos, max uV5715120-/+ 25502005
4Rin, GOhmsN/A1000120100001000020002N/A
5CMRR, min dB133140135126120112100114
Vsupply max V-/+30-/+27.5-/+24.75-/+18-/+18-/+20-/+22-/+9
Price, USD w/o tax, Mouser5.292.681.323.612.6816.073.565.78

Details in the datasheet should be read carefully, because they are not always obvious. For example :

  • In the LTC2057 datasheet, the input noise current spectral density for +/- 30V is specified as 130 fA/√Hz, but later it's stated that "The DC average of injection current is the specified input bias current, but this current has a frequency component at the chopping frequency as well. When these small current pulses, typically about 0.7nA RMS, interact with source impedances or gain setting resistors, the resulting voltage spikes are amplified by the closed loop gain". I never got the value of 130 fA/√Hz with 1MOhms input resistance, but the measurements were close to the mentioned 0.7nA.
  • In the ADA4522 datasheet, the current noise density for 55V is specified as 800 fA/√Hz, but for a gain of 100. Later in Figure 78 for a gain of 1, voltage supply of +/- 27.5V and input resistance of 100KOhms, the current noise density is about 1100 fA/√Hz for 10Hz-1KHz bandwidth.


Voltage Range with bootstrap, V22
ManufacturerADTILT/ADTITI
PrioParameter ↓ / Op-amp ->ADA4530ICL7652LTC1052CTLC2654ACOPA376
1IBias, typ pA0.00141500.2
IBias, max pA0.0230306010
2Voltage Noise p2p, typ uV42.81.51.50.8
2Current Noise RMS fA/√Hz0.0740.642
Est. p2p noise
Rin=1MOhm, uV
4.833.893.093.102.82
2Est. ENOD Rin=1 MOHms6.706.796.896.896.93
2Est. ENOD Rin=0 Ohms7.047.207.477.477.74
3Vos Tdrift, typ uV/C0.130.0030.010.010.26
3Vos Tdrift, max uV/C0.50.050.050.051
3Vos long-term month uV~1.50.060.10.02N.A.
Vos, typ uV90.60.545
Vos, max uV50551025
4Rin, GOhms> 100000N/AN/AN/AN/A
5CMRR, min dB11011012011076
Vsupply max V-/+8-/+8-/+8-/+8-/+2.5
Price, USD wo tax23.476.098.775.921.69


I bought 2 pcs. LTC2057HV in SOIC-8 package and I had previously one in MSOP-8 package, 2 pcs. ADA4522 in SOIC-8 package and 3 pcs. MCP6V51I in MSOP-8 package (one of which I accidentally damaged with reverse supply polarity):



Description of the tests

Using the 8.5 digits Advanttest R6581T DMM I will do the following tests for the selected op-amps :

  • Ibias with 1MOhm resistor connected between the positive input and the ground.
  • RMS and peak to peak noise with 1MOhms input resistance.

    • RMS and peak to peak noise with short inputs.
    • Vos with short inputs.

      • Measuring voltage difference between input and output voltage vs. variations in the input voltage. I call this kind as linearity. In ideal case the differences between the input and output voltage of unity gain op-amp must not depend on changes of the input voltage and this difference must be constant.  The measurement value is equal to (Max(∆(Vout-Vin)) / ∆Vin) * 1E+6 (ppm).


      To do these tests, I made a small PCB for above tests plus possibility to measure the leakage of over-voltage protection JFET. Later I realized that it is not the perfect PCB and the second version is already developed, but I have to wait for the end of the current world pandemic situation. In the first PCB version I forgot :
      • the bypass capacitors, so I have to solder them at the back of the PCB near to  the supply pins. Without them the results are really scrappy.
      • to add guard ring around the input positive terminal of the op-amp. This is a recommendation found in the datasheets for current leakage limitation. 
      • the possibility to disconnect the 1MOhms resistor from the ground that is required for the linearity test.  
      • the load resistor between the op-amp output and the ground.
      Additionally I added OVP with double diodes (for BV199) in SOT23 package, feedback resistor required for some op-amps. Here is the layout of the second PCB version:



      Other tests which can be made, but I do not have proper equipment or the time for that:
      - IBias vs. Vcm using Source Meter Unit. This characterization test can be seen in many datasheets. Unfortunately I do not have such equipment, therefore I can't make a test. I looked for low-cost solution and I found an evaluation board of AD5560 parametric measurement unit, but the lowest range was 5uV that required external 24 bit ADC to make pA measurements. The proper SMU like Keithley 236 is capable to measure down to pA range, but it is still in the 1300 - 2000 USD price range in EBey without shipping and VAT. 
      - Vos vs. Temp using thermo-regulated chamber.
      - Vos long term drift.

      Here are the pictures for the first version of the test PCB which I order from OSHPark. When op-amp is in the MSOP-8 package I solder it on the breakout board and PTFE cables are used to connect to the main test PCB: 





      Results from the tests

      First I made noise tests with short input and 1 MOhms resistor for the R6581 and HP 34401 as reference. The conditions were: 10V Range, Hi-Imp mode, AZero On, 100 NPLC, 50 samples.

      R6581HP 34401Keitley 2000Keitley 2002
      STDEV, uVP2P, uVSTDEV, uVP2P, uVSTDEV, uVP2P, uVSTDEV, uVP2P, uV
      Vnoise Zero0.06-0.1060.2-0.30.48-0.62-2.50.834-0.883.44-40.598-0.7342.92-3.37
      ENOD Zero8.3-8.058.08-7.97.4-7.37.08-6.987.16-7.136.8-6.777.56-7.477.17-7.11
      Vnoise 1M0.197-0.3471-2.70.514-0.7142.1-3.52.38-3.6410-201.58-1.9526.13-28.95
      ENOD 1M7.78-7.537.38-6.957.36-7.237.06-6.836.7-6.56.38-6.077.14-7.056.22-6.18

      I made more than 20 measurements with 50 samples each for the R6581 and HP 34401 and 2 measurements with 50 samples for the rest of the DMM. In the table it's shown the minimum and maximum values of the STDEV, peak to peak values in microvolts and respective ENOD values. You can see from the data, that R6581T and Keithley 2002 lost one digit when 1MOhms resistor was attached to the op-amp's input. On the other hand, the HP 34401A keeps very closely to the 7 digits even with input 1MOhms resistance: the average ENOD from 20+ measurements was 6.93.

      The next table shows the tests for the following parameters: Vos, Ibias, Linearity, Voltage RMS and peak to peak noise when inputs are shortened and when 1MOhms input resistor is used. 
      The first few bias current measurements of the MCP6V51 where far away from the specification limits (5.5nA bias current) so I decided to skip the rest of the tests. Because it was hard to solder and de-solder other MSOP-8 op-amps (I damage tracks on one of the test PCB) I skipped tests for the second MCP6V51 too. And decided to keep testing the third LTC2057HV which was in MSOP-8 package.

      Results with
      test board
      ver. 1
      Package
      Vos, uV
      Ib, pA
      min-
      max
      Ib, pA
      max spec
      Linearity,
      ppm
      Rout =
      open
      Linearity,
      ppm
      Rout=10K
      Noise, uV
      Zero, STDEVZero, p2p1M, STDEV1M, p2p
      LTC2057HV 1soic-83 - 653.66 - 62.192000.4911.2910.107 - 0.1590.4 - 0.71.257 - 1.975.73 - 9
      LTC2057HV 2soic-80.9 - 7.2688 - 7362000.4731.2140.113 - 0.2010.4 - 0.91.767 - 7.656.4 - 34.4
      LTC2057HV 3msop-85.4 - 712.9 - 33.5200N.A.N.A.0.117 - 0.2300.5 - 1.11.59 - 2.627.2 - 11.8
      ADA4522 1soic-8-0.2 - 0.31002.4 - 1004.71500.0550.0590.128 - 0.1180.4 - 0.61.63 - 5.446.7 - 30
      ADA4522 2soic-80.8 - 1.8692 - 6951500.10.0360.112 - 0.2430.6 - 0.83.26 - 10.715.8 - 43.8
      MCP6V51I 1msop-8-0.2 - -0.35502 - 5510250N.A.

      The only op-amp which passed the bias current tests was the third sample in msop-8 package. The first one was very close to the 50 pA limit. The second sample was 3-4 times above the specification limit. The rest of the op-amps failed as well.

      All LTC2057HV and ADA4522 passed the noise tests with 7 digits ENOD for short input test and 6 digits ENOD for 1MOhms input resistor.

      Linearity results were under 1ppm for LTC2057HV and ADA4522 when the output is not loaded, but when 10K load resistor is connected, the linearity cross the threshold of 1ppm for the LTC2057HV. Probably the reason is the missing sense connection from the op-amp output to the resistor and the voltage drop over the resistor leads can worse the linearity measurements. I already made correction in the test PCB ver.2 and if this does not help, I have to use a current buffer like in my LTZ1000 voltage reference to resolve this issue.

      Based on my initial tests, I can answer to my question in the beginning of this post: single buffer op-amp solution as front-end is feasible, but test of the buffer op-amp is required. Relaying only to typical or even maximum parameter's values in the datasheet is not enough.


      This post is still in progress. Once I get the test PCB ver. 2, I will buy more op-amps and will do a second try.